- Reasoning
- Licenses to choose from
- GNU General Public License v3.0 or later (
GPL-3.0-or-later
) - GNU Affero General Public License v3.0 or later (
AGPL-3.0-or-later
) - GNU Lesser General Public License v3.0 or later (
LGPL-3.0-or-later
) - Apache License 2.0 (
Apache-2.0
) - MIT License (
MIT
) - Creative Commons Attribution Share Alike 4.0 International (
CC-BY-SA-4.0
) - Creative Commons Attribution 4.0 International (
CC-BY-4.0
)
- GNU General Public License v3.0 or later (
- Disclaimer
foundata is driven by open source. A good open source license allows reuse of code while retaining copyright. Using well-known licenses also reduces legal mumbo jumbo when working with third-parties, helping you to achieve results. Therefore you should choose one of the licenses listed in this document whenever possible. We usually only check whether there are obvious reasons against the publication of source code, like confidential contracting work for a customer.
Copyleft licenses like GNU (A)GPL 3.0 or later might prevent some organizations from using a project as they do not want to release the source code of their own modifications. Sadly, corporate compliance sometimes even nonsensically prohibits the usage of copyleft projects at all, even if nobody plans to modify anything. We still prefer free copyleft licenses as long as it fits into the ecosystem of a project as we do not care about corporate-anti-oss use cases.
The following licenses are well-known and all of them allow commercial and private use, modification and distribution and instruct that copyright and license notices must be preserved. The main differences between them are copyleft, what a third party has to do with modifications or when embedding a work into another existing project (a "larger work") and if they are suitable for software. We prefer copyleft over permissive licenses.
Our defaults for software projects are:
GPL-3.0-or-later
as copyleft licenseApache-2.0
as premissive license
Our defaults for projects with focus on media, design, 3D-printing plans or physical objects are:
CC-BY-SA-4.0
as copyleft licenseCC-BY-4.0
as premissive license
However, many projects exist in a wider ecosystem with a license preferred by the community, usually aligned with the main project or product if so. Take this into account when choosing a license. Have a look at existing repositories and/or search the web for <project> licensing requirements
to get an impression.
A strong copyleft license:
- Copyright and license notices must be preserved.
- Modifications have to be released under the same license.
- Embedding into a larger work is only possible when the larger work is using the same or a compatible license.
- Listed as free by the FSF
- OSI Approved
Used by / default for:
Further reading:
- Choose a license: GNU General Public License v3.0
- Software Package Data Exchange (SPDX):
GPL-3.0-or-later
- GNU.org How to Use GNU Licenses for Your Own Software
A very strong copyleft license:
- Copyright and license notices must be preserved.
- Modifications have to be released under the same license.
- Embedding into a larger work is only possible when the larger work is using the same or a compatible license.
- The source code of a modified version must be made available if it is used to provide a service over a network (e.g. as SaaS).
- Listed as free by the FSF
- OSI Approved
Used by / default for:
Further reading:
- Choose a license: GNU Affero General Public License v3.0
- Software Package Data Exchange (SPDX):
AGPL-3.0-or-later
A copyleft license, especially useful for libraries to be used in other software:
- Copyright and license notices must be preserved.
- Modifications have to be released under the same license.
- Embedding into a larger work is possible when
- the larger work is using the same or a compatible license or
- the larger work is distributed under different terms and without source code but using the project only through provided interfaces
- Listed as free by the FSF
- OSI Approved
Used by / default for:
Further reading:
- Choose a license: GNU Lesser General Public License v3.0
- Software Package Data Exchange (SPDX):
LGPL-3.0-or-later
- Wikipedia: GNU Lesser General Public License: Compatibility
- Wikipedia: GNU Lesser General Public License: Programming language specifications
A permissive license:
- Copyright and license notices must be preserved.
- Modifications have to be stated (even if only internally).
- Listed as free by the FSF
- OSI Approved
Used by / default for:
Further reading:
- Choose a license: Apache License 2.0
- Apache.org: How to apply the ALv2 (for Apache developers)
- Software Package Data Exchange (SPDX):
Apache-2.0
- OSI: Apache License, Version 2.0
A permissive and simple license:
- Copyright and license notices must be preserved.
- Listed as free by the FSF
- OSI Approved
Used by / default for:
Further reading:
A strong copyleft license for documents and media files:
- Attribution
- Copyright and license notices must be preserved.
- Modifications have to be released under the same license.
- Embedding into a larger work is only possible when the larger work is using the same or a compatible license.
- Listed as free by the FSF but not GPLv3 compatible. Can be one-way converted to GPLv3) though.
- Not to be used for software and therefore not OSI approved.
Used by / default for:
Further reading:
- CC-BY-SA 4.0 Deed / Summary
- Software Package Data Exchange (SPDX):
CC-BY-SA-4.0
- CC Blog: CC-BY-SA 4.0 now one-way compatible with GPLv3)
A permissive license:
- Attribution
- Copyright and license notices must be preserved.
- Modifications have to be stated (even if only internally).
- Listed as free by the FSF.
- Not to be used for software and therefore not OSI approved.
Further reading:
- This is not legal advice. If in doubt: Ask persons in charge and/or a lawyer as some additional rules might apply (like the Arbeitnehmererfindungsgesetz (ArbnErfG) mentioned in your employment contract).
- After choosing and/or applying a license or in any case of uncertainty, communicate with persons in charge for a last check before releasing a new project or repository to the public.