-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
68 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,86 @@ | ||
# Licensing | ||
|
||
With so many options for licensing code, the topic can be quite confusing. | ||
With so many options for licensing code, the topic can be quite | ||
confusing. Many projects like Boost, Eclipse, Apache, etc.. have their | ||
own license, often based on the | ||
[GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License), which | ||
only apply to that project, so aren't appropriate for use at | ||
HOT. There are two primary types of licenses, permissive and | ||
non-permissive. Non permissive licenses may appear to be open source, | ||
but often it's a few clauses in the licenses that make them unable to | ||
be used in other open source projects. | ||
|
||
Simply, at HOT we use two types of license: | ||
HOT believes strongly in the freedoms embodied on the [free | ||
software](https://en.wikipedia.org/wiki/Free_software) culture, while | ||
following the collaborative development processes common for open | ||
source software projects. | ||
|
||
## All code is AGPLv3 | ||
All of the software at HOT uses permissive licenses, commonly the | ||
GPLv3 for compiled code, the AGPLv3 for code shared over a network (a | ||
website), and some older code using the BSD license or pubic domain. | ||
|
||
- This is a strong 'copyleft' licence, meaning that anyone using a modified | ||
version of our open-source code, **must make their code open too**. | ||
- The main purpose of this license is to prevent commercial exploitation of | ||
open code, making any modifications open so the entire community can benefit. | ||
## The GPLv3 and AGPLv3 | ||
|
||
- These are strong 'copyleft' licences, meaning that anyone | ||
modifiying the software is required to make those changes openly | ||
available. This is commonly called the derivative work clause. Any | ||
derivative software must be contributes it back to the original | ||
software project with no restrictions. | ||
|
||
- The main purpose of this license is to prevent commercial | ||
exploitation of open code, making any modifications open so the | ||
entire community can benefit. | ||
|
||
## Other Content is CC-BY | ||
|
||
- Creative content, such as translations and designs are copyrighted different. | ||
- Creative content, such as translations and designs are copyrighted | ||
different. | ||
- As with AGPL for code, this license is 'copyleft' | ||
- It allows others modify and built upon our own, even for commercial purposes, | ||
as long as they **credit us** and | ||
- It allows others modify and built upon our own, even for commercial | ||
purposes, as long as they **credit us** and | ||
**license their work under the same terms as CC-BY**. | ||
|
||
## What Licenses Can We Use | ||
|
||
- We use many underlying packages and tools within our software. | ||
- Any contributor must be aware of licensing before adding any additional | ||
external code to our software. | ||
- Any contributor must be aware of licensing before adding any | ||
additional external code to our software. | ||
|
||
### Compatible Licenses | ||
|
||
This is a short list of copyleft compatible licenses. For more detail, | ||
refer to the Free Software Foundation (FSF) page on [compatible and | ||
incompatible | ||
licenses](https://www.gnu.org/licenses/license-list.en.html). This in | ||
far from an exhaustive list, only the most common ones are listed | ||
here. | ||
|
||
* Public Domain | ||
* Mozilla Public License (MPL) version 2.0 | ||
* Apache License 2.0 | ||
* Modified BSD license | ||
* Intel Open Source License | ||
* FreeBSD license | ||
|
||
### Can Use | ||
### Incompatible Licenses | ||
|
||
- xxx | ||
- xxx | ||
- xxx | ||
The Open Source Initiative also has a list of [approved open source | ||
licenses](https://opensource.org/licenses). Not all of these are | ||
compatible with copylefted software, so not appropriate for code at | ||
HOT even though they are considered premissive licenses. | ||
|
||
### Can't Use | ||
Here is a short list of common non-permissive licenses, and can't be | ||
used for any code in HOT software projects. | ||
|
||
- xxx | ||
- xxx | ||
- xxx | ||
* Mozilla Public License (MPL) version 1.1 | ||
* Apache License, Version 1.0 and 1.1 | ||
* Apple Public Source License (APSL), version 2 | ||
* Microsoft Public License (Ms-PL) | ||
* NASA Open Source Agreement | ||
* Original BSD license | ||
* Common Development and Distribution License (CDDL), version 1.0 | ||
* Common Public Attribution License 1.0 (CPAL) | ||
* Common Public License Version 1.0 | ||
* European Union Public License (EUPL) version 1.1 and 1.2 | ||
* IBM Public License, Version 1.0 | ||
* Open Software License, all versions through 3.0 |