I came up with the four digit semver after finding we were holding back breaking changes in jmock because they would bump jmock 2 to jmock 3 but we didn’t think the changes were significant enough to merit that. Between 1 and 2, we changed the API significantly. So a move to 3 would have had to be as significant.
That made me realise that the first number of a version is significant for marketing reasons and therefore should be kept separate from the number that signal compatibility.