CINXE.COM
License Violations and Compliance — Free Software Foundation — Working together for free software
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Keywords" content="FSF, Free Software Foundation, Free Software, Libre Software" /> <meta http-equiv="Description" content="The FSF is a charity with a worldwide mission to advance software freedom." /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <base href="https://www.fsf.org/licensing/compliance" /><!--[if lt IE 7]></base><![endif]--> <meta name="viewport" content="width=device-width; initial-scale=0.6666; maximum-scale=1.0; minimum-scale=0.6666" /> <meta name="generator" content="Plone - https://plone.org" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="generator" content="Plone - https://plone.org" /> <title>License Violations and Compliance — Free Software Foundation — Working together for free software</title> <link rel="copyright" title="Copyright information" href="//creativecommons.org/licenses/by-nd/3.0/rdf" /> <link rel="author" title="Author information" href="//about/staff/" /> <link rel="stylesheet" media="print" href="//static.fsf.org/nosvn/plone3/css/print-2011-10-13.css" /> <style type="text/css" media="screen"> @import url('//static.fsf.org/nosvn/plone4/css/fsf-2017-11-13.css');</style> <link rel="alternate" title="FSF News" href="//static.fsf.org/fsforg/rss/news.xml" type="application/rss+xml" /> <link rel="alternate" title="FSF Events" href="//static.fsf.org/fsforg/rss/events.xml" type="application/rss+xml" /> <link rel="alternate" title="FSF Blogs" href="//static.fsf.org/fsforg/rss/blogs.xml" type="application/rss+xml" /> <link rel="alternate" title="Free Software Jobs" href="//static.fsf.org/fsforg/rss/jobs.xml" type="application/rss+xml" /> <link rel="alternate" title="GNU Project News" href="//www.gnu.org/rss/whatsnew.rss" type="application/rss+xml" /> <link rel="alternate" title="New Free Software" href="//www.gnu.org/rss/quagga.rss" type="application/rss+xml" /> <meta name="viewport" content="width=device-width" /> <style type="text/css"> #breadcrumbs-you-are-here, #breadcrumbs-home, #breadcrumbs-current, #breadcrumbs-1 { display: none; } .GNUreleases{ background-color: #ffffe3; border: 1px solid #000000; color: Black; font-weight: bold; width: 200px; padding: 10px; } #portal-languageselector {display: block; position: absolute !important; bottom: 1px; left: 1px;} .navi { margin-top: 0px; } body * { font-family: 'Roboto', sans-serif; } /* Responsive */ @media only screen and (max-width: 990px) { html body, #coolio #fsf-nav, #coolio .custom-doc { min-width: 100%!important; } body, .custom-doc{ margin: unset!important; padding: none!important; width: unset!important; } body{ max-width: 420px!important; overflow-x: hidden!important; font-size:110%!important; } .yui-t5{ margin: none!important; padding: none!important; margin: unset!important; } #bd, #coolio{ max-width: 100vw!important; } .navi div ul { margin:0 auto!important; } .navi { max-width: 100vw!important; height: auto !important; } .yui-b{ margin:unset!important; } #fsf-sidebar{ margin:0 20% 0 20%!important; float:left!important; width:unset!important; clear:both!important; } header, .navi ul { max-width: 100vw!important; text-align: center!important; } #fsf-logo, #fsf-custom, #join-button, #portal-personaltools-wrapper, #portal-personaltools{ position: unset!important; float:none!important; width: auto!important; } #fsf-logo{ margin:20px 0 0 0!important; } #join-button{ margin:0 0 15px 0!important; } #powered-by{ margin:15px auto!important; width: 250px!important; } #ft{ padding: 10px!important; margin:0 auto!important; max-width: 90vw!important; } footer div.yui-g{ float: left!important; width:100%!important; margin:0!important; padding:0!important; } img{ max-width: 100%!important; } p{ word-break: break-word } input.searchPage { font-size: unset !important; max-width: 80vw } fieldset { margin:0!important; padding: 0!important; } #ft nav div div div { width:50%!important; } } @media only screen and (min-width: 990px) { #ft nav div div { width:50%!important; } } </style> </head> <body class="template-document_view portaltype-document site-fsf section-licensing subsection-compliance icons-on userrole-anonymous" dir="ltr"> <!-- This is where banners go --> <iframe title="FSF Fundraiser Banner" src="//static.fsf.org/nosvn/banners/202411fundraiser/" scrolling="no" style="width: 100%; height: 300px; display: block; margin: 0; border: 0 none; overflow: hidden;"></iframe> <!-- PLACE FSF MODAL WINDOW HERE --> <!-- Begin fsf-modal-window-elem campaign element --> <link type="text/css" rel="stylesheet" href="//static.fsf.org/nosvn/fonts/fa/css/font-awesome.min.css"> <!-- Absolute link. --> <style> #fsf-modal-window-elem-container div { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } @media screen and (min-width: 700px) { #fsf-modal-window-elem-outer-v-center { display: table; position: absolute; height: 100%; width: 100%; } #fsf-modal-window-elem-inner-v-center { display: table-cell; vertical-align: middle; } #fsf-modal-window-elem { width: 687px; margin-left: auto; margin-right: auto; } #fsf-modal-window-elem-right-column { float: right; width: 280px; padding-left: 20px; color: #002047; /* Text */ } #fsf-modal-window-elem-left-column { width: 100%; float: left; margin-right: -280px; } #fsf-modal-window-elem-text { margin-right: 280px; } } @media screen and (max-width: 699px) { #fsf-modal-window-elem { -ms-box-orient: horizontal; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; flex-flow: row wrap; } #fsf-modal-window-elem { width: 80vw; margin-left: 10vw; margin-right: 10vw; margin-top: 40px; margin-bottom: 40px; } #fsf-modal-window-elem-right-column { width: 100%; order: 1; } #fsf-modal-window-elem-left-column { width: 100%; order: 2; } #fsf-modal-window-elem-text { margin-top: 20px; } } @media screen and (max-width: 360px) { .long-button-text { font-size: 25px !important; } } #fsf-modal-window-elem-container { position: fixed; z-index: 10000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.8); font-weight: normal; } #fsf-modal-window-elem a, a:active, a:focus { outline: none; border-bottom: 0px; color: #fff; /* Text */ } #fsf-modal-window-elem { overflow: auto; padding: 20px; border-style: solid; border-width: 5px; border-color: #0065ff; /* Border */ border-radius: 20px; box-shadow: 0px 0px 10px #111111; background-color: #1d0c3b; /* Background */ } #fsf-modal-window-elem-header { width: 100%; } #fsf-modal-window-elem-header h2 { font-family: sans-serif,"Helvetica",Arial; font-weight: bold; font-size: 24px; color: #fdd538; /* Header Text */ text-shadow: 0px 0px 8px #00378c; /* Header Text Shadow */ padding-bottom: 20px; margin-top: 0px; margin-bottom: 0px; border: none; } #fsf-modal-window-elem-close-button { float: right; height: 40px; margin-right: -20px; margin-top: -20px; padding: 11px; color: #888; /* Close button */ /* Text */ cursor: pointer; } #fsf-modal-window-elem-close-button:hover, #fsf-modal-window-elem-text a:hover, #fsf-modal-window-elem-text a:focus, #fsf-modal-window-elem-text a:active { color: #aaf; } #fsf-modal-window-elem-right-column { text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } #fsf-modal-window-elem-buttons div { height:53.333px; line-height: 53.333px; margin-left:auto; margin-right:auto; display:block; } #fsf-modal-window-elem-buttons a { width: 100%; display: block; text-align: center; font-size: 35px; color: #fff; /* Text */ text-decoration: none; font-family: sans-serif,"Helvetica",Arial; font-weight: normal; } #fsf-modal-window-elem-maybe-later { margin-top: 5px; margin-bottom: -5px; } #fsf-modal-window-elem-maybe-later a { color: #367c93; /* Text */ line-height: 20px; text-decoration: none; cursor: pointer; font-weight: normal; font-family: sans-serif,"Helvetica",Arial; font-size: 16px; } #fsf-modal-window-elem-text a { color: #fdd538; /* Text */ font-weight: 700; text-decoration: none; } #fsf-modal-window-elem-text p { font-family: sans-serif,"Helvetica",Arial; font-size: 17px; font-weight: normal; margin: 0px 0px 10px 0px; line-height: 20px; color: #fff; /* Text */ } </style> <div id="fsf-modal-window-elem-container" style="display: none;"> <div id="fsf-modal-window-elem-outer-v-center"> <div id="fsf-modal-window-elem-inner-v-center"> <div id="fsf-modal-window-elem"> <div id="fsf-modal-window-elem-header"> <div id="fsf-modal-window-elem-close-button" onclick="//fsfModalWindowElemDontShowForAWhile();"> <i class="fa fa-close">​</i> </div> <h2>Technological freedom is important more than ever!</h2> </div> <div id="fsf-modal-window-elem-left-column"> <div id="fsf-modal-window-elem-text"> <p> Please take thirty seconds to read this: free software makes up the building blocks to anything. You can use it to tailor programs that work for you, combine things as you wish, and share these building blocks with others. This is why the FSF has published and promoted free software licenses since 1985, sponsors the GNU System, and tirelessly campaigns for free software adoption. </p> <p> Powered by member dues and donations, the FSF can only continue to be the cornerstone of a more just digital society with your support. Build a better world with us by matching the average donation of USD $46.22. </p> <p><span id="fsf-modal-window-text-link"><a href="https://my.fsf.org/donate?mtm_campaign=fall24&mtm_source=modal">Donate</a> | <a href="https://www.fsf.org/appeal?mtm_campaign=fall24&mtm_source=modal">Read more</a></span></p> </div> </div> <div id="fsf-modal-window-elem-right-column"> <!-- Keep these styles inline because they are copied to the appeal page. --> <div id="fsf-modal-window-elem-buttons" style="border-radius: 20px;box-shadow: 5px 0 5px -6px #0c2b2b, -5px 0 5px -6px #0c2b2b;"> <div class="join" style="background-color:#3498DB; border-top-right-radius: 20px; border-top-left-radius: 20px;"> <a style="color:#fdd538;text-shadow: 0px 0px 4px #2670a1;" href="https://my.fsf.org/join?mtm_campaign=fall24&mtm_source=modal" onclick="//fsfModalWindowElemFollowedLink();"> <i class="fa fa-check-circle"> </i>Join </a> </div> <div class="renew" style="background-color:#2ecc71;"> <a style="color: #FFF;text-shadow: 0px 0px 8px #219452;" href="https://my.fsf.org/renew?mtm_campaign=fall24&mtm_source=modal" onclick="//fsfModalWindowElemFollowedLink();"> <i class="fa fa-refresh"> </i>Renew </a> </div> <div class="donate" style="background-color:#1abc9c; border-bottom-right-radius: 20px; border-bottom-left-radius: 20px; margin-bottom: 2px"> <a style="text-shadow: 0px 0px 4px #138c74;" href="https://my.fsf.org/donate?mtm_campaign=fall24&mtm_source=modal" onclick="//fsfModalWindowElemFollowedLink();"> <i class="fa fa-money"> </i>Donate </a> </div> </div> </div> </div> </div> </div> <script> // @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-3.0 // Licensed GPL-3.0-or-later by Andrew Engelbrecht. var startTime, endTime, switchTextTime; startTime = new Date('2024-06-08T04:00:00Z'); switchTextTime = new Date('2024-07-30T04:00:00Z'); // Turning this off for now. // endTime is unused. // endTime = new Date('2024-07-29T04:00:00Z'); // Possibly switch the text that is displayed in the modal window, depending // upon the current date. function fsfModalWindowElemMaybeSwitchText () { var now; now = new Date(); if (now.getTime() < switchTextTime.getTime()) { return; // Do not switch the text. } // Switch text document.getElementById("fsf-modal-window-elem-text").innerHTML =' \ \ <p>Please take thirty seconds to read this: free software makes up the building blocks to anything. You can use it to tailor programs that work for you, combine things as you wish, and share these building blocks with others. This is why the FSF has published and promoted free software licenses since 1985, sponsors the GNU System, and tirelessly campaigns for free software adoption.<\/p> \ \ <p>Powered by member dues and donations, the FSF can only continue to be the cornerstone of a more just digital society with your support. Build a better world with us by matching the average donation of USD \$46.22.<\/p> \ \ <p><span id="fsf-modal-window-text-link"><a href="https://my.fsf.org/donate?mtm_campaign=fall24&mtm_source=modal">Donate<\/a> | <a href="https://www.fsf.org/appeal?mtm_campaign=fall24&mtm_source=modal">Read more<\/a><\/span><\/p>'; } // Show fsf-modal-window-elem if it has not been previously closed by the user, // nor recently hit "maybe later", and the campaign is still happening. function fsfModalWindowElemMaybeShow () { var pattern, noShowFsfModalWindowElementP, now; // See if cookie says not to show element pattern = /showFsf202406FundraiserModalWindowElementP\s*=\s*false/; noShowFsfModalWindowElementP = pattern.test(document.cookie); // Uncomment here to enable modal window hiding if (!noShowFsfModalWindowElementP) { setTimeout(function () { // display the element document.getElementById("fsf-modal-window-elem-container").style.display="block"; }, 0); } } // Call this first to set the proper text. fsfModalWindowElemMaybeSwitchText(); // Check if appeal is the url. if (window.location.href.indexOf("appeal") == -1) { // Call this right away to avoid flicker. fsfModalWindowElemMaybeShow(); } // Get the time `plusDays` in the future. // This can be a fraction. function daysInFuture (plusDays) { var now, future; now = new Date(); future = new Date(now.getTime() + Math.floor(1000 * 60 * 60 * 24 * plusDays)); return future.toGMTString(); } // Hide the fsf-modal-window-elem function fsfModalWindowElemHide () { document.getElementById("fsf-modal-window-elem-container").style.display="none"; } // Optionally hide elem and set a cookie to keep the fsf-modal-window-elem hidden for the next `forDays`. function fsfModalWindowElemDontShowForDays (forDays, hideNow) { if (hideNow === true) { fsfModalWindowElemHide(); } document.cookie = "showFsf202406FundraiserModalWindowElementP=false; path=/; SameSite=Strict; Secure; expires=" + daysInFuture(forDays); } // Hide the element for one week after closing it. function fsfModalWindowElemDontShowForAWhile () { fsfModalWindowElemDontShowForDays(7, true); } // Keep the element visible for now, but do not show it for two weeks. function fsfModalWindowElemFollowedLink () { fsfModalWindowElemDontShowForDays(14, false); } // Check if visiting appeal page. if (window.location.href.indexOf("appeal") > -1) { fsfModalWindowElemDontShowForAWhile(); } // Close popup if user clicks trasparent part document.getElementById("fsf-modal-window-elem-container").addEventListener("click", function(event){ fsfModalWindowElemDontShowForAWhile(); }); // Do not close popup if clicking non-trasparent part (with the text and buttons) document.getElementById("fsf-modal-window-elem").addEventListener("click", function(event){ event.stopPropagation(); }); // Close popup if user clicks X icon. document.getElementById("fsf-modal-window-elem-close-button").addEventListener("click", function(event){ fsfModalWindowElemDontShowForAWhile(); }); // Disable popup if user clicks one of the main buttons. document.getElementById("fsf-modal-window-elem-buttons").addEventListener("click", function(event){ fsfModalWindowElemFollowedLink(); }); // Disable popup if user clicks one of the "Read more" link. document.getElementById("fsf-modal-window-text-link").addEventListener("click", function(event){ fsfModalWindowElemFollowedLink(); }); // Close popup if user presses escape key. window.addEventListener("keydown", function (event) { switch (event.key) { case "Escape": fsfModalWindowElemDontShowForAWhile(); break; default: return; } }, true); // @license-end </script> </div> <!-- End fsf-modal-window-elem campaign element --> <div id="coolio"> <p class="onlyMobile"><a tabindex="1" href="#content">Skip to content</a>, <a tabindex="2" href="/sitemap#content">sitemap</a> or <a tabindex="3" href="/search_form#content">skip to search</a>.</p> <div id="hd" style="margin-bottom: 10px; margin-top: 6px;" class="custom-doc visualNoPrint"> <header> <a href="/"> <img id="fsf-logo" style="position: absolute; bottom: 0px;" src="//static.fsf.org/common/img/logo-new.png" /> </a> <div id="portal-personaltools-wrapper"> <div id="fsf-custom"> <h5 class="hiddenStructure">Personal tools</h5> <ul id="portal-personaltools"> <li> <a href="https://my.fsf.org/civicrm/member-dashboard" id="personaltools-login">Log in</a> </li> <li> <a href="http://www.fsf.org/help-menu" id="personaltools-login-problems">Help!</a> </li> <li> <a href="https://www.fsf.org/associate/about-the-members-forum" id="personaltools-forum-promo">Members forum</a> </li> </ul> </div> </div> <a href="//fsf.org/jfb"> <img id="join-button" src="//static.fsf.org/nosvn/join.en.png" alt="Join now" style="float: right;" /> </a> </header> </div> <div class="yui-g" id="fsf-nav"> <div class="navi"> <div> <div class="custom-doc"> <nav> <ul class="main-nav navigation"> <li><a href="/about/" title="">About</a></li> <li><a href="/campaigns/" title="">Campaigns</a></li> <li><a href="/licensing/" title="">Licensing</a></li> <li><a href="/associate/" title="">Membership</a></li> <li><a href="/resources/" title="">Resources</a></li> <li><a href="/community/" title="">Community</a></li> <li><a href="/donate/" title="">♥Donate♥</a></li> <li><a href="//shop.fsf.org/" title="">Shop</a></li> <li><a href="https://www.fsf.org/@@search" class="search-link"><span class="link-text">Search</span><span class="search-icon"></span></a></li> </ul> </nav> </div> </div> </div> </div> <div class="custom-doc yui-t5"> <div id="bd"><div id="yui-main"> <div class="yui-g"><div class="yui-b"> <div id="portal-column-content" class="cell width-3:4 position-0"> <div id="viewlet-above-content"><div id="portal-breadcrumbs"> <span id="breadcrumbs-you-are-here">You are here:</span> <span id="breadcrumbs-home"> <a href="https://www.fsf.org">Home</a> <span class="breadcrumbSeparator"> › </span> </span> <span id="breadcrumbs-1" dir="ltr"> <a href="https://www.fsf.org/licensing">Licensing</a> <span class="breadcrumbSeparator"> › </span> </span> <span id="breadcrumbs-2" dir="ltr"> <span id="breadcrumbs-current">License Violations and Compliance</span> </span> </div></div> <div class=""> <dl class="portalMessage info" id="kssPortalMessage" style="display:none"> <dt>Info</dt> <dd></dd> </dl> <article> <div id="content"> <div id="viewlet-above-content-title"></div> <h1 id="parent-fieldname-title" class="documentFirstHeading"> License Violations and Compliance </h1> <div id="viewlet-below-content-title"><div class="documentByLine" id="plone-document-byline"> <span class="documentAuthor"> by <a href="https://www.fsf.org/author/brett">Brett Smith</a> <a href="https://www.fsf.org/contribs/brett" class="netscape4"> Contributions </a> </span> <span class="documentModified"> — <span> Published on </span> Nov 06, 2006 03:18 PM </span> </div></div> <div id="parent-fieldname-description" class="documentDescription"> The FSF Compliance Lab helps enforce the licenses for all free software. </div> <div id="viewlet-above-content-body"> </div> <div id="content-core"> <div class="" id="parent-fieldname-text-994886eb5d7c5aa1fbeba326df4b0c68"> <h2>Compliance Philosophy</h2> <p>We receive reports about free software license violations from the public every month, and we investigate them all. Since the FSF holds the copyright for a number of popular programs, such as GNU Bash and GNU Wget, we can usually take immediate action against the violator -- and either way, we work with other interested copyright holders to help ensure everyone's software remains free.</p> <p>Many copyright holders seek monetary damages when their license is violated. We do not -- we only want violators to come back into compliance, and help repair any harm done to the free software community by their past actions. Because of that, we contact violators directly, and negotiate a strategy with them that best accomplishes those goals. We follow <a href="/licensing/enforcement-principles" title="The Principles Of Community-Oriented GPL Enforcement">the Principles Of Community-Oriented GPL Enforcement</a> in all our compliance matters. Oftentimes the violation is unintentional, and people are happy to have help getting their work straightened out. When a violator is less cooperative, we call on the resources of our pro bono counsel to help come to an agreement.</p> <h2>The Life of a Compliance Case</h2> <p>A compliance case has a sort of life cycle. It starts with a report which we receive. We investigate that report and work to confirm the violation. Once we've done that, we use a number of methods to establish contact with the violator. When we start talking, we begin the work of bringing the violator into compliance, and the process ends once that's done. In every step of this process, our actions are guided by <a href="/licensing/enforcement-principles" title="The Principles Of Community-Oriented GPL Enforcement">the Principles Of Community-Oriented GPL Enforcement</a>.</p> <h3>Violation reports</h3> <p>We provide <a href="https://www.fsf.org/licensing/licenses/gpl-violation.html" title="Instructions for reporting a Free Software license violation">instructions for reporting license violations</a>. All of our cases start this way -- we don't go looking for them on our own. We need to know at least three things:</p> <ul> <li><strong>Who:</strong> The company, organization, or individual who has violated the license.</li> <li><strong>What:</strong> The software involved in the violation. For us to take direct action, we'll need to hold the copyright on at least one of them. If that's not the case, we can usually pass on the information to another interested copyright holder.</li> <li><strong>How:</strong> Which requirement in the license has been violated, and through what means.</li> </ul> <p>Of course, more information is almost always better. When it's not immediately obvious where the free software is, some people tell us how they found it, and that's a big help. Contact information for the company and details about previous correspondence are nice as well. These three things are the necessities, though. If a report doesn't tell us enough to figure them out, we'll ask the person who sent it for the missing details.</p> <h3>Confirmation</h3> <p>We use the information above to gather any evidence we need to prove beyond a reasonable doubt that the violator has breached one of the license requirements for FSF-copyrighted software. What evidence we collect will depend on the type of violation that has occurred. For instance, many violations take place when a company distributes free software over the Web without providing a copy of the source, or appropriate written offer. In that case, we'll check out the software they're distributing (to know that it's ours and doesn't include source) and the surrounding Web pages (to make sure that the source isn't distributed elsewhere on the site, and there's no written offer).</p> <p>We often have to be certain that a distributor is <em>not</em> providing something, such as a copy of the license or source, and it can occasionally be hard to do that. For example, suppose you're using a computer at a library, and find out that it's using some GPLed code. You can't find a copy of the GPL anywhere, so is it violating? To answer that question, we'd have to ask the library's sysadmins how they received the software: did it come in a box? Did the box include a printed copy of the GPL? Was a copy included on the installation media? And so on.</p> <h3>Initial Contact</h3> <p>Once we're certain a violation has occurred, we try to contact the violator. This can be harder than it sounds, as I'm sure you know if you've ever tried to get in touch with a company that only gives you a Web contact form to use. First, we send an email that explains our concerns, asks for clarification, and explains how the compliance process works if there is a problem. If that doesn't work, we'll send follow-up emails, phone calls, and faxes. If push comes to shove, we ask our lawyers for assistance.</p> <p>Once we get a response from someone who can handle the case, we can begin bringing them into compliance.</p> <h3>Compliance Work</h3> <p>Once we have established that a violation has occurred, we explain to the violator what they must do to come into compliance. They'll make some appropriate changes -- to their software, their product, their Web site, or whatever's affected -- and let us know. We check those changes, tell them about any new or outstanding issues we find, and ask them to make more changes. This back and forth goes on as long as necessary.</p> <p>This can be a fairly intensive process, because we cannot simply rubber-stamp any token effort the violator makes. We examine everything carefully: we try to build the source they provide, scrutinize written offers to make sure everyone can use them, and so on. When the violator is cooperative and responsive, things move quickly. Otherwise, this work can span a number of months.</p> <p>We also ask violators to do what they can to amend their errors. For example, if they failed to provide source to their previous customers, they may be able to contact those people to offer it now, or at least make the information public so anyone who's interested can find it. They can usually manage to do something that helps give users back the rights they were always supposed to have under the license.</p> <p>When this work is finally finished, we formally restore the violator's rights under the license -- contingent upon their continued compliance, of course -- and the process is complete.</p> <h2>Questions?</h2> <p>If you'd like to learn more about our compliance work, please <a href="/licensing/contact" title="Contact the FSF Compliance Lab">contact us</a>.</p> <p><a href="/licensing/" title="FSF Compliance Lab Home">Return to the FSF Compliance Lab main site</a></p> </div> </div> <div id="viewlet-below-content-body"> <div class="visualClear"><!-- --></div> <div class="documentActions"> <h5 class="hiddenStructure">Document Actions</h5> <ul> <li><b><a href="/share?u=https://www.fsf.org/licensing/compliance&t=License Violations and Compliance">Share on social networks</a></b></li> <li>Syndicate:</li> <li><a href="/static/fsforg/rss/news.xml">News</a></li> <li><a href="/static/fsforg/rss/events.xml">Events</a></li> <li><a href="/static/fsforg/rss/blogs.xml">Blogs</a></li> <li><a href="/static/fsforg/rss/jobs.xml">Jobs</a></li> <li id="document-action-copy_of_full_screen"> <a href="http://www.gnu.org/rss/whatsnew.rss" title="">GNU</a> </li> <li id="document-action-print"> <a href="" title=""></a> </li> </ul> </div></div> </div> </article> </div> <div id="viewlet-below-content"> </div> </div> </div></div></div> <div id="fsf-sidebar" class="yui-b visualNoPrint"> <aside> <span style="display: none;">1PC9aZC4hNX2rmmrt7uHTfYAS3hRbph4UN</span> <div id="search"> <form id="sidesearch" name="searchform" action="/search"> <p><input name="SearchableText" tabindex="1" type="text" size="30" title="Search Site" /></p> <p><input class="searchButton" type="submit" value="Search" /></p> </form> </div> <div class="visualPadding"> <div class="portletWrapper" data-portlethash="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673662f6c6963656e73696e670a74616b652d616374696f6e" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673662f6c6963656e73696e670a74616b652d616374696f6e"> <dl class="portlet portletStaticText portlet-static-fsf-anniversary-logo-contest"> <dt class="portletHeader"> <span class="portletTopLeft"></span> <span> FSF Anniversary Logo Contest </span> <span class="portletTopRight"></span> </dt> <dd class="portletItem odd"> <div style="width:220px; margin: 0px auto; text-align:center; color: black;"><a href="https://www.fsf.org/blogs/community/fsf-anniversary-logo-contest"> <img src="https://static.fsf.org/nosvn/fsf40/sidebar.png" alt="Image depicts an older computer with a digital birthday cake." style="float: center; width: 180px; padding-bottom: 15px;" /></a> <p><a href="https://www.fsf.org/blogs/community/fsf-anniversary-logo-contest">Submit your design(s) to the FSF Anniversary Logo Contest</a> and <a href="https://www.fsf.org/share">invite</a> others to submit artwork!</p> <span class="portletBottomLeft"></span> <span class="portletBottomRight"></span> </dd> </dl> </div> <div class="portletWrapper" data-portlethash="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a737570706f72746572" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a737570706f72746572"><div class="portletStaticText portlet-static-supporter"><div style="text-align: center;"> <h5>Sign up</h5> <form action="https://my.fsf.org/civicrm/profile/create?reset=1&gid=31" method="post"> <p>Enter your email address to receive our monthly newsletter, the<br /><a href="https://www.fsf.org/free-software-supporter/">Free Software Supporter</a></p> <p><input id="frmEmail" type="text" name="email-Primary" size="18" maxlength="80"></p> <p><input type="submit" name="_qf_Edit_next" value="Subscribe me"></p> <div><input name="postURL" type="hidden" value=""> <input type="hidden" name="group[25]" value="1"> <input name="cancelURL" type="hidden" value="https://my.fsf.org/civicrm/profile?reset=1&gid=31"> <input name="_qf_default" type="hidden" value="Edit:cancel"> </div> </form></div></div> </div> <div class="portletWrapper" data-portlethash="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a6673662d6e6577732d727373" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a6673662d6e6577732d727373"><div class="portletStaticText portlet-static-fsf-news-rss"><p style="float: right;"><a href="/static/fsforg/rss/news.xml" title="Subscribe to an RSS feed of FSF news"><img src="/static/fsforg/css/img/rss.gif" alt="RSS feed" /></a></p></div> </div> <div class="portletWrapper" data-portlethash="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a6e657773" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a6e657773"><dl class="portlet portletNews" xmlns="http://www.w3.org/1999/xhtml"> <dt class="portletHeader"> <span class="portletTopLeft"></span> <a href="https://www.fsf.org/news" class="tile">News</a> <span class="portletTopRight"></span> </dt> <dd class="portletItem odd"> <a href="https://www.fsf.org/news/fsf-is-working-on-freedom-in-machine-learning-applications" class="tile" title="BOSTON (October 22, 2024) -- The Free Software Foundation (FSF) has announced today that it is working on a statement of criteria for free machine learning applications, which will require the software, as well as the raw training data and associated scripts, to grant users the four freedoms."> <img width="16" height="16" src="https://www.fsf.org/static/fsforg/css/img/newsitem_icon.gif" alt="News Item" /> FSF is working on freedom in machine learning applications <span class="portletItemDetails">Oct 22, 2024</span> </a> </dd> <dd class="portletItem even"> <a href="https://www.fsf.org/news/fsf-associate-members-to-assist-in-review-current-board-members" class="tile" title=""> <img width="16" height="16" src="https://www.fsf.org/static/fsforg/css/img/newsitem_icon.gif" alt="News Item" /> FSF associate members to assist in review of current board members <span class="portletItemDetails">Oct 21, 2024</span> </a> </dd> <dd class="portletItem odd"> <a href="https://www.fsf.org/news/fsf-serves-on-nist" class="tile" title=" BOSTON (October 8, 2024) -- The Free Software Foundation (FSF) has announced that it is taking part in the US National Institute of Standards and Technology (NIST)'s consortium on the safety of (so-called) artificial intelligence, particularly with reference to "generative" AI systems. The FSF will ensure the free software perspective is adequately represented in these discussions. "> <img width="16" height="16" src="https://www.fsf.org/static/fsforg/css/img/newsitem_icon.gif" alt="News Item chemical/x-isostar" /> Free Software Foundation to serve on "artificial intelligence" safety consortium <span class="portletItemDetails">Oct 09, 2024</span> </a> </dd> <dd class="portletFooter"> <span class="portletBottomLeft"></span> <a href="https://www.fsf.org/news"> More news… </a> <span class="portletBottomRight"></span> </dd> </dl></div> <div class="portletWrapper" data-portlethash="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a6673662d626c6f67732d727373" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a6673662d626c6f67732d727373"><div class="portletStaticText portlet-static-fsf-blogs-rss"><p style="float: right;"><a href="/static/fsforg/rss/blogs.xml" title="Subscribe to an RSS feed of FSF blogs"><img src="/static/fsforg/css/img/rss.gif" alt="RSS feed" /></a></p></div> </div> <div class="portletWrapper" data-portlethash="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a726563656e742d626c6f6773" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a726563656e742d626c6f6773"><dl class="portlet portletCollection portlet-collection-recent-blogs"> <dt class="portletHeader"> <span class="portletTopLeft"></span> <a href="https://www.fsf.org/blogs/recent-blog-posts"> <span>Recent blogs</span> </a> <span class="portletTopRight"></span> </dt> <dd class="portletItem odd"> <a href="https://www.fsf.org/blogs/community/wendell-the-elf-and-the-shoetool" class="tile contenttype-blog-entry" title=""> Winter holidays are coming: Time for a free software tale </a> </dd> <dd class="portletItem even"> <a href="https://www.fsf.org/blogs/licensing/fsd-meeting-recap-2024-11-15" class="tile contenttype-blog-entry" title="Check out the important work our volunteers accomplished at today's Free Software Directory (FSD) IRC meeting. "> FSD meeting recap 2024-11-15 </a> </dd> <dd class="portletItem odd"> <a href="https://www.fsf.org/blogs/community/keep-warm-with-gnu-winter-swag" class="tile contenttype-blog-entry" title=""> Keep warm with GNU winter swag </a> </dd> <dd class="portletItem even"> <a href="https://www.fsf.org/blogs/community/pera-act-votes-tomorrow-a-major-step-back-for-software-freedom" class="tile contenttype-blog-entry" title=""> TAKE ACTION: Block the PERA and PREVAIL Act - A major step back for software freedom </a> </dd> <dd class="portletFooter"> <span class="portletBottomLeft"></span> <span> <a href="https://www.fsf.org/blogs/recent-blog-posts"> <span class="hiddenStructure">Recent blogs - </span> <span>More…</span> </a> </span> <span class="portletBottomRight"></span> </dd> </dl> </div> <div class="portletWrapper" data-portlethash="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a6673662d6576656e74732d727373" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673660a6673662d6576656e74732d727373"><div class="portletStaticText portlet-static-fsf-events-rss"><p style="float: right;"><a href="/static/fsforg/rss/events.xml" title="Subscribe to an RSS feed of FSF events"><img src="/static/fsforg/css/img/rss.gif" alt="RSS feed" /></a></p></div> </div> </div> </aside> </div> </div></div> <div class="visualNoPrint" id="mission-statement"> <p class="c">The FSF is a charity with a worldwide mission to advance software freedom — <a href="/about/">learn about our history and work.</a></p> </div> <div id="ft" class="visualNoPrint"> <footer> <div id="ft-inner" class="custom-doc"> <div id="copyright"> <p class="c">Copyright © 2004-2024 <a href="/about/contact.html" title="Find out how to contact us">Free Software Foundation</a>, Inc. <a href="//my.fsf.org/donate/privacypolicy.html">Privacy Policy</a>.</p> <p>This work is licensed under a <a href="//creativecommons.org/licenses/by-nd/3.0/">Creative Commons Attribution-No Derivative Works 3.0 license (or later version)</a> — <a href="//www.gnu.org/licenses/license-list.html#OpinionLicenses">Why this license?</a></p> </div> <div id="fsf-links-outer"> <div class="yui-g visualNoPrint noMobile" id="fsf-links"> <div> <nav> <div class="yui3-g-r"> <div class="yui3-u-1-2 yui3-g-r first"> <div class="yui3-u-1-2 first" id="sitemap-1"> <p class="netscape4"><a href="#ft">Skip sitemap</a> or <a href="#sitemap-2">skip to licensing items</a></p> <ul> <li><a href="/about/">About</a> <ul> <li><a href="/about/staff-and-board">Staff and Board</a></li> <li><a href="/about/contact.html">Contact Us</a></li> <li><a href="/press">Press Information</a></li> <li><a href="/resources/jobs">Jobs</a></li> <li><a href="/volunteer">Volunteering and Internships</a></li> <li><a href="/history">History</a></li> </ul></li> <li><a href="//my.fsf.org/donate/privacypolicy.html">Privacy Policy</a></li> <li><a href="//weblabels.fsf.org/www.fsf.org/CURRENT/" rel="jslicense">JavaScript Licenses</a></li> <li><a href="/resources/hw">Hardware Database</a></li> <li><a href="//directory.fsf.org">Free Software Directory</a></li> <li><a href="/resources/">Free Software Resources</a></li> <li><a href="/about/dmca-notice">Copyright Infringement Notification</a></li> </ul> </div> <div class="yui3-u-1-2 first" id="sitemap-2"> <p class="netscape4"><a href="#sitemap-3">Skip to general items</a></p> <ul> <li><a href="/campaigns">Campaigns</a> <ul> <li><a href="https://libreplanet.org/wiki/Group:Freedom_Ladder">Freedom Ladder</a></li> <li><a href="https://www.fsf.org/campaigns/fight-to-repair">Fight to Repair</a></li> <li><a href="/campaigns/freejs/">Free JavaScript</a></li> <li><a href="/campaigns/priority-projects/">High Priority Free Software Projects</a></li> <li><a href="/campaigns/campaigns/secure-boot-vs-restricted-boot/">Secure Boot vs Restricted Boot</a></li> <li><a href="/campaigns/surveillance/">Surveillance</a></li> <li><a href="/windows/">Upgrade from Windows</a></li> <li><a href="/working-together">Working Together for Free Software</a></li> <li><a href="//www.gnu.org/">GNU Operating System</a></li> <li><a href="//defectivebydesign.org/">Defective by Design</a></li> <li><a href="http://endsoftpatents.org/">End Software Patents</a></li> <li><a href="/campaigns/opendocument/">OpenDocument</a></li> <li><a href="/campaigns/free-bios.html">Free BIOS</a></li> <li><a href="https://libreplanet.org/">Connect with free software users</a></li> </ul></li></ul> </div> </div> <div class="yui3-u-1-2 yui3-g-r first"> <div class="yui3-u-1-2 first" id="sitemap-3"> <p class="netscape4"><a href="#sitemap-4">Skip to philosophical items</a></p> <ul> <li><a href="/licensing">Licensing</a> <ul> <li><a href="/licensing/education">Education</a></li> <li><a href="/licensing/licenses">Licenses</a> <ul> <li><a href="//www.gnu.org/licenses/gpl.html">GNU GPL</a></li> <li><a href="//www.gnu.org/licenses/agpl.html">GNU AGPL</a></li> <li><a href="//www.gnu.org/licenses/lgpl.html">GNU LGPL</a></li> <li><a href="//www.gnu.org/licenses/fdl.html">GNU FDL</a></li></ul></li> <li><a href="//www.gnu.org/licenses/gpl-faq.html">Licensing FAQ</a></li> <li><a href="/licensing/compliance">Compliance</a></li> <li><a href="//www.gnu.org/licenses/gpl-howto.html">How to use GNU licenses<br>for your own software</a></li></ul></li> </ul> <ul> <li><a href="/news/">Latest News</a><ul> <li><a href="/events/">Upcoming Events</a></li> <li><a href="/blogs/">FSF Blogs</a></li></ul></li> </ul> </div> <div class="yui3-u-1-2 first" id="sitemap-4"> <p class="netscape4"><a href="#ft">Skip list</a></p> <ul> <li><a href="https://www.fsf.org/about/ways-to-donate">Donate to the FSF</a></li> <li><a href="/jfb">Join the FSF</a></li> <li><a href="https://www.fsf.org/patrons">Patrons</a></li> <li><a href="/associate/">Associate Members</a></li> <li><a href="/associate/account/">My Account</a></li> <li><a href="/working-together/fund">Working Together for Free Software Fund</a></li> <li><a href="//www.gnu.org/philosophy/">Philosophy</a><ul> <li><a href="//www.gnu.org/philosophy/free-sw.html">The Free Software Definition</a></li> <li><a href="//www.gnu.org/philosophy/pragmatic.html">Copyleft: Pragmatic Idealism</a></li> <li><a href="//www.gnu.org/philosophy/free-doc.html">Free Software and Free Manuals</a></li> <li><a href="//www.gnu.org/philosophy/selling.html">Selling Free Software</a></li> <li><a href="//www.gnu.org/philosophy/fs-motives.html">Motives for Writing Free Software</a></li> <li><a href="//www.gnu.org/philosophy/right-to-read.html">The Right To Read</a></li> <li><a href="//www.gnu.org/philosophy/open-source-misses-the-point.html">Why Open Source Misses the Point of Free Software</a></li></ul></li> <li><a href="/sitemap">Complete Sitemap</a></li> </ul> </div> </div> </div> </nav> </div> </div> </div> </div> </footer> </div> <div class="c visualNoPrint noMobile" id="powered-by"> <h5 class="netscape4">fsf.org is powered by:</h5> <ul> <li id="powered-by-plone"><a href="//plone.org" title="Plone Powered">Plone</a></li> <li id="powered-by-zope"><a href="//zope.org" title="Powered by Zope">Zope</a></li> <li id="powered-by-python"><a href="//python.org" title="Powered by Python">Python</a></li> <li id="powered-by-civicrm"><a href="//civicrm.org" title="Powered by CiviCRM">CiviCRM</a></li> <li id="powered-by-html5"><a href="//www.w3.org/html">HTML5</a></li> </ul> </div> <form class="c" action="./" method="get" id="choose-language"> <p><select name="set_language"> <option value="ar">Arabic</option> <option value="be">Belarussian</option> <option value="bg">Bulgarian</option> <option value="ca">Catalan</option> <option value="zh">Chinese</option> <option value="kw">Cornish</option> <option value="cs">Czech</option> <option value="da">Danish</option> <option value="en" selected="selected">English</option> <option value="fr">French</option> <option value="de">German</option> <option value="el">Greek</option> <option value="he">Hebrew</option> <option value="hi">Hindi</option> <option value="it">Italian</option> <option value="ja">Japanese</option> <option value="ko">Korean</option> <option value="no">Norwegian</option> <option value="pl">Polish</option> <option value="pt">Portuguese</option> <option value="pt-br">Portuguese (Brazil)</option> <option value="ro">Romanian</option> <option value="ru">Russian</option> <option value="sk">Slovak</option> <option value="es">Spanish</option> <option value="sv">Swedish</option> <option value="tr">Turkish</option> <option value="ur">Urdu</option> <option value="cy">Welsh</option> </select> <input type="submit" value="Select language"></p> <p><small>Send your feedback on our translations and new translations of pages to <a href="mailto:campaigns@fsf.org">campaigns@fsf.org</a>.</small></p> </form> </div> <!-- Matomo --> <script type="text/javascript"> // @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-3.0-or-later var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://piwik.fsf.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '5']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); // @license-end </script> <!-- End Matomo Code --> </body> </html>