What incentive does a commercial organization have to build an open-source software? Why will a programmer spend time and effort in contributing to any open-source product?
These are some questions that we tend to avoid. We are an open-source web development company. Each day of our company is spent working with PHP/MySQL/Apache and Linux. These are all very powerful open-source products. We generate revenue by creating application based on these platform or co-opting them in commercial projects or by customizing an open-source product to individual business needs. But, what is the economic benefit for the programmers who created these applications or extend them continuously?
I recently came across an article from Harvard Business School – Working Knowledge that answered some on these questions.
Benefit to a Programmer
A programmer will volunteer for a project only when they see a “net benefit” in doing so. “Net benefit” consists both of monetary benefits (immediate benefits) and non-monetary benefits (or delayed benefits). Monetary benefits are easy to visualize if the programmer is working on a commercial project. It will normally include things like Salary and Bonuses.
Non-monetary benefits the author says, consists of improved chances of receiving future job offers, shares in commercial open-source, access to venture capital and ego gratification (my personal favorite). The group of programmers working on an open-source also share very strong alumni relationship with each other and will be available to help in future.
In a commercially created program, outsiders can’t really tell who did what. Open source is different. As Lerner and Tirole write, “Outsiders are able to see not only what the contribution of each individual was and whether that component ‘worked,’ but also whether the task was hard, if the problem was addressed in a clever way, whether the code can be useful for other programming tasks in the future,” and so on.
Thus, a programmer can prove that he is competent and his career prospect greatly increases. The commercial world will offer an opportunity only when capability and credential have already been established, whereas the open-source world offers an opportunity to establish that credibility in the first place. The full working paper can be accessed from here.
It seems that all that notion of altruistic programmer is not entirely true and it simply may be a gateway to enter into the commercial world.