Mozilla Summit 2010 and dev culture

The Mozilla Summit opening reception

men, men, men

One thing that’s always interested me about software design is the inescapable bias of the designer. Whether we like it or not, designers’ perspectives always color what they think makes sense, what they think is useful, and what they think is good.

Never has this been more apparent to me than at the 2010 Mozilla Summit. I couldn’t help but notice that every session I visited, every reception I attended, and every conversation I had was dominated by male hacker stereotypes. The game room was full of obscure board games, first person shooters, caffeine and candy. Group conversations inevitably drifted towards the finer details of an API or a technical discussion of the merits of one platform or another. I had many short-lived and terse conversations with shy and introverted but incredibly proud geeks like myself.

It’s not that there’s anything wrong with the typical Mozillian—it’s that Mozillians are such a surprisingly typical group. It didn’t matter what country I came from, whether I was speaking to a man or a woman, or whether the contributor was a developer, tester, localizer or other form of contributor, there was a somewhat shocking homogeneity to the personalities and value systems of the people I met.

And it’s not even that these personalities or value systems are wrong: in fact, I share many traits and values with the people I met. I’m shy; I’m introverted; I believe in standards, open communication, transparency. As an academic, I may have learned to overcome these traits for the benefit of my career and to foster other values, but at my core, I identify strongly with Mozillians in both personality and beliefs.

No, the troubling thing was the lack of opposing traits and beliefs. Where are the technically disinterested Mozillians? The gregarious? The empathizing? Where are the Mozillians who are interested in people, society, history, diversity?

The answer, of course, is probably quite obvious: they’re Mozillians because they’re interested in technology. The ones interested in people have self-selected out of this group and are contributing to society in other ways and other places.

What this means, however, is that a comparably small group of people with similar goals, similar interests, similar viewpoints, and similar skills have a disproportionate influence on how the rest of the world experiences the web. And unsurprisingly, the experiences that Mozillians create are the ones that propagate and reinforce Mozillians’ own viewpoints.

None of this is very controversial either. In fact, I spoke with many Mozilla employees who believe that Firefox and Mozilla’s other mature products are really products for power users, despite the organizations unique user-facing stance relative to other open source communities. They believed that while it may be possible for the rest of the world to use Firefox as an alternative to other browsers, the Mozilla community ultimately builds for itself and its own perspectives because it knows no other way.

What is this way, then, that Mozillians view the world? Throughout my many discussions, I noticed a number of recurring beliefs (many of which are general to engineers and developers, and not just open source communities):

  • There’s always a right answer. Unlike most professional designers, I noticed that developers like to use the word “right” a lot when designing solutions. Understandings of tradeoffs seem to be limited.
  • My answer is right. Most of the Mozillians I met like to believe they have the right answer. There appears to be a joy on defending this position as well.
  • If a rationale argument can’t be made for a solution, the solution is invalid. Rational thought is the only valid means of obtaining knowledge or solving a problem.
  • Proof by existence, not by evidence. Prototype it and then I’ll believe you.
  • Ambiguity is unacceptable. Messy or noisy problems need not be solved. Solve the solvable problems.

Another recurring stance I noticed was that developers are special, privileged class. Obviously this isn’t the first time I’ve see this, but it did make me wonder where it comes from. So I probed. What I found was that every story of how someone learned to program and become part of the community was one of competitive selection. It’s hard to learn to program, it’s hard to get into CS, it’s hard to get a development job, and it’s hard to become a Mozilla developer. In fact, many told me that with all of these trials by fire, they learned quickly to act confident, to act certain, and to act as if one is right. One developer described this as a form of elitism, which brings with it a disdain for other view points and other more easily acquired skill sets (hence the apparent lesser status of localizers, testers, and support).

What no one said, but what I gleaned, is that this culture of elitism is as much an identity thing as it is a social thing. Perhaps the competitive processes by which developers attain status creates an identity that must be fed by being right. And what do we know about identities? People reinforce them, they defend them and they seek experiences that keep them intact.

What is the impact of all of these on the design of software, or at least Mozilla software? For one, design culture itself appears in direct conflict with how developers view the world. There is often an ambiguity, or mysticism to how designers learn to cope with ambiguity, and at least with respect to developers, I can see how this ambiguity is disconcerting and unconvincing. Moreover, it disempowers conceptual designers by requiring functioning prototypes as a ticket to entry.

The particular mission of Mozilla, to support the open web, also has interesting interactions with this developer culture. For example, many developers I spoke to believe that the public ought to care about their ability to control their online experience and own their data. I asked them, as devil’s advocate, why Mozillian’s had the right to impose these values through software, and many made a free market argument: people group together to espouse their values and those groups that persuade best, win. I saw little room in most stances for the possibility that users might not value the freedom espoused by Mozilla, and that the very espousing of openness might in fact oppose other values, such as simplicity, humanity, and beauty.

Are these trends in developer culture inescapable, or just an ephemeral aspect of a relatively young trade? Is it possible that as more people with more diverse perspectives learn to code, this imbalance in perspective will correct itself? Or are there only certain types of people drawn to code? Perhaps the market will ultimately force developers to empathize with other viewpoints, because society will cease to tolerate the engineered design of today and demand designs that respect their own values. I do not know—but I’ll be interested to find out!

32 thoughts on “Mozilla Summit 2010 and dev culture

  1. dominated by male hacker stereotypes

    This comes to me as a surprise. I would have expected that having a woman at the helm and having a relatively large percentage of female workers at MoCo helps in attracting more women to the project. Sad to hear this.

    every story of how someone learned to program and become part of the community was one of competitive selection

    Another surprise. Don’t we have a lack of qualified workers in the IT industry? I notice that job offers hang about at the MoCo website for months, apparently unanswered by qualified professionals. (I briefly considered applying this spring but eventually screwed it because applying seemed too complicated and I found something else.)

    My impression is rather that young men often need a valve to blow off steam/aggression and behave uber-competitively. People with ASD do that in programming, instead of sports or fighting.

  2. Pingback: The spammers, united, will never be defeated | Geek Feminism Blog

  3. Where are the technically disinterested Mozillians? The gregarious? The empathizing? Where are the Mozillians who are interested in people, society, history, diversity?

    Much of this doesn’t ring true for me, even scoped to the Summit, but I can imagine why that would be. I do find it odd that you’re asking where the gregarious Mozillians are — I saw many textbook definitions of gregariousness at the parties, indeed the sessions, which is not surprising…since the entire event is basically the birds-of-a-feather definition of gregarious!

    Most troubling to me, though, was your implication that people who are talking about Mozilla techology at a (short, rare) Mozilla summit are not also interested in people, history, society, diversity. People are many-faceted, and for many members of the community this was a rare occasion to have lengthy, face-to-face conversations with people who share an unusual interest in Mozilla, open source, and the web. Not all of the Mozilla community spend their days surrounded by other like-minded technologists; many are the only “software people” in their daily lives, to the extent that they are software people at all. But even so, I overheard and participated in conversations about different cultural norms, literature, poetry, the tricky problem of diversity in (especially) Mozilla’s software development sub-community, and other “non-nerd” topics. It’s possible that the 10% of the people you met there actually had no interest in anything other than the stereotypical (though I think unhelpfully overstated) elements you list, but I would honestly find that surprising given my own experiences in conversations over the last decade or so.

    (I don’t think Firefox is for power users, and I don’t think our user numbers support the claim. If anything, we need to figure out how to address the needs of power users *better*, since that is where we are most competitively exposed WRT Chrome. I’m curious that you found that they were Mozilla *employees* who said that, especially. What’s the significance of their employment?)

    Many of the problems we wrestle with are ambiguous or have no single solution, and much of our work — even in very technical areas like performance — is undertaken on the basis of evidence, not existence. Indeed, often the largest part of *engineering* work is making the painful trek from evidence to existence! That said, many of us do not trust without limits our own ability to reason purely and in abstract isolation about the suitability of a change, and want to be able to engage our visceral, subjective, emotional selves where possible. That requires something more concrete with which to interact, and I think it’s a fine thing: our users interact with the concrete, not the abstract models behind what we build.

    I’m sorry you didn’t get a chance to explore these topics at the summit, though there were sessions (and indeed keynotes) very much about ambiguity, emotion, diversity, and other non-technical challenges and opportunities. Perhaps you should have organized a session about truth and beauty? Without irony of any kind, I think you would have found it well-attended, and would have been pleasantly surprised at how interested many Mozillians are in philosophical, ambiguous, humane topics.

    • Thank you for such a clear and well-reasoned response. I think you provide many insightful counterexamples to what I observed and I appreciate being able to hear the other side of the summit and its attendees.

      There were indeed many gregarious developers, not only at the parties, sessions, and BOFs, but even at breakfast at 8 am šŸ™‚ There is incredible diversity in the community and in no way did I mean to discount it. And I certainly did not mean to imply that the Mozillians at the Summit were not interested in people, history, society, and diversity. (I asked for it though, with all of the hyperbole in writing).

      What I did mean to imply was that in my conversations with Mozillians about software design, I heard very little application of these interests in people and society to their technical work. The attendees I spoke to seemed to treat them as two separate areas of thought and practice, when they are very much connected.

      In reminded of one such conversation I had on the first day about user freedom and control. We were talking about the challenge of trying to design a browser for everyone and whether such an endeavor was even possible (I brought up the example of my Dad losing his scroll bar of the side of the screen and not being able to find it for months). One opinion was that the Mozilla community doesn’t need to worry about people who can’t learn these things because they don’t need to be browsing. Another thought that it’s Mozilla’s job to evangelize control, so that users begin to value and expect it in their software. Yet another thought framed the Mozilla community as engaged in a competition of values and it’s Mozilla’s job to succeed in imparting it’s values onto its user base and the market.

      So to the extent that these types of conversations happened throughout the Summit you’re right: Mozillians do think about these things. I met many with an interest in discussing these topics. I just found their opinions to be ironically paternalistic and overconfident.

  4. Hello Giles Bowkett. Are bluster and name calling effective ways to disguise weak arguments in the circles you frequent? That must be nice. I hesitate to point out the flaws in your example because it’s obviously close to your heart, but it has to be done. Nothing prevents anyone from criticizing the iPad for not being open while acknowledging its simplicity and beauty. Many people do exactly that. Apple could make the device more open without substantial changes to the user interface, so it’s clear that simplicity, beauty and openness are orthogonal here.

    Thanks for trying, though. It’s not often that I get this kind of fish-in-a-barrel experience. Andy’s answer about design decisions that satisfy the lowest common denominator was an excellent contrast: it was thought provoking and he didn’t discrediting himself by being impolite. If you study the difference between your reply and his you may one day develop the intellect and manners necessary to engage in a productive discussion. Good luck with that.

  5. Pingback: software quality and ideology « proficient digresser

  6. Wow, you just got all of us figured out don’t you?

    The monoculture you describe is not the Mozilla I work at every day. Did you think we were going to stop talking about software for an hour here and there and take in a presentation on Baroque music or a Foreign Policy round table?

    What is your point? Nerds are overwhelmingly male and into Sci-Fi?

    You obviously do not follow any Mozilla mailing lists or spend much time on Bugzilla or IRC, if you did you would see a 3-dimensional, sometimes chaotic, energetic group of people from varied backgrounds with often opposing opinions and interests. Your description of us is quite lacking.

    • I definitely don’t have any of this figured out. This is a blog after all; these are offhand observations and musings, not peer-reviewed scientific research. And I’m sure that Mozilla the organization and Mozilla the community are two very different things, as you say. As I’ve replied to other commenters, I think the attitudes and perspectives I wrote about are probably due more to inexperience than anything else. I’ve been quite impressed with the Mozilla organization and its employees. You guys do incredibly impressive and well-reasoned design work and deserve nothing but kudos. But the attitudes I wrote about do exist in your community and were broadly present in the 60-70 people I had discussions with at the Summit.

      I did expect discussion beyond software at the Summit, and was surprised to find little of it. What’s the point of the software you create if not for people to use it? I’d expect such endeavors to involve significant discussion of who those people are and why they might use what you create. Whether you like it or not, many of the conceptions I heard of users at the Summit were as uninformed, unwashed masses who needed to be saved as opposed to people who simply have different priorities and values. I’ve spent a lot of time on Bugzilla and IRC and see the beliefs there. I wrote about this condescension because I observed it, but I know little about how common it is or how it actually affects decisions.

      But please, don’t mistake my observations of these attitudes for an attack on the community. I value the community greatly and want to see it succeed. This is why I write about it and some of its inadequacies. I’m sure you want the same things, no?

  7. Err, were you at the same Summit I was? Because most of this sounds quite contrary to what I observed. A couple of remarks:

    You seem to be loosely conflating people who were at the Summit with the Mozilla community as a whole. There’s a huge sample bias here, Summit attendees do not represent a random sampling of the Mozilla community — and I wonder if there’s an additional bias from the subset of people you chose to interact with.

    I’m not sure what to make of the “recurring beliefs” you list. That again sounds unlike like any general trend of people involved with Mozilla I’ve seen. Yes, some engineers are like that, and yes there were a lot of developers at the Summit. But Mozillians as a whole? I don’t understand how someone would come to that conclusion. Dealing with tradeoffs, ambiguities, etc is what I see happening daily.

    Finally, your last couple of paragraphs, around how users value Mozilla values, is also baffling. I’ve found Mozilla to be keenly aware that most users don’t care much (if at all) about such things. That awareness is what allowed Firefox to thrive in the first place, and become the success that few open source projects achieve. You can’t build a large user base on ideals alone — it has to be a great product that people want to use in and of itself. For example, in the early years when IE was 90% of the market, that meant building a browser that was compatible with the IE quirks sites were expecting, even while exposing the belief that web standards were critical to an open web.

    • Fantastic points, thank you for commenting. There’s definitely a sampling bias in my observations (as with any observations). I probably only had conversations with 60-70 people during the three days, although I only knew about 3 people at the Summit, so most of my conversations were with people I didn’t know. I’m not at all trying to make strong claims about the whole community; no matter how much homogeneity in values and attitudes I saw relative to other other communities I know, there’s still a lot of diversity in the Mozilla community.

      Your point about dealing with tradeoffs and ambiguities is spot on. When it comes down to it, most developers directly engaged in having to make tough choices know this. If there’s any trend I’ve seen in my interviews with and observations of software teams, whether at Apple, Microsoft, Amazon, Google, smaller startups, or open source communities, its the *inexperienced* developers who tend to have these more rigid, idealistic views on design decisions. I have the utmost respect for the experience the Mozilla community brings to the challenges of designing one browser for so many different kinds of people, but my impressions from the Summit (and from some prior work I did analyzing design rationale in Mozilla bug reports) is that there are many individuals in the community who lack this experience.

      I think your point about the awareness that users care little for power and configurability is quite insightful too. I can see how this awareness led Firefox to be one of the most usable browsers on the market. My point really wasn’t that Mozilla doesn’t value simplicity, it was that openness and simplicity sometimes trade off with one another in unavoidable ways. We still have a lot to understand about the nature of these tradeoffs, so thanks for helping me to understand it further!

  8. Seems like respondents have identified you and your “foreign” values as “not like them.”

    Open-source, but not necessarily open minded.

    Lack of emotional intelligence and lack of a desire to relate to others creates a sausage party.

    BTW, you made front page in reddit. Wonder what responses you’ll get now.

  9. Elite? If Mozillans were so smart they could devise a browser that didn’t eat 2 GB of my RAM and peg out a single CPU leavig the other 3 idle.

  10. I’m sympathetic to the main point of this blog post, but the “openness might in fact oppose other values” comment was not well considered, and commenters here are (rightly) jumping on it. So let’s unpack it a little.

    The problem isn’t “openness” per se. But people who value openness in software also tend to share a number of other traits, and simplicity is not valued as highly in that group as it is in the wider world.

    The (oversimplified) story that relates openness and (lack of) simplicity goes something more-or-less like this: closed software systems restrict what you can do. And people who don’t want or need to change the way their software works don’t perceive this to be much of a drawback–they don’t value, or even clearly understand, what they lose in that situation. But for people who do want to change and expand their software systems, and make them do new and interesting things, closed systems are painfully frustrating.

    So software developers with a certain kind of creative and engaged attitude value openness very highly. But given their deep understanding of software systems, they have less of a need for simple, discoverable software interfaces. So “simplicity” is less highly valued in that group.

    But, taken outside of that specific cultural context, openness and simplicity are orthogonal. And Prof. Ko does his cause a disservice when he sets up openness and simplicity in opposition to one another–we can have them both at the same time. And having both of those things together is the goal that he should be promoting with mozilla, because trying to get mozilians to compromise on openness is a losing proposition.

    Also, suggesting that people who value openness are any less human (or that they value humanity any less) is going to piss them off even more. Openness is fundamentally about universal empowerment, which makes it a very human value.

    • Fantastic reply! I think you did a nice job dissecting one potential opposition between openness and simplicity. Like you said, there’s much more to it, but this is one example where the two are opposed.

      And don’t get me wrong: I want a world where openness and simplicity can thrive together too! I no way would I want the Mozilla community to sacrifice openness for simplicity. Openness is what makes the community unique and powerful. I just don’t think it’s always possible to have both.

      Of course, this depends on what you mean by open. The type of openness you refer to is akin to a freedom to configure. In some cases, you can get both; for example, you might attain simplicity by choosing defaults very cautiously and deliberately, with the expectation that most people never even find the configuration mechanism. However, even with this, by exposing configurability, we increase the likelihood that configurations get corrupted or accidentally changed, which harms simplicity. My instinct tells me that they trade off with each other, but obviously there’s more thinking to do about this.

      I’m not sure where I said that people who value openness were less human (or that they value humanity less). My only claim was that openness might trade off with humanity. And there are lots of ways that they trade off with one another. If you define openness as configurability (as above) and humanity as a secrecy and greed, you clearly can’t have both at the same time! šŸ™‚

  11. Pingback: FearAndLoath.Us » Development Culture

  12. Hmm, I was at the Mozilla Summit myself, and I’m a developer, and I don’t quite know what you’re talking about. I’m not saying you’re wrong, but my impressions were very different from yours. Perhaps it comes down to the different people we talked to, the topics that were discussed, etc.? But I guess even that would prove that the culture there isn’t homogeneous.

    The only thing that you mention that sound right to me are the belief in openness. Not surprising, that’s Mozilla’s mission – open source, the open web, etc. So I would have been surprised to meet someone that *didn’t* believe in openness there.

    • I’m not surprised we had different impressions; we’re different people! By sharing my perspective, I get to hear all of the other conflicting perspectives and reach an understanding of the community that reaches beyond the limits of my own viewpoints. So I’m dying to hear, how did your impressions differ?

      And as aside, I’m not sure this is about whether my post is right or wrong. I’m not even sure what it would mean for my a perspective to *be* right. My perspective might be shared, it might be coherent, it might be inconsistent, but I don’t think it can be right or wrong. For that, there would have to be some ground truth.

  13. Ed, thank you for your response. Certainly an organization must choose priorities and accept trade offs, but if that means openness can oppose simplicity, humanity and beauty then it also means any value can oppose any other value. Giving something more humanity could make it more complex, for instance. A single value can even oppose itself since an improvement in one part of a system could create problems elsewhere. This kind of reasoning seems to render the original statement meaningless.

  14. Jeff,

    I agree that powerful institutions often create complex, isolating, and ugly software. However, I think that Apple shows that you don’t really need openness to create simple and beautiful software, although it is still isolating. Openness and humanity could easily be interpreted many different ways. If openness means a focus on open standards, I can see how that would mean developers might choose a complicated standard over something simpler that only worked in their software. Even though their solution might be open sourced or even be promoted as an alternative to the complicated standard for others to use, a focus on openness might discount that approach as a case of having a not-invented-here attitude. I don’t think openness is necessarily opposed to simplicity or beauty, but prioritizing it can cause other beneficial goals to suffer. Open source definitely improves the likelihood that a good technical project can have its usability problems worked out, but the organization that originally produced the software may never be the one to make these improvements because they don’t value them. For the user, that might not be a problem, but for the organization, it is something to be very concerned about.

  15. It’s a very solid post.

    However, while you cite a cultural issue, is it possible that your own cultural view is skewed?

    ” I saw little room in most stances for the possibility that users might not value the freedom espoused by Mozilla, and that the very espousing of openness might in fact oppose other values, such as simplicity, humanity, and beauty.”

    Note that what you perceive as being ‘simple’, ‘humane’, and ‘beautiful’ is also culturally moored? Is ‘simple’ some Platonic truth or something that is more likely intertwined with culture, history, age demographics, and like matters?

    Even notions of quality are apparently different across cultures. See, for example.

    The bottom line is that we are dealing with a diversity of cultures here and that, in the great march of openness and wider scopes, we need to take some time to learn about each other and more clearly locate our design goals _relative_ to the cultures at hand.

    • I completely agree. And you’re right, my own cultural biases are entirely at play in this post. I didn’t mean to suggest that simplicity and beauty are somehow universally adopted values, but that there are a plurality of values that one can support in any design. In fact, one of the great things about the Mozilla community is that it’s so clear about the values it espouses. Most other software development communities are much less transparent about their motives.

  16. I don’t mean to be contentious, but it’s difficult to interpret this article as anything other than veiled condescension. Mozilla culture may be too homogeneous and have other problems but your depiction of it feels like an unkind caricature. Are you certain you’re describing the perspective of these people in a fair and accurate way?

    Also, like the Mozilla developers, I’m puzzled by your claim that espousing openness might oppose simplicity, humanity, and beauty. How is that possible? Without openness we get what the most powerful institutions want for us. If history is any guide that will be complex, isolating and ugly.

    • I’m glad you’re being contentious! One reasons I share these thoughts with the world is learn about the flaws in my arguments and beliefs. I apologize if I came off as condescending; that’s not what I intended. I’ve spent time in a lot of very different developer communities and the Mozilla one seemed unique in many respects.

      As for openness opposing simplicity, humanity, beauty, etc. all I have is anecdote. For example, one of the greatest strengths of openness is diversity of opinion, but this can also lead to design decisions that satisfy only a lowest common denominator, and also decisions that take considerable time to reach. Openness may get us many wonderful things, but it isn’t a perfect principle. It has tradeoffs.

    • Iā€™m puzzled by your claim that espousing openness might oppose simplicity, humanity, and beauty. How is that possible? Without openness we get what the most powerful institutions want for us. If history is any guide that will be complex, isolating and ugly.

      “How is that possible?” is one question; “does it happen?” is another. It’s very very typical of ideologue geeks to ask “how is that possible?” before asking “does it happen?”, and to skip the whole “does it happen?” discussion if they can argue against it being possible in the first place.

      What I’m saying here is you’re asking the wrong question. It’s a very presumptuous question, and it’s a very silly question, because any honest inquiry should always start with “does it happen?”, and the answer to that question is yes.

      The iPad is neither ugly nor open. Espousing openness can oppose the simplicity and beauty of the iPad. As for how it’s possible, I have no idea, but I doubt there’s a single person reading this blog who isn’t aware exactly how it happens.

  17. The culture of confident aggressive assertion isn’t restricted to the software world. In our culture, it’s the style of “mental health” and the stance that succeeds in business.

  18. Pingback: Dude, you’re a 35 year old with a neck beard « all wrongs reserved

  19. Thanks Steven, these are great points. One of my favorite examples of developers who build software for other people are small (and tiny) software companies. These teams’ blogs and forums are fascinating places for user/developer dialogs (even if they’re biased towards potentially unrepresentative vocal minorities).

  20. This is a great description of a specific developer culture Andy.

    I believe that there exist other developer cultures in which values such as simplicity and beauty are more likely to be shared and respected. In these cultures, the vision shared by the developers is very different to the vision shared by the Mozilla developers.

    As to whether or not developers will be forced to empathise with other viewpoints, I think this is the case today when developers build products that are used by people with different values.

    You make a great point that the Mozilla developers believe they are building Firefox for themselves. So they don’t feel the need to empathise with different points of view. But many developers build software for other people and they need to be able to understand the point of view of their customers. They don’t need to necessarily embrace that point of view and adopt it as their own, but they need to understand it.

Leave a Reply

Your email address will not be published. Required fields are marked *