Recommended License
Common open source license options are summarized very nicely at http://choosealicense.com/licenses/
For Harvard Library created open source projects, the library is motivated to release software under a license that is common in the library community and is as simple and permissive as possible. In general, the Harvard Library wishes to place no restrictions on the reuse of our open source code, for any use, both commercial and non-commercial. Additionally, the library explicitly grants the right to use any patentable concepts. For that reason, the Library recommends that wherever possible, code developed as open source by Harvard Library or Harvard Library Technology Services be released with the Apache 2.0 license.
In choosing the Apache 2.0 license, we follow the lead of Project Hydra, Project Mirador, Project Blacklight, and many others.
How to apply this license
Create a text file (named LICENSE.txt) in the root of your source code and copy the text below into the file. Replace [yyyy] with the current year.
Copyright [yyyy] [The President and Fellows of Harvard College] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Use of third party code and license contamination
It becomes imperative that developers within Harvard understand and abide by the principles of open source software and the restrictions that certain licenses place on the reuse of the code found in open source projects. Just because the code is freely available does not mean it is freely reusable within the desired confines of the Harvard Library desire to use non-restrictive licensing when sharing its code. In general, software distributed under the MIT license, BSD Modified license or the Apache 2.0 license may be used within our solutions without concern. Software licensed under the GPL, LGPL or other licenses should be used only after review and approval by the Library Technology Services Senior Leadership. This ensures that a decision to utilize a license does not interfere with the desire to allow free and open usage of the code that we are developing. Understand that this does not mean GPL and LGPL are not open source or free licenses, instead it is the desire to allow for potential commercial reuse with attribution only that makes these licenses less desirable for Harvard Library.
When the recommended license can not be used
In some cases, it may not be possible to release Harvard Library code under the recommended license. This can happen when the code includes other open source projects that have a more restrictive license that requires projects that incorporate it to inherit the license terms. For example, if a project uses open source code licensed under the LGPL or GPL licenses, there is a requirement that the consuming project also be licensed in the same manner. An example is the FITS project. FITS bundles code released under the LGPL license, and is consequently also released under the LGPL license.
The Approvals table found on this page may prove useful in determining potential license conflicts.
Embedded licenses
If a project includes other licensed code, the main project license.txt file should include a list of the file paths to all of the embedded license.txt files for subprojects within the main project so that a user of the project can know the terms of all embedded code, and hence the overall package. An example is provided below.
Copyright [2016] [President and Fellows of Harvard College] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This project distribution includes the following licensed software. Reuse of this software requires compliance with the associated license:
jquery: https://github.com/jquery/jquery/blob/master/LICENSE.txt
yui: https://github.com/yui/yui3/blob/master/LICENSE.md
Notes on the Apache license
The Apache license is very permissive, but is a bit more complex than the simpler MIT license. However, it contains a few clauses that are of importance to the Harvard Library. For example, it clarifies that no permission is granted to use the Harvard name:
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.
The Apache license also includes a clause that explicitly grants rights to use any patentable content in the code.