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
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 information —
GPLv3 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 information —
LGPLv3 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 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
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
Apache 2.0 information
— Apache 2.0 plain text