sr.ht-docs/license.md

3.3 KiB

title
Choosing a software license

Most public projects on SourceHut (or anywhere else) need to have a software license before others can use the project, contribute to the code, and so on. Choosing the right license for your needs is important. If you're unsure of which to use, we can offer some suggestions.

Once you pick a license, add it to your project by copying the plain-text version into a file called "LICENSE" or "COPYING" at the root directory of your repository.

Note: we are not your lawyer and this is not legal advice.

I want others to share their improvements with me.

The Free Software Foundation publishes the GNU General Public License for this purpose. In short, it requires anyone who publishes modified versions of your code or software that uses it to publish their changes or the software they incorporated it into under the same license terms. Version 3 also requires hardware manufacturers to allow users to install their modifications onto devices which use GPLv3 licensed software.

GPLv3 informationGPLv3 plain text

If your software is a library, you may prefer to use LGPL. It provides similar obligations for those who modify and re-distribute your library, but it doesn't impose on the programs which depend on your code.

LGPLv3 informationLGPLv3 plain text

Authors publishing software which is useful over a network — databases, web applications, and so on — should consider the "Affero" General Public License, or AGPL, as well. The AGPL is similar to the GPL, but its terms also apply when your software is used to provide a service over a network. Sourcehut itself is distributed with the AGPLv3 license.

AGPLv3 informationAGPLv3 plain text

I want a simple license with few obligations.

The MIT and BSD licenses allow anyone to use or modify your software for any purpose, including to make changes or incorporate it into their own software without releasing their source code. Both licenses are very short and easy to understand.

MIT license text

BSD 3-clause license text

I want to protect my company's trademarks and license my patents.

If you're publishing software as a business, Apache 2.0 is likely to be the most appropriate license for your open-source project. It explicitly protects your trademarks and includes a patent license for any patents which are applicable to your project.

Apache 2.0 informationApache 2.0 plain text

Other resources