
The trouble with FreeBSD - signa11
https://lwn.net/Articles/712308/
======
AndyMcConachie
I fucking love FreeBSD. Seriously, I use it any chance I can. I have a Debian
VM that I use to do development on because of the tool chain I have to use.
But for my production personal websites that I run I choose FreeBSD.

Nothing in this article makes me want to change my mind. On the contrary
seeing this article on a 'Linux' website generally lowers my opinion of both
the 'Linux Community' and LWN. If LWN had fewer articles like this, and more
articles actually communicating useful information to me, I might actually
read it more.

I used to use Debian almost exclusively, but ever since this systemd BS I've
gone FreeBSD as much as possible. This isn't about personalities, it's about
me not caring about the problems that systemd is trying to solve.

~~~
floatboth
The article isn't bad tho… it's pretty much a transcript of a talk with the
same title _by a FreeBSD Core member_.

The comments… yeah, there are people whining about "Marxists" "ruining
projects" or something. Welp.

~~~
Anthony-G
I skimmed through the comments and most of them seem to be at odds with the
content of the article (which seems to offer constructive opinion). The very
first comment is frankly bizarre.

------
saurabhjha
I clicked on this expecting some technical stuff and all I got was this BS
social/community whining.

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.

~~~
simias
I agree, it was a disappointing article. Even the technical section about
source control at the beginning seems a bit odd. First they note how huge the
codebase is, then move on to compare the project to Django and Python?

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.

~~~
jeamland
Hi. OP (original presenter?) here.

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.

~~~
simias
Thank you for taking the time to reply. It was just a bit of a surprising read
from my point of view, as somebody who's not directly involved in the project
(like you are) but who's been observing it since around ~2004.

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.

~~~
inopinatus
FreeBSD is pretty common in some market segments, especially infrastructure
appliances and devices. It's an easy choice for NAS controllers, internet core
routers, email gateways, firewalls, messaging platforms, CDNs. Not to forget
the humongous chunk of FreeBSD that is in OSX.

If you think it has a small market share, you're looking at the wrong market.

~~~
loeg
While I agree it is popular in certain circles that use it in high volume, it
clearly has a relatively small mindshare among developers and open source
contributions. Linux, just the kernel, regularly gets contributions from 100x
the people that contribute to FreeBSD base.

~~~
inopinatus
I'm gonna have to challenge you on that 100x number because I think you may
have plucked it from thin air. Obviously contributor numbers are a) hard to
define and b) hard to capture, but for an order-of-magnitude estimation, I
give you two sources, both of which have incentive and access to maximise the
number counted:

1\. Linux. "Over 13,500 developers",
[https://www.linuxfoundation.org/announcements/linux-
foundati...](https://www.linuxfoundation.org/announcements/linux-foundation-
releases-development-report-highlighting-contributions-to-linux)

2\. FreeBSD. I make this a little over 2,300 names:
[https://www.freebsd.org/doc/en/articles/contributors/article...](https://www.freebsd.org/doc/en/articles/contributors/article.html)

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.

~~~
loeg
[https://lwn.net/Articles/708266/](https://lwn.net/Articles/708266/) \-- 1,719
in a ~ten week window.

[https://svnweb.freebsd.org/base/head/](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](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.

~~~
inopinatus
Mindshare is not a zero-sum game like market share, so scope of function is
irrelevant; and is not a short-term phenomenon, so ten weeks is nothing.

------
TazeTSchnitzel
This reminds me of the problems the PHP project faces. It has the same lack of
leadership and just goes by consensus, with the same problems (i.e. little
gets done when hard decisions must be made; the system for voting on things
has helped a little, though, because it means people who are bold can
sometimes get things in). There was also an attempt to adopt a code of conduct
and, in its failure, it exposed why the project could benefit from one in the
first place.

I suspect a lot of open-source projects have similar issues.

~~~
angry-hacker
Why did it fail and what was in the code?

~~~
TazeTSchnitzel
Well, there was quite a hostile response from some to it, so its proponent
dropped it. What was interesting about the response was how specific
individuals did not respond civilly (personal attacks, framing it as a
political conspiracy, etc.), thus demonstrating why a code of conduct might be
useful.

The original proposal was this: [https://wiki.php.net/rfc/adopt-code-of-
conduct?rev=145194062...](https://wiki.php.net/rfc/adopt-code-of-
conduct?rev=1451940622)

------
mcguire
" _One day [Randi Harper] decided to block the Gamergate "trash humans" out
with a Perl script; it worked, causing them to lose their minds, Rice said, at
which point they started attacking FreeBSD._"

Anyone have more info about this? Especially the "Perl script"?

~~~
makomk
She wrote a script that found every Twitter account that followed 2 or more
people from her list of supposed Gamergate figures (which included at least
one major celebrity) and encouraged people to mass block all the accounts it
found as an anti-harassment/anti-Gamergate measure. The result, in social
terms, was that everyone was forced to choose between listening to one side or
the other, including journalists who wanted to report on Gamergate, and their
entire view of the other side was filtered through what that side said about
it. It was, hands down, the single most clever and effective use of a
technical tool to increase polarization and hostility online I have ever seen.
(Especially since it had little impact on either determined axe-grinders who
wanted to cause trouble by digging up inflammatory remarks and quoting them
out of context or actual harassers.)

~~~
brennen

        It was, hands down, the single most clever and
        effective use of a technical tool to increase
        polarization and hostility online I have ever
        seen.
    

This seems like a nonsensical assessment at best. Use of the script was
voluntary, and GG was an organized mass-harassment campaign premised on
polarizing and hateful nonsense. The whole social phenomenon consisted of a
distributed wave of hostility.

I wound up adapting the script myself at one point to mass-block followers of
a YouTube/Instagram celebrity who shares my first name and triggers a
neverending stream of namespace collisions. It's a reasonable brute-force hack
in an environment that lacks real features for dealing with a large population
of griefers.

------
jxy
The article shows an excellent example of 'moving fast and breaking things':

    
    
      < In comparison, Python started on CVS, moved to Subversion
      < in 2004, then to Mercurial in 2009, and is now moving
      < over to GitHub.
    

I used Python around 2004 and 2005, and never went back to it for my personal
projects.

I would rather prefer 'moving slow and preserving things'. Any body here
remembered how things went when Linux moved from OSS to ALSA? And now there's
this systemd.

~~~
jxy
For people who love python here, do you use python 2 or python 3? 2.7? 2.8?
3.5?

~~~
jstimpfle
I write new stuff in Python3, and what I do easily works on any Python3.

I don't have Python2 code to maintain, but if I had I would seriously consider
updating it. Because I think the changes are reasonable for the most part.

Dou you write your C code in GCC C? Intel C? Microsoft C? C89? C99? C11? What
libraries and what versions do you use?

------
innocentoldguy
I love FreeBSD, and I felt like the author of this article does too. It didn't
come across as a rant to me, but rather an explanation, and some constructive
criticism, of what the author thinks the FreeBSD project could do better.

As with all constructive criticism, you absorb what you feel will help you
reach your goals, and reject what doesn't. It is always a good thing to have
those insights and options though, I think.

------
akerro
The talk was here 2weeks ago in TOP, most of the article is just rewrite of
what he said. It's wired to read the same words.

------
alberth
DragonFlyBSD vs FreeBSD

Since Dillon was discussed in the article and given he split from FreeBSD 11
years ago ... which OS now is in better shape overall (technically)?

DragonFlyBSD or FreeBSD?

~~~
loeg
They each have pros and cons. What are you looking for?

~~~
alberth
A summary of what the pros and cons are of each OS (based on the current
versions available).

------
ceratopisan
Petty history aside, the project needs to be more open in communication.
There's too many secret mailing lists and mystery discussion, which is a
common thread in all the problems the list describes.

------
arca_vorago
My early hacking days were primarily on FreeBSD, and though I idealogically
agree with RMS and therefore GPL, which is why I push myself onto GNU
ecosystems, I must admit the one thing that often tempts me back to bsd land
is the consistentcy in system tools and functions, even across other BSD's. I
have seen GNU/Linux abused just like I feared BSD systems were going to be, so
for practicality purposes I'm seeing less and less of a difference, but oh
what I would give for a GPL focused BSD like ecosystem focused Linux effort.

------
JdeBP
Duplicates
[https://news.ycombinator.com/item?id=13550908](https://news.ycombinator.com/item?id=13550908)

------
yellowapple
I don't think criticizing FreeBSD's "age" is exactly reasonable in this
context, seeing as how Linux is two years older (and GNU even older than
that).

~~~
loeg
FreeBSD is a derivative of BSD, which has history going back to 1977. It
_long_ predates Linux (1991) and even predates public announcement of GNU
(1983).

~~~
yellowapple
I personally don't consider that to be exactly relevant (if it were, then we
could say that macOS is also older than GNU, which is sufficiently unintuitive
to be misleading). It'd be more relevant if FreeBSD was actually maintained by
UC Berkeley's CSRG as an official successor to BSD itself; otherwise, we're
dealing with a kind of ship of Theseus situation where things are replaced and
rewritten and "age" becomes very ambiguous.

I also don't really consider "age" in and of itself to be a real factor at all
here anyway. It implies (probably not intentionally, but the implication is
there nonetheless) that things should be rewritten from scratch all the time
in order to avoid "old" things, which would be silly.

------
problems
What's the deal with all this anti-meritocracy stuff? Can't we all just work
on a level playing field and move past this junk? Seems like not doing so
causes a lot more problems than it solves.

~~~
yummyfajitas
Once upon a time, social justice types supported meritocracy. That was in the
era when having classical musicians audition behind a screen increased the %
of women.

Unfortunately, the technology world has not had the same experience. When
technology becomes more meritocratic (e.g., audition via github/coding
tests/open source contributions rather than interviews), we get more Asians,
fewer non-Asian minorities and fewer women.

Because meritocracy in technology fails to achieve the goal of "gotta catch
them all", it must be opposed.

~~~
cynicalkane
Google and Facebook have both claimed that women and minorities tend to
outperform hiring scores, which is why they hire them more aggressively.

I think there are two factors at play:

* Generation and exchange of ideas and approaches is the most important part of software engineering on a team. Diversity of gender and background probably gives this factor a bump.

* People are biased, both consciously and unconsciously, against certain minorities. This means lower evaluation scores and weaker resumes (since the world shares the bias).

But whatever the reasons, Google and Facebook are pretty good at this whole
data analysis thing, so I wouldn't discount their experiences.

~~~
yummyfajitas
I'd be curious to see this analysis. Can you link to it?

Here's a hypothetical. Imagine google made an error and it turns out that
their analysis has a sign error. Blacks/women actually underperform. Would you
favor flipping the sign on whatever action you propose? If not, why not?

I ask this because in a number of other contexts, the sign is actually
flipped. Blacks drastically _underperform_ what would be predicted from
college entrance scores, they are less likely to pay back loans (holding other
things constant), and more likely to commit crime.

 _Generation and exchange of ideas and approaches is the most important part
of software engineering on a team. Diversity of gender and background probably
gives this factor a bump._

I'm the only person of my race/nationality at my current company, but I've
never really observed this effect. Can you tell me how to tap into these
powers?

I admit, I do sometimes provide ideas that no one else has, mainly in the area
of bayesian stats, low level performance hacking and probabilistic data
structures. Is that what you mean? Are these the secret powers unavailable if
you don't have someone of my race?

~~~
cynicalkane
> Imagine google made an error and it turns out that their analysis has a sign
> error. Blacks/women actually underperform. Would you favor flipping the sign
> on whatever action you propose? If not, why not?

No, because of the above point about diversity. It has an effect on more than
just the individual. I don't know if Google has made any claims about the
following, but it's been noted that, for example, diverse management teams
tend to outperform nondiverse ones.

> I admit, I do sometimes provide ideas that no one else has, mainly in the
> area of bayesian stats, low level performance hacking and probabilistic data
> structures. Is that what you mean? Are these the secret powers unavailable
> if you don't have someone of my race?

You are being intentionally facetious. I know you're a smart person, that
you're very probably aware of what diversity arguments are about, and this
reply is thoughtless in a disrespectful way. I'm only spelling it out to avoid
downvoters: the idea is that different approaches and attitudes are informed
by race, culture, background and gender in ways that are difficult to measure
in the interview process.

For the record, I would consider a white hillbilly or southerner as 'diverse'
in most computer workplaces.

~~~
yummyfajitas
_No, because of the above point about diversity._

That point does not apply to lending or crime prediction. There is no
collective decisionmaking on the part of parolees or borrowers.

Do you have any objection to using your same solutions, but with the opposite
direction, in this areas? E.g., if google should try and hire more blacks (due
to them overperforming), should BofA try to lend less money to them (because
they underperform)?

Similarly, since we know diversity harms group cohesion, should companies
which value group cohesion avoid it?

 _You are being intentionally facetious. I know you 're a smart person, that
you're very probably aware of what diversity arguments are about, and this
reply is thoughtless in a disrespectful way. I'm only spelling it out to avoid
downvoters: the idea is that different approaches and attitudes are informed
by race, culture, background and gender in ways that are difficult to measure
in the interview process._

I don't know why you find this disrespectful. Could you clarify?

I'm simply asking, concretely, how "race, culture, background and gender"
inform different approaches and attitudes to detecting systematic failures in
a sensor network? Or similarly, how does this inform different approaches to
querying a dataset consisting of a normalized SQL schema together with a
collection of very large structured files?

I'm being facetious because I consider this idea to be patently ridiculous. In
most of my jobs I've been the only person of my race present, and it's
literally _never_ affected any professional task.

That's also why I'm asking for specifics, rather than vague allusions to some
study you kind of remember reading.

I do of course know what the real argument is about. Diversity is a sacred
value and all the arguments you've brought up are actually just post-hoc
justifications for a behavior you virtuous. I'm just arguing that there is
little more than that.

~~~
cynicalkane
Well, I'll give you an example.

It's popular among computer nerds to dismiss other peoples' ideas. They might
do something like attack someone's ideas with intentional misunderstanding,
lazy thinking, and facetious reasoning. In short, they do not show the bare
minimum of consideration for others' ideas, instead looking first for avenues
of attack. Having ignored and attacked the other person, they then claim no
disrespect was meant. They might say something like "I don't know why you find
this disrespectful. Could you clarify?"

It does not occur to them that being able to attack peoples' ideas in this
pompous way is actually a position of privilege. Anyone can do it, but people
born a step ahead are more likely to not reflect on their position, or even
feel entitled to it.

In my experience, women and people from disadvantaged backgrounds--people who
were not praised to the moon for writing "Hello World" in eighth grade--are
less likely to behave in this way.

This is self-evidently an enormous advantage on engineering teams.

Usual disclaimer: personal experience, your mileage may vary, this is just one
example, privileged backgrounds have advantages too, yada yada yada.

~~~
yummyfajitas
I did not attack you or ignore you. I directly addressed one of your arguments
and attempted to determine whether the other argument is your "true rejection"
[1].

On the contrary, the only person ignoring the other's points and making
anything close to an attack is you. You've accused me of being disrespectful,
called me lazy and accused me of intentional misunderstanding, while
simultaneously NOT addressing any of my core arguments.

Quite entertaining, I must admit.

[1] Specifically, I think even if that argument could be proven false, it
would not change your conclusion at all. So bringing it up is merely a
distraction. See also:
[http://lesswrong.com/lw/wj/is_that_your_true_rejection/](http://lesswrong.com/lw/wj/is_that_your_true_rejection/)

~~~
cynicalkane
The question was if diversity is valuable in engineering. I gave a specific
example of a specific kind of diversity that is valuable to engineering teams.

If you're interested in Google's data, they make an excellent search engine
that you can use to find that kind of stuff. I encourage you to do your own
research, in part because I think I've done enough work leading you to the
proverbial water.

