3 ms·
> I personally find it more useful — it tells me whether I should look up breaking changes or not. It doesn't though, does it? It's a contract, sure, but there
by mstade 8y ago
> I personally find it more useful — it tells me whether I should look up breaking changes or not.
It doesn't though, does it? It's a contract, sure, but there's no guarantee that the producer of the software you're depending on is actually adhering to that contract. It's the same for "romantic versioning" or whatever – regardless of what the version identifier looks like, it's your responsibility as a consumer to actually determine whether the new version fits.
I think the point of the article is that trying to mechanize the meaning of the version identifier is pointless, unless it's also properly enforced. It's just an id, no better or worse than a commit hash really. Thus, you may as well design version identifiers for humans, rather than potentially robots.
- albedoa 8y ago> there's no guarantee that the producer of the software you're depending on is actually adhering to that contract That goes right back to "but neither is the system it replaces". I would rather know that an overzealous producer has guidance even if he or she doesn't end up accepting that guidance. > Thus, you may as well design version identifiers for humans The tone of the reaction had a lot to do with the author insisting that semantic versioning has no semantic meaning to humans in the same thread where multiple people had made the case that it does. "170.0.0" is meaningful, he just doesn't like it.
- scott_s 8y agoThe point of semantic versioning is to give the version number more meaning than just a commit hash - to give the version number semantic meaning. It prioritizes what the user should expect over what the developer feels about the new version. Yes, people may claim to follow a scheme, and then not actually follow that scheme, but that's not an argument against the scheme. A similar argument could be made to all schemes that try to provide guarantees based on their use. I claim semantic versioning is useful to humans. It communicates to humans what their expectations should be on API changes. That "robots" can take advantage of these rules is a bonus - and a good indication it's a good system, as creating predictable rules for things that we can then automate is rather the basis of software ecosystems.