diff --git a/includes/header.html b/includes/header.html index 1bf727c..922cbc1 100644 --- a/includes/header.html +++ b/includes/header.html @@ -20,6 +20,7 @@
  • Manual
  • Source Code
  • Support / Bugs
  • +
  • Why Free JavaScript?
  • diff --git a/style.css b/style.css index cbfbc9c..b3218fb 100644 --- a/style.css +++ b/style.css @@ -34,7 +34,7 @@ a, a:active, a:link { text-decoration: none; } a:visited { - color: #729fcf; + color: #488acf; } a:hover { text-decoration: underline; @@ -372,6 +372,130 @@ pre.js, div.float { 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) */ div.float { padding: 0; diff --git a/whyfreejs.html b/whyfreejs.html new file mode 100644 index 0000000..05c8a2c --- /dev/null +++ b/whyfreejs.html @@ -0,0 +1,109 @@ + + +
    + 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. + —Richard Stallman +
    + +

    + GNU ease.js provides a set of unmatched and desirable features under a copyleft license, + which encourages developers to release their own code under a compatible free software 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 everyone, + regardless of whether they exclusively use free software. +

    + +

    + We need your help to protect the fundamental freedoms of Internet + users. This brief essay is an appeal to developers to develop free + software for the Web; it is heavily influenced by Richard Stallman's article + The JavaScript + Trap—which you should also read—and has been written with his + input. If you already write free JavaScript, then thank you. +

    + +
    +

    + Web pages increasingly include JavaScript code, which + raises the same ethical concerns as software written in any other + language: 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. +

    + +

    + 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.) +

    + +

    + 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? +

    + +

    + 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. +

    + +

    + Mike Gerwitz +
    + Author of GNU ease.js +

    + + + +

    + + Another Typing GNU Hacker + +

    +
    + +

    + « Return to GNU ease.js home +