Google Talk Review: Benefits from Open Sourcing Code

Ben Collins-Sussman and Brian “Fitz” Fitzpatrick talk in this Google Talk about the business reasons behind open sourcing code, as well as how to successfully build a community around the code. In this entry I collected their arguments.

Reasons for going Open Source

  • Better product
  • real relationship with users
  • PR
  • goodwill from techies
  • gratis contributions
  • disrupt market (especially if product is good)

Community Health

Without a community, a project is only dead text. Important indicators for the health of a project are the usage, but not the number of one-time evaluation downloads, the number of active developers, and a constant flow of improvements and releases.

How to make it right

First Ben and Fitz’ talk about the different models how corporate Open Source projects are initiated. The biggest problem they identify: control. Without relinquishing control to the community, there is no common trust base built. But this trust base is the thing that attracts high quality contributors. Therefore they recommend to really create a separate organisation to govern the project. A example: Ben and Fitz worked for Collabnet, the primary sponsor and founder of the Subversion project. When Collabnet hires a new programmer to work on Subversion, he had to submit patches to the mailing list for review and “prove” himself to the community before receiving commit rights. Doing it any other way would alienate contributors from outside of the company, since they are under privileged now. Going the long way for employees too, sends a message that everyone can join the community and eventually receive commit rights. This creates a trusting environment.

Word of warning

While opening the development process brings strong long-term benefits, it has to be said too, that no short term improvements should be expected. Also, founders must pay attention that the goals of the company and the community are aligned and stay that way. This can be facilitated by writing an up-front mission statement which acts as a filter for all parties. When hiring new programmes to work in the project special care has to be taken, that they can integrate into the community and are able to work in the greater team.

Good Feedback == Improved Productivity

Using Fitz’ words: “If they’re running the wrong code, it doesn’t matter how much they are writing.” (19:30) The tight feedback loop and direct contact with users in open source projects focusses developers much more on the really needed features and really troublesome bugs.

“Build Your Community”

Under this heading, the two gave tips and tricks how to build a successful open source community. The most important factor seems to be the right choice of founding members and the establishment of a strong, respectful culture. A successful project needs goals to attract users and contributors. Typically the founders benefit from these goals only indirectly and in the long run. To help attract the right people, a published mission statement is important. The statement should clearly communicate the core ideas and focus the community members by defining a scope. Another important step is the preparation of the founding team (especially developers). Ben and Fitz recommend the Producing Open Source Software book from their former colleague Karl Fogel. Beside the obvious points, like communicating the structure and mechanisms of the new community, it is important to get the developers to realize that external feedback is intended to improve the product and is no personal attack. The neccessary public infrastructure is at least a mailing list, a repository and a bug tracker. Internal mailing lists are dangerous, because they undermine the community trust and prohibit communication of internal efforts to the public. For the public mailing lists, it’s important to start with only one list to focus communication and contributors. After the setup of the infrastructure, the last step is to publish the project and create interest in the various pertinent media to attract developers and users. As one of the very few shortcomings of this talk, they glossed over this topic only very superficially.

Conclusion

A interesting and funny talk about the genesis of open source projects in the commercial context. Packed full with tales and practical recommendations, Ben and Fitz navigate the listener through the challenges of such a founding.

dasZ.at

dasZ.at - the people behind ZBox.
dasZ.at Logo

Downloads

The lateset download will be available here - soon

Lastet blog

In our blog we talk about the latest developments around our tool ZBox.
>> Blog

Latest blog entries
>> Reference project: Implementing WordPress-based Website

Based on the reference design provided by Sabine herself, we implemented the zartbitter Website. The site is powered by the PHP-based WordPress blog and CMS engine, some additional plugins and a bit of yarn to hold it all together.


>> Setting a permanent search_path, the Right Way

Others recommend setting the search_path in the postgresql.conf. Current versions of PostgreSQL can set the search_path permanently on a per-database basis without having to touch system configuration files


>> Porting Puppet to Windows

In the course of the PuppetCamp Europe, I met with many people I only knew from IRC and email and it was a great time with interesting and inspiring discussions.

Today I want to write about the work I’m currently commisioned for by puppetlabs, porting puppet to Microsoft Windows.


>> Puppetcamp Europe 2010

I’m going to Puppetcamp Europe 2010!


>> Using gendarme with Code Contracts from .NET 4.0

When using gendarme on post-processed assemblies with code contracts and /throwonfailure set, a few things have to be ignored. Put the following lines into your ignore file (for example gendarmeignore.txt) and use it with –ignore on the command line.


>> Microsoft cannot decode Base64: News at 11!

Arthur has found a really nasty bug in Microsoft’s streaming Base64 decoder as used in the WCF: Connect Bug#541494


>> Kolab Connector binaries uploaded

Arthur moved on with programming and testing. Now we uploaded the first packages, which now contain the basic calendar and contacts synchronisation. The plugins already are able to synchronize our personal data.


>> Kolab Sync for Android and Outlook: Developer Preview

We are proud to announce the first developer preview for Kolab sync clients for both Android and Outlook. Both are licensed under the GPLv3.


>> Visual Studio 2008 Debugger

I didn’t know that: the VS2008 debugger has many bugs. Specifically, if you have a solution with multiple websites, debugging doesn’t work!

Symptom: Upon reaching a breakpoint, StepOver/Into do not work, but resume execution. This makes the debugger pretty pointless.


>> Building a simple MSBuild Task

On the “Using Studio’s “Custom Tool” in MSBuild” question, I was prompted to share the code. Here is a stripped down skeleton where I removed the actual calls to the custom tool. Since it is open source I didn’t really need to access the Visual Studio’s registry keys.