The Apache License (v2) - An Overview

by Rowan Wilson on 10 November 2005 , last updated

Introduction

The Apache License is recognised by the Open Source Initiative as a popular and widely deployed licence with a strong community. All of The Apache Software Foundation’s projects, including the Apache HTTP Server project whose software powers more than half of the Internet’s web servers, use this licence. Consequently the licence is widely deployed even though it is used by only about two percent of the open source-licensed projects on the software repository Sourceforge. It is an interesting licence to compare with the Berkeley Software Distribution (BSD) licence, which it resembles in some ways. This document attempts to draw together the main features of the Apache License into a friendly and comprehensible digest, and in addition to note some details about its history and usage. The licence itself can be read at http://www.opensource.org/licenses/apache2.0.php.

History of the Apache License

Beginning in 1995, the Apache Group (later the Apache Software Foundation) released successive versions of their well-known httpd server. Their initial licence was essentially the same as the old BSD licence, with only the names of the organisations changed. When Berkeley accepted the argument put to it by the Free Software Foundation and retired their advertising clause from the BSD licence, Apache did likewise and created the Apache License v1.1 - a slight variation on the modified BSD licence. In 2004 Apache decided to depart from the BSD model a little more radically, and produced the Apache License v2.

Main Features of the Apache License v2

Like all licences the Apache License v2 grants certain rights under certain conditions. In brief a licensee of Apache Licensed V2 software can:

  • copy, modify and distribute the covered software in source and/or binary forms
  • exercise patent rights that would normally only extend to the licensor provided that:

  • all copies, modified or unmodified, are accompanied by a copy of the licence
  • all modifications are clearly marked as being the work of the modifier
  • all notices of copyright, trademark and patent rights are reproduced accurately in distributed copies
  • the licensee does not use any trademarks that belong to the licensor Furthermore, the grant of patent rights specifically is withdrawn if:

  • the licensee starts legal action against the licensor(s) over patent infringements within the covered software This rewriting of the BSD licence tries to achieve a few things. Firstly it adds an explicit grant of patent rights where that is needed to operate, modify and distribute the software. Some argue that such a grant is implicit in other open source licences, but the Apache License v2 spells it out, as well as explicitly withdrawing that grant in the circumstance mentioned above. It also contains solid definitions of the concepts it uses, providing more certainty as to its intended meaning. Among these is a definition of Contributor that contains another interesting feature of the licence. A Contributor, as distinct from someone who just modifies the software, also grants a licence to their modification back to the original authors. This mechanism, if taken up, simplifies control of the code. Finally the v2 licence is usable by other projects without the need to replace wording in the licence document itself.

Other Features of the Apache License v2

One unintended upshot of the creation of the Apache License v2 is that it became incompatible with the GPL v2. Previous versions, being heavily based on the BSD licence, were compatible. However the restriction in v2 that terminates the grant of patent rights if the licensee sues over patent infringement is seen by the Free Software Foundation as a restriction that is not present in the GPL v2. This being the case, code that is licensed under the Apache License v2 cannot be combined with GPL v2-licensed code and distributed. The Apache Software Foundation itself argues that the GPL v2’s section 7 (which terminates the right to distribute if an external body places additional restrictions on the distributor) is similar enough to their patent clause to make them effectively the same restriction. Unfortunately, as the licences stand, the commonly accepted view remains that they are incompatible.

However, with the release of the GPL v3, this incompatibility is no longer insurmountable. The GPL v3 allows for the addition of a patent retaliation clause whose effect is to allow code from a GPL v3-licensed project to be combined with code from an Apache 2-licensed project. So, a major milestone has been acheived and the two licences are no longer incompatible.

Like the BSD licence, the Apache License v2 permits code that it covers to be subsumed into closed source projects.

What Does The Apache License v2 Do?

These bullets are intended to summarise the salient points of the Apache License v2. They are not intended as a full description of its features. The Apache License v2

  • explicitly grants patent rights where necessary to operate, modify and distribute the software
  • permits code that it covers to be subsumed into closed source projects

OSS Watch has produced a document that highlights the main legal issues to consider when releasing your code under an open source licence.

Further reading

Links:

Related information from OSS Watch: