Why I left the FreeBSD Project

It’s been almost a month since I left the Project, and during that time, I’ve had a chance to look back on my decision. Readers might wonder “Do you regret it?” and the simple answer is no, I don’t regret it, but do miss some parts. But based on what happened, I still feel I made the right decision.

I received a lot of mail from a lot of people (developers and users alike), but I replied to none — except one: a very kind and personal mail from Rink Springer. I replied to it because Rink made it clear in the tone of his mail that he was mailing me as a friend/person, and not as a “FreeBSD developer”. I appreciated that, because the issue for me was personal. That’s not to say the other mails I received weren’t that from friends, or of a personal nature, but most of them were along the lines of “What the hell? What’s going on here?”, which was understandable given the circumstance.

This morning I got to thinking about what transpired and decided to share with the world the mail I sent Rink. I don’t expect anything to change as a result of this — I’m doing it because there are lot of people who were (presumably) left in the dark. Some managed to speculate that my departure was partially or entirely based on on a mail I sent to freebsd-hackers prior… it’s more than that.

Actually, based on what transpired, I’m expecting comments like “What makes you think you were so damn important to FreeBSD? What a prima donna you are!”  I also expect some comments along the lines of “Your glorified opinions of how FreeBSD should be are indicators that you have no idea how the Project works or functions, which makes you immature in that regard”.  At no time did I ever think I was important to FreeBSD. Egocentrics are often pretentious, not humble and modest, and very rarely (if ever) disclose personal details.  And yes, I have strong opinions about FreeBSD (e.g. my view that FreeBSD should remain a server OS and leave the desktop piece up to the PC-BSD/DesktopBSD folks, but have two teams working together to ease pains), but there are also very personal items as well (e.g. my anxiety disorder and my day-to-day life), which (I hope) readers will take into consideration.

Being part of FreeBSD was something that was personal for me, so I guess it’s fitting that my departure was equally personal.

Anyway, below is what I sent Rink, almost verbatim (only one paragraph was removed).

I realise my disappearance was sudden. I apologise for that, but I did what I felt would be best for me personally. I had to put the Project “aside” for a moment to think about *me*, because what happened required such.

There were (overall) two things that caused it, but there’s a third I want to mention. The first one is the primary reason, the 2nd is a “…and while I’m on my soapbox” item (but does apply; any long-time FreeBSD user can relate). The last is a “by the way” item.

First problem:

There are key-role/influential members of the FreeBSD Project who have sent me mails — yesterday was the second in a few months — which personally ridiculed, disrespected, and insulted both me and my efforts.

There is a distinct difference between an argument/flame war/ego clash, and something that says “All of the efforts you think are positive? They’re actually shit. You’re pissing people off, and that is why I and
others treat you like this. You deserve being treated like this”. It wasn’t just an opinion: it included justification of why they were treating me the way they were, indicating it had been going on for some time (I was aware, I just chose to ignore it).

These comments were made in private mail, which means I can’t forward them on to other people without risking personal/professional defamation of my own character; it makes me look bad forwarding private mail (without permission) to others. This could also affect me professionally. One of the reasons I was hired at my current job was *because* of my familiarity with open-source projects, indicating that I “know how to work well with others”. In reality, I’m very much an introvert; I like doing stuff by myself. Everyone gets the opposite impression (that I’m heavily extroverted) because I’m exceedingly verbose, and quite the chatterbox. People (in general) wear me out very easily.

I did not respond to the mail. Instead, I reflected on it for a bit.

To be fair: yes, there were absolutely some times in the past where I was having a bad day and was inappropriately rude to some mailing list users when I should not have been. I still do not feel good about those, and I wish I could rewind time and change that. So in that regard, I myself am guilty of violating some items on the Committers’ Big List of Rules.

And I’m hardly perfect, and I make a lot of mistakes on the mailing lists too, especially about technical information. There’s a lot about the overall architecture (of FreeBSD, and of PCs) which I simply do not understand. The height of my x86 exposure was when I was in high school 15 years ago, and hardware has changed greatly since then. But I always felt I was very open and honest about when I was wrong, and appreciate
when good people let me know that in a constructive way (John Baldwin is excellent in this regard, but I get the impression he’s tired of seeing mails from me — more on that later).

I mentioned the Committer’s Big List of Rules, which applies to src and ports. Here it is:

http://www.freebsd.org/doc/en/articles/committers-guide/rules.html

Section 11.7 (“Do not fight in public…”) would apply, except this wasn’t a fight/disagreement. This was defamation of one’s efforts, followed by justification/warranting of their actions.

But Section 11.1.1 (“Respect other committers”) DEFINITELY applies. But when I read it, I was saddened, not relieved. Why?

1. Because practically *every single Email* the latest individual sent to mailing lists violated that guideline. It’s gone on for YEARS, it’s not a new thing,

2. “Project leadership” means Core. The problem is that one member of Core also happens to be an individual who has sent me similar Emails in the past. Said individual is also very good friends with the other offender, and I believe they rub off on one another. Therefore, I cannot safely trust “project leadership” to handle this problem. Am I claiming Core is corrupted? NO. I’m claiming this situation is very unique, and very non-standard,

3. Both said individuals actually do good work (code-wise and overall Project efforts). I fully recognise that fact, and applaud them. But it just further complicates things; I then have to weigh what matters more: code getting written/fixed, or their behaviour.

The question then became: why do I need to put up with this adolescent, narcissistic bullshit?

And the answer: there comes a point where a person has to stand up and say “I will not take this any longer”. The choice I made was to no longer expose myself to such an environment; I had other choices, but history would just continue to repeat itself. I have to believe that my efforts can very likely be applied elsewhere without this form of childish crap.

Backing up a bit, I mentioned “being tired of seeing Emails from me”. I sometimes get the impression that people in general are tired seeing my name on practically every thread on every list (such could easily come across as aggressive, or exceedingly hyperactive — of which I am neither, but I understand how it could seem that way). I just happen to be subscribed (well, not any more) to 13-14 FreeBSD lists, and I know from years of experience that most mails don’t get a response, leaving people in the dark. I only respond to topics I feel I can contribute to; topics like FreeBSD on the desktop, X, low-level driver questions, kernel innards, etc. I know nothing about, so I tend to stay away from those threads. I can’t help but wonder if my “mass of responses” has irritated people. I know linimon mentioned that during a recent BSD get-together (bug busting? BSDCan?), there was some mention of concern over the volume of mails I was sending.

Second problem:

I’ve tracked so many different bugs in FreeBSD, and hardly any of them are getting fixed. I *KNOW* why this is happening. It’s because we don’t have enough clueful warm bodies to fix it all. The people who created some of these technologies have left the Project, or are too busy to fix things. We need more great kernel/src guys, and we just don’t have the manpower.

I only look at FreeBSD with “server eyes” — I do not care about FreeBSD on the desktop. Let PC-BSD or DesktopBSD deal with that. I care about having a clean, slim, fast server operating system that is rock solid, and takes server-related issues into mind at the core of the OS. People say this kind of vague shit all the time without really having any idea what it means, but I’m not one of those people. I’m thrilled about ZFS,
but what I think is overlooked is that people need rock-solid ZFS **now**, in RELENG_7, because our existing filesystems are….. well, you know where I’m going with this.

There is no other “true server OS” out there — I’ve spent the past week looking for one. Linux can’t do it; it’s too bloated with bizarre ideals and totally freaky concepts of where things should be and how things should be done. OpenSolaris is still trying to go the desktop route with their installer, which is just bizarre, So FreeBSD is it.

{…} I don’t mind new features assuming they’ve been tested THOROUGHLY (that means all failure conditions tested and experimented with).

What’s happened is FreeBSD has ended up a server OS that is in no way reliable as it was in the 2.x and 4.x days. Anyone who does server administration can tell you that, which is probably why Juniper and Citrix stick with FreeBSD 4.x in their products.

Third problem (not a problem, but an item I wanted to mention):

As I privately explained to Philip (Paeps), there were a few complexities with regards to me attending meetBSD, and the DevSummit — despite both happening only 2 miles away in the town I live in.

The first and foremost was my work schedule, since I work graveyard and right now we have limited head-count (makes taking time of impossible). I work in a NOC, thus shift-based, not “come and go as you please”. I wasn’t able to get the time off. I could have made it for a few hours on Sunday, but no one answered my developers@ question as to whether or not you could “sign-in” (I was pre-regged) on Sunday.

The second was personal problems. I’ve suffered from a bizarre form of social anxiety disorder since 2003; I’m afraid of being in foreign environments, and situations where a bathroom isn’t immediately available (ex. riding in cars for me is difficult, meetings behind closed doors, etc). I’ve been on a couple different medications to curb this, or at least allow me to feel normal again, but so far nothing has worked. I also have some kind of physical stomach/bowel problem which compliments the other issue, meaning I have some health problems. Getting by day-to-day is a challenge, but not a severe one, except on days when I physically feel ill or am stressed out. It just makes my life very… limited. meetBSD for me was therefore something of an adventure; “I wonder if I can do this…”

The third was that the individuals who have sent me mails (see above) would be attending meetBSD. I wasn’t sure how this would go, as from what I understand, they’re very much in person as they are online. So, what that meant was, I would probably feel uncomfortable around them, or (especially after this recent mail), would be intentionally taunted.

DevSummit — same thing. I was invited to attend. I did drop by #devsummit on EFnet, and while there, I wrote up (on my Wiki) a list of questions/concerns I hoped someone would bring up in person. I mentioned this on IRC, and received absolutely no replies. Now, I’m not bitter about that (the channel was very talkative/hectic at times), but I’m quite surprised not a single person said “Oh okay, we’ll take a look and see which we can go over today”. Everyone was too hell-bent on Kris’s “incredible FreeBSD BIND performance on CURRENT with crazy socket patches” — I’m less concerned about the number of DNS lookups per second and more concerned with why the entire system shits bricks when you hot-swap a failed disk, or how people can completely deadlock a box
by using mksnap_ffs/dump -L. So again, I feel the priorities are seriously fucked up.

In closing…

My departure is not an attempt to try and get someone to do something about any of these things; these things probably won’t change. I’m just incredibly depressed about the state of all of this, and on top of the “downward spiral”, getting personal insults and defamations to boot. You have to step back and think, “Is all of this healthy for me? What am I getting out of it?”

That said, I don’t think I’ll be coming back to #bsdports. I did enjoy my time there with everyone, though. I wish I had done more with my ports commit bit (especially given that when I asked for it, that caused a ton of commotion because “the commit bit is normally something you earn, not request”, but eventually it was given to me), since now I feel those who were against the idea may be saying “See, I told you”.

Oh well. Fuck it.

P.S. — You can tell remko that he did nothing to provoke this (he was worried he might’ve been responsible; he’s not. :-) )