Open-source software is an amazing accomplishment. It is proof of what can be achieved through collaboration and sharing, without any monetary incentive. Open-source projects such as Linux (the most widespread operating system for web servers and a viable competitor to Windows, the flagship of commercial software), and MySQL (one of the most popular database engines in use today) are incredibly useful and solve a major problem – while being distributed completely free with the source available for whoever wishes to see it.
Here at Binpress we use both of those products – in addition to several other amazing open-source products – PHP, nginx, the Zend Framework, jQuery and the list goes on. We *get* open-source, and have contributed in the past to several projects.
And yet, we promote the distribution of commercial source-code in addition to free, open source-code on our service.
We get the following comment a lot -
Your project looks cool … the only thing I have a problem with is the fact that you sell the code instead of open-sourcing it
Is there a contradiction here? are open-source and commercial software at odds with each other? we firmly believe that it’s quite the opposite. In fact, I’m here to tell you that open-source and commercial software complement each other and cannot exist without one another.
Software is a huge business
Somewhat of an understatement, but it bears repeating – software is a monster business. Some of the biggest companies in the world right now are software businesses. It is the one of the most rapidly growing markets of the last 20 years.
Could such a market be sustained if all software products were distributed as free and open-source? the answer in my opinion, is an emphatic NO (though I’m sure some would argue). The reason some developers have the luxury of contributing to open-source projects is that they make sufficient income from the commercial aspects of software. Even if they are hired full time to work on an open-source project (as Mozilla does), those funds come by other means that are the result of commercial software being used (in Mozilla’s case, most of the money comes from a traffic partnership with Google – you won’t see the adsense platform that generates those funds, or the search engine that powers it, being open-sourced any time soon).
Open-source and commercial software have a symbiotic relationship in which both profit from the existence of the other. The availability of open-source allows many projects to get off the ground running at low costs and provides solutions to budget limited individuals and companies, often offering superior products. On the other hand, commercial software makes software development into a viable business and in a way that voluntary, spare time work cannot. Revenue generated from commercial software in turn allows many software companies to sponsor open-source projects. It’s a mutually beneficial cycle that helps both grow at a tremendous rate.
Those two paradigms can also co-exist in the same product via dual-licensing. MySQL and Magento, for example, are two hugely popular open-source products that also offer a paid commercial license that includes additional features, support and other benefits. Those products truly embody the symbiotic relationship between open and commercial software.
This fusion of commercial and open-source aspects in the same product is often referred to as Commercial Open-Source. We previously wrote on possible ways to monetize open-source software, and wikipedia lists several ways as well. At the gist of it – to make a business out of software, there must be a commercial element that allows you to monetize it. There are some creative variations on it, like Mozilla’s use of search-engine directed traffic, but those are rare and usually available only to the most prolific of projects.
Our goal, when we created Binpress, was to increase the availability of source-code, and reduce the amount of duplicate code being written everywhere. You better believe multiple developers are writing the same code as you are reading this article. So why not open-source this code?
The problem is most developers are not motivated enough by the altruistic goals of pure open-source. Working on an open-source project usually requires a steady, unrelated income, enough free time and a passion for a particular project. Those requirements are not met often. How could we motivate developers and convince them they *can* make a living by publishing their source-code?
We feel there is a huge gap between proprietary software and open-source, waiting to be filled out. Development projects could greatly benefit from the availability of source-code solutions to any of their non-core problems and features. We know those solutions already exist out there and could save countless development hours and significantly reduce development costs. And thus we set out to provide a way to bridge this gap by evangelizing commercial open-source and creating a platform for distributing it.
An evolution, not a conflict
Commercial open-source is an evolution of an ideal model that doesn’t always apply. It complements commercial proprietary software and open-source software by creating more options and opportunities for developers and for development projects and software ventures.
There is a natural resistance to pay for something you are used to get for free, but requiring payment for value is perfectly fine. Open-source is a beautiful thing when it occurs organically and succeeds, but you cannot expect or demand that commercially available source-code become available for free. What could have been the fate of the thousands upon thousands of abandoned open-source projects that might have kept going if their developers could sustain themselves from maintaining it?
If you are a professional developer, then you probably have significant amount of useful code tucked away in the insides of past projects. Code that could be useful to others, but you just lack the motivation and time to polish it up to the point it could be released as an open-source project, instead of working on paying jobs. I hope that reading this article might convince you that publishing it as a commercial open-source product is worth your while.
Not everything should be free (in price), and that’s a good thing. Commercial open-source is another building block in the strong software economy, and one that is bound to contribute both to commercial proprietary software and open-source projects.
Interested in becoming a part of the evolution? join Binpress and publish your source-code today!