How to Apache 2.0?

apache

Over the span of the last two months, we have had many questions regarding the Apache 2.0 license. Although we all value open licenses, what we value the most at the Helpdesk is informed users.

So, to benefit our users and future Apache licensors, we wanted to make sure that you understand the terms of the license before using it. The Apache License is an open-source Software license released by the Apache Software Foundation. With this license, you can freely use, modify, distribute and sell a software licensed under the Apache License regardless of the use of the software (personal, internal or commercial reasons). Some of the provisions of this license can be difficult to understand and can often lead to many questions.

Here a breakdown of the most relevant provisions of the license.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to the licensee a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

These are the terms of the license you are granting: perpetual, worldwide, non-exclusive, no-charge, royalty-free and irrevocable. Please, take into account that once you have granted a third party a license under Apache 2.0 there is no turning back. I do not mean to scare you, but you must understand that once this individual (whether it is an ex-project partner or a third party) has received this license, there is no renegotiation possible. That being said, this does not mean that you will have to license your Software under Apache 2.0 to everyone. This license is “non-exclusive” (you can grant as many licenses as you want to as many persons as you want), you can, therefore, choose to license it under different terms and conditions to different undertakings.

Article 2 establishes the uses permitted under the licenses which are basically all economic rights attached to copyright (reproduction right, public performance and publicly display) as well as the right to grant sublicenses and distribute the Work and all derivatives work created by the licensee. Therefore, the rights granted to the licensee are quite broad.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted.

If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

In a nutshell, when a software developer contributes to the Work (a project) through code, he or she will become a “Contributor”. According to the above, Contributors are granting implicit permission to use any of their patents directly related to their contribution (alone or in combination with the original Work). This provides peace of mind to users since, otherwise, Contributors could sue them for patent infringement or claim royalties, which is no longer the case under this clause.

"patent claims licensable by such Contributor that are necessarily infringed... by a combination of their Contribution(s) with the Work to which such Contribution(s) was submitted." What happens if you contribute code to an Apache 2.0 licensed open source project that does not infringe your patent at the time of contribution, but then the Work subsequently expands in functionality (through third parties contribution) to now encompass a patent owned by you? Would your patent then be automatically licensed? According to the wording of the clause and the interpretation guidelines given by ASF, no, in this case, your patent is not automatically licensed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

  1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
  2. You must cause any modified files to carry prominent notices stating that You changed the files; and
  3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
  4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

    You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

Remember that the original code on which you (the licensee) based your improvements, or to which you apply some modifications, is still (the licenses you were granted is irrevocable) covered by the Apache 2.0 license, hence the need to make sure that a copy of the original license follows along with any derivative works.

Hence also the obligation to clearly identify the changes you have made and introduced to the original version. This differentiation is needed, not only to understand which elements are covered by the original Apache license but also to make sure that future users understand that the improvements made belong to you (licensee) who retains full ownership and IP rights over his creation and who is free to distribute them in whichever way he/she desires.

  1. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

Also, take into account that you are not allowed to use the ASF’s marks in any way that may imply, can be interpreted as stating or implying, that the final product is endorsed or created by the Apache Software Foundation. You are, however, allowed to use “based on Apache”, “Powered by Apache” or “based on Apache technology”.

This is it. Now you are fully informed and prepare to decide whether or not the Apache 2.0 license is made for you.