From d97fd5bca4c550c86bfb93dfee5669ad790dc9d0 Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Wed, 12 Mar 2014 21:02:46 -0400 Subject: [PATCH] Added Free JS essay This essay will be released with the GNU ease.js 0.2.0 release announcement. The "Another GNU Hacker Typist" image is linked to externally because this website is hosted on the GNU domain. --- style.css | 83 ++++++++++++++++++++++++++++++++++++++++----- whyfreejs.html | 92 +++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 158 insertions(+), 17 deletions(-) diff --git a/style.css b/style.css index a0a6a79..37bde21 100644 --- a/style.css +++ b/style.css @@ -377,21 +377,20 @@ pre.js, div.float { #menu ul #whyfreejs { position: absolute; - background-color: #f57900; - text-align: center; line-height: 1.25em; right: 0em; width: 8em; - margin: -4.25em 0em 0em 0em; - border-radius: 0.5em 0em 0em 0.5em; + margin: -3.25em 0em 0em 0em; } +#menu ul #whyfreejs a { + color: #f57900; +} #menu ul #whyfreejs a:hover { - /* retain style */ - background-color: #f57900; - border-radius: 0.5em 0em 0em 0.5em; + /* undo default style */ + background-color: transparent; } body.whyfreejs #menu { @@ -408,7 +407,7 @@ h3.menuhead { font-size: 1.25em; font-weight: normal; - letter-spacing: 0.2em; + letter-spacing: 0.15em; top: -2.25em; padding: 0px; @@ -416,7 +415,6 @@ h3.menuhead { } body.whyfreejs #content { - font-family: times; text-align: justify; } @@ -425,6 +423,73 @@ body.whyfreejs #content h3 { 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; +} + +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; } diff --git a/whyfreejs.html b/whyfreejs.html index 0054211..298a69d 100644 --- a/whyfreejs.html +++ b/whyfreejs.html @@ -9,20 +9,96 @@

- GNU ease.js is in a position to help the free software community by providing - features under a copyleft license that 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 accessible to all users, including users of free software. + 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 article is both a detailed description of the problem - from the perspective of a user and an appeal to developers to develop free + 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 + +

+