As far as a fork is concerned, it’s an open-source code modification in terms of programming language. But what does a soft fork and hard fork means in the context of blockchain and cryptocurrencies? Why are they such a big deal?
Both hard fork and soft fork are programming changes and in many cases a change in protocol. Hard fork is basically a drastic chance to a protocol that renders older versions of node invalid or incompatible to the new once. If a chain does a hard fork, older version can no longer run else it can create massive confusion.
For instance, if the block size limit were to be increased from 1MB to 4MB, a 2MB block would be accepted by nodes running the new version, but rejected by nodes running the older version.
Soft fork on the other hand is relatively small or cosmetic change to the code base. This can be done for various reasons but it’s mainly done to improve security or for minor adjustments. In this case newer blocks are still compatible and accepted by the older version nodes. But not the other way around.