The open-source concept is based on the principle that, although a copyright owner may charge for the use of open-source software, the usual copyright restrictions do not apply regarding access to source code or any modification or onward licensing of that software. The GNU General Public Licence (“GPL”) is the most widely used open-source software licence.
The main benefit of open-source software is that developments (e.g. upgrades or security patches etc.) can be undertaken by third parties not employed or remunerated by the original developer. As a result, development costs are significantly less and the software can grow as users develop add-ons and modifications. Instead of relying on the standard (and often restrictive) means of revenue generation through proprietary licensing, open-source software allows revenue generation through support, maintenance, advertising and commercial plug-ins. It has its own risks and rewards and is a viable alternative to the traditional proprietary software approach.
Background to GPL
The GPL was developed by the Free Software Foundation with the aim of promoting computer users’ rights to use, study, modify and redistribute computer programs. It is the most widely used open-source software licence in the world with approximately three quarters of all open-source software packages distributed under this licence. GPL version 1 was released in 1989 and GPL version 2 in 1991. The latest version 3 (“GPLv3”) of the licence was recently released following a two-year public review.
There are a number of essential provisions of the GPL that are consistent throughout all versions of the GPL. It is a fundamental principle of open-source software licences that the source-code is made available with the program or is otherwise made available for download by the user. Any redistribution of the open-source software must be licensed under the terms of the GPL and must include, or unconditionally offer at the moment of distribution, the source code. This “copyleft” approach relies on protection of any GPL work under copyright law, which prevents a licensee from modifying or redistributing a protected work other than in accordance with the terms of the GPL.
GPLv3 was published on 29 June 2007 and has been described as a “necessary update to deal with the new threats to free software that have emerged since version 2 of the GPL”. The main reasons behind the revisions were to deal with processes and technologies that were being used to undermine the values associated with the GPL licensing regime. However the impetus for change was as a result of changes in law.
Tivoisation and treacherous computing schemes
The term “tivoisation” is used to describe programs that incorporate open-source software under the terms of an open-source software licence (e.g. GPL), but use hardware to prevent users from running modified versions of the open-source software. The software contained on the popular TiVo digital video recorder incorporates both the Linux software and GNU software under version 2 of the GPL. Instead of allowing users to be able to use any modified software on the TiVo digital recorders, there was an allegation that TiVo digital recorders would only work where the programmes matched the digital signatures issued by TiVo. The consequence was that although the GPL requirement that the source code was satisfied, any modification of the open-source software would not work.
An analogous development was the use of closed-source modified versions of GPL software which could enables web sites to refuse to talk to modified software, known as ‘Treacherous Computing’ schemes.
GPLv3 prohibits the use of tivoisation and other treacherous computing schemes which are both used to impose digital rights management software within GPLv3-licensed programs, thereby preventing modification of these programs. This prohibition is achieved by requiring any distributor of a GPLv3-licensed work in or with consumer products (e.g. personal or household devices) to deliver: (i) the source code for such work, and (ii) the necessary methods, procedures, authorisation keys or other information required to allow the user to install and execute modified versions of the GPLv3-licensed work in that consumer product from a modified version of its corresponding source code.
GPLv3 also seeks to address the changes in the law leading to the increased use of software patents. There is now a ban on distributing GPLv3-licensed software if the licensee has an agreement with a third party distributor of software under the terms of which the licensee agrees to pay royalties to such third party distributor, in return for the grant by such third party of a ‘discriminatory’ patent licence to the licensee’s customers. A patent licence is ‘discriminatory’ if it either does not include within the scope of its coverage, prohibits the exercise of, or requires the non-exercise of, one or more of the rights granted under the GPLv3. The aim of this is to prevent deals being made between patent holders and distributors, such as the arrangements in place between Novell and Microsoft.
GPLv3 also includes a provision explicitly releasing licensees from liability for infringement of patents belonging to distributors or creators of GPLv3-licensed programs. GPLv3 provides that a creator of a GPLv3-licensed work who authorises use under the GPLv3 automatically grants the user a patent licence under any patent claims owned or controlled by the creator to use, sell, modify and distribute such GPLv3-licensed work. Similarly, a distributor of a GPLv3-licensed program who knowingly relies on a patent licence in distributing such a program, in circumstances where the corresponding source code of the program is not thereby freely available under the terms of GPLv3, must either (i) cause the source code to be available, (ii) arrange to deprive himself of the benefit of the patent licence, or (iii) arrange to extend the patent licence to downstream recipients in accordance with the terms of the GPLv3. Finally, if a vendor distributes a GPLv3-licensed work and grants a patent licence to recipients authorising them to use a specific copy of the GPLv3-licensed work, then such patent licence is automatically extended to all recipients of the GPLv3-licensed work and any works based on it.
GPLv3 also addresses the incompatibility issues between a number of open-source licences. GPLv3 provides that if a licensee wishes to combine code licensed under another open-source licence, including previous versions of the GPL, with GPLv3-licensed code, the licensee must licence the entire work, as a whole, under the GPLv3 licence. Users of software licensed under previous versions of the GPL are not however obliged to upgrade under the new GPLv3.