Merge branch 'whyfreejs' into website
commit
8cab2c0815
|
@ -20,6 +20,7 @@
|
||||||
<li id="manual"><a href="manual.html">Manual</a></li>
|
<li id="manual"><a href="manual.html">Manual</a></li>
|
||||||
<li id="source"><a href="source.html">Source Code</a></li>
|
<li id="source"><a href="source.html">Source Code</a></li>
|
||||||
<li id="bugs"><a href="bugs.html">Support / Bugs</a></li>
|
<li id="bugs"><a href="bugs.html">Support / Bugs</a></li>
|
||||||
|
<li id="whyfreejs"><a href="whyfreejs.html">Why Free JavaScript?</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
126
style.css
126
style.css
|
@ -34,7 +34,7 @@ a, a:active, a:link {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
a:visited {
|
a:visited {
|
||||||
color: #729fcf;
|
color: #488acf;
|
||||||
}
|
}
|
||||||
a:hover {
|
a:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
|
@ -372,6 +372,130 @@ pre.js, div.float {
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** Free JS */
|
||||||
|
#menu ul #whyfreejs {
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
line-height: 1.25em;
|
||||||
|
|
||||||
|
right: 0em;
|
||||||
|
width: 8em;
|
||||||
|
margin: -3.25em 0em 0em 0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu ul #whyfreejs a {
|
||||||
|
color: #f57900;
|
||||||
|
}
|
||||||
|
#menu ul #whyfreejs a:hover {
|
||||||
|
/* undo default style */
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs #menu {
|
||||||
|
background-color: #f57900;
|
||||||
|
border-bottom-color: #ce5c00;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs #menu ul {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3.menuhead {
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
font-size: 1.25em;
|
||||||
|
font-weight: normal;
|
||||||
|
letter-spacing: 0.15em;
|
||||||
|
|
||||||
|
top: -2.25em;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs #content {
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs #content h3 {
|
||||||
|
/* original body font */
|
||||||
|
font-family: arial, serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs .essay {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
background-image: url('//www.gnu.org/graphics/another-gnu-type-sm.png');
|
||||||
|
background-position: bottom right;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-color: white;
|
||||||
|
|
||||||
|
border: 1px solid #888a85;
|
||||||
|
border-width: 0.25em 1px;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
|
||||||
|
margin: 0em 5em;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs .essay p:first-child {
|
||||||
|
margin-top: 0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs .essay .firsts {
|
||||||
|
font-variant: small-caps;
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs .essay .sign {
|
||||||
|
font-variant: small-caps;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 0.9em;
|
||||||
|
|
||||||
|
margin-top: -1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.subtle,
|
||||||
|
body.whyfreejs .essay .sign a {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs .essay dl dt.imp {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
body.whyfreejs .essay dl dt.imp+dd {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs .essay dl dd {
|
||||||
|
margin-left: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs p.imgattr {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
margin: -1em 0px;
|
||||||
|
padding: 0px;
|
||||||
|
font-size: 0.7em;
|
||||||
|
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
|
||||||
|
width: 30em;
|
||||||
|
right: -14.5em;
|
||||||
|
bottom: 16em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.whyfreejs p.imgattr a {
|
||||||
|
color: #888a85;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote.quote {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* from manual (overrides some of the styles above) */
|
/* from manual (overrides some of the styles above) */
|
||||||
div.float {
|
div.float {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
|
@ -0,0 +1,109 @@
|
||||||
|
<h3 class="menuhead">
|
||||||
|
The Importance of JavaScript that Respects Your Freedoms
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<blockquote class="quote">
|
||||||
|
It occurred to me that when we announce ease.js it would be a good occasion to
|
||||||
|
post something about the importance of making JavaScript code free.
|
||||||
|
—<a href="http://stallman.org" class="subtle">Richard Stallman</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
GNU ease.js provides a set of unmatched and desirable features under a <a
|
||||||
|
href="https://www.gnu.org/philosophy/pragmatic.html">copyleft</a> license,
|
||||||
|
which encourages developers to release their own code under a compatible <a
|
||||||
|
href="https://www.gnu.org/philosophy/free-sw.html">free software</a> license.
|
||||||
|
But not everyone may understand why this decision—and the urging of free
|
||||||
|
(as in freedom) JavaScript—are so fundamentally vital to the future of a
|
||||||
|
free and cooperative Internet that is accessible to <em>everyone</em>,
|
||||||
|
regardless of whether they exclusively use free software.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>We need your help to protect the fundamental freedoms of Internet
|
||||||
|
users.</strong> This brief essay is an appeal to developers to develop free
|
||||||
|
software for the Web; it is heavily influenced by Richard Stallman's article
|
||||||
|
<a href="https://www.gnu.org/philosophy/javascript-trap.html">The JavaScript
|
||||||
|
Trap</a>—which you should also read—and has been written with his
|
||||||
|
input. If you already write free JavaScript, then thank you.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="essay">
|
||||||
|
<p>
|
||||||
|
<span class="firsts">Web pages increasingly include JavaScript code, which
|
||||||
|
raises the same ethical concerns as software written in any other
|
||||||
|
language:</span> Non-free JavaScript can rob you of your right to study,
|
||||||
|
modify, and share the software that you are running. Unlike traditional
|
||||||
|
software, JavaScript usually enters your machine without prompting and often
|
||||||
|
without your knowledge—the simple act of visiting a web page may
|
||||||
|
install and execute a non-free program within your web browser.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
JavaScript provides an often frictionless cross-platform distribution
|
||||||
|
mechanism that can be exploited without your permission; this amplifies
|
||||||
|
the effects of some of the most insidious anti-features, such as spying
|
||||||
|
on your activities and tracking your movements. If a web page executes
|
||||||
|
non-free code, how are you able to audit it (or have someone else do so
|
||||||
|
on your behalf) to ensure that it is not malicious? Further, how are
|
||||||
|
you or others able to modify the software to remove the malicious code?
|
||||||
|
(Unfortunately, the latter can be complicated even with free JavaScript,
|
||||||
|
but it can be done.)
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
But non-malicious programs sometimes need changes too. You deserve
|
||||||
|
control over all software that runs on your computer; why should you
|
||||||
|
sacrifice this freedom simply because JavaScript creates the illusion
|
||||||
|
of remote execution?
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
How many web sites have you visited today that download JavaScript
|
||||||
|
onto your computer? How many of them respect your freedoms? I chose
|
||||||
|
to license ease.js under the GPLv3+ because I believe that non-free
|
||||||
|
JavaScript should be eliminated, not enabled. Please help to spread
|
||||||
|
the word and join me in writing free JavaScript; without it, we will
|
||||||
|
have an Internet that is locked away from free software users; this is
|
||||||
|
not the spirit in which the Internet was created.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="sign">
|
||||||
|
<a href="http://mikegerwitz.com/">Mike Gerwitz</a>
|
||||||
|
<br />
|
||||||
|
Author of GNU ease.js
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<dl class="links">
|
||||||
|
<dt class="imp">To join in on the FSF's Free JavaScript campaign:</dt>
|
||||||
|
<dd>
|
||||||
|
<a href="https://fsf.org/campaigns/freejs">
|
||||||
|
https://fsf.org/campaigns/freejs
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>More information on the JavaScript trap is available here:</dt>
|
||||||
|
<dd>
|
||||||
|
<a href="http://www.gnu.org/philosophy/javascript-trap.html">
|
||||||
|
https://www.gnu.org/philosophy/javascript-trap.html
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>More information on free software and its freedoms:</dt>
|
||||||
|
<dd>
|
||||||
|
<a href="https://www.gnu.org/philosophy/free-sw.html">
|
||||||
|
https://www.gnu.org/philosophy/free-sw.html
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<p class="imgattr">
|
||||||
|
<a href="http://www.gnu.org/graphics/anothertypinggnu.html">
|
||||||
|
Another Typing GNU Hacker
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="./">« Return to GNU ease.js home</a>
|
||||||
|
</p>
|
Loading…
Reference in New Issue