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
+