LTS support and version clarifications

3 major versions for FreeBSD:
12.x [stable]
13.x [stable]
14.x [current]

Not just STABLE. Please see for example:

1646161917660.png
1646161954858.png


Versions 12.x and 13.x are versions that you can install.
Version 14.x it's being developed and tested.

FreeBSD 14.0-CURRENT can be installed.

STABLE is more difficult to update than RELEASE.

12, 13 and 14 are developed and tested.


At least.

[FreeBSD-Announce] Changes to the FreeBSD Support Model (2015-02-03) ◀<https://www.freebsd.org/security/#model>
 
To jump in and try my part to put it in a simpler way ;)

One thing to remember is CURRENT and STABLE branches are continuous development branches.
So, a snapshot from CURRENT will become a STABLE branch with then the CURRENT continue its development.
The STABLE branch will continue its separate development until a snapshot is released as a -RELEASE version. The -RELEASE version does not get developed any more and it is the final destination for that release.
But, the STABLE branch still continue in development and another snapshot is made for the next -RELEASE version.

With this the sketch will be more clearer to understand.

Hope this helps.

The understanding of that the CURRENT and STABLE branches are continuously developed I too had difficulty in understanding the branching of FreeBSD, but it all makes sense once understood.
 
As the 13.1 releng branch nears release, I was curious when EOL for 12.3 was, after scratching my head a bit trying to remember the difference between monikers and being momentarily befuddled by the Stable 12 is supported through 2024 even though I'm pretty sure stable is the dev branch and the stable branches are really the releng's along the way, I came back here to get it all straight in my head again. Sheesh! Major - minor really isn't the devil. Just name dev, dev, do the major minor thing and be done with it.
 

SirDice

Administrator
Staff member
Administrator
Moderator
I was curious when EOL for 12.3 was
12 will be supported until at least 2024. So it's likely a 12.4 will be released. 12.3 will be EoL three months after the release of 12.4. That 12.4 is probably the last release of the 12 branch. It will most likely be EoL some time after the release of 14.0.

and being momentarily befuddled by the Stable 12 is supported through 2024 even though I'm pretty sure stable is the dev branch and the stable branches are really the releng's along the way,
It's just to indicate the predicted end of the entire 12 branch.
 
I was also extremely confused by the naming and still do not understand why FreeBSD is sticking with it, unless FreeBSD developers want to emphasize the system is created for developers, but not end users. I guess there should be a note somewhere in bold red: "Branch naming here is for the developers, not end users. Stick with the RELEASE, peasant!"

End users expect something called "stable" to be stable, maybe with long-term support, but definitely production-ready. You generally expect stable servers not to loose user data. Never under any circumstance end user expects a development branch to be called "stable".

End users expect something called "current" to be the latest stable version. It's current, but we assume that developers took care to assure the quality of the current version before releasing. Never "current" suggests to us that something is not designed for use at all.

Would developers be hurt if STABLE is renamed to DEVELOPMENT, and CURRENT to FUTURE?

(Disappears in smoke.)
 
I was also extremely confused by the naming and still do not understand why FreeBSD is sticking with it, unless FreeBSD developers want to emphasize the system is created for developers, but not end users. I guess there should be a note somewhere in bold red: "Branch naming here is for the developers, not end users.
Yes, and this is deliberately so, because BSD has a tradition that reaches back, back to the very beginning.

The idea that there would be a difference, at all, between so-called "developers" and anybody else, is much newer. It wasn't there in the 80s, it wasn't there in the 90s. If you were able to run a computer and install an OS, you were part of the thing, and there was no discrimination, no labels attached to people.

That is also why we usually have the full source code installed, everybody can read it, and everybody can actually build from it; there is no magic involved, it is all scripted.
Was it J.Beuys who said, everybody is an artist? So I say, everybody is a developer, and finished.

BTW, I'm always wondering: was it the "developers" who shut themselves into an ivory tower, or was it the people who declared themselves not wanting to be developers, and wanting to be spared from thinking and understanding?

End users expect something
"End users" is bogus. Go back only hundred years (2 1/2 generations), and there was practically nothing a village would need that they could not make by themselves.

This is the essential point: having no idea about how the stuff works that you have in your hands, is the most dangerous thing that can happen to a civilisation. Look at civilitations and see where too much abstraction has brought them: look the Egypt, look the Maya, look the Roman Empire, look the Europeans (very soon).
 
If you were able to run a computer and install an OS, you were part of the thing
Linux was like that in the mid 90s. Remember Slackware? Each of us flipped through the pages of the installer for half an hour, choosing which daemons should be launched and which software to install, analyzing dependencies, each of us first configured, and then executed 'make World' and waited for several hours to complete ...Those were the good times when you were in control of what you worked with.
 

zirias@

Developer
I was also extremely confused by the naming and still do not understand why FreeBSD is sticking with it, unless FreeBSD developers want to emphasize the system is created for developers, but not end users.
This would only be true if you insinuate only developers would ever read documentation.

The term "release" is well-known and certainly doesn't require special knowledge. So once you look for available downloads, see -RELEASE versions first and recommended and then, you see there's also -STABLE, how in the world would you ever conclude to just install that? If you really think "wait, isn't that the same?", wouldn't you just read the few sentences on FreeBSD pages that explain how it's a version under development?

BTW, at work, we adopted a similar branching scheme (main/stable/release) for an internally shared project, because this works really well. We did one little naming change though: "stable-api" instead of "stable", to avoid this little confusion for people who don't read the docs first. Still, the word "stable" is extremely important here. This scheme is working so well because APIs/ABI don't change on that branch, which guarantees seamless minor upgrades and simple merging of security fixes to the release branches.

End users expect something called "stable" to be stable, maybe with long-term support, but definitely production-ready.
And about this, what's "production-ready" is ultimately up to you to decide. A classic release engineering can guarantee the best quality, so that's recommended for production. Still, stable is "stable". Only compatible changes (read: no breaking changes) are ever merged to stable, and only after some testing period on main (-CURRENT). So, if you'd ever consider e.g. some rolling-release Linux dist (where the base components are continuously updated as well, and don't even care for breaking changes) "production-ready", FreeBSD -STABLE is as well.
 
I was also extremely confused by the naming and still do not understand why FreeBSD is sticking with it, unless FreeBSD developers want to emphasize the system is created for developers, but not end users.
Linux doesn't do this and yet still seems to be unsuitable for end users as demonstrated with its <1% market share. So why do you really want to break existing knowledge for the sake of... who exactly?
 
Top