Skip to content

Commit

Permalink
fix: Add more detail on licensing
Browse files Browse the repository at this point in the history
  • Loading branch information
robsavoye committed Mar 25, 2024
1 parent 86fc214 commit 96c3b9b
Showing 1 changed file with 68 additions and 20 deletions.
88 changes: 68 additions & 20 deletions docs/dev-guide/licensing.md
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

0 comments on commit 96c3b9b

Please sign in to comment.