Open source is everywhere, but the term is often applied loosely. Free and open source software is attractive to hardware and software companies because it seems to be the cheap and efficient option and gives access to communities of users and developers who bring cost reductions and opportunities for high quality input from a variety of sources. Corporate involvement in open source software development works for developers as it pays their wages and, if properly managed, allows them the freedom to work on the code. But open source’s success is not without its drawbacks.
The definition of open source is continually being redrawn, sometimes meaning little more than ‘parts of the code are visible to some interested parties’. Open core licensing, for example, was popular among some start-ups and smaller open source companies; this is where some part of the core code is released under an open source licence but key parts of the code retain a proprietary licence, meaning that the open source segment of the code is incomplete and often unworkable. Open core, or something similar, is still common among smaller software companies, although seldom advertised as such. It’s often supplemented by dual licensing and copyright assignment regimes where the developers hand over the ownership of their code to a third party, usually the controlling company. The intention is often benign. The effects are less predictable.
Copyright assignment can be ethical and can unify a project under common ownership, or it can be misused to impose control and bypass the GPL, indemnify the code against patent infringement and then subvert the developers’ intent in contributing to an open source project. Copyright assignment and dual licensing have been an effective means in the past for distributing free products like Qt and MySQL. But the more the definitions of free and open source software are loosened by such concepts, the less effective it will be in spreading its ideals and in recruiting the developers and the users who are the reason for its success. Companies are not always ethical; after all, their primary objective is to maximise the shareholders’ investment return. Open source is only attractive if it extends profit opportunities. Companies collaborate when it pays, but are often ruthless and sometimes short-sighted when quantifying the returns from free software. But there are honourable exceptions to this role: Red Hat, for one, has tried to stay true to its principles. The company has been recognising that its success as an open source company lies in encouraging the developers’ initiative and freedom.
Red Hat ensures separation between the developer process and the final product by taking snapshots of the community project, testing and redefining the snapshot for release as a commercial product, and then adding and feeding back refinements rather than exercising control over the developer process.
Fedora is a ‘state of the art’ bleeding edge distribution and Red Hat makes substantial contributions to the kernel and other community driven projects. The company does not ‘own’ the code, but this does not impair its final product. Fostering the interests of a community may be counterintuitive to companies that grew up in an era when software development and production was predicated on a closed-source model with high internal development costs and fixed revenue streams. But loss of control of the process is part of the price to be paid for the much greater gains that come from being open source. From an understanding of both sides of this dilemma has come the advantage upon which Red Hat has built its commercial success. The problem for users and developers of free software is that, too often, this kind of dilemma translates into compromise. The GPL and the LGPL can be compromised by community agreements and copyright assignment clauses which pass ownership of the code to the holding company and also allow relicensing and consequent dereliction of the patent clause and the other protections of a copyleft license.
Free software and collaboration for mutual interest has pushed down development costs across the industry, a pattern that is repeating itself across several other industries. To this extent there has been an industry-wide acceptance of the inevitability of free and open source software. But if free and open source software is to remain free, compromise is not always desirable.