<!--#include virtual="/server/header.html" -->
<!-- Parent-Version: 1.86 1.97 -->
<!-- This page is derived from /server/standards/boilerplate.html -->
<title>How to choose Choose a license License for your own work Your Own Work
- GNU Project - Free Software Foundation</title>
<style type="text/css" media="screen"><!--
.note#fsf-licensing {
   float: none;
   width: 47em; max-width: 93%;
   margin: 2em auto 3em;
}
--></style>
<!--#include virtual="/licenses/po/license-recommendations.translist" -->
<!--#include virtual="/server/banner.html" -->
<div class="article reduced-width">
<h2>How to choose Choose a license License for your own work</h2>

<!--#include virtual="/licenses/fsf-licensing.html" -->

<blockquote><p>
To see whether a given license is free or not,
see <a href="/licenses/license-list.html">our license list page</a>
and the <a href="/philosophy/free-sw.html">definition of free software</a>.
</p></blockquote>

<h3 id="intro">Introduction</h3>

<p>People Your Own Work</h2>
<div class="thin"></div>

<p id="intro">People often ask us what license we recommend they use for their
project.  We've written about this publicly before, but the
information has been scattered around between different essays, FAQ
entries, and license commentaries.  This article collects all that
information into a single source, to make it easier for people to
follow and refer back to.</p>

<p>These recommendations are for works designed to do practical jobs.
Those include software, documentation, and some other things.  Works of
art, and works that state a point of view, are different issues; the GNU
Project has no general stand about how they should be released, except
that they should all be usable without nonfree software (in
particular, <a href="http://defectivebydesign.org/">without DRM</a>).
However, you might want to follow these recommendations for art works
that go with a particular program.</p>

<p>The recommendations apply to licensing a work that you
create—whether that's a modification of an existing work, or a
new original work.  They do not address the issue of combining
existing material under different licenses.  If you're looking for
help with that, please check <a href="/licenses/gpl-faq.html">our GPL
FAQ</a>.</p>

<p>After you see what we recommend here, if you'd like advice, you can
write
to <a href="mailto:licensing@gnu.org"><licensing@gnu.org></a>.
Note that it will probably take a few weeks for the licensing team to
get back to you; if you get no response in a month, please write
again.</p>

<div class="announcement comment" role="complementary">
<hr class="no-display" />
<p>To see whether a given license is free or not,
see <a href="/licenses/license-list.html">our license list page</a>
and the <a href="/philosophy/free-sw.html">definition of free software</a>.</p>
<hr class="no-display" />
</div>

<h3 id="contributing">Contributing to an existing project</h3>

<p>When you contribute to an existing project, you should usually release
your modified versions under the same license as the original work.
It's good to cooperate with the project's maintainers, and using a
different license for your modifications often makes that cooperation
very difficult.  You should only do that when there is a strong reason
to justify it.</p>

<p>One case where using a different license can be justified is when you make
major changes to a work under a non-copyleft license.  If the version you've
created is considerably more useful than the original, then it's worth
copylefting your work, for all the same
<a href="/copyleft/copyleft.html">reasons href="/licenses/copyleft.html">reasons we normally recommend
copyleft</a>.  If you are in this situation, please follow the
recommendations below for licensing a new project.</p>

<p>If you choose to release your contributions under a different
license for whatever reason, you must make sure that the original
license allows use of the material under your chosen license.  For
honesty's sake, show explicitly which parts of the work are under
which license.</p>

<h3 id="software">Software</h3>

<p>We recommend different licenses for different projects, depending
mostly on the software's purpose.  In general, we recommend using the
strongest copyleft license that doesn't interfere with that purpose.
Our essay <a href="/copyleft/copyleft.html">“What “<a href="/licenses/copyleft.html">What
is Copyleft?”</a> Copyleft?</a>” explains the
concept of copyleft in more detail, and why it is generally the best
licensing strategy.</p>

<p>For most programs, we recommend that you use the most recent
version of the <a href="/licenses/gpl.html">GNU General Public License
(GPL)</a> for your project.  Its strong copyleft is appropriate for
all kinds of software, and includes numerous protections for users'
freedom.  Please give permission to use  To allow for future license versions as
well—in other words, make the license notice say
upgrades, <a href="/licenses/identify-licenses-clearly.html"> please
specify “version 3 or any later version”</a> so that your
program is covered by will be <a href="/licenses/license-compatibility.html">
license-compatible</a> with code that may be released, in the future,
under subsequent GPL version 3 or later.</p> versions.</p>

<p>Here is more advice about <a href="/licenses/gpl-howto.html">how
to release a program under the GNU GPL</a>.</p>

<p>Now for the exceptions, where it is better to use some other
licenses instead of the GNU GPL.</p>

<h4 id="small">Small programs</h4>

<p>It is not worth the trouble to use copyleft for most small
programs.  We use 300 lines as our benchmark: when a software
package's source code is shorter than that, the benefits provided by
copyleft are usually too small to justify the inconvenience of making
sure a copy of the license always accompanies the software.</p>

<p>For those programs, we recommend
the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache href="https://directory.fsf.org/wiki/License:Apache2.0">Apache
License 2.0</a>.  This is a pushover weak, lax, “pushover” (non-copyleft)
software license
that has terms to prevent contributors and distributors from suing for
patent infringement.  This doesn't make the software immune to threats
from patents (a (no software license can't do can achieve that), but it does prevent
patent holders from setting up a “bait and switch” where
they release the software under free terms then require recipients to
agree to nonfree terms in a patent license.</p>

<p>Among the lax pushover weak (pushover) licenses, Apache 2.0 is best; so if you
are going to use a lax pushover weak license, whatever the reason,
we recommend using that one.</p>

<h4 id="libraries">Libraries</h4>

<p>For libraries, we distinguish three kind of cases.</p>

<p>Some libraries implement free standards data formats that are competing
against restricted standards, data formats, such as Ogg Vorbis (which competes
against MP3 audio) and WebM (which competes against MPEG-4 video).  For these
projects, widespread use
The success of the free format requires allowing many proprietary
application programs to link in the code is vital for advancing to handle the cause
of free software, and does more good than a copyleft on format.  For
instance, we wanted nonfree media players, especially appliances, to
include the project's code would do.</p> for Ogg Vorbis as well as MP3.</p>

<p>In these special situations, we recommend if you are aiming to convince
proprietary application developers to use the library for the free
format, you would need to make that easy by licensing the library
under a weak license, such as
the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache href="https://directory.fsf.org/wiki/License:Apache2.0">Apache
License 2.0</a>.</p>

<p>However, we must recognize that this strategy did not succeed for
Ogg Vorbis.  Even after changing the copyright license to permit easy
inclusion of that library code in proprietary applications,
proprietary developers generally did not include it.  The sacrifice
made in the choice of license ultimately won us little.</p>

<p>For all other libraries, we recommend some kind of copyleft.  If
developers are already using an established alternative library
released under a nonfree license or a lax pushover license, then we
recommend using the <a href="/licenses/lgpl.html">GNU Lesser General
Public License (LGPL)</a>.</p>

<p>Unlike the first case, where the library implements an ethically
superior standard, here adoption for its own sake will not accomplish
any special objective goal, so there's no reason to avoid copyleft
entirely.  However, if you require developers who use your library to
release their whole programs under copyleft, they'll simply use one of
the alternatives available, and that won't advance our cause either.
The Lesser GPL was designed to fill the middle ground between these
cases, allowing proprietary software developers to use the covered
library, but providing a weak copyleft that gives users freedom
regarding the library code itself.</p>

<p>For libraries that provide specialized facilities, and which do not
face entrenched noncopylefted or nonfree competition, we recommend
using the plain GNU GPL.  For the reasons why,
read <a href="/licenses/why-not-lgpl.html">“Why “<a href="/licenses/why-not-lgpl.html">Why you shouldn't
use the Lesser GPL for your next library”</a>.</p> library</a>.”</p>

<h4 id="server">Server Software</h4>

<p>If it is likely that others will make improved versions of your
program to run on servers and not distribute their versions to anyone
else, and you're concerned that this will put your released version at
a disadvantage, we recommend the <a href="/licenses/agpl.html">GNU
Affero General Public License (AGPL)</a>.  The AGPL's terms are almost
identical to the GPL's; the sole substantive difference is that it has
an extra condition to ensure that people who use the software over a
network will be able to get the source code for it.</p>

<p>The AGPL's requirement doesn't address the problems that can arise
<em>for users</em> when they entrust their computing or their data to
someone else's server.  For instance, it won't stop
<a href="/philosophy/who-does-that-server-really-serve.html">Service
as a Software Substitute (SaaSS)</a> from denying users'
freedom—but most servers don't do SaaSS.  For more about these
issues, read <a href="/licenses/why-affero-gpl.html">“Why “<a href="/licenses/why-affero-gpl.html">Why the
Affero GPL”</a>.</p> GPL</a>.”</p>

<h3 id="documentation">Documentation</h3>

<p>We recommend the <a href="/licenses/fdl.html">GNU Free
Documentation License (GFDL)</a> for tutorials, reference manuals and
other large works of documentation.  It's a strong copyleft license
for educational works, initially written for software manuals, and
includes terms which specifically address common issues that arise
when those works are distributed or modified.</p>

<p>For short, secondary documentation works, such as a reference card,
it is better to use
the <a href="/licenses/license-list.html#GNUAllPermissive"> GNU
all-permissive license</a>, since a copy of the GFDL could hardly fit
in a reference card.  Don't use CC-BY, CC BY, since it is incompatible with
the GFDL.</p>

<p>For man pages, we recommend the GFDL if the page is long, and
the <a href="/licenses/license-list.html#GNUAllPermissive"> GNU
all-permissive license</a> if it is short.</p>

<p>Some documentation includes software source code.  For instance, a manual
for a programming language might include examples for readers to follow.
You should both include these in the manual under the FDL's terms, and
release them under another license that's appropriate for software.  Doing
so helps make it easy to use the code in other projects.  We recommend that
you dedicate small pieces of code to the public domain using <a href="http://creativecommons.org/about/cc0">CC0</a>,
href="https://creativecommons.org/share-your-work/public-domain/cc0">CC0</a>, and
distribute larger pieces under the same license that the associated
software project uses.</p>

<h3 id="data">Other data for programs</h3>

<p>This section discusses all other works for practical use that you
might include with software.  To give you some examples, this includes
icons and other functional or useful graphics, fonts, and geographic
data.  You can also follow them for art, though we wouldn't criticize
if you don't.</p>

<p>If you are creating these works specifically for use with a software
project, we generally recommend that you release your work under the
same license as the software.  There is no problem in doing so
with the licenses we have recommended:
GPLv3, LGPLv3, AGPLv3, and GPLv2 can all be applied to any kind of
work—not just software—that is copyrightable and has a clear
preferred form for modification.  Using the same license as the
software will help make compliance easier for distributors, and avoids
any doubt about potential compatibility issues.  Using a different
free license may be appropriate if it provides some specific practical
benefit, like better cooperation with other free projects.</p>

<p>If your work is not being created for use with a particular software
project, or if it wouldn't be appropriate to use the same license as
the project, then we only recommend that you choose a copyleft license
that's appropriate for your work.  We have some of these <a href="/licenses/license-list.html#OtherLicenses">listed on
our license list</a>.  If no license seems especially
appropriate, the <a href="/licenses/license-list.html#ccbysa">Creative Commons Attribution-ShareAlike</a>
license is a copyleft that can be used for many different kinds of
works.</p>

<!--#include virtual="/licenses/fsf-licensing.html" -->
</div>

</div><!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.html" -->
<div id="footer"> id="footer" role="contentinfo">
<div class="unprintable">

<p>Please send general FSF & GNU inquiries to
<a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>.
There are also <a href="/contact/">other ways to contact</a>
the FSF.  Broken links and other corrections or suggestions can be sent
to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p>

<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">
        <web-translators@gnu.org></a>.</p>

        <p>For information on coordinating and submitting contributing translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
Please see the <a
href="/server/standards/README.translations.html">Translations
README</a> for information on coordinating and submitting contributing translations
of this article.</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->

<p>Copyright © 2011, 2013, 2014, 2015, 2011-2014, 2017, 2018 2019, 2020, 2022 Free Software Foundation, Inc.</p>

<p>This page is licensed under a <a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/">Creative
Commons Attribution-NoDerivatives 4.0 International License</a>.</p>

<!--#include virtual="/server/bottom-notes.html" -->

<p class="unprintable">Updated:
<!-- timestamp start -->
$Date: 2022/01/22 18:32:33 $
<!-- timestamp end -->
</p>
</div>
</div><!-- for class="inner", starts in the banner include -->
</body>
</html>