Category: Social

Mutual Benefit

Posted by on August 5, 2009

I have started objecting to the description of a contributor as a “volunteer”.

Volunteers are people who give their time/effort to an institution or group at some cost to them for little benefit in return. They usually do this as a labor of love, and therefor the argument can be made they receive some kind of emotional satisfaction from the exchange but it’s fundamentally categorized as a one way exchange where the volunteer is **giving** and the institution or group is **taking**.

Open source contributions are not market transactions. In a market there is a producer and a consumer, the transactions between them are to the benefit of either the producer or the consumer or both. Producer makes something, consumer evaluates the product and decides to give capital to the producer. Volunteer is a term used to describe an actor that is working for the benefit of the producer without reciprocal benefit to themselves to the extent that they benefit the producer.

Capital is the driving force in a market, it’s what enables the transactions. Workers are paid for contributions to product so that institutions can enable transactions where consumers are given a product in return for more capital. Capital is certainly a factor in open source, but it’s auxiliary. Capital may drive one side of the transaction, an actor paid to contribute to a product or consumption of a product used by the consumer to generate capital, but it does not drive each side of the transaction.

Contributors are not driven by a need to benefit a particular producer and are rarely driven by capital. In fact I can’t think of a way to describe open source contributions in terms of a market. In open source there is the **product**. The product exists almost as it’s own entity outside of the producers that created it or the consumers that use it. Because if it’s transparency and it’s ease of access and manipulation it cannot be viewed as a unit in a transaction within a market. Instead, all interactions need to be described in **relation to the product**. Contributors, institutions and individuals, that take part in production and those that take part in consumption take part in transactions with the **product**. This is an open source community, a group of actors taking part in transactions with a product.

The communities that thrive are the ones that remove barriers to these transactions and create tools that enable new transactions for more diverse contributions to the product. The transactions are not one-way, each transaction is two-way, benefiting both the product and the actor.

Rather than capital, mutual benefit seems to drive open source transactions. The product and the actor benefit from every transaction, with only a small portion of those transactions seeing capital as the benefit. The notion of a volunteer simply doesn’t exist in this model because there are rarely, if ever, transactions that only benefit a product at a cost to the actor. Actors **must** to be motivated and products are not “owned” in the traditional sense of ownership since their production is taken on by a community motivated by mutual benefit which tears down the relationship traditional market producers have with products.

Tools that are built to enable one sided transactions to a product usually fail because actors aren’t motivated by transactions that aren’t mutually beneficial.

A quick look at Firefox shows a very broad and diverse number of tools that enable mutually beneficial transactions. Although we often think about the new kinds of contributions that additions to Firefox itself will enable like [Personas](http://www.getpersonas.com/) or [Jetpack](https://jetpack.mozillalabs.com/) we also have a variety of tools that enable non-code contributions. Everything from that little button that reports a crash (benefits the product’s stability and improves your browser experience) to [SUMO](http://support.mozilla.com/en-US/kb/) (users seek resolution to support issues while providing the product with immeasurable usage feedback and bugs) are examples of tools that enable new transactions with the product that are mutually beneficial to the product and the actor.

One of my favorite things about working at Mozilla is being able to think about new kinds of contributions and how to enable them. There are few products with such a large and diverse ecosystem of users so the opportunities for new contribution is uniquely large so long as we create tools that are mutually beneficial.

Dead Font Walkin’

Posted by on July 20, 2009

I’m about to go on a tear so it’s worth saying that all of what I’m writing are my own opinions and in no way whatsoever reflect the opinions or policies of my employer.

Any new technology can have a side effect of making an entire industry irrelevant. Every time an industry is on the brink they try to plead for their own survival. Their tone and message is predictable, “you’ll miss our profession when it’s gone”. But of course, the profession never disappears only the institutions that used to enable it which are no longer relevant. These Institutions cannot survive in a new world so they scream to save their business model and claim that their profession is what is at risk.

I love journalism, and music, and I’m a total font geek but I just can’t stand newspapers, record labels, and these god forsaken font ["foundries"](http://blog.mozilla.com/rob-sayre/2009/07/19/broken-record/).

Let me get this straight. Your business model is to create fonts, **once**, and then license them on a per-use basis. I can’t be the first one to tell you **THAT ISN’T GONNA FUCKING WORK ANYMORE**.

@font-face has the side effect of invalidating your whole business model by driving demand for ubiquitous free and open fonts. I’m sorry. I wish it didn’t have to be this way. The world is cruel, and you’re fucked.

Print publications bought your fonts because they had fairly high production costs already and adding a little on top wasn’t going to break them. But this is the web, content is ubiquitous and free so the tools to create it have to be ubiquitous and free as well.

To steal a little from [Clay Shirky](http://www.shirky.com/), your industry is now going to suffer from mass-amatuerization. Font creation will not die with the foundries, there is going to be more font creation than there ever has been in human history, it’s just going to be open and free. The cost of producing a font is nearly zero. There is labor involved but the tools are ubiquitous and mostly free while distribution is a non-issue. Now that **anyone** can create a font and quality is determined solely by the creators talent, and we can actually **use** open fonts in the web content we create, it is safe to expect an explosion in the creation of fonts.

There is no technology that can save your business model because it pre-dates the web. The web changed the world you live in and you don’t get to change it back. If you don’t believe me you should have a chat with some former stock photographers.

GitHub is the winner

Posted by on July 20, 2009

I’m not lucky enough to get to choose one source control manager and use it exclusively. On a daily basis I use git, svn, and hg. Every week or so I also use bzr. Luckily, I no longer have to touch darcs.

I haven’t dug in to the internals of these tools enough to say which one has the superior technical merits although I will say that I’ve never seen a git conflict resolution interface even across unbelievably hairy merges.

I write a lot of small libraries and a couple big ones. I care far more about the social effects and contribution workflows a tool provides than any other features. There are different public web applications that try and provide infrastructure for the social effects of DCVS and after months of working with different approaches I have to say that GitHub is the winner by a mile.

At the end of the day there are two factors that make GitHub such a clear winner. The first is zero friction publishing. The second is the democratizing effect of scraping any notion of a “central” repository.

Nearly a year ago i hit the Google Code project limit and had to call in some favors to get the limit pushed up for my account. I have to push lots of small libraries so having a simple and seamless publishing of repositories has made my life much easier. The fact that I can just push my repository and worry about turning that repo on GitHub into a “project” later, instead of the other way around, means that I have no reason **not** to publish every little thing I do.

The second and more controversial feature of GitHub, and possibly of git itself, is that there is never a clear central repository. There is my repository, and your repository, and every other **person’s** repository. This throws off FLOSS projects that have always relied on a “committer” hierarchy to manage the influx of work in to a project. Nearly every book on community driven open source focuses on the creation of a class of contributors with special write permissions to the repository. There has been a huge discussion on how to translate that process to DCVS and some tools, in particular hg, make it fairly easy to simulate older workflows with a central repository.

After living with GitHub for a while and seeing the potential for new collaboration I think the answer to translating the “committer” model to DCVS is to **not translate it at all**. GitHub makes **everyone** a committer and that enables a new class of contribution that the old model totally excluded.

Since code can travel seamlessly through different developer’s repositories each change takes on a life of it’s own. People who made what they thought were small changes for their own personal use easily share them with other developers and those changes can move around repositories hopefully making it in to an official release. New contributors don’t have to worry about this giant wall of process behind getting a patch in, they simply write the patch and push it, send pull requests to other relevant contributors and module owners eventually getting those changes pushed up in to the repository that gets packaged and distributed.

Someone is always going to be responsible for releasing a product, someone owns the keys to the distribution mechanisms, so I find the notion that some amount of authority over the project’s direction is lost by not centralizing the repository to be exaggerated. Although there is some authority that is lost to the previously defined class of committers the democratization of write permissions encourages a bigger class of lost contribution that is excluded by the laborious process of patches in bugs and the required upstream process to get the work committed. This also means that a number of contributors can live with changesets for an extended period of time before they get packaged in a release which increases confidence in large changesets that many projects reject outright for fear of instability.

GitHub solves the social problems of open source collaboration by taking a much more anarchist approach to the contribution process and while this is certainly shaking the foundation of traditional contribution models I’m loving it :)

Duke Nukem OS

Posted by on July 15, 2009

We have a lot of great operating systems out there but they were all created before the web and high performance 3D gaming. To try and move technology forward I am announcing the Duke Nukem Operating System.

Duke Nukem OS is a lightweight high performance open source operating system. The first release, codename “Forever”, is due out in late 2010. A promotional comic book will accompany the release and to insure it is available by the delivery date I plan to hire [Kevin Smith](http://en.wikipedia.org/wiki/Kevin_Smith) and [Alex Ross](http://en.wikipedia.org/wiki/Alex_Ross) to write and illustrate it.

Although no screenshots, specifications, or source code will be available until release consider this a call to action for the open source community to get involved in the project.

This new operating system will be built on the Linux kernel but I will be throwing out the bloated window managers Linux is currently known for and building a next generating interface. I’ll be using XULRunner, the Mozilla runtime used to create Firefox, as the basis for this window manager but the tools to develop applications are exclusively web3.0 “semantic web” standards. [RDFa](http://www.w3.org/TR/xhtml-rdfa-primer/), a next generation semantic markup language known for it’s simplicity and rapid rate of adoption, will be the primary language for building in this next generation operating system.

More updates in the future.

Professionals or People

Posted by on April 29, 2009

The Rails community seems to be on the verge of imploding, not necessarily because of a [particular event](http://www.ultrasaurus.com/sarahblog/2009/04/gender-and-sex-at-gogaruco/) but because of the [response by Rails leadership](http://afreshcup.com/2009/04/28/a-painful-decision/) to the event and their lack of meaningful reflection on why this happened.

This event has been well commented on, so I won’t go in to all the details, but unsurprisingly the best comments I’ve read so far have come from women, in particular [Audrey Eschright](http://dyepot-teapot.com/2009/04/25/dear-fellow-rubyists/). It’s good to see meaningful discussion in that community but I think the proposed solution of increased “professionalism” is counterproductive and generating an even more hostile response from [Rails leadership](http://loudthinking.com/posts/39-im-an-r-rated-individual).

Professionalism doesn’t have a good history of promoting equality. After segregation “professional” was one of many code words for “white male” and even after many years when non-white males began entering the work force the idea of professionalism served to strip people of their culture and identity to better fit in to a white male dominated environment. For those of us in open source, and especially those who have left traditional corporations, we identify “professionalism” as the way corporations turn people in to plastic dolls in suites that can talk to other plastic dolls from other corporations at trade shows without getting “off message”. Luckily, we aren’t talking about a corporation here, we’re talking about a community and community isn’t about professionals it’s about people.

I think people see professionalism as a solution to this problem because it provides a way for us to change people’s conduct that we disagree with without actually changing people or how they think they should conduct themselves in a community. The real problem here is that some **people** think it’s just fine to engage in public conduct that knowingly excludes people and doesn’t help include or encourage any new participation.

When news of this little outburst broke I have to say I wasn’t surprised that it happened in the Rails community. All tech communities have a low number of female participants, this is something nobody is great at yet, but for some time now Rails has been the worst offender. In the early days Rails was promoted by DHH in what, at the time, sounded like a great strategy: Attack dominant technologies (Java) and piss people off that use them long enough to check out your stuff. This strategy generated huge buzz and lead to one of the fastest adoptions of a new technology I’ve ever seen and it’s worth noting that the technology was actually so good that people could go from being a pissed off Java developer to a Rails developer in a relatively short amount of time.

But the biggest problem with DHH’s strategy was that it was hostile and it intentionally excluded a large number of people who were invested in the old technology and couldn’t get over being pissed off at DHH. The first thing DHH will say is “well, we don’t want or care about those people”, and he’s right, Rails doesn’t need those people. But when you, as the leader of a project, are hostile and partake in action that **intentionally excludes people**, regardless of who those people are, it creates an environment where others see no need to alter their behavior not to exclude people.

I’m really disheartened by [DHH's "I'm an R rated individual" post](http://www.loudthinking.com/posts/39-im-an-r-rated-individual), because it’s not that he’s wrong, he’s actually right, he should be able to be an individual in the community he’s built, but if he doesn’t intentionally curb some of his behavior he’s going to encourage exaggerations of the worst parts of his personality by the example he sets. It’s great that DHH loves Louis C.K and his dick jokes, but that doesn’t mean he would intentionally start a keynote with them, he knows better, and that’s what makes the difference and that’s what is so wrong with Matt’s talk, he knew before he went up there that this would make a lot of people uncomfortable and discourage participation from women and he did it anyway.

In order to lead an inclusive community you have to encourage participation and allow everyone to be individuals. If you treat everyone with respect, no matter who they are and no matter what they do, others will conduct themselves the same way. It’s always easier to respond to hostility with hostility but all you’re doing is creating an environment where hostility is the norm and it’s alright to exclude people.

The kind of communities we want are not impossible, in fact we get closer and closer every day. I’m lucky enough to be at [#moz09](http://search.twitter.com/search?q=%23moz09) this week, and I’m looking around at over 200 people from different cultures from around the world none of which seem to be trying to hide who they are or where they came from for some notion of “professionalism” and everyone treats each other with respect and every day we gather more participation from a broader set of individuals. We aren’t perfect, we’re never where we want to be, but we should be confident we’re going in the right direction.

Can’t blame the user? Blame the user community!

Posted by on April 23, 2009

I’ve started stewing over [Garrett Murray](http://log.maniacalrage.net/)’s post on [negative user reviews for his Ego application](http://log.maniacalrage.net/post/98510137/a-little-over-a-week-and-a-half-ago-google) for iPhone that recently showed some breakage when Google Analytics changed up. What started to really upset me was one of his closing paragraphs.

This kind of thing continually reinforces something I’ve thought about a lot since the App store was released, which sounds horrible to say but it might be true: Apple is creating an ecosystem of the kind of customers I don’t want. With the ridiculous approval process leaving bugfixes to take over a week to show up, with prices being driven down to nothing by farting apps… it just feels hostile to me. While I have plenty of great customers who have been raving about the app, all it takes is one little issue and it all comes crashing down.

It’s no longer acceptable for consumer applications to “blame the user”. Sure, many people still do it, but if a blog post like this just blamed individual users for their complaints without this closing paragraph it wouldn’t be gaining so much steam and I probably never would have read about it. Instead Garrett blames the *community* of users, and by extension Apple for process that encourages this kind of community.

The first rule of community leadership in open source is simple; **”Don’t be an asshole.”**. While simple, sometimes it’s the hardest rule to follow. Many people in the community can be difficult, some of them downright hostile, but you can’t be hostile back and you can’t be an asshole. When you’re hostile or an asshole in your community you give license to the community to do the same. You cultivate the behavior that antagonized you in the first place. This is the rule when trying to lead contributors and I have to assume it’s the rule when trying to lead users and posts like this violate the rule by blaming users for their own expectations and then dismissing them altogether.

He tries to deflect attention to Apple since they are the gate keeper. Dismissing the bulk of your user community due to the gate keeper is logic that is so convenient you know it has to be flawed. The truth is **most** platforms have some kind of gate keeper, this is the world that we live in, but your complaints about your users have nothing to do with Apple.

iFart is 1 dollar but you’re giving it way too much credit if you think that’s why iPhone users have lower price expectations. You know what else is 1 dollar, Ocarina. Applications and games like Ocarina are larger triumphs of creativity than they are of engineering time. Not to say they are easy, or simple, but they are priced cheaply because the creators are confident in their product and because they didn’t spend a year developing it. This is where iPhone users have cultivated their expectations about interface, graceful failure, and low prices, because of your competitors not because of the gate keeper.

But even if all the user community’s expectations and demeanor is Apple’s fault, even if your users are cheap and vicious and given way too big a soap box, it’s still your fault.

As an example. Firefox get’s requests for features from Windows users to make certain things be “more like Windows”. If you look at the Firefox interface over 3 operating systems you’ll notice that the preferences menu item moves around based on which platform it’s on. The truth is, if you designed an interface from the ground up in some ideal world there would be one place that is best to put the preferences item, but that’s not the world we live in, we live in a world of expectations from user communities. The easiest thing to do is to say “we don’t need those users” or “those users are stupid and don’t understand proper design” but it’s not the **right** thing to do because it’s not what **they** want.

What your users are really saying with those complaints is that this failure frustrated them to the point of opening up iTunes and writing a complaint, not just that something broke. You could have failed more gracefully, you could have presented them with a button that opened a support web page with more detailed information and assurances that it was being resolved. Then after some time the bad reviews would get swallowed up by the positive ones you mentioned. But now you don’t have to do anything because you’ve convinced yourself that you did nothing wrong and it’s just a bunch of users you don’t want complaining about something they are too dumb to understand.

I hope some day Garrett finds his perfect user community with expectations that match his own. I’ll stick to working on products for everyone else, listen to their feedback seriously and try to improve them.

Education as an Institution

Posted by on March 11, 2009

We are now, at this very moment, witnessing the mass failure of traditional institutions. This isn’t unique in history, many societies and cultures have evolved to make the primary institutions of society irrelevant. This particular moment is probably only unique in the sheer number of institutions that seem to be failing all at once.

First the music industry, then newspapers, and now film and television all seem to be following the same pattern. They continue to produce the same quality and, in most cases, quantity of a familiar product which each in their own way help define and shape the majority of modern culture. But what was highly successful yesterday is today a failing business. This is not because of changes in their products but changes in the world around them. The social contract by which these institutions had flourished has changed, and only those able to change their institutions to fit the new social contract will continue to thrive in the new world.

One institution that seems to be relatively untouched in the new world is higher education. The free flow of information has changed so dramatically in such a short time it’s interesting that relatively small institutional changes have allowed higher education to maintain the same place and importance in society. Higher education is prohibitively expensive for the vast majority of citizens, and it’s mired with barriers to entry that make it unattainable for many. These are the same kinds of barriers that destroyed the music and newspaper businesses when they were forced to compete with much lower barriers to entry and relatively free alternatives.

Objectively, there is nothing you can learn in higher education that you cannot learn on your own given enough motivation and access to information with the exception of some advanced scientific fields that require access to incredibly expensive equipment. So what is it that continues to proliferate higher education over individual initiative?

We can argue that the quality and prestige of professional educators is what continues to help institutions thrive, but we would have to ignore the reality of the newspaper industry which is failing under competition not from a new professional class but from mass amateurization. I have tried for a long time to find something that institutions of higher education are doing that separates them from any other institution or class of professionals that would account for their relative success today and found nothing. This makes me re-examine the social contract under which they operate and question whether it has really changed as much as I thought.

In the last 20 years, as information has become more accessible and the possibility for self education has increased, most fields have actually **increased** their formal education requirements. This means that at the same time higher education has become more expensive and more barriers have been placed to acceptance, the relative **importance** of a certification that states nothing more than the holder has completed no less than 4 years in a formal institution of education and spent tens, sometimes hundreds, of thousands of dollars has increased. A college certification does not relate directly to the competency of the applicant in any way when compared to another applicant with related experience.

Higher education is aware of it’s relative inadequacy at vocational training compared to real world experience. The best schools all stress the importance of internships. The best computer science schools all **require** a certain amount of internship experience in order to complete their degree, mixing formal education along with real world experience. With this in mind, I don’t mean to say that a degree from a good school is not an indicator of competency, to do so I would have to ignore the high caliber of interns we enjoy at Mozilla. What I do mean to say is that formal education as a **requirement** of employment is to say that such a degree is of greater importance than comparative experience, which I have to disagree with.

Think about it this way; would you hire a candidate with a degree from a prestigious college over a candidate with experience in a prestigious open source project?

In open source we’re able to see the entirety of relevant experience if an applicant has previous experience in open source. We can see email conversations, IRC logs, and commits. We can evaluate an applicants communication skills as well as their practical programming experience. The rest of the computer industry has to hunt down references and go through very lengthy interviews in order to get a much smaller understanding of an applicant and it’s no surprise that they tend to rely much more often on formal education experience in selecting applicants. But looking towards the future, as more work becomes collaborative, more work becomes public, and the barriers to taking on previously professionalized tasks are removed, is it unreasonable to expect other fields to start to have the same advantages we have in open source?

If more people are able to learn whatever they want, make public their works, and improve over time through peer reviews in larger communities, employers will begin to rely more on relevant public work as an indicator of professional competency instead of formal degrees. In fact, it’s reasonable to expect higher education institutions to start to adapt to this **before** employers do, insuring that graduating students have a collection of impressive public works to make them look competitive compared to graduates of other competing schools. As this part of the social contract changes is it reasonable to expect higher education to being to suffer from the same challenges as the music, news, film and television industries?