Well, even in the worst case where FreeBSD community is trash, they have one of the best kernel implementations and one of the best open source OS documentation.
Well, even in the worst case where FreeBSD community is trash, they have one of the best kernel implementations and one of the best open source OS documentation.
Let's remember that FreeBSD is an entire OS, not just a kernel. If you want to compare it to the linux world you have to imagine the kernel + the GNU userland + the distro specific utilities and package management of something like debian or red hat.
It's not really surprising that the codebase ends up being huge and that you can't just change the architecture and tooling around it to use the trending software stack of the day.
On the other hand the fact that FreeBSD is so comprehensive is the killer feature for me when compared to something like Linux. It's a full OS, with everything (usually) playing nice with each other, a single documentation for the entire base system etc...
I also find that the kernel code is generally a little nicer than linux's, although linux is more featureful overall.
Yes, FreeBSD is slower moving than Linux and generally more conservative. That's not a bug, that's a feature.
The whole idea of this talk was about the community side of the project. I make exactly the points you're making regarding code size but that just speaks to the difficulty of managing a community looking after a codebase of that size.
I'm also not criticizing the pace of FreeBSD development so much as I'm criticizing the pace of its leadership (of which I'm a member, don't forget) to deal with issues that would make FreeBSD more fun to work on.
There are three main points in this article: the issue of version control, the "Dragonfly BSD incident", and the GamerGate garbage fire.
Regarding the first issue, while it was sad to see a good dev like Matthew Dillon leave the project, what do you think should have been done better by the leaders of the project? Clearly there was an incompatibility here, maybe having Dillon work on his own project (and then sometimes have a back and forth between Dragonfly and FreeBSD) was the right solution? Would Linux for instance have dealt with the issue better? I recall many personality clashes amongst the Linux "elite", some not so long ago.
The migration away from CVS sure did take a long time, but as you mention yourself the technical challenge was pretty high. Lest we forget, Linus ended up writing his own version control system because the existing solution were not deemed satisfying. And FreeBSD is significantly bigger than linux's codebase. Regarding the test suite, testing operating systems is notoriously difficult (you can't easily abstract away from the hardware to run well contained unit tests). I don't recall Linux having an extensive test suite either.
The GamerGate thing I won't touch with a hundred kilometer pole. How an operating system project got dragged into that I still can't fathom.
So in the end, I don't think those issues are that big of a deal on their own. IMHO the main "trouble" with FreeBSD is simply that its market share is tiny compared to Linux. I'm a big fan of FreeBSD but my IRL job is linux kernel dev, not FreeBSD kernel dev. More and more first party vendors support linux, not any of the *BSDs. "Netcraft confirms it - BSD is dying". There's a momentum problem and I'm not sure switching to github or adding a test suite are going to solve it.
FreeBSD is betamax, linux is VHS. FreeBSD is mercurial, linux is git.
That being said, I don't have a solution either.
The migration to Subversion was given as a case where core could've made a decision and given direction but chose not to. Whether they're right or not is a whole separate set of arguments.
I think everyone would be happier if Gamergate had never been a thing.
The trouble with FreeBSD, as stated, is that like a whole lot of other community projects it's largely volunteer and its leadership is 100% volunteer. If we had more mindshare we might have more volunteers but then we'd need leadership to be more active.
If you think it has a small market share, you're looking at the wrong market.
1. Linux. "Over 13,500 developers", https://www.linuxfoundation.org/announcements/linux-foundati...
2. FreeBSD. I make this a little over 2,300 names: https://www.freebsd.org/doc/en/articles/contributors/article...
So I suggest it is a only a 6x difference, or at least in that vicinity.
I imagine that the column inches go overwhelmingly to Linux, but tech journalists are moths to a flame.
https://svnweb.freebsd.org/base/head/ -- 128 individual developers have committed to FreeBSD head in the last ~ten week window. (svn log http://svn.freebsd.org/base/head |egrep '^r[0-9]{6,6} \| ' | grep -B999999999 2016-11-25 | cut -d" " -f3 commits.log |sort | uniq | wc -l)
So Linux has more like 13x individual developer count in recent times. You can round that down to 10x if you like, but 6x doesn't tell the recent story.
Note that this is comparing the Linux kernel to FreeBSD base, which is like kernel + glibc + coreutils + binutils + other stuff.