Software Licenses
Contents
Overview of SCEC Open-Source Software Licenses
SCEC scientific software is open-source in order to provide transparency into the scientific calculations performed by the code. SCEC scientific software is typically licensed under the open-source Apache 2.0 software license. Please see specific software distributions for details on their license terms.
Most SCEC software is intended to be open-source scientific software, and is released under an Apache 2 software license. Anyone is allowed to review the software source code, run the software, and use the results. The SCEC Apache 2 license says that you may use, modify, and/or [re]distribute the SCEC software as-is, including as part of a commercial product. As long as you do not change the software, you may re-distribute it and call it SCEC software. If you alter the software in any way, other than tailoring the configuration files or making it compilable on your platform, you may only refer to it as being based upon SCEC software. You must cause any modified files to carry prominent notices stating that you changed the files; and in all cases, altered or not, you must include attribution to SCEC as the original author of the software.
It is important to note the SCEC software is offered only with a strong disclaimer of warranty, on an “as is” basis, with no warranties or support of any kind.
In some cases, SCEC funding agencies require licensing of scientific software as open-source software as defined at the open-source software organization (http://www.opensource.org). The Apache 2.0 software license we use confirms with these guidelines.
Overview of Apache Licensing Conditions
Like any free software license, the Apache License allows the user of the software the freedom to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software, under the terms of the license.
The Apache License, like most other permissive licenses, does not require modified versions of the software to be distributed using the same license (in contrast to copyleft licenses). In every licensed file, any original copyright, patent, trademark, and attribution notices in redistributed code must be preserved (excluding notices that do not pertain to any part of the derivative works); and, in every licensed file changed, a notification must be added stating that changes have been made to that file.
If a NOTICE text file is included as part of the distribution of the original work, then derivative works must include a readable copy of these notices (again, excluding notices not pertaining to any part of the derivative work), in at least one of three places: within a NOTICE text file distributed as part of the derivative works, within the source form or documentation, or within a display generated by the derivative works (wherever such third-party notices normally appear). The contents of the NOTICE file do not modify the license, as they are for informational purposes only, and adding more attribution notices as addenda to the NOTICE text is permissible, provided that these notices cannot be understood as modifying the license. Modifications may have appropriate copyright notices, and may provide different license terms for the modifications.
Unless explicitly stated otherwise, any contributions submitted by a licensee to a licensor will be under the terms of the license without any terms and conditions, but this does not precede any separate agreements with the licensor regarding these contributions.
The Apache Software Foundation and the Free Software Foundation (FSF) agree that the Apache License 2.0 is a free software licence, compatible with version 3 of the GNU General Public License (GPL).
It should be noted, however, that there is a one-way incompatibility between the Apache version 2 and GPL version 3 licenses, in that GPL version 3 code cannot be included in an Apache project without activating the requirement that the entire project be relicensed under the GPL version 3.
Software License Text as Source Code Comment
/** * Copyright 2007-2013 University Of Southern California * * 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. */ ## # Copyright 2007-2013 University Of Southern California # # 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. ##
Software License Summary
Differences between open software licenses tend to rest on a few primary issues including:
License Type | Source Code Visibility | Restrictive or Permissive Use | Length of License Text (paragraphs) | Description |
---|---|---|---|---|
No license | Open | None | 0 | Without a license, the code is copyrighted by default. People can read the code, but they have no legal right to use it. To use the code, you must contact the author directly and ask permission. |
Public domain | Open | Permissive | 0 | If your code is in the public domain, anyone may use your code for any purpose whatsoever. Nothing is in the public domain by default; you have to explicitly put your work in the public domain if you want it there. Otherwise, it is many years before work reverts to the public domain. |
GPL License | Open | Copyleft | 12 | Your code can never be used in any proprietary program, ever. |
LGPL License | Open | Mostly Copyleft | 16 | GPL with a cleverly-constructed pressure valve release. Your free software can be binary linked to proprietary programs under certain very specific circumstances. |
BSD License | Open | Permissive | 2 | Short and sweet. Includes legal disclaimer of liability with explicitly named organization. |
Apache License | Open | Permissive | 9 | Requires derivative works to provide notification of any licensed or proprietary code in a common location. |
Related Activities
- prepare for license review from users
- identify position on license issues
- collaborate with groups that have good practices