How to be effective at open source: by programmers, for programmers

Though it does not get much press, one of the great social and technological innovations of the last 30 years has been open source software. To about 90% of the population, this remains a mystery. Are the people producing open source code communists?

The truth, of course, is that open source software is just another example of the invisible college. Whenever some occupation requires advanced knowledge, its practitioners tend to network and freely exchange. This is often done under the radar.

This is not to say that people won’t withhold information or be fiercely competitive. But rather that, on the whole, people will tend to share freely with their guild. It is not altruism: this collaboration is key to long-term success as individuals. In science, we have formalized this process: to exist as a scientist is to share your results regularly in the form of papers.

Well before there was anything known as open source, programmers would share with other programmers. At some point, the likes of Bill Gates asserted their copyright over code which prevented the free exchange of code… but not the free exchange of ideas: if you can get a Microsoft engineer in a bar, and you are an established programmer, he will typically share internal ideas with you. In fact, as long as it cannot be traced to them by their employer, most programmers will freely share with other programmers, even if they are from competing companies. In this sense, open source code is just the visible part of the invisible college of programmers.

Recently, many successful businesses are just based on a collection of open source tools put together quickly. And it is exactly why I started this post by saying that open source is a great innovation. In effect, no other community of practitioners has established such a rich invisible college. This makes programmers some of the most effective employees from a cost-value ratio point of view.

Hence, despite a sluggish recovery, software engineers enjoy a 2% unemployment rate and some of the best salaries an engineer can get. And I suspect that open source code and the free exchange of ideas among programmers has a lot to do with these good results.

Of course, programmers who are not participating in this invisible college risk being left in the dust. If you work in isolation, never sharing… you will have a harder time leveraging the strength of the community.

Further reading: Alexia Gaudeul, Open Source Licensing in Mixed Markets, or Why Open Source Software Does Not Succeed, 2008. Eric S. Raymond, The Social Context of Open-Source Software (chapter from the Cathedral and the Bazaar).

Published by

Daniel Lemire

A computer science professor at the University of Quebec (TELUQ).

9 thoughts on “How to be effective at open source: by programmers, for programmers”

  1. That’s an interesting comparison I haven’t seen before.

    But the original Invisible College in Europe was motivated by the Scientific Revolution and a quasi-Enlightenment spirit as part of a shared endeavor towards understanding the universe and improving human affairs.
    What motivates programmers beyond quotidian problem-solving?

  2. @gwern

    I suspect you will find many of the same motivations with open source programmers. It is a shared endeavour towards making the world smarter, better. It is also a way to achieve a higher status for yourself.

  3. IMHO the real innovation in open source (the modern variant, with Linux, gcc etc) was to get the private sector to fund it and make it viable. The vast majority of fulltime Linux kernel hackers are employed by large companies like IBM, Intel, Google and Redhat. I doubt major projects like the Linux kernel would see the momentum they have without private corporate involvement.

    That’s the conundrum. These private companies are funding the development of a common good. They make the calculation that they come out ahead anyway.

    If you look way back, I think this can all be traced back to IBM in the 1990s. Big Blue was shit-scared that Redmond would eat everything under sun. It was fighting for survival. Anything that was anti-Microsoft was pro-IBM. In that world, things like Linux and Java were godsends for IBM. And indeed, IBM put its entire weight behind Java and Linux, and was crucial to the development and adoption of both in the mainstream.

  4. I would like to point out a minor thing: what you are refering to is more ‘free’ software than ‘open source’. E.g. microsoft lets you look into parts of their code but you must not use it …

    The FSF makes the differences more clear: http://www.gnu.org/philosophy/free-software-for-freedom.html

    I also like your phrase ‘open source code communists’ … in the US communists are often seen as opponents (not without a reason of course;)). But one could also point out the ‘community’ part of ‘communism’ which is very important to a successful open source project.

  5. @Peter

    I specifically mean “open source” which includes free software as a subset.

    I would say that if you get a Microsoft programmer in a bar and he gives you the source code for his latest algorithm on a USB key… that counts…

  6. Interesting term indeed “invisable college”: Do you think open/free software is an inherent by-product of practice of programming/development culture and community?

    Concerning “open source communists”; it is absurd; while U.S. government released so many scientific/infrastructure related source codes developed by federal funds. I don’t think free software is anything to do with political ideals rather as Peter pointed out is about being a community; whether community of individuals or community of big cooperations.

  7. Open source code will always be put at a disadvantage by the big for profit corporations. Programmers need to band together in a tighter community against this trend

Leave a Reply

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

You may subscribe to this blog by email.