CINXE.COM
The Free JavaScript campaign — 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/associate/campaigns/freejs/" /><!--[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>The Free JavaScript campaign — 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-campaigns subsection-freejs 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/campaigns">Campaigns</a> <span class="breadcrumbSeparator"> › </span> </span> <span id="breadcrumbs-2" dir="ltr"> <span id="breadcrumbs-current">The Free JavaScript campaign</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"> The Free JavaScript campaign </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/zakkai">Zak Rogoff</a> <a href="https://www.fsf.org/contribs/zakkai" class="netscape4"> Contributions </a> </span> <span class="documentModified"> — <span> Published on </span> Aug 14, 2013 12:35 PM </span> </div></div> <div id="viewlet-above-content-body"> </div> <div id="content-core"> <div class="" id="parent-fieldname-text-01b16d5852894398a23b788d20621239"> <p><em>Read this article in <a href="https://www.fsf.org/es/campanas/la-campana-de-javascript-libre">Spanish</a>.</em></p> <p><strong>When looking to ensure that our computers are running free software, we usually turn our attention to the operating system and programs we install. Increasingly, we also need to look at the Web sites we visit. Simply visiting many sites loads software onto your computer, primarily JavaScript, that carry proprietary licenses. If we want to be able to browse the Web without running nonfree software, we need to work together to call for change.</strong></p> <link rel="stylesheet" type="text/css" href="//static.fsf.org/nosvn/plone3/css/hide-date.css"> <div style="clear:both"><br /></div> <figure style="float: right; width: 200px; margin: 0% 0% 4% 2%;"><img src="https://static.fsf.org/nosvn/logos/freejs.png" alt="FreeJS campaign logo" style="width: 200px;" /></a></figure> <p>The Free JavaScript campaign persuades companies, governments, and NGOs to make their Web sites work without requiring that users run any proprietary software. We pick one site at a time and focus energy on it, working as a team to send many polite but firm messages to the site maintainers.</p> <p>The JavaScript programs in question create menus, buttons, text editors, music players, and many other features of Web sites, so browsers generally come configured to download and run them without ever making users aware of it. Contrary to popular perception, almost no JavaScript runs "on the Web site" -- even though these JavaScript programs are hidden from view, they are still nonfree code being executed on your computer, and they can <a href="#abuses">abuse</a> your trust.</p> <p><strong>Join us in calling for a Web that respects our freedom by being compatible with free software. Use the action box on the right to contact the organization we're currently focusing on and ask them to make their site work without nonfree JavaScript.</strong></p> <p>We're currently working on a proud badge for Web sites that work without nonfree JavaScript. The ability to display this badge will be an incentive for sites to make the transition we request of them, and sites that already respect users' freedom will use it to distinguish themselves and to welcome free software users.</p> <p>To receive updates and hear about the next site we'll focus on, please join the campaign's <a href="https://crm.fsf.org/civicrm/profile/create?gid=205&reset=1">low-volume mailing list</a>. You're also welcome to explore the <a href="http://libreplanet.org/wiki/Group:Free_Javascript_Action_Team">campaign's area</a> on the LibrePlanet community wiki, where you can help build the list of future sites to focus on. If you are an experienced JavaScript developer that's interested in helping with the campaign, we welcome you to submit a request to join our JavaScript Developers Task Force list. Please make sure to follow the <a href="https://lists.gnu.org/mailman/listinfo/js-devs-task-force">instructions</a> on the list info page. <h3 id="abuses">Examples of proprietary JavaScript abuses</h3> <ul> <li>JavaScript can <a href="https://nakedsecurity.sophos.com/2015/07/30/websites-can-track-us-by-the-way-we-type-heres-how-to-stop-it/">identify you by the way you type</a></li> <li>More on <a href="https://www.fsf.org/campaigns/JavaScript can <a href="><a href="https://arxiv.org/pdf/1905.01051">fingerprinting</a></li> <li>Capturing user input <a href="https://research.fb.com/wp-content/uploads/2016/11/self-censorship-on-facebook.pdf"> before submitting a form</a></li> </ul> <h3>Resources</h3> <ul> <li><a href="http://www.gnu.org/software/librejs/">GNU LibreJS</a>, a browser extension to identify nonfree JavaScript</li> <li><a href="https://www.fsf.org/news/fsf-announces-jshelter-browser-add-on-to-combat-threats-from-nonfree-javascript">JShelter</a>, a browser extension meant to combat threats arising from nonfree JavaScript</li> <li><a href="https://www.gnu.org/software/librejs/free-your-javascript.html">Setting your JavaScript Free</a>, a step-by-step guide</li> <li><a href="http://www.fsf.org/blogs/community/watch-javascript-if-you-love-it-set-it-free">"JavaScript: If you love it, set it free,"</a> a video presentation about the need for free JavaScript and how to put it into practice with Web Labels, by FSF executive director John Sullivan</li> <li><a href="https://www.gnu.org/philosophy/javascript-trap.html">The JavaScript Trap</a> by Richard Stallman</li> <li><a href="http://www.fsf.org/blogs/community/take-action-for-free-javascript">Blog post announcing the launch of the campaign.</a></li> </ul> <h3>News and Blogs</h3> <ul> <li><a href="https://www.fsf.org/blogs/community/fsf-javascript-guidelines-picked-up-by-posteo-webmail">FSF JavaScript guidelines picked up by Posteo Webmail</a></li> </ul> <h3>Sites focused on previously</h3> <ul> <li><a href="http://www.greenpeace.org">Greenpeace</a>, a global environmental organization. Your messages to Greenpeace paid off! They sent the FSF a friendly response and are now looking in to making their Web site work without nonfree JavaScript.</li> <li><a href="http://www.fsf.org/blogs/community/take-action-for-free-javascript">Regulations.gov</a>, a Web site that American citizens can use to give feedback to their government about proposed regulatory changes.</li> </ul> <p><em>This campaign was launched with the help of FSF campaigns interns <a href="https://www.fsf.org/about/interns/2013/saurabh-nair">Saurabh Nair</a> and <a href="https://www.fsf.org/about/interns/2013/sankha-narayan-guria">Sankha Narayan Guria</a>. More information about the FSF's internship program is available at <a href="https://www.fsf.org/volunteer/internships">https://www.fsf.org/volunteer/internships</a>.</em></p> <hr /> </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/campaigns/freejs&t=The Free JavaScript campaign">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="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673662f63616d706169676e730a74616b652d616374696f6e" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673662f63616d706169676e730a74616b652d616374696f6e"> <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="706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673662f63616d706169676e730a667265652d736f6674776172652d63616d706169676e73" id="portletwrapper-706c6f6e652e7269676874636f6c756d6e0a636f6e746578740a2f6673662f63616d706169676e730a667265652d736f6674776172652d63616d706169676e73"> <dl class="portlet portletStaticText portlet-static-free-software-campaigns"> <dt class="portletHeader"> <span class="portletTopLeft"></span> <span> Free software campaigns </span> <span class="portletTopRight"></span> </dt> <dd class="portletItem odd"> <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="//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="http://www.fsf.org/campaigns/past-campaigns">Past campaigns</a></li> </ul> <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/licensing/fsd-meeting-recap-2024-11-29" 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-29 </a> </dd> <dd class="portletItem even"> <a href="https://www.fsf.org/blogs/community/your-government-should-use-free-software" class="tile contenttype-blog-entry" title="An Austrian petitioner succeeded in realizing what the US government failed to see: that free software is vital for the infrastructure of a free society."> Free software is vital for the public and state-run infrastructure of a free society </a> </dd> <dd class="portletItem odd"> <a href="https://www.fsf.org/blogs/community/2024-ethical-tech-giving-guide" class="tile contenttype-blog-entry" title=""> FSF Ethical Tech Giving Guide: Remember to give freedom </a> </dd> <dd class="portletItem even"> <a href="https://www.fsf.org/blogs/community/cfv-help-us-with-the-gnu-press-shop" class="tile contenttype-blog-entry" title=""> Call for volunteers: Help us with the GNU Press shop </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>