John Newton's thoughts, ideas and opinions on content management, enterprise software and open source.

2009.07.29

Professional Open Source Software

I am constantly asked about why we put our software out as open source. Is it some sort of altruism? Communism? People who have worked with proprietary platforms may not be familiar with open source and its implications or the advantages or disadvantages for the products they are using or for the users’ organizations.

Much of the early development of what is now known as open source started with the GNU project by Richard Stallman in the early 1980s to create development tools that emulated Unix, but did not require a license from AT&T or any payment to anyone for that matter. Stallman labeled this “Free Software” and felt that the freedom to use this software was paramount. This early development culminated in the mid-1990s in the creation of a completely open and free Unix-based operating system called Linux by Linus Torvalds under the same license terms as GNU. Torvalds designed Linux to be open and to allow other hackers to contribute to it.

In 1999 at the inspiration of Eric Raymond and his book “The Cathedral and the Bazaar” and through the organization of Tim O’Reilly, the community of developers and hackers who had created this free and open software decided to call the movement “Open Source”. Raymond’s and others’ reasoned that “Open Source” would be clearer to the potential users of the software and less threatening to businesses. This change was also timed to coincide with the release of the Netscape browser and the creation of the Mozilla Foundation.

Not long after this, open source got a huge boost when IBM changed strategy of building proprietary Unix systems and decided to adopt open source and Linux as a means of competing against Sun and others in the development tools market. IBM started actively contributing to the Apache project, a collection of open source tools and the most wide used web server. By contributing to Apache, IBM did not have to reinvent tools for integrating with various web technologies and actually benefited from the development as others, just as others had benefited from the IBM’s contributions. Before long, other large vendors started actively contributing to open source.

This also set the stage for start-ups in the early part of the 2000s to create businesses based upon open source and to employ a professional open source business model. MySQL was a database system originally developed in the early 1990s and had used the GNU GPL license to distribute their software. When Martin Mickos became CEO in the 2001, he helped develop the dual license business model of distributing a GPL-version of the software and selling ordinary software licenses to those who wanted support or wanted to distribute their software without the GPL license. Shortly after this, Marc Fleury took his JBoss application server and licensed it under the more liberal LGPL or Lesser/Library GPL license. JBoss raised venture capital and started to acquire other Java-based projects. Both companies thrived in a down economy proving the value of distribution via the open source model and developing business through selling support and services.

Open source became a change or really a revolution in business model and means of production rather than anything technological. It is underpinned by three main principles:

Share and share alike of intellectual property will grow that intellectual property faster

We should all reuse other people's intellectual property and stop wasting time re-inventing the wheel

This change in business model led to a flurry of start-ups to use open source as their preferred distribution model, including Alfresco in 2005. The advantages of this approach became clear with the success of Linux, MySQL, JBoss and others. These include:

Broad distribution of product through internet download

The ability of users to try the product before buying, eliminating much of the sales and demand generation activities of ordinary enterprise software

Much broader testing and code review of products in the beta and product phase of development

Word of mouth marketing and open source meet-ups reducing the cost of marketing

Lower cost of development through use of other open source components and contributions from the many extensions that users create

Bug fixes from users end up fixing problems themselves

The benefits to the user and business community also became clear:

Users were not locked into a proprietary platform and they were free to use the open source version of the product

The vendors providing these products were the support source upon which they could rely if they needed fixes, advice, warranty or indemnity

The open source vendors were held more accountable than the proprietary vendors since there was always the possibility to switch back to the free version

Users could see the source code and either make the minor changes they wanted without waiting for the next release or even change wholesale parts of the product

Because of the lower cost economics and economies of scale of open source distribution, the lower cost of product was passed on to the consumers of services

The transparency of open source means that there is greater visibility of changes coming and what bugs already exist

Through the community and transparency aspects of open source, the users played a more intimate role in the development of the products with a greater influence on product direction

There are lots of open source programs and projects out there and many of them are terrible. However, open source works well when software is a commodity and you cannot tell one piece of software from another - e.g. word processors, web browsers, operating systems. When software is a commodity, you are paying only for a brand where the company is getting money for no changes in the software. Professional open source works well when enterprise software is commoditized. Alfresco was created because of the increasing difficulty in differentiating one enterprise content management system from another.

Open source development is painted as chaotic and unreliable by proprietary, but in reality it is generally just as controlled as any other project. There are project leads that make decisions and no more than a handful of people developing it. Sometimes these developers can come from more than one company. This is made easier because there are no secrets or intellectual property to hide. However, the project leads have the final decision on what goes in or out. There can, however, be many times more testing involved than ordinary software. In most successful open source projects, you can have hundreds of people downloading the software and testing it out and sometimes even providing fixes because they could see and fix the source code.

In order to make this process work, somebody must pay for it. Usually an open source company is in markets directly adjacent to the software, such as system integration. By supporting Linux, IBM makes its money by selling hardware that runs Linux and selling consulting services to build solutions for customers. IBM has a huge patent portfolio, but they make twice as much money selling hardware and services around open source than they make from licenses from their patents.

More recently, projects that had been purely community-driven are seeing the opportunity to create a professional open source company that is closely associated with the project. A couple of years ago, Dries Buytaert got funding for Acquia to create professional services around Drupal, the open source web content management project that he started in 2001. Recently, some of the core committers of the Lucene and Solr projects have created Lucid Imagination to provide support and enterprise features on top of those two open source projects. The demand was there in much the same way that previous professional
open source project have seen for support, bug fixes and features. They also have fit into categories that are consolidating and commoditizing.

Alfresco Software makes money by selling technical support on the Alfresco system. Not everyone wants or needs support, but it isn’t necessary for everyone to want it. With over a million downloads, a small percentage of users who need support in a product environment, especially in the Global 2000, are sufficient to support the community, the project and the company. By participating in the $4 billion enterprise content management market, Alfresco has sufficient scale to continue growing and service the open source community and product.

John, Excellent article. Interestingly, even after 20+yr history and transparent track-record of OSS, the skepticism remains. IMO a lot of it stems from ignorance and/or confusion in the enterprise market. Some of it deliberately created and fueled by clever dis-information or FUD campaigns by the monarchs of the industry. I view it as a tidal wave...ride it or be wiped out. BTW, thanks for sticking up for Lucid Imagination, the newest kid on the block.