The Developer Formerly Known as FreeBSDGirl

I’ve been trying to publish this post for 5 months. It’s been sitting in my queue, and I’ve been too worried about fallout to publish it, despite the support of friends familiar with the situation. But I’m not going to enter 2016 knowing that I was too scared to do something. So here it is.

This post is something I haven’t wanted to write. It’s been simmering on the backburner, because it’s a distraction from my work. It’s not something I wanted to spend my time thinking about, and so I’m still processing what happened and I’ve still got some feelings.

When a woman writes a post about why she stopped associating with her open source project, people won’t remember that “scandal” when they think of that project, but it’ll be associated with her name forever. I’m hoping I’ve built up enough of a name with other things that this won’t happen to me — but it’s still scary.

I’m telling you all of this because I want to get across the point that this isn’t done out of malice. I fully know what is going to happen. I am telling you my story because I’ve been watching women leave the Linux community, and many FreeBSD community members are telling them to come on over, because they aren’t aware that FreeBSD has problems of its own. There are only a handful of women in the entire FreeBSD community, and I wasn’t going to sit quietly and pretend there weren’t problems just so they could increase those numbers.

I’ve been using FreeBSD since about 2001. I was a senior sysadmin, and as soon as I started using FreeBSD, I fell in love. Shortly thereafter, I flew across the country to go to the 10 year FreeBSD anniversary party, where I met so many of the developers and made many good friends. Everyone was friendly and awesome and I had found my home. I joined the private developer IRC channel (despite not being a developer at that point), and I hung out, listened, and learned. I went to most of the BSDCans, and even joined the developer summit – once again, not being a developer. I loved the dev community.

I was a strong advocate for FreeBSD. In late 2003, I started using the name FreeBSDGirl. I later joined the FreeBSD marketing team, because I wanted to do something with the project, but I didn’t know where to get started with writing code for FreeBSD. At that point in time, I helped the project by watching what was happening in the dev channel to keep an eye on where the project was going, and communicating some parts of that to the outside world when I was asked questions on social media, at the FreeBSD booth at various tech conventions, etc. I was good at this, but I still wanted to be a developer.

Eventually, with the help of the dev community answering some of my basic questions and with Colin reviewing my code, I finally found my place in the project. I was still a senior sysadmin, but I got really angry because I couldn’t install FreeBSD from a usb thumbdrive. This seemed so easy. So, I drank some scotch (probably too much scotch) and started digging through sysinstall code. I didn’t really know C at that point. I learned C just so I could fix that. Then I started working on a few other things with sysinstall, like autodetection of network devices that have an active link.

I decided to try my hand at public speaking, so I gave my first talk ever at BSDCan. It was terrible. It was about automating sysinstall, but I made the rookie mistake of doing a live demo, and of course my pxe boot failed.

I was given a commit bit, and still being mentored by Colin. That’s how the process for FreeBSD works — he would review all of my code and approve it. I continued contributing for a while, but life and work got in the way. When I ended up working at a company that didn’t have a good open source policy, I voluntarily retired my commit bit rather than risk inflicting legal complications on FreeBSD. I was still writing code, but I couldn’t do so for FreeBSD.

I continued to be a part of the community, but in a smaller way. I couldn’t spend a lot of time in the IRC channel. I still made it to some BSDCans, when I could. I stayed in touch with most of my friends in the project. I still kept track of what was happening in the project, because my name was still FreeBSDGirl, and people often came to me for help.

This year, I decided to submit a proposal to BSDCan to speak again, this time about online harassment. A few people in the project had been asking me for a while to do a talk on diversity, and online harassment is directly related to the lack of diversity in open source. I came to the conference, saw a bunch of friends, gave my talk, and had a blast. Life was good. I was happy to see quite a few familiar faces from the project there and listening. It was a difficult talk to give because it was in front of so many of my friends. I talked about all the shit that had happened with this GamerGate nonsense. I cried, and I am really not a person that cries. It was intense and well received, and I left BSDCan feeling hopeful for the future.

This is where the story gets bad.

A FreeBSD committer started going off on me on Twitter. He wasn’t at my talk and I didn’t know him — I only knew he was associated with FreeBSD because of his bio. He was fairly new to the community and had only been a ports committer (a developer that maintains third party packages) for the past year. Normally, I’ll just block people who bother me on Twitter, but FreeBSD has come under fire a lot from GamerGate — mainly in the form of email harassment campaigns — and I knew they would see this guy’s activity as proof that they were winning, which would result in them sending more emails.

I was pissed. He was claiming that no one harassed me, the typical GamerGate crap that gets thrown at me. I looked at his timeline to get a feel for what his deal was, and I saw that he was talking quite a bit to the Breitbart reporter who has been stalking me, as well as RooshV, whose current claim to fame is his campaign to legalize rape.

GamerGate hopped onto all of this. The committer bragged about people like TheRalphRetort following him. He went on Facebook to brag about how many new followers he was getting and how terrible of a person I am. He then started threatening me on Twitter. He said he was going to ruin my life. OK, whatever dude. I could block him, but when he publicly posted logs of me talking in the only place where I really felt safe — FreeBSD’s private developer IRC channel — it became a violation of my home and privacy. He was representing himself as part of the project, so I reached out to the FreeBSD Foundation. They suggested I contact FreeBSD core, the elected group that governs FreeBSD.

I’ve never had to take anything to core, ever. I’ve never had conflicts with people in FreeBSD that required oversight. Everyone gets in arguments, but they are generally respectful and they never graduate to threats.

I sent FreeBSD core a long email detailing the encounter, with archived copies of this committer threatening me, talking to the reporter who has been stalking me, and more. Core responded, more or less saying that they were looking into the issue, and asking what I would like them to do.

I detailed three steps. First, they needed to create a code of conduct. I provided links to other CoCs as examples. Second, I wanted FreeBSD to make a general public statement (because this was now a very public thing that was happening) saying that they were looking into it, and that they were committed to being a diverse and inclusive environment that does not tolerate harassment. This seemed pretty generic and benign. Last, I wanted this developer removed from the project and the IRC channel. It was clear that this guy had a problem with women — he was also harassing a trans woman who was starting to get involved with the project. It wasn’t a good look for FreeBSD, and it needed to be treated seriously.

Core responded saying that they were working on a CoC, but their hands were tied, because the only thing they felt they could take action under given the current rules was the publication of the private channel IRC logs. They weren’t willing to take action on threats because they didn’t happen on the mailing list — despite them happening in a venue where the committer publicly identified himself as a member of the project. 

They asked me to stop talking to him (I had blocked him early on, so this wasn’t a problem), and they said the abuse was dying down, so things should be fine going forward.

The abuse hadn’t been dying down. This guy was continuously trying to contact me and stirring up the GamerGate and neo-reactionary mob to come after me. He started enlisting the support  of his neo-nazi friends. I pointed core towards all of this.

The next communication from core asked me to stop talking about this publicly. They told me to tell everyone it was being solved through private mediation, and that the problem committer was on vacation for a week, so they didn’t want to do anything about it until he got back. For that entire week, the committer was still on Twitter, still posting garbage, still goading on his friends to harass me. He was on Reddit, and I had to stop checking my Reddit messages, because all of his friends kept mentioning my username. He was feeding GamerGate misinformation about everything that was happening, as well as creating threads on r/FreeBSD about the situation. Meanwhile, I’m sitting there quietly, trying to do what core asked. I was removed from my support networks. I couldn’t talk to my friends about what was happening, and I was having to watch my name get slammed to the community of a project I’ve been involved with for 13 years. I explained to core why this was a problem, and I tried to keep faith in the process.

I had talked to someone from the FreeBSD Foundation earlier on the phone about what was happening. During this same conversation, they actually said “maybe you should be nicer.” Literally. Said. That. To. Me. After this person had witnessed my talk and seen all the shit that had happened in the past year, I was tone policed by the FreeBSD Foundation.

During that phone conversation, I had told them that I was planning on switching my private and public twitter handles. My public account had always been freebsdgirl, but it felt like a reference to an earlier time in my life. I’d been focusing exclusively on the problems around online harassment, and the branding just didn’t fit any more. I also hoped that in changing my username I could reduce the collateral damage to the project. I had been planning on doing that later this year — and I had planned this even before the harassment from the committer had started.

A week later, I received an email from this person threatening to involve the FreeBSD Foundation lawyers if I didn’t change my username immediately. They tried to pass it off as a trademark infringement by pointing me at Section 3 of their Trademark Usage Terms and Conditions.

If we grant you permission to use the Marks, your use of the Marks must always be fully and clearly reproduced, and you may not incorporate any of our Marks into the trademarks, service mark, logos, name of your business, project, organization, or username, unless you have the express prior written permission of the Foundation.

This seemed strange to me, so I took a look in the internet archive wayback machine. The FreeBSD Foundation had stealth added ‘usernames’ just prior to her sending that email, adding the word but not updating the date at the top. They wanted to ban people from using FreeBSD in their username — and pretend that that had always been a policy. Think about that for a second. What a trainwreck.

Even aside from the stealth-edit sketchiness, They said that their lawyer said they had a case. Well, they didn’t. According to the T&C itself, my usage was OK due to using it since 2003.

We realize these Terms and Conditions are being introduced at a point in time when some companies and individuals already have product names that include the Mark. Companies and individuals using the Marks as of May 1, 2006 will not be required to change their already existing product names to comply with these Terms and Conditions now or in the future. However, we do request that these companies and individuals give proper notice and attribution of our Marks and that any new product name will follow these Terms and Conditions.

I didn’t want to change my username at that point. After the bullying and stealth-editing of their ToC, I wanted to keep my username to prove a point to the FreeBSD Foundation. But now, anytime I logged in and looked at Twitter, I was reminded of this whole situation, and it was making me unhappy. I changed my username and started forwarding all the email from that person at the FreeBSD Foundation to the trash, because I didn’t want to see a reminder of a situation involving shitty power dynamics.

I continued to argue with core, but with no level of success. They wanted to wait for him to get back. They stopped communicating with me. I had to keep poking them to ask what the status was of him getting back from his vacation. Eventually, I got back the reply: “He turned in his commit bit”–which is far from a proper resolution to everything that I had to endure from him. FreeBSD didn’t take a stand against harassment. Despite private messages from many developers, there was no public support stating that they condemned these actions. A lot of developers didn’t know what was happening, just that one of the few women in the project was mad at another developer, and he quit. It made it look like the bullying was coming from my end.

They later published a Code of Conduct, which went so far as to use the term “meritocracy”, and didn’t make a clear distinction between code mediation and responding to abuse. The FreeBSD community has ways to handle code disputes. This is what happens when minorities aren’t brought into the discussion. FreeBSD’s management and rules aren’t decided upon by the community, but by core. And in leaving the most unrepresented members of the community out of this process, they missed obvious problems.

After 12 years, I left the IRC channel, and will not be going to any BSD conferences or participating in the community going forward. I remain friends with many people involved with the project, but FreeBSD no longer feels like my home.

That was a big wall of text, so let’s break this down to the essential problems so hopefully your project (and maybe FreeBSD, who knows) can not make the same mistakes.

  1. When someone is getting harassed by another person in the project, don’t treat this like you would a technical conflict.
  2. Have a Code of Conduct before you need one along with a plan for how to handle incidents.
  3. When you write your Code of Conduct, ensure that underrepresented people have a voice. If your project is extremely homogeneous, ask for help – involve outsiders who are familiar with the difficulties of writing a Code of Conduct. Be willing to pay people for their expertise on this topic.
  4. Don’t tell people to stay quiet about abuse. This removes them from their support network of friends and family.
  5. Be transparent when you amend legal documents. Being sneaky as part of trying to intimidate people with lawyers is not ok.
  6. Be proactive in keeping folks who report harassment up to date on the status of your deliberations. Provide regular (daily or better) updates, especially if the harassment is ongoing. What’s an administrative matter for you is causing them constant pain.It should be a push process, not a pull one.
  7. When someone has to leave an IRC channel and stop going to conferences because they are scared of a person, this is a sign that there is a problem that needs to be addressed. It’s rare for people to speak up about negative behavior. If one person is uncomfortable, chances are that there’s more community members who are having issues with them but not speaking up.
  8. Understand that the measure of health in any open source community is how they deal with conflict.
  9. If you’re a dude, don’t reach out to women leaving other open source projects saying “join us here!” You have no idea if women in the community have problems or not. Women will talk to other women about the quality of the community. But it’s also just really bad taste. Instead, find someone in your community that is also part of that minority group to reach out. They’ll know more about potential issues than you will.
  10. Publicly stand behind the women in your community, or eventually they will leave and write a post just like this.

I’m still sad I had to leave. That is a heartbreak that will probably never go away. I’ll miss the conferences and hanging out with so many incredibly talented people to discuss an operating system and open source project that I loved. This project helped me get to where I am today. I’m not advocating that minorities don’t join FreeBSD, but I hope those in charge of the project read this and understand that they’ve got to do better. I hope someone else helps them find their way.

%d bloggers like this: