FreeBSD has serious problems with focus, longevity, and
lifecycle
Mark Linimon
linimon at lonesome.com
Sat Feb 18 22:16:52 UTC 2012
On Thu, Jan 26, 2012 at 09:45:47PM +1000, Da Rock wrote:
> 1. Incidentally, what exactly does constitute a major release?
That point in time where we guarantee that we break a certain degree
of backwards compatibility. (Well, that's the key component. Feature-
additions ride on top of that.)
> 2. Is there a reason to update the numbers so quickly?
Yes, so that we don't have to keep supporting backwards compatibility
for as long a period (see 1) -- it's a significant burden to maintain.
It's necessary to do these as we rework things like network layers for
higher performance, rework wireless to work with modern devices, and
other high-demand items.
> 3. Could a higher bar be set to reach a major release than simply
> temporal objectives?
Yes. We did that with 5.x, and blew it big-time. The goal of "rewrite
the entire system to support SMP in a scalable, reliable fashion" was
simply too aggressive. It led to ~5 years between major releases, and by
that time the system had changed very dramatically (SMP, suspend/resume,
IIRC GEOM, and too many other things to list). It was a huge jump and
the learning curve for upgrading was way too large. We lost userbase.
Also, keeping 5 years between major releases led to very high developer
frustration. Why work on something when it will take 4+ years to even
see the light of day?
This is why we moved to the time-based releases. 18 months was seen as
a compromise between all the various demands. Even so, we are almost
exactly at 24 months in practice; see the graphs I updated last month as
a result of all the recent discussion:
http://people.freebsd.org/~linimon/schedule/
My own view is that 5 years between major releases is not going to happen,
due to how painful the 5.x experience was for all concerned. But as I'm
not a src committer, I'm not one of the people who will be picking the
interval for our major-branch timeline. I just try to graph it as it
goes by.
mcl
More information about the freebsd-hackers
mailing list