Jee-Bee wrote: ↑Mon Mar 02, 2020 8:25 am
- In general software (NOT FC!!) what makes a piece of software 1.0 ready what are the requirements .
- To what equaly type of software do you compare FC and what is the version number of that piece of software?
The requirements are different for different types of software. You cannot compare in absolute terms a text editor, to a music sheet editor, to a professional grade 3D CAD software. You have to consider development within the same project.
In many cases programs get the 1.0 version because their developers don't have a long term vision of where they want to go at the beginning. In many situations the first version ever released is the 1.0 version. They say, "okay, we have made a lot of progress, so this should be 1.0". That often results in the program quickly increasing its numbering. As the original 1.0 version doesn't have many features, they quickly add more features and it results in 2.0, then to 3.0, then to 4.0, etc.
In FreeCAD, the developers decided to start with a low number, 0.1, 0.2, ..., 0.12, 0.13, 0.14, etc. So, it means that in their own vision, they didn't want to rush to 1.0 status. Obviously, to them, reaching that number meant something important, a sufficiently complete set of features. And this is my idea as well.
But now, some users think that we are already there, and that we should rush to 1.0. I think we will get there, just not right now. We need 3 to 5 years, once some major changes are introduced and tested, and once we have a better organization of the project including tutorials and programming documentation.
The funny thing of your low numbered comparison is that it are most software packages that have reached version 1.0 years ago.
Again, you cannot compare what other numbers mean in other programs. As I mentioned, in many cases other projects chose their 1.0 very fast, but since then, they have slowed down, and now keep a slower, more focused development, with a proper roadmap.
Blender was closed source in its inception. When it became open source around the year 2002, it was in version 2.2. In twenty years until now, they advanced only in minor numbers, 2.30, 2.40, 2.41, 2.42, etc. until they reached 2.80 of today. That basically is resetting the counter to 0, and moving to 1.0 today. You can argue the 2.80 version for them is a completely new chapter in their history, so they should have moved to 3.0 to show that.
Or look at Python. In 2000 they launched 2.0, which only now in 2020 is considered obsolete (FreeCAD moved to Python 3 fully only two years ago!). They finished in 2.7. They didn't just increment the number extremely fast, they had stable yearly releases advancing at a good pace, but with clear objectives. Python 3 appeared in 2008 but it wasn't really used until a few years later that it was around 3.2. Right now we are in Python 3.8. Again, not an abrupt increase in numbering, just steady development.
So, I think we should continue with yearly releases of 0.20, 0.21, 0.22, 0.23, etc., until we know there aren't going to be major changes like App Link, or a new PartDesign or a new TechDraw, and then we can transition to 1.0. It won't take forever, it will just take a few more years. It also depends on the new developers that surely will join the effort in these coming years. With new people, the pace of testing and development will be better.