tom callaway (spot) wrote,
tom callaway

anger and FOSS

I don't normally consider myself an angry person. I don't go around kicking puppies or punching holes in walls, but over the last day or so, I've been considering whether or not I default to anger.

Over the last week, I've been in Portland, OR for OSCON. I hadn't been to this particular show in years, primarily because it felt very very corporate on my last visit. It had a "we payed big money for this sponsorship so we're going to get to aggressively push our non-FOSS software (and culture) to you in confusingly worded sessions and keynotes" vibe. Is it snarky for me to say that? Snark is kind of an angry way of making a point, I suppose. Okay, lets try again.

It concerns me when a conference that has "Open Source" in its name in any way encourages non-FOSS software and ideals, from its sponsors or otherwise. It would be more appropriate to say that it annoys me. So, I stopped going to OSCON a few years back.

I'd heard from others that OSCON had gotten better about things, so I penciled it in for my 2010 conference attendance and got budget allocation to go. Now that it is all said and done, I think things have noticeably improved, but I felt it could still use some work. First, here were some things that I liked about OSCON:

* Good timing, on breaks, meals, snacks, events, and plenty of time to make it from one session to another (as long as no one ran too long)
* Track on new/emerging languages seemed just right for OSCON, even if it wasn't something of interest to me
* Most companies/groups on expo floor had some FOSS to talk about
* Google's generosity in giving out several hundred Nexus One phones. They're not 100% FOSS, but they're more FOSS than my old iPhone.

Things I didn't like:

* "Sponsor" sessions that were simply advertisements for non-FOSS. Does OSCON really need to do this anymore?
* Whoever gave away vuvuzuelas (spellcheck proposes "Venezuelans"). Sounds like fun, until someone walks by your booth blowing one for the 100th time. With the World Cup, I imagine you really don't need to hear anything to enjoy the game, but at a conference, being able to hear my answer to your question is rather useful.
* Defensive keynotes. Specifically, where the keynote presentation is on the defensive from the beginning. I'm looking at you, Microsoft and Eucalyptus. The fact that you need to defend your non-FOSS model and tactics outright should be telling for you, but was just embarrassing to watch.

Overall, I enjoyed OSCON, but to be honest, I came into this conference with a secret hope. I knew that Google would have a huge presence here, and I was hoping that I'd get the chance to talk about chromium (or at least, hear someone talk about it).

As many of you might know from reading this (infrequently updated) blog, I spend a fair amount of time working with the chromium source code, gently (and occasionally not as gently) massaging the source so that it builds into RPM packages for Fedora targets, while at the same time, stripping out as much of the bundled/forked third party FOSS libraries as I can. I know my work is appreciated by users and by my counterparts in other distributions who are also doing the same tasks. But I've never really felt that most of the people working on Chromium cared whether I did it or not. In fact, with the notable exception of Evan Martin, I felt that they actually were generally unhappy that I do this work.

I should clarify that statement somewhat. In the course of my work, I've needed to patch the chromium source code pretty aggressively. To date, none of my patches have been merged (or in most cases, even commented on), even though most of them have been submitted as bug reports. This is demoralizing, because it implies that they don't take the time to care about my work. However, I've tried very hard to never assume malice when other factors such as being overworked could be equally viable.

I've got pretty strong feelings about how Chromium (and v8) development is being done. I think that the design and implementation decisions that they've made have made it difficult for any real community of contributors to form around it, and in the case of v8, functionally impossible for third party FOSS projects to leverage. I've raised these feelings with the Google Chromium team in the past, and they generally don't care. (Again, Evan is a notable exception.)

I know that it is much harder to communicate online than it is in person, the nuances of inflection and tone translate poorly in bits and fonts, so I was hoping that someone from the Chromium (or v8) team would be at OSCON to talk about their roadmap, their development approach. I had hoped for this for two reasons: 1) To better understand what motivates them to act the way they do and 2) To have the opportunity to explain why their approach is so frustrating from a FOSS and a distribution packager perspective

Sadly, there were no "Chromium" or "V8" sessions on the OSCON schedule, but there were two "generic" Google sessions, so I attended both of those. The first was more of a general "Google" town hall, and the speaker (Chris DiBona) said early on that questions about Google's FOSS initiatives should be held until his later session, so I waited for that session. During the first session, it was noted that a healthy majority of attendees in the room worked for Google, which gave me hope that there were some Chromium/V8 folks present.

I attended the second session, and waited for the topic of Chromium to come up during Mr. DiBona's slides, but it was not mentioned at all. No other questioners during the Q&A session brought it up, so I raised my hand.

To be fair, I don't remember exactly what I asked, verbatim. I knew Mr. DiBona wasn't part of the Chromium team, but I was also aware that he seemed confidently (and even cheerfully) aware of Google's FOSS initiatives, so I asked a broad question that went something like this:

"Google's approach to Chromium and V8 has been really frustrating and difficult from a distribution perspective, do you know if there are any plans to improve that?"

Chris DiBona responded with a defensive ferocity and anger that caught me significantly off-guard. He accused me of being angry, then admitted he was unaware of any such concerns, then suggested it would be better handled offline, all in an extremely condescending and aggressive tone.

I left the session disappointed. I wasn't expecting him (or anyone) to say "We're so sorry! We'll change everything right now!", but I certainly wasn't expecting to be bitten and yelled at. Am I truly angry? I thought about this for the next two days. Had I said something to merit that anger, or was he simply deflecting anger back at me. I didn't feel angry, at least, not until he answered with such an aggressive tone and demeanor.

In retrospect, almost every single question asked in those two sessions was less of a question and more of a glowing fanboy praise, in the form of a question. "When will Google Foo version 2 be released?" or "Will Google Bar integrate with Google Baz?". My question summed up to "When will Google Qux stop behaving badly?". Was there a way I could have phrased that to get a better response? Would it have helped if I had been more specific (even if that would have taken 15 minutes to do properly)? Or was it simply that I was highlighting a negative that caused such backlash?

All that I knew for sure was this: In one single response, Chris DiBona made me not want to work on Chromium anymore.

After the talk, several Google employees approached me to talk about Chromium and V8, they didn't work on that effort, but they knew the people who did. I apologize for not mentioning them by name, because, well, I'm terrible with names, but we talked about my concerns, both idealogical and technical. I explained why Chromium and V8 weren't part of any Linux distribution, the work I had done to compare performance in a static vs shared configuration, why bundling and forking as an instinctual default behavior was harmful, and they explained why they suspected that the Chromium and V8 projects were handled in the way that they were. They were patient, but engaged with me, which was good, because I was admittedly pretty worked up by that point.

But I couldn't stop thinking about being angry. I know how it made me feel when Chris lashed out at me during his session, and it stacked on top of what I had already been feeling about my Chromium efforts. It made me feel unwanted, unappreciated, and unwelcome. Even though my instinct was to blame his anger for this, was I really the angry one?

Angry people are poisonous people. Sometimes, they can calm down and become productive people, but almost no one is useful and productive when they're angry. This is why snark isn't useful or productive. It's why no one wins a shouting match, ever. When it comes to FOSS, which is largely a meritocracy, when you're angry, you're not able to earn respect or credibility.

I hope that people appreciate the work that I do on Free Software and Open Source. I hope that I am respected amongst my fellow users and contributors in the community at large. I hope that I'm not angry. I'd rather be passionate than angry.

I'm not sure if I'm going to keep working on Chromium or not. I'm not sure if I was truly angry in that session at OSCON. But I do know that I'm going to make a conscious effort to identify, within myself, the difference between passion and anger, and leave any anger that I find behind. I'm not saying that it is never wrong to be angry, just that it isn't productive to be angry in FOSS, and I'd much rather be a productive contributor than an angry agitator.

I know it won't be too long before I'm giving a presentation at some FOSS or Linux event and someone asks me an angry question, but I hope I will be able to reply calmly, and channel that anger into something productive. I encourage all of you to think about being angry and how that affects your involvement with FOSS and its communities.
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

← Ctrl ← Alt
Ctrl → Alt →
← Ctrl ← Alt
Ctrl → Alt →