<!--#include virtual="/server/header.html" -->
<!-- Parent-Version: 1.86 1.98 -->
<!-- This page is derived from /server/standards/boilerplate.html -->
<title>Frequently Asked Questions about the GNU GPL v2.0
- GNU Project - Free Software Foundation</title>
<style type="text/css" media="screen"><!--
ul .emph-box { padding-top: .7em; }
#template-diagram {
   width: 37.5em; max-width: 100%;
   margin: auto;
}
#template-diagram img { width: 100%; }
.note#fsf-licensing {
   float: none;
   width: 47em; max-width: 93%;
   margin: 1.5em auto 3em;
}
--></style>
<!--#include virtual="/licenses/old-licenses/po/gpl-2.0-faq.translist" -->
<!--#include virtual="/server/banner.html" -->
<h2>Frequently
<h2 class="c">Frequently Asked Questions about version 2 of the GNU GPL</h2>
<!--#include virtual="/licenses/fsf-licensing.html" -->

<div class="comment">
<p>
This page contains answers to commonly asked questions about the GNU General
Public License (GPL), version 2. The FAQ for the current version of the GPL is
<a href="/licenses/gpl-faq.html">here</a>. To learn more about the Free
Software Foundation's other licenses, please see <a
href="/licenses/licenses.html">our licenses page</a>.</p>

<p>
After you read this FAQ, <a href="/cgi-bin/license-quiz.cgi">you can
test your knowledge of Free Software licensing with our quiz</a>.
</p>
</div>

<!-- Replace this list with the page's contents. -->
<div class="toc">
<h3 style="clear: both; padding: .3em 0; border-bottom: 1px solid #999">
Table class="no-display">Table of Contents</h3>

  <h4>Basic Contents</h3><!--#set var='CLOSE' value='</b></a>' -->
<ul>
  <li><!--#set var='ANCHOR' value='<a href="#basics"><b>' --><!--#echo
encoding='none' var='ANCHOR' --><span class="gnun-split"></span>Basic questions about the GPL,
the GNU Project, and the Free Software Foundation<span class="gnun-split"></span><!--#echo
encoding='none' var='CLOSE' --></li>
  <li><!--#set var='ANCHOR' value='<a href="#understanding"><b>' --><!--#echo
encoding='none' var='ANCHOR' --><span class="gnun-split"></span>General understanding of the
GPL<span class="gnun-split"></span><!--#echo
encoding='none' var='CLOSE' --></li>
  <li><!--#set var='ANCHOR' value='<a href="#licensing"><b>' --><!--#echo
encoding='none' var='ANCHOR' --><span class="gnun-split"></span>Using the GPL for your
programs<span class="gnun-split"></span><!--#echo encoding='none' var='CLOSE' --></li>
  <li><!--#set var='ANCHOR' value='<a href="#distributing"><b>' --><!--#echo
encoding='none' var='ANCHOR' --><span class="gnun-split"></span>Distribution of programs released
under the GPL<span class="gnun-split"></span><!--#echo
encoding='none' var='CLOSE' --></li>
  <li><!--#set var='ANCHOR' value='<a href="#using-programs"><b>' --><!--#echo
encoding='none' var='ANCHOR' --><span class="gnun-split"></span>Using programs released under
the GPL when writing other programs<span class="gnun-split"></span><!--#echo
encoding='none' var='CLOSE' --></li>
  <li><!--#set var='ANCHOR' value='<a href="#combining"><b>' --><!--#echo
encoding='none' var='ANCHOR' --><span class="gnun-split"></span>Combining work with code
released under the GPL<span class="gnun-split"></span><!--#echo
encoding='none' var='CLOSE' --></li>
  <li><!--#set var='ANCHOR' value='<a href="#violations"><b>' --><!--#echo
encoding='none' var='ANCHOR' --><span class="gnun-split"></span>Questions about violations of the
GPL<span class="gnun-split"></span><!--#echo
encoding='none' var='CLOSE' --></li>
</ul>
<hr class="thin" />

  <h4 id="basics">Basic questions about the GPL, the GNU Project, and the Free
  Software Foundation</h4>

  <ul>
    <li><a href="#WhatDoesGPLStandFor" name="TOCWhatDoesGPLStandFor">What id="TOCWhatDoesGPLStandFor">What
    does “GPL” stand for?</a></li>

    <li><a href="#DoesFreeSoftwareMeanUsingTheGPL"
    name="TOCDoesFreeSoftwareMeanUsingTheGPL">Does
    id="TOCDoesFreeSoftwareMeanUsingTheGPL">Does free software mean
    using the GPL?</a></li>

    <li><a href="#DoesAllGNUSoftwareUseTheGNUGPLAsItsLicense"
    name="TOCDoesAllGNUSoftwareUseTheGNUGPLAsItsLicense">Does
    id="TOCDoesAllGNUSoftwareUseTheGNUGPLAsItsLicense">Does all GNU
    software use the GNU GPL as its license?</a></li>

    <li><a href="#DoesUsingTheGPLForAProgramMakeItGNUSoftware"
    name="TOCDoesUsingTheGPLForAProgramMakeItGNUSoftware">Does
    id="TOCDoesUsingTheGPLForAProgramMakeItGNUSoftware">Does using the
    GPL for a program make it GNU software?</a></li>

    <li><a href="#GPLOtherThanSoftware" name="TOCGPLOtherThanSoftware">Can id="TOCGPLOtherThanSoftware">Can
    I use the GPL for something other than software?</a></li>
  
    <li><a href="#WhyNotGPLForManuals" name="TOCWhyNotGPLForManuals">Why id="TOCWhyNotGPLForManuals">Why
    don't you use the GPL for manuals?</a></li>
  
    <li><a href="#GPLTranslations" name="TOCGPLTranslations">Are id="TOCGPLTranslations">Are there
    translations of the GPL into other languages?</a></li>
  
    <li><a href="#WhySomeGPLAndNotLGPL" name="TOCWhySomeGPLAndNotLGPL">Why id="TOCWhySomeGPLAndNotLGPL">Why
    are some GNU libraries released under the ordinary GPL rather than the
    Lesser GPL?</a></li>
  
    <li><a href="#AssignCopyright" name="TOCAssignCopyright">Why id="TOCAssignCopyright">Why does the
    FSF require that contributors to FSF-copyrighted programs assign
    copyright to the FSF?  If I hold copyright on a GPL'ed program, should
    I do this, too?  If so, how?</a></li>
  
    <li><a href="#ModifyGPL" name="TOCModifyGPL">Can id="TOCModifyGPL">Can I modify the GPL
    and make a modified license?</a></li>

  </ul>

  <h4>General

  <h4 id="understanding">General understanding of the GPL</h4>
  
  <ul>
    <li><a href="#WhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions"
    name="TOCWhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions">Why
    id="TOCWhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions">Why does
    the GPL permit users to publish their modified versions?</a></li>
  
    <li><a href="#GPLRequireSourcePostedPublic"
    name="TOCGPLRequireSourcePostedPublic">Does
    id="TOCGPLRequireSourcePostedPublic">Does
    the GPL require that source code of modified versions be posted to the public?</a></li>
  
    <li><a href="#GPLAndNonfreeOnSameMachine"
    name="TOCGPLAndNonfreeOnSameMachine">
    id="TOCGPLAndNonfreeOnSameMachine"> Can I have a GPL-covered
    program and an unrelated nonfree program on the same
    computer?</a></li>
  
    <li><a href="#CanIDemandACopy" name="TOCCanIDemandACopy">If id="TOCCanIDemandACopy">If I know
    someone has a copy of a GPL-covered program, can I demand he give
    me a copy?</a></li>

    <li><a href="#WhatDoesWrittenOfferValid"
    name="TOCWhatDoesWrittenOfferValid">What
    id="TOCWhatDoesWrittenOfferValid">What does this “written
    offer valid for any third party” mean? Does that mean
    everyone in the world can get the source to any GPL'ed program no
    matter what?</a></li>

    <li><a href="#TheGPLSaysModifiedVersions"
    name="TOCTheGPLSaysModifiedVersions">The
    id="TOCTheGPLSaysModifiedVersions">The GPL says that modified
    versions, if released, must be “licensed … to all
    third parties.” Who are these third parties?</a></li>
  
    <li><a href="#DoesTheGPLAllowMoney" name="TOCDoesTheGPLAllowMoney">Does id="TOCDoesTheGPLAllowMoney">Does
    the GPL allow me to sell copies of the program for money?</a></li>
  
    <li><a href="#DoesTheGPLAllowDownloadFee"
    name="TOCDoesTheGPLAllowDownloadFee">
    id="TOCDoesTheGPLAllowDownloadFee"> Does the GPL allow me to
    charge a fee for downloading the program from my distribution
    site?</a></li>
  
    <li><a href="#DoesTheGPLAllowRequireFee" name="TOCDoesTheGPLAllowRequireFee"> id="TOCDoesTheGPLAllowRequireFee">
    Does the GPL allow me to require that anyone who receives the software
    must pay me a fee and/or notify me?</a></li>
  
    <li><a href="#DoesTheGPLRequireAvailabilityToPublic"
    name="TOCDoesTheGPLRequireAvailabilityToPublic">If
    id="TOCDoesTheGPLRequireAvailabilityToPublic">If I distribute GPL'd
    software for a fee, am I required to also make it available to the
    public without a charge?</a></li>
  
    <li><a href="#DoesTheGPLAllowNDA" name="TOCDoesTheGPLAllowNDA">Does id="TOCDoesTheGPLAllowNDA">Does
    the GPL allow me to distribute a copy under a
    nondisclosure agreement?</a></li>
  
    <li><a href="#DoesTheGPLAllowModNDA" name="TOCDoesTheGPLAllowModNDA">Does id="TOCDoesTheGPLAllowModNDA">Does
    the GPL allow me to distribute a modified or beta version under a
    nondisclosure agreement?</a></li>
  
    <li><a href="#DevelopChangesUnderNDA" name="TOCDevelopChangesUnderNDA">Does id="TOCDevelopChangesUnderNDA">Does
    the GPL allow me to develop a modified version under a
    nondisclosure agreement?</a></li>

    <li><a href="#RequiredToClaimCopyright"
    name="TOCRequiredToClaimCopyright">Am
    id="TOCRequiredToClaimCopyright">Am I required to claim a copyright on
    my modifications to a GPL-covered program?</a></li>
  
    <li><a href="#CombinePublicDomainWithGPL"
    name="TOCCombinePublicDomainWithGPL">If
    id="TOCCombinePublicDomainWithGPL">If a program combines public-domain
    code with GPL-covered code, can I take the public-domain part and use it
    as public domain code?</a></li>
  
    <li><a href="#IWantCredit" name="TOCIWantCredit">I id="TOCIWantCredit">I want to get credit for my work. I
    want people to know what I wrote. Can I still get credit if I use the GPL?</a></li>
  
    <li><a href="#WhatIsCompatible" name="TOCWhatIsCompatible">What id="TOCWhatIsCompatible">What does it mean to
    say that two licenses are “compatible”?</a></li>
  
    <li><a href="#WhatDoesCompatMean"
    name="TOCWhatDoesCompatMean">What
    id="TOCWhatDoesCompatMean">What does it mean to say a license is
    “compatible with the GPL”?</a></li>
  
    <li><a href="#OrigBSD" name="TOCOrigBSD">Why id="TOCOrigBSD">Why is the original BSD
    license incompatible with the GPL?</a></li>

    <li><a href="#GPLCommercially" name="TOCGPLCommercially">If id="TOCGPLCommercially">If I use a
    piece of software that has been obtained under the GNU GPL, am I
    allowed to modify the original code into a new program, then
    distribute and sell that new program commercially?</a></li>

    <li><a href="#LGPLJava" name="TOCLGPLJava">How id="TOCLGPLJava">How does the LGPL
    work with Java?</a></li>

  
  </ul>

  <h4>Using

  <h4 id="licensing">Using the GPL for your programs</h4>

  <ul>

    <li><a href="#CouldYouHelpApplyGPL" name="TOCCouldYouHelpApplyGPL">Could id="TOCCouldYouHelpApplyGPL">Could
    you give me step by step instructions on how to apply the GPL to my
    program?</a></li>

    <li><a href="#WhyUseGPL" name="TOCWhyUseGPL">Why id="TOCWhyUseGPL">Why should I use the GNU GPL
    rather than other free software licenses?</a></li>

    <li><a href="#WhyMustIInclude" name="TOCWhyMustIInclude">Why id="TOCWhyMustIInclude">Why does the GPL
    require including a copy of the GPL with every copy of the program?</a></li>
  
    <li><a href="#WhatIfWorkIsShort" name="TOCWhatIfWorkIsShort">What id="TOCWhatIfWorkIsShort">What
    if the work is not much longer than the license itself?</a></li>
  
    <li><a href="#GPLOmitPreamble" name="TOCGPLOmitPreamble">Can id="TOCGPLOmitPreamble">Can I omit the
    preamble of the GPL, or the instructions for how to use it on your own
    programs, to save space?</a></li>

    <li><a href="#HowIGetCopyright" name="TOCHowIGetCopyright">How id="TOCHowIGetCopyright">How do I
    get a copyright on my program in order to release it under the
    GPL?</a></li>
  
    <li><a href="#WhatIfSchool" name="TOCWhatIfSchool">What id="TOCWhatIfSchool">What if my school
    might want to make my program into its own proprietary software
    product?</a></li>

    <li><a href="#ReleaseUnderGPLAndNF" name="TOCReleaseUnderGPLAndNF">I id="TOCReleaseUnderGPLAndNF">I
    would like to release a program I wrote under the GNU GPL, but I would
    like to use the same code in nonfree programs.</a></li>
  
    <li><a href="#CanDeveloperThirdParty"
    name="TOCCanDeveloperThirdParty">Can
    id="TOCCanDeveloperThirdParty">Can the developer of a program who
    distributed it under the GPL later license it to another party for
    exclusive use?</a></li>
  
    <li><a href="#GPLUSGov" name="TOCGPLUSGov">Can id="TOCGPLUSGov">Can the US Government
    release a program under the GNU GPL?</a></li>

    <li><a href="#VersionTwoOrLater" name="TOCVersionTwoOrLater">Why id="TOCVersionTwoOrLater">Why
    should programs say “Version 2 of the GPL or any later
    version”?</a></li>
  
    <li><a href="#FontException" name="TOCFontException">How id="TOCFontException">How does the
    GPL apply to fonts?</a></li>

    <li><a href="#WMS" name="TOCWMS">What id="TOCWMS">What license should I use for
    website maintenance system templates?</a></li>

    <li><a href="#NonFreeTools" name="TOCNonFreeTools">Can id="TOCNonFreeTools">Can I release
    a program under the GPL which I developed using nonfree tools?</a></li>
  </ul>

  <h4>Distribution

  <h4 id="distributing">Distribution of programs released under the GPL</h4>

  <ul>

    <li><a href="#ModifiedJustBinary"
    name="TOCModifiedJustBinary">Can
    id="TOCModifiedJustBinary">Can I release a modified
    version of a GPL-covered program in binary form only?</a></li>

    <li><a href="#UnchangedJustBinary" name="TOCUnchangedJustBinary">I id="TOCUnchangedJustBinary">I
    downloaded just the binary from the net.  If I distribute copies,
    do I have to get the source and distribute that too?</a></li>

    <li><a href="#DistributeWithSourceOnInternet"
    name="TOCDistributeWithSourceOnInternet">I
    id="TOCDistributeWithSourceOnInternet">I want to distribute
    binaries via physical media without accompanying sources.  Can I
    provide source code by FTP instead of by mail order?</a></li>

    <li><a href="#RedistributedBinariesGetSource"
    name="TOCRedistributedBinariesGetSource">My
    id="TOCRedistributedBinariesGetSource">My friend got a GPL-covered
    binary with an offer to supply source, and made a copy for me.
    Can I use the offer to obtain the source?</a></li>
  
    <li><a href="#SourceAndBinaryOnDifferentSites"
    name="TOCSourceAndBinaryOnDifferentSites">Can
    id="TOCSourceAndBinaryOnDifferentSites">Can I put the binaries on my
    Internet server and put the source on a different Internet site?</a></li>
  
    <li><a href="#DistributeExtendedBinary"
    name="TOCDistributeExtendedBinary">I
    id="TOCDistributeExtendedBinary">I want to distribute an extended
    version of a GPL-covered program in binary form.  Is it enough to
    distribute the source for the original version?</a></li>
  
    <li><a href="#DistributingSourceIsInconvenient"
    name="TOCDistributingSourceIsInconvenient">I
    id="TOCDistributingSourceIsInconvenient">I want to distribute
    binaries, but distributing complete source is inconvenient.  Is it
    ok if I give users the diffs from the “standard”
    version along with the binaries?</a></li>
  
    <li><a href="#AnonFTPAndSendSources" name="TOCAnonFTPAndSendSources">I id="TOCAnonFTPAndSendSources">I
    want to make binaries available for anonymous FTP, but send sources
    only to people who order them.</a></li>

    <li><a href="#HowCanIMakeSureEachDownloadGetsSource"
    name="TOCHowCanIMakeSureEachDownloadGetsSource">How
    id="TOCHowCanIMakeSureEachDownloadGetsSource">How can I make sure
    each user who downloads the binaries also gets the source?</a></li>

    <li><a href="#ReleaseNotOriginal" name="TOCReleaseNotOriginal"> id="TOCReleaseNotOriginal"> Can
    I release a program with a license which says that you can distribute
    modified versions of it under the GPL but you can't distribute the 
    original itself under the GPL?</a></li>

    <li><a href="#UnreleasedMods" name="TOCUnreleasedMods"> id="TOCUnreleasedMods">  A company
    is running a modified version of a GPL'ed program on a web site.
    Does the GPL say they must release their modified sources?</a></li>

    <li><a href="#InternalDistribution"
    name="TOCInternalDistribution">
    id="TOCInternalDistribution"> Is use within one organization or
    company “distribution”?</a></li>

    <li><a href="#StolenCopy" name="TOCStolenCopy"> id="TOCStolenCopy">
    If someone steals a CD containing a version of a GPL-covered
    program, does the GPL give him the right to redistribute that
    version?</a></li>

    <li><a href="#TradeSecretRelease" name="TOCTradeSecretRelease"> id="TOCTradeSecretRelease">
    What if a company distributes a copy of some other developers'
    GPL-covered work to me as a trade secret?</a></li>

    <li><a href="#TradeSecretRelease2" id="TOCTradeSecretRelease2">
    What if a company distributes a copy of its own GPL-covered work to
    me as a trade secret?</a></li>

    <li><a href="#DistributeSubsidiary" name="TOCDistributeSubsidiary"> id="TOCDistributeSubsidiary"> 
    Does moving a copy to a majority-owned, and controlled, subsidiary
    constitute distribution?</a></li>
    
    <li><a href="#ClickThrough" name="TOCClickThrough"> id="TOCClickThrough"> Can software
    installers ask people to click to agree to the GPL?  If I get some
    software under the GPL, do I have to agree to anything?</a></li>

    <li><a href="#GPLCompatInstaller" name="TOCGPLCompatInstaller">I id="TOCGPLCompatInstaller">I would
    like to bundle GPLed software with some sort of installation software.
    Does that installer need to have a GPL-compatible license?</a></li>

  </ul>

  <h4>Using

  <h4 id="using-programs">Using programs released under the GPL when writing other
  programs</h4>

  <ul>

    <li><a href="#CanIUseGPLToolsForNF" name="TOCCanIUseGPLToolsForNF">Can id="TOCCanIUseGPLToolsForNF">Can
    I use GPL-covered editors such as GNU Emacs to develop nonfree
    programs?  Can I use GPL-covered tools such as GCC to compile
    them?</a></li>
  
    <li><a href="#GPLOutput" name="TOCGPLOutput">Is id="TOCGPLOutput">Is there some way that I
    can GPL the output people get from use of my program?  For example, if
    my program is used to develop hardware designs, can I require that
    these designs must be free?</a></li>
  
    <li><a href="#WhatCaseIsOutputGPL" name="TOCWhatCaseIsOutputGPL">In id="TOCWhatCaseIsOutputGPL">In
    what cases is the output of a GPL program covered by the GPL too?</a></li>

    <li><a href="#PortProgramToGPL" name="TOCPortProgramToGPL">If id="TOCPortProgramToGPL">If I port my
    program to GNU/Linux, does that mean I have to release it as Free
    Software under the GPL or some other Free Software license?</a></li>
  
    <li><a href="#LibGCCException" name="TOCLibGCCException">Does id="TOCLibGCCException">Does the
    libstdc++ exception permit dynamic linking?</a></li>
  
  </ul>

  <h4>Combining

  <h4 id="combining">Combining work with code released under the GPL</h4>

  <ul>

    <li><a href="#MereAggregation" name="TOCMereAggregation">What id="TOCMereAggregation">What is
    the difference between “mere aggregation” and
    “combining two modules into one program”?</a></li>
  
    <li><a href="#GPLFairUse" name="TOCGPLFairUse">Do id="TOCGPLFairUse">Do I have
    “fair use” rights in using the source code of a
    GPL-covered program?</a></li>

    <li><a href="#GPLUSGovAdd" name="TOCGPLUSGovAdd">Can id="TOCGPLUSGovAdd">Can the US Government
    release improvements to a GPL-covered program?</a></li>

    <li><a href="#IfLibraryIsGPL" name="TOCIfLibraryIsGPL">If id="TOCIfLibraryIsGPL">If a library is
    released under the GPL (not the LGPL), does that mean that any program
    which uses it has to be under the GPL?</a></li>
  
    <li><a href="#LinkingWithGPL" name="TOCLinkingWithGPL">You id="TOCLinkingWithGPL">You have a
    GPL'ed program that I'd like to link with my code to build a
    proprietary program.  Does the fact that I link with your program mean
    I have to GPL my program?</a></li>
  
    <li><a href="#SwitchToLGPL" name="TOCSwitchToLGPL">If id="TOCSwitchToLGPL">If so, is there any
    chance I could get a license of your program under the Lesser GPL?</a></li>
  
    <li><a href="#WillYouMakeAnException"
    name="TOCWillYouMakeAnException">Using a certain GNU program under the
    GPL does not fit our project to make proprietary software.  Will you
    make an exception for us?  It would mean more users of that
    program.</a></li>
  
    <li><a href="#IfInterpreterIsGPL" name="TOCIfInterpreterIsGPL">If id="TOCIfInterpreterIsGPL">If a
    programming language interpreter is released under the GPL, does that
    mean programs written to be interpreted by it must be under
    GPL-compatible licenses?</a></li>
  
    <li><a href="#InterpreterIncompat" name="TOCInterpreterIncompat">If id="TOCInterpreterIncompat">If a
    programming language interpreter has a license that is incompatible
    with the GPL, can I run GPL-covered programs on it?</a></li>
  
    <li><a href="#GPLModuleLicense" name="TOCGPLModuleLicense">If id="TOCGPLModuleLicense">If I add a
    module to a GPL-covered program, do I have to use the GPL as the
    license for my module?</a></li>

    <li><a href="#GPLPlugins" name="TOCGPLPlugins"> id="TOCGPLPlugins">
    When are a program and its plug-ins
    considered a single combined program?</a></li>
  
    <li><a href="#GPLAndPlugins" name="TOCGPLAndPlugins">If id="TOCGPLAndPlugins">If a program
    released under the GPL uses plug-ins, what are the requirements for
    the licenses of a plug-in?</a></li>
  
    <li><a href="#GPLPluginsInNF" name="TOCGPLPluginsInNF">Can id="TOCGPLPluginsInNF">Can I apply the
    GPL when writing a plug-in for a nonfree program?</a></li>

    <li><a href="#NFUseGPLPlugins" name="TOCNFUseGPLPlugins">Can id="TOCNFUseGPLPlugins">Can I
    release a nonfree program that's designed to load a GPL-covered
    plug-in?</a></li>
  
    <li><a href="#GPLInProprietarySystem"
    name="TOCGPLInProprietarySystem">I'd
    id="TOCGPLInProprietarySystem">I'd like to incorporate GPL-covered
    software in my proprietary system.  Can I do this?</a></li>

    <li><a href="#WillYouMakeAnException"
    id="TOCWillYouMakeAnException">Using a certain GNU program under the
    GPL does not fit our project to make proprietary software.  Will you
    make an exception for us?  It would mean more users of that
    program.</a></li>

    <li><a href="#GPLWrapper" name="TOCGPLWrapper">I'd id="TOCGPLWrapper">I'd like to
    incorporate GPL-covered software in my proprietary system.  Can I
    do this by putting a “wrapper” module, under a
    GPL-compatible lax permissive license (such as the X11 license) in
    between the GPL-covered part and the proprietary part?</a></li>
  
    <li><a href="#FSWithNFLibs" name="TOCFSWithNFLibs"> id="TOCFSWithNFLibs"> Can I write
    free software that uses nonfree libraries?</a></li>

    <li><a href="#GPLIncompatibleLibs" name="TOCGPLIncompatibleLibs"> id="TOCGPLIncompatibleLibs">
    What legal issues come up if I use GPL-incompatible libraries with
    GPL software?</a></li>
  
    <li><a href="#WindowsRuntimeAndGPL" name="TOCWindowsRuntimeAndGPL">I'm id="TOCWindowsRuntimeAndGPL">I'm
    writing a Windows application with Microsoft Visual C++ and I will be
    releasing it under the GPL.  Is dynamically linking my program with
    the Visual C++ run-time library permitted under the GPL?</a></li>
  
    <li><a href="#MoneyGuzzlerInc" name="TOCMoneyGuzzlerInc">I'd id="TOCMoneyGuzzlerInc">I'd like
    to modify GPL-covered programs and link them with the portability
    libraries from Money Guzzler Inc.  I cannot distribute the source
    code for these libraries, so any user who wanted to change these
    versions would have to obtain those libraries separately.  Why
    doesn't the GPL permit this?</a></li>
  
    <li><a href="#GPLIncompatibleAlone" name="TOCGPLIncompatibleAlone">If id="TOCGPLIncompatibleAlone">If
    license for a module Q has a requirement that's incompatible with the
    GPL, but the requirement applies only when Q is distributed by itself,
    not when Q is included in a larger program, does that make the license
    GPL-compatible?  Can I combine or link Q with a GPL-covered
    program?</a></li>

    <li><a href="#OOPLang" name="TOCOOPLang"> id="TOCOOPLang"> In an object-oriented
    language such as Java, if I use a class that is GPL'ed without
    modifying, and subclass it, in what way does the GPL affect the larger
    program?</a></li>
  
    <li><a href="#LinkingOverControlledInterface"
    name="TOCLinkingOverControlledInterface">How
    id="TOCLinkingOverControlledInterface">How can I allow linking of
    proprietary modules with my GPL-covered library under a controlled
    interface only?</a></li>
  
    <li><a href="#Consider" name="TOCConsider">Consider id="TOCConsider">Consider this situation:
		1. X releases V1 of a project under the GPL.
		2. Y contributes to the development of V2 with changes and new code based on V1.
		3. X wants to convert V2 to a non-GPL license.  Does X need Y's permission?</a></li>
  
    <li><a href="#ManyDifferentLicenses" name="TOCManyDifferentLicenses">I id="TOCManyDifferentLicenses">I
    have written an application that links with many different components,
    that have different licenses.  I am very confused as to what licensing
    requirements are placed on my program.  Can you please tell me what
    licenses I may use?</a></li>
  
  </ul>

  <h4>Questions

  <h4 id="violations">Questions about violations of the GPL</h4>

  <ul>

    <li><a href="#ReportingViolation" name="TOCReportingViolation">What id="TOCReportingViolation">What
    should I do if I discover a possible violation of the GPL?</a></li>

    <li><a href="#WhoHasThePower" name="TOCWhoHasThePower">Who id="TOCWhoHasThePower">Who has the
    power to enforce the GPL?</a></li>
  
    <li><a href="#HeardOtherLicense" name="TOCHeardOtherLicense">I id="TOCHeardOtherLicense">I heard
    that someone got a copy of a GPL'ed program under another license.  Is
    this possible?</a></li>
  
    <li><a href="#DeveloperViolate" name="TOCDeveloperViolate">Is id="TOCDeveloperViolate">Is the
    developer of a GPL-covered program bound by the GPL?  Could the
    developer's actions ever be a violation of the GPL?</a></li>
  
    <li><a href="#CompanyGPLCostsMoney" name="TOCCompanyGPLCostsMoney"> id="TOCCompanyGPLCostsMoney">  I
    just found out that a company has a copy of a GPL'ed program, and it
    costs money to get it.  Aren't they violating the GPL by not making it   
    available on the Internet?</a></li>

  </ul>

<hr class="no-display" />

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

<dl class="article reduced-width">

<dt><b><a href="#TOCWhatDoesGPLStandFor"
name="WhatDoesGPLStandFor">What
id="WhatDoesGPLStandFor">What does “GPL” stand
for?</a></b></dt>

<dd>“GPL” stands for “General Public License”.
The most widespread such license is the GNU General Public License, or
GNU GPL for short.  This can be further shortened to
“GPL”, when it is understood that the GNU GPL is the one
intended.
</dd>

<dt><b><a href="#TOCDoesFreeSoftwareMeanUsingTheGPL" name="DoesFreeSoftwareMeanUsingTheGPL"> id="DoesFreeSoftwareMeanUsingTheGPL">
Does free software mean using the GPL?</a></b></dt>

<dd>
Not at all—there are many other free software licenses.  We have an
<a href="/licenses/license-list.html"> incomplete
list</a>.  Any license that provides the user <a
href="/philosophy/free-sw.html">certain specific
freedoms</a> is a free software license.
</dd>

<dt><b><a href="#TOCWhyUseGPL" name="WhyUseGPL"> id="WhyUseGPL">
Why should I use the GNU GPL rather than other free software licenses?</a></b></dt>

<dd>
Using the GNU GPL will require that all the <a
href="/philosophy/pragmatic.html">released improved versions be free
software</a>.  This means you can avoid the risk of having to compete
with a proprietary modified version of your own work.  However, in
some special situations it can be better to use a
<a href="/licenses/why-not-lgpl.html"> more permissive license</a>.
</dd>

<dt><b><a href="#TOCDoesAllGNUSoftwareUseTheGNUGPLAsItsLicense" name="DoesAllGNUSoftwareUseTheGNUGPLAsItsLicense"> id="DoesAllGNUSoftwareUseTheGNUGPLAsItsLicense">
Does all GNU software use the GNU GPL as its license?</a></b></dt>

<dd>
Most GNU software packages use the GNU GPL, but there are a few
GNU programs (and parts of programs) that use looser licenses, such as the
Lesser GPL.  When we do this, it is a matter of <a
href="/licenses/why-not-lgpl.html"> strategy</a>.
</dd>

<dt><b><a href="#TOCDoesUsingTheGPLForAProgramMakeItGNUSoftware" name="DoesUsingTheGPLForAProgramMakeItGNUSoftware"> id="DoesUsingTheGPLForAProgramMakeItGNUSoftware">
Does using the GPL for a program make it GNU software?</a></b></dt>

<dd>
Anyone can release a program under the GNU GPL but that does not
make it a GNU package.
<p>
Making the program a GNU software package means explicitly
contributing to the GNU Project.  This happens when the program's
developers and the GNU Project agree to do it.  If you are interested
in contributing a program to the GNU Project, please write to
<a href="mailto:maintainers@gnu.org"><maintainers@gnu.org></a>.
</p></dd>

<dt><b><a href="#TOCReportingViolation" name="ReportingViolation"> id="ReportingViolation">
What should I do if I discover a possible violation of the GPL?</a></b></dt>

<dd>
You should <a href="/licenses/gpl-violation.html">report it</a>.
First, check the facts as best you can.  Then tell the publisher or
copyright holder of the specific GPL-covered program.  If that is the
Free Software Foundation, write to <a
href="mailto:license-violation@gnu.org"><license-violation@gnu.org></a>.  
Otherwise, the program's maintainer may be the copyright holder, or
else could tell you how to contact the copyright holder, so report it
to the maintainer.
</dd>

<dt><b><a href="#TOCWhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions" name="WhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions"> id="WhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions">
Why does the GPL permit users to publish their modified versions?</a></b></dt>

<dd>
A crucial aspect of free software is that users are free to cooperate.
It is absolutely essential to permit users who wish to help each other
to share their bug fixes and improvements with other users.
<p>
Some have proposed alternatives to the GPL that require modified
versions to go through the original author.  As long as the original
author keeps up with the need for maintenance, this may work well in
practice, but if the author stops (more or less) to do something else
or does not attend to all the users' needs, this scheme falls down.
Aside from the practical problems, this scheme does not allow users to
help each other.</p>
<p>
Sometimes control over modified versions is proposed as a means of
preventing confusion between various versions made by users.  In our
experience, this confusion is not a major problem.  Many versions of
Emacs have been made outside the GNU Project, but users can tell them
apart.  The GPL requires the maker of a version to place his or her
name on it, to distinguish it from other versions and to protect the
reputations of other maintainers.
</p></dd>

<dt><b><a href="#TOCGPLRequireSourcePostedPublic"
        name="GPLRequireSourcePostedPublic">
        id="GPLRequireSourcePostedPublic">
        Does the GPL require that source code of modified versions be
        posted to the public?</a></b></dt>

<dd>
The GPL does not require you to release your modified version.  You are
free to make modifications and use them privately, without ever
releasing them.  This applies to organizations (including companies),
too; an organization can make a modified version and use it internally
without ever releasing it outside the organization.
<p>
But <em>if</em> you release the modified version to the public in some
way, the GPL requires you to make the modified source code available
to the program's users, under the GPL.</p>
<p>
Thus, the GPL gives permission to release the modified program in
certain ways, and not in other ways; but the decision of whether to
release it is up to you.
</p></dd>

<dt><b><a href="#TOCGPLAndNonfreeOnSameMachine" name="GPLAndNonfreeOnSameMachine"> id="GPLAndNonfreeOnSameMachine">
        Can I have a GPL-covered program and an unrelated nonfree program on the same computer?</a></b></dt>
<dd>
Yes.  The “mere aggregation” clause in the GPL makes this
permission explicit, but that only reinforces what we believe would be
true anyway.
</dd>

<dt><b><a href="#TOCCanIDemandACopy" name="CanIDemandACopy">If id="CanIDemandACopy">If I know
    someone has a copy of a GPL-covered program, can I demand he give
    me a copy?</a></b></dt>

<dd>
No.  The GPL gives him permission to make and redistribute copies of
the program <em>if and when he chooses to do so</em>.  He also has the
right not to redistribute the program, when that is what he
chooses.</dd>

<dt><b><a href="#TOCWhatDoesWrittenOfferValid"
        name="WhatDoesWrittenOfferValid">
        id="WhatDoesWrittenOfferValid"> What does this
        “written offer valid for any third party” mean?
        Does that mean everyone in the world can get the source to any
        GPL'ed program no matter what?</a></b></dt>

<dd>
<p>If you choose to provide source through a written offer, then anybody
who requests the source from you is entitled to receive it.</p>
<p>
If you commercially distribute binaries not accompanied with source
code, the GPL says you must provide a written offer to distribute the
source code later.  When users non-commercially redistribute the
binaries they received from you, they must pass along a copy of this
written offer.  This means that people who did not get the binaries
directly from you can still receive copies of the source code, along with
the written offer.</p>
<p>
The reason we require the offer to be valid for any third party
is so that people who receive the binaries indirectly in that way
can order the source code from you.
</p></dd>

<dt><b><a href="#TOCTheGPLSaysModifiedVersions"
        name="TheGPLSaysModifiedVersions">The
        id="TheGPLSaysModifiedVersions">The GPL says that modified
        versions, if released, must be “licensed … to all
        third parties.” Who are these third
        parties?</a></b></dt>

<dd>
Section 2 says that modified versions you distribute must be licensed
to all third parties under the GPL.  “All third parties”
means absolutely everyone—but this does not require you
to <strong>do</strong> anything physically for them.  It only means
they have a license from you, under the GPL, for your version.
</dd>

<dt><b><a href="#TOCRequiredToClaimCopyright"
        name="RequiredToClaimCopyright">Am
        id="RequiredToClaimCopyright">Am I required to claim a copyright
        on my modifications to a GPL-covered program?</a></b></dt>

<dd>
You are not required to claim a copyright on your changes.  In most
countries, however, that happens automatically by default, so you need to
place your changes explicitly in the public domain if you do not want them
to be copyrighted.
<p>
Whether you claim a copyright on your changes or not, either way you
must release the modified version, as a whole, under the GPL. (<a
href="#GPLRequireSourcePostedPublic">if you release your modified
version at all</a>)
</p></dd>


<dt><b><a href="#TOCCombinePublicDomainWithGPL"
        name="CombinePublicDomainWithGPL">If
        id="CombinePublicDomainWithGPL">If a program combines
        public-domain code with GPL-covered code, can I take the
        public-domain part and use it as public domain code?</a></b></dt>

<dd>
You can do that, if you can figure out which part is the public domain
part and separate it from the rest.  If code was put in the public
domain by its developer, it is in the public domain no matter where it
has been.
</dd>

<dt><b><a href="#TOCDoesTheGPLAllowMoney" name="DoesTheGPLAllowMoney"> id="DoesTheGPLAllowMoney">
        Does the GPL allow me to sell copies of the program for money?</a></b></dt>

<dd>
Yes, the GPL allows everyone to do this.  The <a
href="/philosophy/selling.html"> right to sell copies </a> is part of
the definition of free software.  Except in one special situation,
there is no limit on what price you can charge.  (The one exception is
the required written offer to provide source code that must accompany
binary-only release.)
</dd>

<dt><b><a href="#TOCDoesTheGPLAllowDownloadFee" name="DoesTheGPLAllowDownloadFee"> id="DoesTheGPLAllowDownloadFee">
	Does the GPL allow me to
	charge a fee for downloading the program from my distribution site?</a></b></dt>

<dd>
Yes.  You can charge any fee you wish for distributing a copy of the
program.  If you distribute binaries by download, you must provide
“equivalent access” to download the
source—therefore, the fee to download source may not be greater
than the fee to download the binary.
</dd>

<dt><b><a href="#TOCDoesTheGPLAllowRequireFee" name="DoesTheGPLAllowRequireFee"> id="DoesTheGPLAllowRequireFee">
        Does the GPL allow me to require that anyone who receives the software
        must pay me a fee and/or notify me?</a></b></dt>

<dd>
No.  In fact, a requirement like that would make the program nonfree.
If people have to pay when they get a copy of a program, or if they
have to notify anyone in particular, then the program is not free.
See the <a href="/philosophy/free-sw.html">
definition of free software</a>.
<p>
The GPL is a free software license, and therefore it permits people
to use and even redistribute the software without being required to
pay anyone a fee for doing so.</p>

<p>You <em>can</em> charge people a fee
to <a href="#DoesTheGPLAllowMoney">get a copy <em>from you</em></a>.
You can't require people to pay you when they get a copy <em>from
someone else</em>.</p></dd>

<dt><b><a href="#TOCDoesTheGPLRequireAvailabilityToPublic"
  name="DoesTheGPLRequireAvailabilityToPublic">If
  id="DoesTheGPLRequireAvailabilityToPublic">If I
  distribute GPL'd software for a fee, am I required to also make
  it available to the public without a charge?</a></b></dt>

<dd>
No.  However, if someone pays your fee and gets a copy, the GPL gives
them the freedom to release it to the public, with or without a fee.
For example, someone could pay your fee, and then put her copy on a
web site for the general public.
</dd>

<dt><b><a href="#TOCDoesTheGPLAllowNDA" name="DoesTheGPLAllowNDA"> id="DoesTheGPLAllowNDA">
  Does the GPL allow me to distribute copies under a
  nondisclosure agreement?</a></b></dt>

<dd>
No.  The GPL says that anyone who receives a copy from you has the
right to redistribute copies, modified or not.  You are not allowed to
distribute the work on any more restrictive basis.
<p>If someone asks you to sign an NDA for receiving GPL-covered software
copyrighted by the FSF, please inform us immediately by writing to
<a href="mailto:license-violation@fsf.org">license-violation@fsf.org</a>.</p>
<p>
If the violation involves GPL-covered code that has some other copyright
holder, please inform that copyright holder, just as you would
for any other kind of violation of the GPL.
</p></dd>


<dt><b><a href="#TOCDoesTheGPLAllowModNDA" name="DoesTheGPLAllowModNDA"> id="DoesTheGPLAllowModNDA">
  Does the GPL allow me to distribute a modified or beta version under a
  nondisclosure agreement?</a></b></dt>

<dd>
No.  The GPL says that your modified versions must carry all the
freedoms stated in the GPL.  Thus, anyone who receives a copy of your
version from you has the right to redistribute copies (modified or
not) of that version.  You may not distribute any version of the work
on a more restrictive basis.
</dd>

<dt><b><a href="#TOCDevelopChangesUnderNDA" name="DevelopChangesUnderNDA"> id="DevelopChangesUnderNDA">
  Does the GPL allow me to develop a modified version under a
  nondisclosure agreement?</a></b></dt>

<dd>
Yes.  For instance, you can accept a contract to develop changes and
agree not to release <em>your changes</em> until the client says ok.
This is permitted because in this case no GPL-covered code is
being distributed under an NDA.
<p>
You can also release your changes to the client under the GPL, but
agree not to release them to anyone else unless the client says ok.  In
this case, too, no GPL-covered code is being distributed under an NDA,
or under any additional restrictions.</p>
<p>
The GPL would give the client the right to redistribute your version.
In this scenario, the client will probably choose not to exercise that right,
but does <em>have</em> the right.
</p></dd>

<dt><b><a href="#TOCIWantCredit" name="IWantCredit">I id="IWantCredit">I want to get credit
        for my work.  I want people to know what I wrote.  Can I still get
        credit if I use the GPL?</a></b></dt>

<dd>
You can certainly get credit for the work.  Part of releasing a
program under the GPL is writing a copyright notice in your own name
(assuming you are the copyright holder).  The GPL requires all copies
to carry an appropriate copyright notice.
</dd>

<dt><b><a href="#TOCWhyMustIInclude" name="WhyMustIInclude">Why id="WhyMustIInclude">Why does the GPL
        require including a copy of the GPL with every copy of the program?</a></b></dt>

<dd>
Including a copy of the license with the work is vital so that
everyone who gets a copy of the program can know what his rights are.
<p>
It might be tempting to include a URL that refers to the license,
instead of the license itself.  But you cannot be sure that the URL
will still be valid, five years or ten years from now.  Twenty years
from now, URLs as we know them today may no longer exist.</p>
<p>
The only way to make sure that people who have copies of the program
will continue to be able to see the license, despite all the changes
that will happen in the network, is to include a copy of the license in
the program.
</p></dd>

<dt><b><a href="#TOCWhatIfWorkIsShort" name="WhatIfWorkIsShort">What id="WhatIfWorkIsShort">What
        if the work is not much longer than the license itself?</a></b></dt>

<dd>
If a single program is that short, you may as well use a simple
all-permissive license for it, rather than the GNU GPL.
</dd>

<dt><b><a href="#TOCGPLOmitPreamble"
        name="GPLOmitPreamble">
        id="GPLOmitPreamble">
        Can I omit the preamble of the GPL, or the instructions
        for how to use it on your own programs, to save space?</a></b></dt>
<dd>
The preamble and instructions are integral parts of the GNU GPL and
may not be omitted.  In fact, the GPL is copyrighted, and its license
permits only verbatim copying of the entire GPL.  (You can use the
legal terms to make <a href="#ModifyGPL">another license</a> but it
won't be the GNU GPL.)
<p>
The preamble and instructions add up to some 5000 characters, less
than 1/3 of the GPL's total size.  They will not make a substantial
fractional change in the size of a software package unless the package
itself is quite small.  In that case, you may as well use a simple
all-permissive license rather than the GNU GPL.
</p></dd>

<dt><b><a href="#TOCWhatIsCompatible" name="WhatIsCompatible">What id="WhatIsCompatible">What
        does it mean to say that two licenses are
        “compatible”?</a></b></dt>

<dd>
In order to combine two programs (or substantial parts of them) into a
larger work, you need to have permission to use both programs in this
way.  If the two programs' licenses permit this, they are compatible.
If there is no way to satisfy both licenses at once, they are
incompatible.
<p>
For some licenses, the way in which the combination is made may affect
whether they are compatible—for instance, they may allow linking
two modules together, but not allow merging their code into one
module.</p>
<p>
Just to install two separate programs in the same system,
it is not necessary that their licenses be compatible,
because this does not combine them into a larger work.</p>
</dd>

<dt><b><a href="#TOCWhatDoesCompatMean" name="WhatDoesCompatMean">What id="WhatDoesCompatMean">What
does it mean to say a license is “compatible with the
GPL”.</a></b></dt>

<dd>
It means that the other license and the GNU GPL are compatible;
you can combine code released under the other license with code
released under the GNU GPL in one larger program.
<p>
The GPL permits such a combination provided it is released under the
GNU GPL.  The other license is compatible with the GPL if it permits
this too.
</p></dd>


<dt><b><a href="#TOCFSWithNFLibs" name="FSWithNFLibs">Can id="FSWithNFLibs">Can I write
free software that uses nonfree libraries?</a></b></dt>

<dd>
If you do this, your program won't be fully usable in a free
environment. If your program depends on a nonfree library to do a
certain job, it cannot do that job in the Free World. If it depends on a
nonfree library to run at all, it cannot be part of a free operating
system such as GNU; it is entirely off limits to the Free World.
<p>
So please consider: can you find a way to get the job done without using
this library? Can you write a free replacement for that library?</p>
<p>
If the program is already written using the nonfree library, perhaps it
is too late to change the decision. You may as well release the program
as it stands, rather than not release it. But please mention in the
README that the need for the nonfree library is a drawback, and suggest
the task of changing the program so that it does the same job without
the nonfree library.  Please suggest that anyone who thinks of doing
substantial further work on the program first free it from dependence
on the nonfree library.</p>
<p>
Note that there may also be legal issues with combining certain nonfree
libraries with GPL-covered Free Software.  Please see <a
href="#GPLIncompatibleLibs">the question on GPL software with
GPL-incompatible libraries</a> for more information.
</p></dd>


<dt><b><a href="#TOCGPLIncompatibleLibs" name="GPLIncompatibleLibs">What id="GPLIncompatibleLibs">What
legal issues come up if I use GPL-incompatible libraries with GPL
software?</a></b></dt>

<dd>
If the libraries that you link with fall within the following exception
in the GPL:
<blockquote><p>
<blockquote class="emph-box"><p>
     However, as a special exception, the source code distributed need not
     include anything that is normally distributed (in either source or
     binary form) with the major components (compiler, kernel, and so on) of
     the operating system on which the executable runs, unless that
     component itself accompanies the executable.
</p></blockquote>
<p>
then you don't have to do anything special to use them; the requirement
to distribute source code for the whole program does not include those
libraries, even if you distribute a linked executable containing them.
Thus, if the libraries you need come with major parts of a proprietary
operating system, the GPL says people can link your program with them
without any conditions.
</p><p>       
If you want your program to link against a library not covered by that
exception, you need to add your own exception, wholly outside of the
GPL. This copyright notice and license notice give permission to link
with the program FOO:</p>

<blockquote><p>

<blockquote class="emph-box"><p>      
   Copyright (C) yyyy  <name of copyright holder>
</p><p>
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
</p><p>
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
</p><p>
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA see
    <<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>>.
</p>
 
<p>Linking ABC statically or dynamically with other modules is making
a combined work based on ABC.  Thus, the terms and conditions of
the GNU General Public License cover the whole combination.</p>

<p>In addition, as a special exception, the copyright holders of ABC give
you permission to combine ABC program with free software programs or
libraries that are released under the GNU LGPL and with code included
in the standard release of DEF under the XYZ license (or modified
versions of such code, with unchanged license).  You may copy and
distribute such a system following the terms of the GNU GPL for ABC
and the licenses of the other code concerned, provided that you
include the source code of that other code when and as the GNU GPL
requires distribution of source code.</p>

<p>Note that people who make modified versions of ABC are not obligated
to grant this special exception for their modified versions; it is
their choice whether to do so.  The GNU General Public License gives
permission to release a modified version without this exception; this
exception also makes it possible to release a modified version which
carries forward this exception.</p>
</blockquote>

<p>
You should put this text in each file to which the exception applies.
</p><p>
Only the copyright holders for the program can legally authorize this
exception. If you wrote the whole program yourself, then assuming your
employer or school does not claim the copyright, you are the copyright
holder—so you can authorize the exception. But if you want to
use parts of other GPL-covered programs by other authors in your code,
you cannot authorize the exception for them. You have to get the
approval of the copyright holders of those programs.
</p><p>
When other people modify the program, they do not have to make the same
exception for their code—it is their choice whether to do so.
</p><p>
If the libraries you intend to link with are nonfree, please also see
<a href="#FSWithNFLibs">the section on writing Free Software which
uses nonfree libraries</a>.
</p></dd>

<dt><b><a href="#TOCHowIGetCopyright" name="HowIGetCopyright">How id="HowIGetCopyright">How do I
  get a copyright on my program in order to release it under the
  GPL?</a></b></dt>

<dd>
Under the Berne Convention, everything written is automatically
copyrighted from whenever it is put in fixed form.  So you don't have
to do anything to “get” the copyright on what you
write—as long as nobody else can claim to own your work.
<p>
However, registering the copyright in the US is a very good idea.  It
will give you more clout in dealing with an infringer in the US.</p>
<p>
The case when someone else might possibly claim the copyright is if
you are an employee or student; then the employer or the school might
claim you did the job for them and that the copyright belongs to them.
Whether they would have a valid claim would depend on circumstances
such as the laws of the place where you live, and on your employment
contract and what sort of work you do.  It is best to consult a lawyer
if there is any possible doubt.</p>
<p>
If you think that the employer or school might have a claim, you can
resolve the problem clearly by getting a copyright disclaimer signed
by a suitably authorized officer of the company or school.  (Your
immediate boss or a professor is usually NOT authorized to sign such a
disclaimer.)
</p></dd>

<dt><b><a href="#TOCWhatIfSchool" name="WhatIfSchool">What id="WhatIfSchool">What if my school
  might want to make my program into its own proprietary software
  product?</a></b></dt>

<dd>
Many universities nowadays try to raise funds by restricting the use
of the knowledge and information they develop, in effect behaving
little different from commercial businesses.  (See “The Kept
University”, Atlantic Monthly, March 2000, for a general
discussion of this problem and its effects.)
<p>
If you see any chance that your school might refuse to allow your
program to be released as free software, it is best to raise the issue
at the earliest possible stage.  The closer the program is to working
usefully, the more temptation the administration might feel to take it
from you and finish it without you.  At an earlier stage, you have
more leverage.</p>
<p>
So we recommend that you approach them when the program is only
half-done, saying, “If you will agree to releasing this as free
software, I will finish it.” Don't think of this as a bluff.  To
prevail, you must have the courage to say, “My program will have
liberty, or never be born.”
</p></dd>

<dt><b><a href="#TOCCouldYouHelpApplyGPL" name="CouldYouHelpApplyGPL">Could id="CouldYouHelpApplyGPL">Could
  you give me step by step instructions on how to apply the GPL to my
  program?</a></b></dt>

<dd>
See the page of <a href="/licenses/gpl-howto.html">
GPL instructions</a>.
</dd>

<dt><b><a href="#TOCHeardOtherLicense" name="HeardOtherLicense">I id="HeardOtherLicense">I heard
  that someone got a copy of a GPL'ed program under another license.  Is
  this possible?</a></b></dt>

<dd>
The GNU GPL does not give users permission to attach other licenses to
the program.  But the copyright holder for a program can release it
under several different licenses in parallel.  One of them may be the
GNU GPL.
<p>
The license that comes in your copy, assuming it was put in by the
copyright holder and that you got the copy legitimately, is the
license that applies to your copy.
</p></dd>

<dt><b><a href="#TOCReleaseUnderGPLAndNF" name="ReleaseUnderGPLAndNF">I id="ReleaseUnderGPLAndNF">I
  would like to release a program I wrote under the GNU GPL, but I would
  like to use the same code in nonfree programs.</a></b></dt>

<dd>
To release a nonfree program is always ethically tainted, but legally
there is no obstacle to your doing this.  If you are the copyright
holder for the code, you can release it under various different
non-exclusive licenses at various times.
</dd>

<dt><b><a href="#TOCDeveloperViolate" name="DeveloperViolate">Is id="DeveloperViolate">Is the
  developer of a GPL-covered program bound by the GPL?  Could the
  developer's actions ever be a violation of the GPL?</a></b></dt>

<dd>
Strictly speaking, the GPL is a license from the developer for others
to use, distribute and change the program.  The developer itself is
not bound by it, so no matter what the developer does, this is not
a “violation” of the GPL.
<p>
However, if the developer does something that would violate the GPL if
done by someone else, the developer will surely lose moral standing in
the community.
</p></dd>

<dt><b><a href="#TOCCanDeveloperThirdParty"
  name="CanDeveloperThirdParty">Can
  id="CanDeveloperThirdParty">Can the developer of a program who
  distributed it under the GPL later license it to another party for
  exclusive use?</a></b></dt>

<dd>
No, because the public already has the right to use the program under
the GPL, and this right cannot be withdrawn.
</dd>

<dt><b><a href="#TOCCanIUseGPLToolsForNF"
  name="CanIUseGPLToolsForNF">Can
  id="CanIUseGPLToolsForNF">Can I use GPL-covered editors such as
  GNU Emacs to develop nonfree programs?  Can I use GPL-covered tools
  such as GCC to compile them?</a></b></dt>

<dd>
Yes, because the copyright on the editors and tools does not cover the
code you write.  Using them does not place any restrictions, legally,
on the license you use for your code.
<p>
Some programs copy parts of themselves into the output for technical
reasons—for example, Bison copies a standard parser program into
its output file.  In such cases, the copied text in the output is
covered by the same license that covers it in the source code.
Meanwhile, the part of the output which is derived from the program's
input inherits the copyright status of the input.</p>
<p>
As it happens, Bison can also be used to develop nonfree programs.
This is because we decided to explicitly permit the use of the Bison
standard parser program in Bison output files without restriction.  We
made the decision because there were other tools comparable to Bison
which already permitted use for nonfree programs.
</p></dd>

<dt><b><a href="#TOCGPLFairUse" name="GPLFairUse">Do id="GPLFairUse">Do I have
  “fair use” rights in using the source code of a
  GPL-covered program?</a></b></dt>

<dd>
Yes, you do.  “Fair use” is use that is allowed without
any special permission.  Since you don't need the developers'
permission for such use, you can do it regardless of what the
developers said about it—in the license or elsewhere, whether
that license be the GNU GPL or any other free software license.
<p>
Note, however, that there is no world-wide principle of fair use; what
kinds of use are considered “fair” varies from country to
country.
</p></dd>

<dt><b><a href="#TOCGPLUSGov" name="GPLUSGov">Can id="GPLUSGov">Can the US Government
    release a program under the GNU GPL?</a></b></dt>
<dd>
If the program is written by US federal government employees in the
course of their employment, it is in the public domain, which means it
is not copyrighted.  Since the GNU GPL is based on copyright, such a
program cannot be released under the GNU GPL.  (It can still be <a
href="/philosophy/free-sw.html"> free software</a>, however; a public
domain program is free.)
<p>
However, when a US federal government agency uses contractors to
develop software, that is a different situation.  The contract can
require the contractor to release it under the GNU GPL.  (GNU Ada was
developed in this way.)  Or the contract can assign the copyright to
the government agency, which can then release the software under the
GNU GPL.  </p></dd>

<dt><b><a href="#TOCGPLUSGovAdd" name="GPLUSGovAdd">Can id="GPLUSGovAdd">Can the US Government
    release improvements to a GPL-covered program?</a></b></dt>
<dd>
Yes.  If the improvements are written by US government employees in
the course of their employment, then the improvements are in the
public domain.  However, the improved version, as a whole, is still
covered by the GNU GPL.  There is no problem in this situation.
<p>
If the US government uses contractors to do the job, then the
improvements themselves can be GPL-covered.
</p></dd>

<dt><b><a href="#TOCGPLOutput" name="GPLOutput">Is id="GPLOutput">Is there some way that
  I can GPL the output people get from use of my program?  For example,
  if my program is used to develop hardware designs, can I require that
  these designs must be free?</a></b></dt>

<dd>
In general this is legally impossible; copyright law does not give you
any say in the use of the output people make from their data using
your program.  If the user uses your program to enter or convert his
own data, the copyright on the output belongs to him, not you.  More
generally, when a program translates its input into some other form,
the copyright status of the output inherits that of the input it was
generated from.
<p>
So the only way you have a say in the use of the output is if
substantial parts of the output are copied (more or less) from text in
your program.  For instance, part of the output of Bison (see above)
would be covered by the GNU GPL, if we had not made an exception in
this specific case.</p>
<p>
You could artificially make a program copy certain text into its
output even if there is no technical reason to do so.  But if that
copied text serves no practical purpose, the user could simply delete
that text from the output and use only the rest.  Then he would not
have to obey the conditions on redistribution of the copied text.
</p></dd>

<dt><b><a href="#TOCWhatCaseIsOutputGPL" name="WhatCaseIsOutputGPL">In id="WhatCaseIsOutputGPL">In what cases is the output of a GPL program covered by the GPL too?</a></b></dt>

<dd>
Only when the program copies part of itself into the output.
</dd>

<dt><b><a href="#TOCGPLModuleLicense" name="GPLModuleLicense">If id="GPLModuleLicense">If I add
  a module to a GPL-covered program, do I have to use the GPL as the
  license for my module?</a></b></dt>

<dd>
The GPL says that the whole combined program has to be released under
the GPL.  So your module has to be available for use under the GPL.
<p>
But you can give additional permission for the use of your code.  You
can, if you wish, release your module under a license which is more
lax than the GPL but compatible with the GPL.  The
<a href="/licenses/license-list.html">license
list page</a> gives a partial list of GPL-compatible licenses.
</p></dd>

<dt><b><a href="#TOCIfLibraryIsGPL" name="IfLibraryIsGPL">If id="IfLibraryIsGPL">If a library
  is released under the GPL (not the LGPL), does that mean that any
  program which uses it has to be under the GPL?</a></b></dt>

<dd><p>Yes, because the program actually links to the library. As such, 
the terms of the GPL apply to the entire combination. The software modules
that link with the library may be under various GPL compatible licenses, but the 
work as a whole must be licensed under the GPL. See also:
<a href="#WhatDoesCompatMean">What does it mean to say a license is
“compatible with the GPL”?</a>
</p></dd>

<dt><b><a href="#TOCIfInterpreterIsGPL" name="IfInterpreterIsGPL">If id="IfInterpreterIsGPL">If a
  programming language interpreter is released under the GPL, does that
  mean programs written to be interpreted by it must be under
  GPL-compatible licenses?</a></b></dt>

<dd>
When the interpreter just interprets a language, the answer is no.  The
interpreted program, to the interpreter, is just data; a free software
license like the GPL, based on copyright law, cannot limit what data you
use the interpreter on.  You can run it on any data (interpreted program),
any way you like, and there are no requirements about licensing that data
to anyone.
<p>However, when the interpreter is extended to provide
“bindings” to other facilities (often, but not
necessarily, libraries), the interpreted program is effectively linked
to the facilities it uses through these bindings. So if these
facilities are released under the GPL, the interpreted program that
uses them must be released in a GPL-compatible way.  The JNI or Java
Native Interface is an example of such a binding mechanism; libraries
that are accessed in this way are linked dynamically with the Java
programs that call them.  These libraries are also linked with the
interpreter.  If the interpreter is linked statically with these
libraries, or if it is designed to
<a href="#GPLPluginsInNF"> link dynamically with these specific
libraries</a>, then it too needs to be released in a GPL-compatible
way.</p>
<p>
Another similar and very common case is to provide libraries with the
interpreter which are themselves interpreted.  For instance, Perl
comes with many Perl modules, and a Java implementation comes with
many Java classes.  These libraries and the programs that call them
are always dynamically linked together.</p>
<p>
A consequence is that if you choose to use GPL'd Perl modules or Java
classes in your program, you must release the program in a
GPL-compatible way, regardless of the license used in the Perl or Java
interpreter that the combined Perl or Java program will run on.
</p></dd>

<dt><b><a href="#TOCWindowsRuntimeAndGPL"
  name="WindowsRuntimeAndGPL">I'm
  id="WindowsRuntimeAndGPL">I'm writing a Windows application with
  Microsoft Visual C++ (or Visual Basic) and I will be releasing it
  under the GPL.  Is dynamically linking my program with the Visual
  C++ (or Visual Basic) run-time library permitted under the
  GPL?</a></b></dt>

<dd>
The GPL permits this because that run-time library normally
accompanies the compiler or interpreter you are using.  So it falls
under the exception in GPL section 3.
<p>
That doesn't mean it is a good idea to write the program so that it
only runs on Windows.  Doing so results in a program that is free
software
but <a href="/philosophy/java-trap.html">“trapped”</a> (in
this case, trapped by Windows instead of by Java, but the effect is
the same).  (Historical note: As of December 2006 Sun is in the middle
of <a href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">rereleasing
its Java platform under GNU GPL</a>.)
</p></dd>

<dt><b><a href="#TOCOrigBSD" name="OrigBSD">Why id="OrigBSD">Why is the original BSD
license incompatible with the GPL?</a></b></dt>

<dd>
Because it imposes a specific requirement that is not in the GPL;
namely, the requirement on advertisements of the program.  The GPL
states:
<pre>
<blockquote class="emph-box"><p>
    You may not impose any further restrictions on the recipients' exercise
    of the rights granted herein.
</pre>
</p></blockquote>
<p>
The advertising clause provides just such a further restriction, and thus is
GPL-incompatible.</p>
<p>
The revised BSD license does not have the advertising clause,
which eliminates the problem.
</p></dd>

<dt><b><a href="#TOCGPLPlugins" name="GPLPlugins"> id="GPLPlugins">
When are a program and its plug-ins considered a single combined program?
</a></b></dt>
<dd>
    It depends on how the main program invokes its plug-ins. If the
main program uses fork and exec to invoke plug-ins, and they establish
intimate communication by sharing complex data structures, or shipping
complex data structures back and forth, that can make them one single
combined program. A main program that uses simple fork and exec to
invoke plug-ins and does not establish intimate communication between
them results in the plug-ins being a separate program.
       
<p> If the main program dynamically links plug-ins, and they make
function calls to each other and share data structures, we believe
they form a single combined program, which must be treated as an
extension of both the main program and the plug-ins. If the main
program dynamically links plug-ins, but the communication between them
is limited to invoking the ‘main’ function of the plug-in
with some options and waiting for it to return, that is a borderline
case.</p>

<p>Using shared memory to communicate with complex data structures is
pretty much equivalent to dynamic linking.</p></dd>


<dt><b><a href="#TOCGPLAndPlugins" name="GPLAndPlugins">If id="GPLAndPlugins">If a program
  released under the GPL uses plug-ins, what are the requirements for
  the licenses of a plug-in?</a></b></dt>

<dd>
Please see this question <a href="#GPLPlugins">for determining when
plug-ins and a main program are considered a single combined program
and when they are considered separate works</a>.

<p> If the main program and the plugins are a single combined program then this means
you must license the plug-in under the GPL or a GPL-compatible free
software license and distribute it with source code in a GPL-compliant
way. A main program that is separate from its plug-ins makes no
requirements for the plug-ins. </p></dd>


<dt><b><a href="#TOCGPLPluginsInNF" name="GPLPluginsInNF">Can id="GPLPluginsInNF">Can I apply the
GPL when writing a plug-in for a nonfree program?</a></b></dt>

<dd>
 Please see this question <a href="#GPLPlugins">for determining when
plug-ins and a main program are considered a single combined program
and when they are considered separate programs</a>.
<p> If they form a
single combined program this means that combination of the GPL-covered
plug-in with the nonfree main program would violate the GPL. However,
you can resolve that legal problem by adding an exception to your
plug-in's license, giving permission to link it with the nonfree main
program.</p>

<p>See also the question <a href="#FSWithNFLibs">I am
writing free software that uses a nonfree library.</a></p></dd>


<dt><b><a href="#TOCNFUseGPLPlugins" name="NFUseGPLPlugins">Can id="NFUseGPLPlugins">Can I
release a nonfree program that's designed to load a GPL-covered
plug-in?</a></b></dt>

<dd>
 Please see this question <a href="#GPLPlugins">for determining when
plug-ins and a main program are considered a single combined program
and when they are considered separate programs</a>.
<p>
If they form a single combined program then the
main program must be released under the GPL or a GPL-compatible free
software license, and the terms of the GPL must be followed when
the main program is distributed for use with these plug-ins.</p>
    
<p>However, if they are separate works then the license of the plug-in
makes no requirements about the main program.</p>

<p>See also the question <a href="#FSWithNFLibs">I am
writing free software that uses a nonfree library.</a></p></dd>


<dt><b><a href="#TOCLinkingWithGPL" name="LinkingWithGPL">You id="LinkingWithGPL">You have a
  GPL'ed program that I'd like to link with my code to build a
  proprietary program.  Does the fact that I link with your program mean
  I have to GPL my program?</a></b></dt>

<dd>
Yes.
</dd>

<dt><b><a href="#TOCSwitchToLGPL" name="SwitchToLGPL">If id="SwitchToLGPL">If so, is there
  any chance I could get a license of your program under the Lesser
  GPL?</a></b></dt>

<dd>
You can ask, but most authors will stand firm and say no.
The idea of the GPL is that if you want to include our code in your
program, your program must also be free software.  It is supposed
to put pressure on you to release your program in a way that makes
it part of our community.
<p>
You always have the legal alternative of not using our code.
</p></dd>

<dt><b><a href="#TOCLinkingOverControlledInterface"
  name="LinkingOverControlledInterface">How
  id="LinkingOverControlledInterface">How can I allow linking of
  proprietary modules with my GPL-covered library under a controlled
  interface only?</a></b></dt>

<dd>
Add this text to the license notice of each file in the package, at
the end of the text that says the file is distributed under the GNU
GPL:
<pre>
<blockquote class="emph-box">
<p>
Linking ABC statically or dynamically with other modules is making
a combined work based on ABC.  Thus, the terms and conditions of
the GNU General Public License cover the whole combination.
</p><p>
In addition, as a special exception, the copyright holders of ABC give
you permission to combine ABC program with free software programs or
libraries that are released under the GNU LGPL and with independent
modules that communicate with ABC solely through the ABCDEF interface.
You may copy and distribute such a system following the terms of the
GNU GPL for ABC and the licenses of the other code concerned, provided
that you include the source code of that other code when and as the
GNU GPL requires distribution of source code.
</p><p>
Note that people who make modified versions of ABC are not obligated
to grant this special exception for their modified versions; it is
their choice whether to do so.  The GNU General Public License gives
permission to release a modified version without this exception; this
exception also makes it possible to release a modified version which
carries forward this exception.

</pre>
</p>
</blockquote>
<p>
Only the copyright holders for the program can legally authorize this
exception. If you wrote the whole program yourself, then assuming your
employer or school does not claim the copyright, you are the copyright
holder—so you can authorize the exception. But if you want to
use parts of other GPL-covered programs by other authors in your code,
you cannot authorize the exception for them. You have to get the
approval of the copyright holders of those programs.
</p></dd>

<dt><b><a href="#TOCManyDifferentLicenses"
  name="ManyDifferentLicenses">I
  id="ManyDifferentLicenses">I have written an application that links
  with many different components, that have different licenses.  I am
  very confused as to what licensing requirements are placed on my
  program.  Can you please tell me what licenses I may use?</a></b></dt>

<dd>
To answer this question, we would need to see a list of each component
that your program uses, the license of that component, and a brief (a
few sentences for each should suffice) describing how your library
uses that component.  Two examples would be:
<ul>
<li>To make my software work, it must be linked to the FOO library,
      which is available under the Lesser GPL.</li>
<li>My software makes a system call (with a command line that I built)
      to run the BAR program, which is licensed under “the GPL,
      with a special exception allowing for linking with
      QUUX”.</li>
</ul>
</dd>

<dt><b><a href="#TOCMereAggregation" name="MereAggregation">What id="MereAggregation">What is
  the difference between “mere aggregation” and
  “combining two modules into one program”?</a></b></dt>

<dd>
Mere aggregation of two programs means putting them side by side on
the same CD-ROM or hard disk.  We use this term in the case where they
are separate programs, not parts of a single program.  In this case,
if one of the programs is covered by the GPL, it has no effect on the
other program.
<p>
Combining two modules means connecting them together so that they form
a single larger program.  If either part is covered by the GPL, the
whole combination must also be released under the GPL—if you
can't, or won't, do that, you may not combine them.</p>
<p>
What constitutes combining two parts into one program?  This is a
legal question, which ultimately judges will decide.  We believe that
a proper criterion depends both on the mechanism of communication
(exec, pipes, rpc, function calls within a shared address space, etc.)
and the semantics of the communication (what kinds of information are
interchanged).</p>
<p>
If the modules are included in the same executable file, they are
definitely combined in one program.  If modules are designed to run
linked together in a shared address space, that almost surely means
combining them into one program.</p>
<p>
By contrast, pipes, sockets and command-line arguments are
communication mechanisms normally used between two separate programs.
So when they are used for communication, the modules normally are
separate programs.  But if the semantics of the communication are
intimate enough, exchanging complex internal data structures, that too
could be a basis to consider the two parts as combined into a larger
program.
</p></dd>

<dt><b><a href="#TOCAssignCopyright" name="AssignCopyright">Why id="AssignCopyright">Why does
  the FSF require that contributors to FSF-copyrighted programs assign
  copyright to the FSF?  If I hold copyright on a GPL'ed program, should
  I do this, too?  If so, how?</a></b></dt>

<dd>
Our lawyers have told us that to be in the <a href="/licenses/why-assign.html">best position to enforce
the GPL</a> in court against violators, we should keep the copyright status
of the program as simple as possible.  We do this by asking each contributor
to either assign the copyright on his contribution to the FSF, or disclaim
copyright on it and thus put it in the public domain.
<p>
We also ask individual contributors to get copyright disclaimers from
their employers (if any) so that we can be sure those employers won't
claim to own the contributions.</p>
<p>
Of course, if all the contributors put their code in the public
domain, there is no copyright with which to enforce the GPL.  So we
encourage people to assign copyright on large code contributions, and
only put small changes in the public domain.</p>
<p>
If you want to make an effort to enforce the GPL on your program, it
is probably a good idea for you to follow a similar policy.  Please
contact <a href="mailto:licensing@gnu.org"><licensing@gnu.org></a> if
you want more information.
</p></dd>

<dt><b><a href="#TOCModifyGPL" name="ModifyGPL">Can id="ModifyGPL">Can I modify the GPL
    and make a modified license?</a></b></dt>

<dd>
You can use the GPL terms (possibly modified) in another license
provided that you call your license by another name and do not include
the GPL preamble, and provided you modify the instructions-for-use at
the end enough to make it clearly different in wording and not mention
GNU (though the actual procedure you describe may be similar).
<p>
If you want to use our preamble in a modified license, please write
to <a href="mailto:licensing@gnu.org"><licensing@gnu.org></a>
for permission.  For this purpose we would want to check the actual
license requirements to see if we approve of them.</p>
<p>
Although we will not raise legal objections to your making a modified
license in this way, we hope you will think twice and not do it.  Such
a modified license is almost certainly <a href="#WhatIsCompatible">
incompatible with the GNU GPL</a>, and that incompatibility blocks
useful combinations of modules.  The mere proliferation of different
free software licenses is a burden in and of itself.
</p></dd>

<dt><b><a href="#TOCGPLCommercially" name="GPLCommercially">If id="GPLCommercially">If I use a
  piece of software that has been obtained under the GNU GPL, am I
  allowed to modify the original code into a new program, then
  distribute and sell that new program commercially?</a></b></dt>

<dd>
You are allowed to sell copies of the modified program commercially,
but only under the terms of the GNU GPL.  Thus, for instance, you must
make the source code available to the users of the program as
described in the GPL, and they must be allowed to redistribute and
modify it as described in the GPL.
<p>
These requirements are the condition for including the GPL-covered
code you received in a program of your own.
</p></dd>


<dt><b><a href="#TOCGPLOtherThanSoftware"
name="GPLOtherThanSoftware">Can
id="GPLOtherThanSoftware">Can I use the GPL for something other than
software?</a></b></dt>

<dd>
You can apply the GPL to any kind of work, as long as it is clear what
constitutes the “source code” for the work.  The GPL
defines this as the preferred form of the work for making changes in
it.
<p>
However, for manuals and textbooks, or more generally any sort of work
that is meant to teach a subject, we recommend using the GFDL rather
than the GPL.
</p></dd>


<dt><b><a href="#TOCLGPLJava"
name="LGPLJava">How
id="LGPLJava">How does the LGPL
    work with Java?</a></b></dt>

<dd>

<a href="/licenses/lgpl-java.html">See this article for details.</a>  It works as designed, intended, and expected.
</dd>

<dt><b><a href="#TOCConsider" name="Consider">Consider id="Consider">Consider this situation:
	1. X releases V1 of a project under the GPL.
	2. Y contributes to the development of V2 with changes and new code based on V1.
	3. X wants to convert V2 to a non-GPL license. Does X need Y's permission?</a></b></dt>

<dd> 
Yes.  Y was required to release its version under the GNU GPL, as a
consequence of basing it on X's version V1.  Nothing required Y to
agree to any other license for its code.  Therefore, X must get Y's
permission before releasing that code under another license.
</dd>


<dt><b><a href="#TOCGPLInProprietarySystem"
  name="GPLInProprietarySystem">I'd
  id="GPLInProprietarySystem">I'd like to incorporate GPL-covered
  software in my proprietary system.  Can I do this?</a></b></dt>

<dd>
You cannot incorporate GPL-covered software in a proprietary system.
The goal of the GPL is to grant everyone the freedom to copy,
redistribute, understand, and modify a program.  If you could
incorporate GPL-covered software into a nonfree system, it would have
the effect of making the GPL-covered software nonfree too.
<p>
A system incorporating a GPL-covered program is an extended version of
that program.  The GPL says that any extended version of the program
must be released under the GPL if it is released at all.  This is for
two reasons: to make sure that users who get the software get the
freedom they should have, and to encourage people to give back
improvements that they make.</p>
<p>
However, in many cases you can distribute the GPL-covered software
alongside your proprietary system.  To do this validly, you must make
sure that the free and nonfree programs communicate at arms length,
that they are not combined in a way that would make them
effectively a single program.</p>
<p>
The difference between this and “incorporating” the
GPL-covered software is partly a matter of substance and partly form.
The substantive part is this: if the two programs are combined so that
they become effectively two parts of one program, then you can't treat
them as two separate programs.  So the GPL has to cover the whole
thing.</p>
<p>
If the two programs remain well separated, like the compiler and the
kernel, or like an editor and a shell, then you can treat them as two
separate programs—but you have to do it properly.  The issue is
simply one of form: how you describe what you are doing.  Why do we
care about this?  Because we want to make sure the users clearly
understand the free status of the GPL-covered software in the
collection.</p>
<p>
If people were to distribute GPL-covered software calling it
“part of” a system that users know is partly proprietary,
users might be uncertain of their rights regarding the GPL-covered
software.  But if they know that what they have received is a free
program plus another program, side by side, their rights will be
clear.
</p></dd>

<dt><b><a href="#TOCWillYouMakeAnException"
  id="WillYouMakeAnException">Using a certain GNU program under the
  GPL does not fit our project to make proprietary software.  Will you
  make an exception for us?  It would mean more users of that
  program.</a></b></dt>

<dd>
Sorry, we don't make such exceptions.  It would not be right.
<p>
Maximizing the number of users is not our aim.  Rather, we are trying
to give the crucial freedoms to as many users as possible.  In
general, proprietary software projects hinder rather than help the
cause of freedom.</p>
<p>
We do occasionally make license exceptions to assist a project which
is producing free software under a license other than the GPL.
However, we have to see a good reason why this will advance the cause
of free software.</p>
<p>
We also do sometimes change the distribution terms of a package, when
that seems clearly the right way to serve the cause of free software;
but we are very cautious about this, so you will have to show us very
convincing reasons.
</p></dd>

<dt><b><a href="#TOCGPLWrapper" name="GPLWrapper"> id="GPLWrapper"> I'd like to
incorporate GPL-covered software in my proprietary system.  Can I do
this by putting a “wrapper” module, under a GPL-compatible
lax permissive license (such as the X11 license) in between the
GPL-covered part and the proprietary part?</a></b></dt>

<dd>No.  The X11 license is compatible with the GPL, so you can add
a module to the GPL-covered program and put it under the X11 license.
But if you were to incorporate them both in a larger program, that
whole would include the GPL-covered part, so it would have to be
licensed <em> as a whole </em> under the GNU GPL.

<p>The fact that proprietary module A communicates with GPL-covered
module C only through X11-licensed module B is legally irrelevant;
what matters is the fact that module C is included in the whole.
</p></dd>

<dt><b><a href="#TOCLibGCCException" name="LibGCCException"> id="LibGCCException"> Does the
libstdc++ exception permit dynamic linking?</a></b></dt>

<dd>Yes.  The intent of the exception is to allow people to compile
proprietary software using gcc.</dd>

<dt><b><a href="#TOCMoneyGuzzlerInc" name="MoneyGuzzlerInc">I'd id="MoneyGuzzlerInc">I'd like to
  modify GPL-covered programs and link them with the portability
  libraries from Money Guzzler Inc.  I cannot distribute the source code
  for these libraries, so any user who wanted to change these versions
  would have to obtained those libraries separately.  Why doesn't the
  GPL permit this?</a></b></dt>

<dd>
There are two reasons for this.
<p>
First, a general one.  If we permitted company A to make a proprietary
file, and company B to distribute GPL-covered software linked with
that file, the effect would be to make a hole in the GPL big enough to
drive a truck through.  This would be carte blanche for withholding
the source code for all sorts of modifications and extensions to
GPL-covered software.</p>
<p>
Giving all users access to the source code is one of our main goals,
so this consequence is definitely something we want to avoid.</p>
<p>
More concretely, the versions of the programs linked with the Money
Guzzler libraries would not really be free software as we understand
the term—they would not come with full source code that enables
users to change and recompile the program.
</p></dd>

<dt><b><a href="#TOCGPLIncompatibleAlone" name="GPLIncompatibleAlone">If id="GPLIncompatibleAlone">If
license for a module Q has a requirement that's incompatible with the GPL,
but the requirement applies only when Q is distributed by itself, not when
Q is included in a larger program, does that make the license
GPL-compatible?  Can I combine or link Q with a GPL-covered
program?</a></b></dt>

<dd>
If a program P is released under the GPL that means <strong>any and
every part of it</strong> can be used under the GPL.  If you integrate
module Q, and release the combined program P+Q under the GPL, that
means any part of P+Q can be used under the GPL.  One part of P+Q is
Q.  So releasing P+Q under the GPL says that Q any part of it can be
used under the GPL.  Putting it in other words, a user who obtains P+Q
under the GPL can delete P, so that just Q remains, still under the
GPL.
<p>
If the license of module Q permits you to give permission for that,
then it is GPL-compatible.  Otherwise, it is not GPL-compatible.</p>
<p>
If the license for Q says in no uncertain terms that you must do certain
things (not compatible with the GPL) when you redistribute Q on its own,
then it does not permit you to distribute Q under the GPL.  It follows that
you can't release P+Q under the GPL either.  So you cannot link or combine
P with Q.
</p></dd>

<dt><b><a href="#TOCModifiedJustBinary"
  name="ModifiedJustBinary">Can
  id="ModifiedJustBinary">Can I release a modified
    version of a GPL-covered program in binary form only?</a></b></dt>
<dd>
No.  The whole point of the GPL is that all modified versions must
be <a href="/philosophy/free-sw.html"> free software</a>—which
means, in particular, that the source code of the modified version is
available to the users.
</dd>


<dt><b><a href="#TOCUnchangedJustBinary"
  name="UnchangedJustBinary">I
  id="UnchangedJustBinary">I
    downloaded just the binary from the net.  If I distribute copies,
    do I have to get the source and distribute that too?</a></b></dt>
<dd>
Yes.  The general rule is, if you distribute binaries, you must distribute
the complete corresponding source code too.  The exception for the case
where you received a written offer for source code is quite limited.
</dd>

<dt><b><a href="#TOCDistributeWithSourceOnInternet"
  name="DistributeWithSourceOnInternet">I
  id="DistributeWithSourceOnInternet">I want to distribute binaries
  via physical media without accompanying sources.  Can I provide
  source code by FTP instead of by mail order?</a></b></dt>

<dd>
You're supposed to provide the source code by mail-order on a physical
medium, if someone orders it.  You are welcome to offer people a way
to copy the corresponding source code by FTP, in addition to the
mail-order option, but FTP access to the source is not sufficient to
satisfy section 3 of the GPL.
<p>
When a user orders the source, you have to make sure to get the source
to that user.  If a particular user can conveniently get the source
from you by anonymous FTP, fine—that does the job.  But not
every user can do such a download.  The rest of the users are just as
entitled to get the source code from you, which means you must be
prepared to send it to them by post.</p>
<p>
If the FTP access is convenient enough, perhaps no one will choose to
mail-order a copy.  If so, you will never have to ship one.  But you
cannot assume that.</p>
<p>
Of course, it's easiest to just send the source with the binary in the
first place.
</p>
<p>If you distribute binaries via FTP, <a
href="#AnonFTPAndSendSources">you should distribute source via FTP.</a></p>

</dd>

<dt><b><a href="#TOCRedistributedBinariesGetSource"
    name="RedistributedBinariesGetSource">My
    id="RedistributedBinariesGetSource">My friend got a GPL-covered
    binary with an offer to supply source, and made a copy for me.
    Can I use the offer myself to obtain the source?</a></b></dt>

<dd>
Yes, you can.  The offer must be open to everyone who has a copy of
the binary that it accompanies.  This is why the GPL says your friend
must give you a copy of the offer along with a copy of the
binary—so you can take advantage of it.
</dd>

<dt><b><a href="#TOCSourceAndBinaryOnDifferentSites"
  name="SourceAndBinaryOnDifferentSites">Can
  id="SourceAndBinaryOnDifferentSites">Can I put the binaries on my
  Internet server and put the source on a different Internet
  site?</a></b></dt>

<dd>
The GPL says you must offer access to copy the source code “from
the same place”; that is, next to the binaries.  However, if you
make arrangements with another site to keep the necessary source code
available, and put a link or cross-reference to the source code next
to the binaries, we think that qualifies as “from the same
place”.
<p>
Note, however, that it is not enough to find some site that happens to
have the appropriate source code today, and tell people to look there.
Tomorrow that site may have deleted that source code, or simply
replaced it with a newer version of the same program.  Then you would
no longer be complying with the GPL requirements.  To make a
reasonable effort to comply, you need to make a positive arrangement
with the other site, and thus ensure that the source will be available
there for as long as you keep the binaries available.
</p></dd>

<dt><b><a href="#TOCDistributeExtendedBinary"
  name="DistributeExtendedBinary">I
  id="DistributeExtendedBinary">I want to distribute an extended
  version of a GPL-covered program in binary form.  Is it enough to
  distribute the source for the original version?</a></b></dt>

<dd>
No, you must supply the source code that corresponds to the binary.
Corresponding source means the source from which users can rebuild the
same binary.
<p>
Part of the idea of free software is that users should have access to
the source code for <strong>the programs they use</strong>.  Those
using your version should have access to the source code for your
version.</p>
<p>
A major goal of the GPL is to build up the Free World by making sure
that improvement to a free program are themselves free.  If you
release an improved version of a GPL-covered program, you must release
the improved source code under the GPL.
</p></dd>

<dt><b><a href="#TOCDistributingSourceIsInconvenient"
  name="DistributingSourceIsInconvenient">I
  id="DistributingSourceIsInconvenient">I want to distribute
  binaries, but distributing complete source is inconvenient.  Is it
  ok if I give users the diffs from the “standard” version
  along with the binaries?</a></b></dt>

<dd>
This is a well-meaning request, but this method of providing the
source doesn't really do the job.
<p>
A user that wants the source a year from now may be unable to get the
proper version from another site at that time.  The standard
distribution site may have a newer version, but the same diffs
probably won't work with that version.</p>
<p>
So you need to provide complete sources, not just diffs, with
the binaries.
</p></dd>

<dt><b><a href="#TOCAnonFTPAndSendSources"
  name="AnonFTPAndSendSources">I
  id="AnonFTPAndSendSources">I want to make binaries available for
  anonymous FTP, but send sources only to people who order them.</a></b></dt>

<dd>
<p>If you want to distribute binaries by anonymous FTP, you still have
to provide source through one of the options listed in section 3.
This should not be hard.  You can provide a written offer for source
if you want; section 3(b) allows this.  But if you can find a site to
distribute your program, you can surely find one that has room for the
sources.
</p><p>No matter how you distribute the source, the sources you
provide must correspond exactly to the binaries.  In particular, you
must make sure they are for the same version of the program—not
an older version and not a newer version.</p>
<p>
You can make the sources and binaries available on different machines,
provided they are equally easy to get to, and provided that you have
information next to the binaries saying where to find the sources.
</p></dd>

<dt><b><a href="#TOCHowCanIMakeSureEachDownloadGetsSource"
  name="HowCanIMakeSureEachDownloadGetsSource">How
  id="HowCanIMakeSureEachDownloadGetsSource">How can I make sure each
  user who downloads the binaries also gets the source?</a></b></dt>

<dd>
You don't have to make sure of this.  As long as you make the source
and binaries available so that the users can see what's available and
take what they want, you have done what is required of you.  It is up
to the user whether to download the source.
<p>
Our requirements for redistributors are intended to make sure the
users can get the source code, not to force users to download the
source code even if they don't want it.
</p></dd>

<dt><b><a href="#TOCUnreleasedMods" name="UnreleasedMods">A id="UnreleasedMods">A company
    is running a modified version of a GPL'ed program on a web site.
    Does the GPL say they must release their modified
    sources?</a></b></dt>

<dd>
The GPL permits anyone to make a modified version and use it without
ever distributing it to others.  What this company is doing is a
special case of that.  Therefore, the company does not have to release
the modified sources.
<p>
It is essential for people to have the freedom to make modifications
and use them privately, without ever publishing those modifications.
However, putting the program on a server machine for the public to
talk to is hardly “private” use, so it would be legitimate
to require release of the source code in that special case.  We are
thinking about doing something like this in GPL version 3, but we
don't have precise wording in mind yet.</p>
<p>
In the mean time, you might want to use the <a
href="http://www.affero.org/oagpl.html">Affero GPL</a> for programs
designed for network server use.
</p></dd>

<dt><b><a href="#TOCInternalDistribution"
    name="InternalDistribution">Is
    id="InternalDistribution">Is making and using multiple copies
    within one organization or company
    “distribution”?</a></b></dt>

<dd>
No, in that case the organization is just making the copies for
itself.  As a consequence, a company or other organization can develop
a modified version and install that version through its own
facilities, without giving the staff permission to release that
modified version to outsiders.
<p>
However, when the organization transfers copies to other organizations
or individuals, that is distribution.  In particular, providing copies
to contractors for use off-site is distribution.
</p></dd>


<dt><b><a href="#TOCStolenCopy" name="StolenCopy"> id="StolenCopy"> If someone steals
    a CD containing a version of a GPL-covered program, does the GPL
    give him the right to redistribute that version?</a></b></dt>

<dd>
If the version has been released elsewhere, then the thief probably
does have the right to make copies and redistribute them under the GPL,
but if he is imprisoned for stealing the CD he may have to wait until
his release before doing so.
<p>
If the version in question is unpublished and considered by a company
to be its trade secret, then publishing it may be a violation of trade
secret law, depending on other circumstances.  The GPL does not change
that.  If the company tried to release its version and still treat it
as a trade secret, that would violate the GPL, but if the company
hasn't released this version, no such violation has occurred.
</p></dd>


<dt><b><a href="#TOCTradeSecretRelease"
    name="TradeSecretRelease">What
    id="TradeSecretRelease">What if a company distributes a copy of
    some other developers' GPL-covered work to me as a trade
    secret?</a></b></dt>

<dd>
If a company distributes a copy to you and claims it is a trade
secret, the
The company has violated the GPL and will have to cease
distribution. distribution
of that program. Note how this differs from the theft case above; the
company does not intentionally distribute a copy when a copy is
stolen, so in that case the company has not violated the GPL.
</dd>


<dt><b><a href="#TOCTradeSecretRelease2"
    id="TradeSecretRelease2">What if a company distributes a copy
    of its own GPL-covered work to me as a trade secret?</a></b></dt>

<dd>
If the program distributed does not incorporate anyone else's
GPL-covered work, then the company is not violating the GPL (see
“<a href="#DeveloperViolate">Is the developer of a GPL-covered
program bound by the GPL?</a>” for more information). But it is
making two contradictory statements about what you can do with that
program: that you can redistribute it, and that you can't. It would
make sense to demand clarification of the terms for use of that program
before you accept a copy.
</dd>


<dt><b><a href="#TOCWhySomeGPLAndNotLGPL"
  name="WhySomeGPLAndNotLGPL">Why
  id="WhySomeGPLAndNotLGPL">Why are some GNU libraries released under
  the ordinary GPL rather than the Lesser GPL?</a></b></dt>

<dd>
Using the Lesser GPL for any particular library constitutes a retreat
for free software.  It means we partially abandon the attempt to
defend the users' freedom, and some of the requirements to share what
is built on top of GPL-covered software.  In themselves, those are
changes for the worse.
<p>
Sometimes a localized retreat is a good strategy.  Sometimes, using
the LGPL for a library might lead to wider use of that library, and
thus to more improvement for it, wider support for free software, and
so on.  This could be good for free software if it happens to a large
extent.  But how much will this happen?  We can only speculate.</p>
<p>
It would be nice to try out the LGPL on each library for a while, see
whether it helps, and change back to the GPL if the LGPL didn't help.
But this is not feasible.  Once we use the LGPL for a particular
library, changing back would be difficult.</p>
<p>
So we decide which license to use for each library on a case-by-case
basis.  There is a <a href="/licenses/why-not-lgpl.html">
long explanation</a> of how we judge the question.
</p></dd>

<dt><b><a href="#TOCWillYouMakeAnException"
  name="WillYouMakeAnException">Using a certain GNU program under the
  GPL does not fit our project to make proprietary software.  Will you
  make an exception for us?  It would mean more users of that
  program.</a></b></dt>

<dd>
Sorry, we don't make such exceptions.  It would not be right.
<p>
Maximizing the number of users is not our aim.  Rather, we are trying
to give the crucial freedoms to as many users as possible.  In
general, proprietary software projects hinder rather than help the
cause of freedom.</p>
<p>
We do occasionally make license exceptions to assist a project which
is producing free software under a license other than the GPL.
However, we have to see a good reason why this will advance the cause
of free software.</p>
<p>
We also do sometimes change the distribution terms of a package, when
that seems clearly the right way to serve the cause of free software;
but we are very cautious about this, so you will have to show us very
convincing reasons.
</p></dd>

<dt><b><a href="#TOCVersionTwoOrLater" name="VersionTwoOrLater">Why id="VersionTwoOrLater">Why
should programs say “Version 2 of the GPL or any later
version”?</a></b></dt>

<dd>
From time to time, at intervals of years, we change the
GPL—sometimes to clarify it, sometimes to permit certain kinds
of use not previously permitted, and sometimes to tighten up a
requirement.  (The last change was in 1991.)  Using this
“indirect pointer” in each program makes it possible for
us to change the distribution terms on the entire collection of GNU
software, when we update the GPL.
<p>
If each program lacked the indirect pointer, we would be forced to
discuss the change at length with numerous copyright holders, which
would be a virtual impossibility.  In practice, the chance of having
uniform distribution terms for GNU software would be nil.</p>
<p>
Suppose a program says “Version 2 of the GPL or any later
version” and a new version of the GPL is released.  If the new
GPL version gives additional permission, that permission will be
available immediately to all the users of the program.  But if the new
GPL version has a tighter requirement, it will not restrict use of the
current version of the program, because it can still be used under GPL
version 2.  When a program says “Version 2 of the GPL or any
later version”, users will always be permitted to use it, and
even change it, according to the terms of GPL version 2—even
after later versions of the GPL are available.</p>
<p>
If a tighter requirement in a new version of the GPL need not be
obeyed for existing software, how is it useful?  Once GPL version 3 is
available, the developers of most GPL-covered programs will release
subsequent versions of their programs specifying “Version 3 of
the GPL or any later version”.  Then users will have to follow
the tighter requirements in GPL version 3, for subsequent versions of
the program.</p>
<p>
However, developers are not obligated to do this; developers can
continue allowing use of the previous version of the GPL, if that is
their preference.
</p></dd>


<dt><b><a href="#TOCWhyNotGPLForManuals" name="WhyNotGPLForManuals">Why id="WhyNotGPLForManuals">Why
don't you use the GPL for manuals?</a></b></dt>

<dd>
It is possible to use the GPL for a manual, but the GNU Free
Documentation License (GFDL) is much better for manuals.
<p>
The GPL was designed for programs; it contains lots of complex clauses
that are crucial for programs, but that would be cumbersome and
unnecessary for a book or manual.  For instance, anyone publishing the
book on paper would have to either include machine-readable
“source code” of the book along with each printed copy, or
provide a written offer to send the “source code”
later.</p>
<p>
Meanwhile, the GFDL has clauses that help publishers of free manuals
make a profit from selling copies—cover texts, for instance.
The special rules for Endorsements sections make it possible to use
the GFDL for an official standard.  This would permit modified
versions, but they could not be labeled as “the
standard”.</p>
<p>
Using the GFDL, we permit changes in the text of a manual that covers
its technical topic.  It is important to be able to change the
technical parts, because people who change a program ought to change
the documentation to correspond.  The freedom to do this is an
ethical imperative.</p>
<p>
Our manuals also include sections that state our political position
about free software.  We mark these as “invariant”, so
that they cannot be changed or removed.  The GFDL makes provisions for
these “invariant sections”.
</p></dd>


<dt><b><a href="#TOCFontException" name="FontException">How id="FontException">How does the
GPL apply to fonts?</a></b></dt>

<dd>
Font licensing is a complex issue which needs serious consideration.
The following license exception is experimental but approved for
general use.  We welcome suggestions on this subject—please see
this <a href="http://www.fsf.org/blogs/licensing/20050425novalis">explanatory
essay</a> and write to
<a href="mailto:licensing@gnu.org"><licensing@gnu.org></a>.

<p>
To use this exception, add this text to the license notice of each
file in the package (to the extent possible), at the end of the text
that says the file is distributed under the GNU GPL:</p>
<p>
<tt>

<blockquote class="emph-box"><p>
As a special exception, if you create a document which uses
this font, and embed this font or unaltered portions of this font into
the document, this font does not by itself cause the resulting
document to be covered by the GNU General Public License.  This
exception does not however invalidate any other reasons why the
document might be covered by the GNU General Public License.  If you
modify this font, you may extend this exception to your version of the
font, but you are not obligated to do so. If you do not wish to do so,
delete this exception statement from your version.
</tt>
</p></dd>
</p></blockquote>
</dd>


<dt><b><a href="#TOCWMS" name="WMS"> id="WMS"> I am writing a website
maintenance system</a> (called a
“<a href="/philosophy/words-to-avoid.html">content management
system</a>” by some), or some other application which generates
web pages from templates.  What license should I use for those
templates?</b></dt>

<dd>
<p>Templates are minor enough that it is not worth using copyleft to
protect them.  It is normally harmless to use copyleft on minor works,
but templates are a special case, because they are combined with data
provided by users of the application and the combination is
distributed.  So, we recommend that you license your templates under
simple permissive terms. </p>

<p>Some templates make calls into Javascript functions.  Since
Javascript is often non-trivial, it is worth copylefting.  Because the
templates will be combined with user data, it's possible that
template+user data+Javascript would be considered one work under
copyright law.  A line needs to be drawn between the Javascript
(copylefted), and the user code
(usually under incompatible terms). </p>

<!-- GNUN: localize URL /licenses/template-diagram.png -->
<p><a href="/licenses/template-diagram.png"><img
<p id="template-diagram"><a href="/licenses/template-diagram.png">
<img src="/licenses/template-diagram.png"
     alt="A diagram of the above content" /></a></p> content"/></a></p>

<p>Here's an exception for Javascript code that does this:</p>

<blockquote><p>As

<blockquote class="emph-box"><p>
As a special exception to GPL, any HTML file which merely makes
function calls to this code, and for that purpose includes it by
reference shall be deemed a separate work for copyright law purposes.
In addition, the copyright holders of this code give you permission to
combine this code with free software libraries that are released under
the GNU LGPL.  You may copy and distribute such a system following the
terms of the GNU GPL for this code and the LGPL for the libraries.  If
you modify this code, you may extend this exception to your version of
the code, but you are not obligated to do so. If you do not wish to do
so, delete this exception statement from your version. 
</p></blockquote>

</dd>

<dt><b><a href="#TOCNonFreeTools" name="NonFreeTools">Can id="NonFreeTools">Can I release
    a program under the GPL which I developed using nonfree tools?</a></b></dt>

<dd>
Which programs you used to edit the source code, or to compile it, or
study it, or record it, usually makes no difference for issues
concerning the licensing of that source code.

<p>
However, if you link nonfree libraries with the source code, that
would be an issue you need to deal with.  It does not preclude
releasing the source code under the GPL, but if the libraries don't
fit under the “system library” exception, you should affix
an explicit notice giving permission to link your program with them.
The FSF can give you advice on doing this.</p>
</dd>


<dt><b><a href="#TOCGPLTranslations" name="GPLTranslations">Are id="GPLTranslations">Are there
translations of the GPL into other languages?</a></b></dt>

<dd>
It would be useful to have translations of the GPL into languages
other than English.  People have even written translations and sent
them to us.  But we have not dared to approve them as officially
valid.  That carries a risk so great we do not dare accept it.
<p>
A legal document is in some ways like a program.  Translating it is
like translating a program from one language and operating system to
another.  Only a lawyer skilled in both languages can do it—and
even then, there is a risk of introducing a bug.</p>
<p>
If we were to approve, officially, a translation of the GPL, we would
be giving everyone permission to do whatever the translation says they
can do.  If it is a completely accurate translation, that is fine.
But if there is an error in the translation, the results could be a
disaster which we could not fix.</p>
<p>
If a program has a bug, we can release a new version, and eventually
the old version will more or less disappear.  But once we have given
everyone permission to act according to a particular translation, we
have no way of taking back that permission if we find, later on, that
it had a bug.</p>
<p>
Helpful people sometimes offer to do the work of translation for us.
If the problem were a matter of finding someone to do the work, this
would solve it.  But the actual problem is the risk of error, and
offering to do the work does not avoid the risk.  We could not
possibly authorize a translation written by a non-lawyer.</p>
<p>
Therefore, for the time being, we are not approving translations
of the GPL as globally valid and binding.  Instead, we are doing two
things:</p>
<ul>
<li> Referring people to unofficial translations.
This means that we permit people to write translations of the GPL, but
we don't approve them as legally valid and binding.
<p>
An unapproved translation has no legal force, and it should say so
explicitly.  It should be marked as follows:</p>
<pre>
<blockquote class="emph-box"><p>
    This translation of the GPL is informal, and not officially approved
    by the Free Software Foundation as valid.  To be completely sure of
    what is permitted, refer to the original GPL (in English).
</pre>
</p></blockquote>
<p>
But the unapproved translation can serve as a hint for how to
understand the English GPL.  For many users, that is sufficient.</p>
<p>
However, businesses using GNU software in commercial activity, and
people doing public ftp distribution, should need to check the real
English GPL to make sure of what it permits.</p>
</li>
<li>
Publishing translations valid for a single country only.
<p>
We are considering the idea of publishing translations which are
officially valid only for one country.  This way, if there is a
mistake, it will be limited to that country, and the damage will not
be too great.</p>
<p>
It will still take considerable expertise and effort from a sympathetic
and capable lawyer to make a translation, so we cannot promise any
such translations soon.</p>
</li>
</ul>
</dd>

<dt><b><a href="#TOCInterpreterIncompat" name="InterpreterIncompat">If id="InterpreterIncompat">If
a programming language interpreter has a license that is incompatible
with the GPL, can I run GPL-covered programs on it?</a></b></dt>

<dd>
When the interpreter just interprets a language, the answer is yes.
The interpreted program, to the interpreter, is just data; the GPL
doesn't restrict what tools you process the program with.
<p>
However, when the interpreter is extended to provide
“bindings” to other facilities (often, but not
necessarily, libraries), the interpreted program is effectively linked
to the facilities it uses through these bindings.  The JNI or Java
Native Interface is an example of such a facility; libraries that are
accessed in this way are linked dynamically with the Java programs
that call them.</p>
<p>
So if these facilities are released under a GPL-incompatible license,
the situation is like linking in any other way with a GPL-incompatible
library.  Which implies that:</p>
<ol>
  <li>If you are writing code and releasing it under the GPL, you can
  state an explicit exception giving permission to link it with those
  GPL-incompatible facilities.</li>

  <li>If you wrote and released the program under the GPL, and you
  designed it specifically to work with those facilities, people can
  take that as an implicit exception permitting them to link it with
  those facilities.  But if that is what you intend, it is better
  to say so explicitly.</li>

  <li>You can't take someone else's GPL-covered code and use it that
  way, or add such exceptions to it.  Only the copyright holders of that
  code can add the exception.</li>
</ol>
</dd>

<dt><b><a href="#TOCWhoHasThePower" name="WhoHasThePower">Who id="WhoHasThePower">Who has the
power to enforce the GPL?</a></b></dt>

<dd>

<dd><p>
Since the GPL is a copyright license, it can be enforced by the
copyright holders of the
software are the ones who have the power to enforce the GPL. software. If you see a violation of the GPL,
you should inform the developers of the GPL-covered software involved.
They either are the copyright holders, or are connected with the
copyright holders.  <a
href="#ReportingViolation">Learn more about reporting
</p>

<p>
In addition, we encourage the use of any legal mechanism available to
users for obtaining complete and corresponding source code, as is
their right, and enforcing full compliance with the GNU GPL. After
all, we developed the GNU GPL violations.</a> to make software free for all its
users.
</p>
</dd>


<dt><b><a href="#TOCOOPLang" name="OOPLang"> id="OOPLang"> In an object-oriented
language such as Java, if I use a class that is GPL'ed without
modifying, and subclass it, in what way does the GPL affect the larger
program?</a></b></dt>

<dd>
Subclassing is creating a derivative work.  Therefore, the terms of the
GPL affect the whole program where you create a subclass of a GPL'ed
class.
</dd>

<dt><b><a href="#TOCPortProgramToGPL" name="PortProgramToGPL">If id="PortProgramToGPL">If I port
my program to GNU/Linux, does that mean I have to release it as Free
Software under the GPL or some other Free Software license?</a></b></dt>

<dd>
In general, the answer is no—this is not a legal requirement.
In specific, the answer depends on which libraries you want to use and
what their licenses are.  Most system libraries either use
the <a href="/licenses/lgpl.html">GNU Lesser GPL</a>, or use the GNU
GPL plus an exception permitting linking the library with anything.
These libraries can be used in nonfree programs; but in the case of
the Lesser GPL, it does have some requirements you must follow.
<p>
Some libraries are released under the GNU GPL alone; you must use a
GPL-compatible license to use those libraries.  But these are normally
the more specialized libraries, and you would not have had anything much
like them on another platform, so you probably won't find yourself
wanting to use these libraries for simple porting.</p>
<p>
Of course, your software is not a contribution to our community if it is
not free, and people who value their freedom will refuse to use it.
Only people willing to give up their freedom will use your software,
which means that it will effectively function as an inducement for people
to lose their freedom.</p>
<p>
If you hope some day to look back on your career and feel that
it has contributed to the growth of a good and free society, you
need to make your software free.
</p></dd>

<dt><b><a href="#TOCCompanyGPLCostsMoney" name="CompanyGPLCostsMoney"> id="CompanyGPLCostsMoney">
I just found out that a company has a copy of a GPL'ed program, and it
costs money to get it.  Aren't they violating the GPL by not making it
available on the Internet?</a></b></dt>

<dd>
No.  The GPL does not require anyone to use the Internet for
distribution.  It also does not require anyone in particular to
redistribute the program.  And (outside of one special case), even if
someone does decide to redistribute the program sometimes, the GPL
doesn't say he has to distribute a copy to you in particular, or any
other person in particular.
<p>
What the GPL requires is that he must have the freedom to distribute a
copy to you <em>if he wishes to</em>.  Once the copyright holder does
distribute a copy program to someone, that someone can then redistribute
the program to you, or to anyone else, as he sees fit.
</p></dd>

<dt><b><a href="#TOCReleaseNotOriginal" name="ReleaseNotOriginal"> id="ReleaseNotOriginal"> Can
I release a program with a license which says that you can distribute
modified versions of it under the GPL but you can't distribute the
original itself under the GPL?</a></b></dt>

<dd>
No.  Such a license would be self-contradictory.  Let's look at its 
implications for me as a user. 
<p>
Suppose I start with the original version (call it version A), add 
some code (let's imagine it is 1000 lines), and release that modified 
version (call it B) under the GPL.  The GPL says anyone can change 
version B again and release the result under the GPL.  So I (or 
someone else) can delete those 1000 lines, producing version C which 
has the same code as version A but is under the GPL.</p>
<p>
If you try to block that path, by saying explicitly in the license that 
I'm not allowed to reproduce something identical to version A under 
the GPL by deleting those lines from version B, in effect the license 
now says that I can't fully use version B in all the ways that the GPL 
permits.  In other words, the license does not in fact allow a user to 
release a modified version such as B under the GPL. 
</p>
</dd>

<dt><b><a href="#TOCDistributeSubsidiary" name="DistributeSubsidiary"> id="DistributeSubsidiary"> Does moving a copy to a
majority-owned, and controlled, subsidiary constitute
distribution?</a></b></dt>
<dd>
<p>
Whether moving a copy to or from this subsidiary constitutes
'distribution' is a matter to be decided in each case under the
copyright law of the appropriate jurisdiction.  The GPL does not
and cannot override local laws.  US copyright law is not entirely
clear on the point, but appears not to consider this distribution.
</p><p>
If, in some country, this is considered distribution, and the
subsidiary must receive the right to redistribute the program,
that will not make a practical difference.  The subsidiary is
controlled by the parent company; rights or no rights, it won't
redistribute the program unless the parent company decides to do
so.
</p>
</dd>

<dt><b><a href="#TOCClickThrough" name="ClickThrough"> id="ClickThrough"> Can software installers ask people
  to click to agree to the GPL?  If I get some software under the GPL,
  do I have to agree to anything?</a></b></dt>
<dd>
<p>
Some software packaging systems have a place which requires you to
click through or otherwise indicate assent to the terms of the GPL.
This is neither required nor forbidden.  With or without a click
through, the GPL's rules remain the same. </p>

<p>
Merely agreeing to the GPL doesn't place any obligations on you.  You
are not required to agree to anything to merely use software which is
licensed under the GPL. You only have obligations if you modify or
distribute the software.  If it really bothers you to click through
the GPL, nothing stops you from hacking the GPLed software to bypass this.
</p>
</dd>

<dt><b><a href="#TOCGPLCompatInstaller" name="GPLCompatInstaller">I id="GPLCompatInstaller">I would
    like to bundle GPLed software with some sort of installation software.
    Does that installer need to have a GPL-compatible license?</a></b></dt>
<dd>
<p>No.  The installer and the files it installs are separate works.  As a
result, the terms of the GPL do not apply to the installation software.</p>
</dd>

</dl>
</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 © 2001, 2006, 2007, 2008, 2001-2007, 2009, 2011, 2014, 2015, 2017, 2018 2019, 2021, 2023, 2024 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: 2024/09/18 15:33:10 $
<!-- timestamp end -->
</p>
</div>
</div><!-- for class="inner", starts in the banner include -->
</body>
</html>