Hacker News new | ask | show | jobs
by shkkmo 3843 days ago
> Version numbers are for marketing and legal.

> Software engineers should only care about the information required to create a reproducible build.

You are over generalizing. While this may be true for your company/project, it is not universally true. Version numbers are used for far more than that on many open source projects. Semantic versioning is important for some dependency management tools.

On my project, our versioning is only for internal use. We use something similar to progressive versioning, but our 'progress' builds are deployed only to our staging environment for dogfooding, review and approval. Once we believe the changes are stable we deploy a new minor version. When we need to work on larger change sets that could block this process, we increment the major version and continue development and review in parallel. Using a single build number would provide us the same ability to identify what code is on what server, but it would lack the additional contextual information about where that build fits into our development process.

1 comments

I would argue that even open source projects have marketing, and external requirements go through that filter. A developer changing their version number from 0.999 to 1.0 is a marketing decision. There's no real technical reason for it, it is a signal to the market - therefore marketing.