FreeCAD versioning scheme and possible evolution

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: FreeCAD versioning scheme and possible evolution

Post by triplus »

Turns out our current versioning scheme has a fancy name (ZeroVer or zer0ver):

https://0ver.org/

Basically it comes down to whatever you do, just don't bump the major version number above 0. Inksacpe has just throw in the towel and i guess we could apply for that spot, to get in the Top 10 list. ASCEND is the clear winner and hence i checked their site and noticed that after 40 years of development, they are getting there, currently at version 0.9.8. There would still be some vintage software and a vintage software collections ahead, but in a couple of years we could make it in the TOP 5!

https://semver.org/

This is therefore an option if we decide to make it all about an API. Like Part Line, Part Design, Draft restructure and we would be at major 3. Or as a rule of thumb, likely we would manage to do some of that in each development cycle, at best prolonging the major bump for two years.

https://calver.org/

This one is interesting, as a lot of people in the past discussions expressed the desire, to somewhat be close to "year", with the versioning scheme. We are trying that already, with the "minor" version number, and are sometimes more and sometimes less successful. For example we are deep in 20 and are still working on 19. I guess the gist of CalVer is the key, for the people that would like to introduce tags, such as "dev", "alpha", "beta", "rc1" ... That is once key people will be able to reliably set a release month, at least half a year prior to the release. After doing that successfully for a couple of times, then we will have a more realistic chance to introduce additional tags, that actually do make some sense.

Based on all the discussion we had in this and other threads i realized, our version scheme is a bit of everything already, a hybrid, and likely it is safe to assume it will stay like that in foreseeable future. That is some people feel strongly about some aspects of some approach, others about something else, and over time some of that gets reflected in FreeCAD versioning scheme. I guess that is not all that bad approach in the end anyway.
fc_tofu
Posts: 653
Joined: Sun Jan 05, 2020 4:56 pm

Re: FreeCAD versioning scheme and possible evolution

Post by fc_tofu »

Thank you for putting these version schemes together for easy learning.
I think these schemes are quite mature. We could adopt or adapt these themes to FreeCAD's usage.
I have suggested in another thread to divide the 1.0 discussion into 2 phases.
1st step, FreeCAD version scheme (for long-term)
2nd step, FreeCAD 1.0 specific milestones/roadmap/schedule
It would be quite meaningful to achieve the 1st step before the 2nd step. If so, we don't need wasting time on debating versioning details repeatedly, especially for new attendees into this discussion. Versioning sheme can explain principal and terminology related questions.
Post Reply