summaryrefslogtreecommitdiff
path: root/examples/blog/articles/scrap1_35.html
diff options
context:
space:
mode:
Diffstat (limited to 'examples/blog/articles/scrap1_35.html')
-rw-r--r--examples/blog/articles/scrap1_35.html81
1 files changed, 28 insertions, 53 deletions
diff --git a/examples/blog/articles/scrap1_35.html b/examples/blog/articles/scrap1_35.html
index 190f467e..3c13a39d 100644
--- a/examples/blog/articles/scrap1_35.html
+++ b/examples/blog/articles/scrap1_35.html
@@ -1,6 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
-<html>
-<!-- This is the second edition of Free Software, Free Society: Selected Essays of Richard M. Stallman.
+<html><!-- This is the second edition of Free Software, Free Society: Selected Essays of Richard M. Stallman.
Free Software Foundation
@@ -20,8 +19,7 @@ ISBN 978-0-9831592-0-9
Cover design by Rob Myers.
Cover photograph by Peter Hinely.
- -->
-<!-- Created on February 18, 2016 by texi2html 1.82
+ --><!-- Created on February 18, 2016 by texi2html 1.82
texi2html was written by:
Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -29,17 +27,7 @@ texi2html was written by:
and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <texi2html-bug@nongnu.org>
--->
-<head>
-<title>Free Software, Free Society, 2nd ed.: 35. The JavaScript Trap</title>
-
-<meta name="description" content="This is the second edition of Richard Stallman's collection of essays.">
-<meta name="keywords" content="Free Software, Free Society, 2nd ed.: 35. The JavaScript Trap">
-<meta name="resource-type" content="document">
-<meta name="distribution" content="global">
-<meta name="Generator" content="texi2html 1.82">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<style type="text/css">
+--><head><title>Free Software, Free Society, 2nd ed.: 35. The JavaScript Trap</title><meta name="description" content="This is the second edition of Richard Stallman's collection of essays."><meta name="keywords" content="Free Software, Free Society, 2nd ed.: 35. The JavaScript Trap"><meta name="resource-type" content="document"><meta name="distribution" content="global"><meta name="Generator" content="texi2html 1.82"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
@@ -55,16 +43,10 @@ span.roman {font-family:serif; font-weight:normal;}
span.sansserif {font-family:sans-serif; font-weight:normal;}
ul.toc {list-style: none}
-->
-</style>
-<link rel="stylesheet" type="text/css" href="../style.css">
-
-
-</head>
-
-<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+</style><link rel="stylesheet" type="text/css" href="../style.css"></head><body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="JavaScript-Trap"></a>
-<header><div id="logo"><img src="../gnu.svg" height="100" width="100"></div><h1>Free Software, Free Society, 2nd ed.</h1></header><section id="main"><a name="The-JavaScript-Trap"></a>
+<header><div id="logo"><a href="/"><img src="../gnu.svg" height="100" width="100"></a></div><h1>Free Software, Free Society, 2nd ed.</h1></header><section id="main"><a name="The-JavaScript-Trap"></a>
<h1 class="chapter"> 35. The JavaScript Trap </h1>
<a name="index-JavaScript-2"></a>
@@ -76,8 +58,8 @@ strike against the program. Many users are aware that this issue
applies to the plug-ins that browsers offer to install, since they can
be free or nonfree.
</p>
-<p>But browsers run other nonfree programs which they don&rsquo;t ask you
-about or even tell you about&mdash;programs that web pages contain or
+<p>But browsers run other nonfree programs which they don’t ask you
+about or even tell you about—programs that web pages contain or
link to. These programs are most often written in JavaScript, though
other languages are also used.
</p>
@@ -102,17 +84,17 @@ letter long. The source code of a program is the preferred form for
modifying it; the compacted code is not source code, and the real
source code of this program is not available to the user.
</p>
-<p>Browsers don&rsquo;t normally tell you when they load JavaScript programs.
+<p>Browsers don’t normally tell you when they load JavaScript programs.
Most browsers have a way to turn off JavaScript entirely, but none of
them can check for JavaScript programs that are nontrivial and
-nonfree. Even if you&rsquo;re aware of this issue, it would take you
+nonfree. Even if you’re aware of this issue, it would take you
considerable trouble to identify and then block those programs.
However, even in the free software community most users are not aware
-of this issue; the browsers&rsquo; silence tends to conceal it.
+of this issue; the browsers’ silence tends to conceal it.
</p>
<p>It is possible to release a JavaScript program as free software, by
distributing the source code under a free software license. But even
-if the program&rsquo;s source is available, there is no easy way to run your
+if the program’s source is available, there is no easy way to run your
modified version instead of the original. Current free browsers do
not offer a facility to run your own modified version instead of the
one delivered in the page. The effect is comparable to
@@ -140,20 +122,20 @@ to encounter the problem.
</p>
<p>A strong movement has developed that calls for web sites to
communicate only through formats and protocols that are free (some say
-&ldquo;open&rdquo;); that is to say, whose documentation is published and which
+“open”); that is to say, whose documentation is published and which
anyone is free to implement. With the presence of programs in web
pages, that criterion is necessary, but not sufficient. JavaScript
itself, as a format, is free, and use of JavaScript in a web site is
-not necessarily bad. However, as we&rsquo;ve seen above, it also isn&rsquo;t
+not necessarily bad. However, as we’ve seen above, it also isn’t
necessarily OK. When the site transmits a program to the user, it is
not enough for the program to be written in a documented and
-unencumbered language; that program must be free, too. &ldquo;Only free
-programs transmitted to the user&rdquo; must become part of the criterion
+unencumbered language; that program must be free, too. “Only free
+programs transmitted to the user” must become part of the criterion
for proper behavior by web sites.
</p>
<p>Silently loading and running nonfree programs is one among several
-issues raised by &ldquo;web applications.&rdquo; The term &ldquo;web
-application&rdquo; was designed to disregard the fundamental
+issues raised by “web applications.” The term “web
+application” was designed to disregard the fundamental
distinction between software delivered to users and software running
on the server. It can refer to a specialized client program running
in a browser; it can refer to specialized server software; it can
@@ -165,10 +147,10 @@ only the issue of the client-side software. We are addressing the
server issue separately.
</p>
<p>In practical terms, how can we deal with the problem of nonfree
-JavaScript programs in web sites? Here&rsquo;s a plan of action.
+JavaScript programs in web sites? Here’s a plan of action.
</p>
<p>First, we need a practical criterion for nontrivial JavaScript
-programs. Since &ldquo;nontrivial&rdquo; is a matter of degree, this is
+programs. Since “nontrivial” is a matter of degree, this is
a matter of designing a simple criterion that gives good results,
rather than determining the one correct answer.
</p>
@@ -196,7 +178,7 @@ code to use <em>instead</em> of the JavaScript in a certain page.
of the free JavaScript program in that page.)
<a name="index-Greasemonkey"></a>
Greasemonkey comes close
-to being able to do this, but not quite, since it doesn&rsquo;t guarantee to
+to being able to do this, but not quite, since it doesn’t guarantee to
modify the JavaScript code in a page before that program starts to
execute. Using a local proxy works, but is too inconvenient now to be
a real solution. We need to construct a solution that is reliable and
@@ -206,7 +188,7 @@ only.
</p>
<p>These features will make it possible for a JavaScript program included
in a web page to be free in a real and practical sense. JavaScript
-will no longer be a particular obstacle to our freedom&mdash;no more than
+will no longer be a particular obstacle to our freedom—no more than
C and
<a name="index-Java-4"></a>
Java are now. We will be able to reject and even replace the nonfree
@@ -233,30 +215,26 @@ bringing this issue to my attention.
<p>For references to corresponding source code, we recommend
</p>
-<table><tr><td>&nbsp;</td><td><pre class="smallexample">
+<table><tr><td> </td><td><pre class="smallexample">
// @source:
-</pre></td></tr></table>
-
-<p>followed by the URL.
+</pre></td></tr></table><p>followed by the URL.
</p>
<p>To indicate the license of the JavaScript code embedded in a page, we
recommend putting the license notice between two notes of this form:
</p>
-<table><tr><td>&nbsp;</td><td><pre class="smallexample">
+<table><tr><td> </td><td><pre class="smallexample">
@licstart The following is the entire license notice for the
JavaScript code in this page.
...
@licend The above is the entire license notice
for the JavaScript code in this page.
-</pre></td></tr></table>
-
-<p>Of course, all of this should be contained in a multiline comment.
+</pre></td></tr></table><p>Of course, all of this should be contained in a multiline comment.
</p>
<p>The GNU GPL, like many other free software licenses, requires distribution of a copy of the license with both source and binary forms of the program. However, the GNU GPL is long enough that including it in a page with a JavaScript program can be inconvenient. You can remove that requirement, for code that you have the copyright on, with a license notice like this:
</p>
-<table><tr><td>&nbsp;</td><td><pre class="smallexample">
+<table><tr><td> </td><td><pre class="smallexample">
Copyright (C) YYYY Developer
The JavaScript code in this page is free software: you can
@@ -273,11 +251,8 @@ recommend putting the license notice between two notes of this form:
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
-</pre></td></tr></table>
-<a name="index-GPL_002c-releasing-JavaScript-programs-under-1"></a>
+</pre></td></tr></table><a name="index-GPL_002c-releasing-JavaScript-programs-under-1"></a>
<a name="index-JavaScript-3"></a>
<a name="index-traps_002c-JavaScript-1"></a>
-<hr size="2">
-</body>
-</html>
+<hr size="2"></section></body></html>