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] [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.
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.
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 a bit more complete than the simpler MIT license, but 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.