diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-02-27 16:06:24 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-02-27 16:06:24 +0100 |
commit | 9bc6e42b63e352cfec2afcd2ff66939f6628fd7e (patch) | |
tree | 169fa7a35a26d19a8bc9828341b1e03aa2dd8ec9 | |
parent | da09a394b3eab66d2a0a649df836b0ab98b056ad (diff) | |
parent | 1b46587b4d36bec34d502bb0470dd303e4b49dd5 (diff) |
Merge branch 'master' of ssh://taler.net/var/git/merchant
-rw-r--r-- | README | 17 | ||||
-rw-r--r-- | copylib/config.php (renamed from src/frontend_lib/config.php) | 2 | ||||
-rw-r--r-- | copylib/merchants.php (renamed from src/frontend_lib/merchants.php) | 72 | ||||
-rw-r--r-- | copylib/taler-presence.js (renamed from src/frontend/taler-presence.js) | 0 | ||||
-rw-r--r-- | copylib/util.php (renamed from src/frontend_lib/util.php) | 28 | ||||
-rw-r--r-- | examples/blog/articles/arabic.jpg (renamed from src/frontend_blog/articles/arabic.jpg) | bin | 14233 -> 14233 bytes | |||
-rw-r--r-- | examples/blog/articles/belarusian.jpg (renamed from src/frontend_blog/articles/belarusian.jpg) | bin | 9687 -> 9687 bytes | |||
-rw-r--r-- | examples/blog/articles/bulgarian.jpg (renamed from src/frontend_blog/articles/bulgarian.jpg) | bin | 5440 -> 5440 bytes | |||
-rw-r--r-- | examples/blog/articles/category.jpg (renamed from src/frontend_blog/articles/category.jpg) | bin | 41513 -> 41513 bytes | |||
-rw-r--r-- | examples/blog/articles/chinese-simplified.jpg (renamed from src/frontend_blog/articles/chinese-simplified.jpg) | bin | 4265 -> 4265 bytes | |||
-rw-r--r-- | examples/blog/articles/chinese-traditional.jpg (renamed from src/frontend_blog/articles/chinese-traditional.jpg) | bin | 4409 -> 4409 bytes | |||
-rw-r--r-- | examples/blog/articles/code.jpg (renamed from src/frontend_blog/articles/code.jpg) | bin | 10541 -> 10541 bytes | |||
-rw-r--r-- | examples/blog/articles/farsi.jpg (renamed from src/frontend_blog/articles/farsi.jpg) | bin | 6277 -> 6277 bytes | |||
-rw-r--r-- | examples/blog/articles/greek.jpg (renamed from src/frontend_blog/articles/greek.jpg) | bin | 6033 -> 6033 bytes | |||
-rw-r--r-- | examples/blog/articles/japanese-kana.jpg (renamed from src/frontend_blog/articles/japanese-kana.jpg) | bin | 3983 -> 3983 bytes | |||
-rw-r--r-- | examples/blog/articles/japanese-kanji.jpg (renamed from src/frontend_blog/articles/japanese-kanji.jpg) | bin | 4092 -> 4092 bytes | |||
-rw-r--r-- | examples/blog/articles/korean.jpg (renamed from src/frontend_blog/articles/korean.jpg) | bin | 5742 -> 5742 bytes | |||
-rw-r--r-- | examples/blog/articles/russian.jpg (renamed from src/frontend_blog/articles/russian.jpg) | bin | 9652 -> 9652 bytes | |||
-rw-r--r-- | examples/blog/articles/scrap1_1.html (renamed from src/frontend_blog/articles/scrap1_1.html) | 131 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_10.html (renamed from src/frontend_blog/articles/scrap1_10.html) | 88 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_11.html (renamed from src/frontend_blog/articles/scrap1_11.html) | 37 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_12.html (renamed from src/frontend_blog/articles/scrap1_12.html) | 107 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_13.html (renamed from src/frontend_blog/articles/scrap1_13.html) | 149 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_14.html (renamed from src/frontend_blog/articles/scrap1_14.html) | 207 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_15.html (renamed from src/frontend_blog/articles/scrap1_15.html) | 110 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_16.html (renamed from src/frontend_blog/articles/scrap1_16.html) | 373 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_17.html (renamed from src/frontend_blog/articles/scrap1_17.html) | 101 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_18.html (renamed from src/frontend_blog/articles/scrap1_18.html) | 273 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_19.html (renamed from src/frontend_blog/articles/scrap1_19.html) | 56 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_2.html (renamed from src/frontend_blog/articles/scrap1_2.html) | 271 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_20.html (renamed from src/frontend_blog/articles/scrap1_20.html) | 96 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_21.html (renamed from src/frontend_blog/articles/scrap1_21.html) | 60 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_22.html (renamed from src/frontend_blog/articles/scrap1_22.html) | 85 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_23.html (renamed from src/frontend_blog/articles/scrap1_23.html) | 124 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_24.html (renamed from src/frontend_blog/articles/scrap1_24.html) | 102 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_25.html (renamed from src/frontend_blog/articles/scrap1_25.html) | 711 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_26.html (renamed from src/frontend_blog/articles/scrap1_26.html) | 80 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_27.html (renamed from src/frontend_blog/articles/scrap1_27.html) | 133 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_28.html (renamed from src/frontend_blog/articles/scrap1_28.html) | 194 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_29.html (renamed from src/frontend_blog/articles/scrap1_29.html) | 90 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_3.html (renamed from src/frontend_blog/articles/scrap1_3.html) | 65 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_30.html (renamed from src/frontend_blog/articles/scrap1_30.html) | 102 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_31.html (renamed from src/frontend_blog/articles/scrap1_31.html) | 156 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_32.html (renamed from src/frontend_blog/articles/scrap1_32.html) | 112 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_33.html (renamed from src/frontend_blog/articles/scrap1_33.html) | 167 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_34.html (renamed from src/frontend_blog/articles/scrap1_34.html) | 86 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_35.html (renamed from src/frontend_blog/articles/scrap1_35.html) | 81 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_36.html (renamed from src/frontend_blog/articles/scrap1_36.html) | 64 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_37.html (renamed from src/frontend_blog/articles/scrap1_37.html) | 62 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_38.html (renamed from src/frontend_blog/articles/scrap1_38.html) | 63 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_39.html (renamed from src/frontend_blog/articles/scrap1_39.html) | 55 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_4.html (renamed from src/frontend_blog/articles/scrap1_4.html) | 197 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_40.html (renamed from src/frontend_blog/articles/scrap1_40.html) | 85 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_41.html (renamed from src/frontend_blog/articles/scrap1_41.html) | 64 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_42.html (renamed from src/frontend_blog/articles/scrap1_42.html) | 42 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_43.html (renamed from src/frontend_blog/articles/scrap1_43.html) | 85 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_46.html (renamed from src/frontend_blog/articles/scrap1_46.html) | 90 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_47.html (renamed from src/frontend_blog/articles/scrap1_47.html) | 74 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_5.html (renamed from src/frontend_blog/articles/scrap1_5.html) | 126 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_6.html (renamed from src/frontend_blog/articles/scrap1_6.html) | 245 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_7.html (renamed from src/frontend_blog/articles/scrap1_7.html) | 53 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_8.html (renamed from src/frontend_blog/articles/scrap1_8.html) | 68 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_9.html (renamed from src/frontend_blog/articles/scrap1_9.html) | 72 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_U.0.html | 113 | ||||
-rw-r--r-- | examples/blog/articles/scrap1_U.1.html (renamed from src/frontend_blog/articles/scrap1_U.1.html) | 33 | ||||
-rw-r--r-- | examples/blog/articles/serbian-croatian.jpg (renamed from src/frontend_blog/articles/serbian-croatian.jpg) | bin | 5574 -> 5574 bytes | |||
-rw-r--r-- | examples/blog/articles/song-book-jutta-scrunch-crop.jpg (renamed from src/frontend_blog/articles/song-book-jutta-scrunch-crop.jpg) | bin | 70105 -> 70105 bytes | |||
-rw-r--r-- | examples/blog/articles/tamil.jpg (renamed from src/frontend_blog/articles/tamil.jpg) | bin | 10750 -> 10750 bytes | |||
-rw-r--r-- | examples/blog/articles/ukrainian.jpg (renamed from src/frontend_blog/articles/ukrainian.jpg) | bin | 8537 -> 8537 bytes | |||
-rw-r--r-- | examples/blog/blog_lib.php | 37 | ||||
-rw-r--r-- | examples/blog/essay_cc-form.html | 87 | ||||
-rw-r--r-- | examples/blog/essay_cc-fulfillment.php | 18 | ||||
-rw-r--r-- | examples/blog/essay_contract.php | 82 | ||||
-rw-r--r-- | examples/blog/essay_fulfillment.php | 101 | ||||
-rw-r--r-- | examples/blog/essay_pay.php | 79 | ||||
-rw-r--r-- | examples/blog/gnu.svg (renamed from src/frontend_blog/gnu.svg) | 0 | ||||
-rw-r--r-- | examples/blog/index.html | 151 | ||||
-rw-r--r-- | examples/blog/style.css (renamed from src/frontend_blog/style.css) | 4 | ||||
-rw-r--r-- | examples/blog/taler-presence.js | 61 | ||||
-rw-r--r-- | examples/shop/README (renamed from src/frontend/README) | 0 | ||||
-rw-r--r-- | examples/shop/checkout.php (renamed from src/frontend/checkout.php) | 0 | ||||
-rw-r--r-- | examples/shop/config.php (renamed from src/frontend/config.php) | 0 | ||||
-rw-r--r-- | examples/shop/fulfillment.php (renamed from src/frontend/fulfillment.php) | 2 | ||||
-rw-r--r-- | examples/shop/generate_taler_contract.php (renamed from src/frontend/generate_taler_contract.php) | 27 | ||||
-rw-r--r-- | examples/shop/index.php | 126 | ||||
-rw-r--r-- | examples/shop/pay.php (renamed from src/frontend/pay.php) | 2 | ||||
-rw-r--r-- | examples/shop/style.css (renamed from src/frontend/style.css) | 0 | ||||
-rw-r--r-- | examples/shop/taler-presence.js | 61 | ||||
-rw-r--r-- | src/frontend/index.php | 156 | ||||
-rw-r--r-- | src/frontend_blog/articles/scrap1_U.0.html | 133 | ||||
-rw-r--r-- | src/frontend_blog/blog_lib.php | 37 | ||||
-rw-r--r-- | src/frontend_blog/essay_cc-fulfillment.php | 22 | ||||
-rw-r--r-- | src/frontend_blog/essay_cc-payment.html | 41 | ||||
-rw-r--r-- | src/frontend_blog/essay_contract.php | 85 | ||||
-rw-r--r-- | src/frontend_blog/essay_fulfillment.php | 106 | ||||
-rw-r--r-- | src/frontend_blog/essay_offer.php | 75 | ||||
-rw-r--r-- | src/frontend_blog/essay_pay.php | 77 | ||||
-rw-r--r-- | src/frontend_blog/index.html | 150 |
98 files changed, 3415 insertions, 4362 deletions
@@ -1,3 +1,14 @@ -The new merchant's layout is reflected by the directories 'frontend' and 'backend', -being respectively the PHP website homepage and the C 'core' which is charge of -providing all the cryptographic and DB related primitives. +Files are organized in two main chunks: (1) the ones which implement +Taler "core" protocol and that must be used 'as is' by the merchants +willing to use Taler, and (2) examples of mrchants using files of (1). + +In particular, the structure is such that: + +- 'src/' contains the merchant "backend", a C piece of software which + implements cryto routines and communication with the 'exchange' +- 'examples/' contains examples of merchants using Taler, as may be a + simple donation shop or a blog +- 'copylib/' contains commons routines that any merchant using Taler + needs; for example, some JavaScript which detects if the user has a + Taler wallet installed +- 'doc/' contains documentation files, like TeXinfo diff --git a/src/frontend_lib/config.php b/copylib/config.php index 5e8a0449..c6029c0c 100644 --- a/src/frontend_lib/config.php +++ b/copylib/config.php @@ -2,7 +2,7 @@ $REFUND_DELTA = 'P3M'; // set to false when done with local tests -$explicit_currency = "EUR"; +$explicit_currency = "PUDOS"; $MERCHANT_CURRENCY = $explicit_currency; $host = $_SERVER["HTTP_HOST"]; diff --git a/src/frontend_lib/merchants.php b/copylib/merchants.php index 8449014e..fddbda85 100644 --- a/src/frontend_lib/merchants.php +++ b/copylib/merchants.php @@ -1,4 +1,73 @@ <?php + +/** + * Return a contract proposition to forward to the backend + * Note that `teatax` is an associative array representing a + * Taler-style amount (so it has the usual <amount,fration,currency> + * triple). Moreover, `teatax` should be a *list* of taxes + */ +function _generate_contract($args){ + $contract = array ('amount' => + array ('value' => $args['amount_value'], + 'fraction' => $args['amount_fraction'], + 'currency' => $args['currency']), + 'max_fee' => + array ('value' => 3, + 'fraction' => 01010, + 'currency' => $args['currency']), + 'transaction_id' => $args['transaction_id'], + 'products' => array ( + array ('description' => $args['description'], + 'quantity' => 1, + 'price' => + array ('value' => $args['amount_value'], + 'fraction' => $args['amount_fraction'], + 'currency' => $args['currency']), + 'product_id' => $args['product_id'], + 'taxes' => $args['taxes'], + 'delivery_date' => "Some Date Format", + 'delivery_location' => 'LNAME1')), + 'timestamp' => "/Date(" . $args['now']->getTimestamp() . ")/", + 'expiry' => + "/Date(" . $args['now']->add(new DateInterval('P2W'))->getTimestamp() . ")/", + 'refund_deadline' => + "/Date(" . $args['now']->add(new DateInterval($args['refund_delta']))->getTimestamp() . ")/", + 'repurchase_correlation_id' => $args['correlation_id'], + 'fulfillment_url' => $args['fulfillment_url'], + 'merchant' => + array ('address' => 'LNAME2', + 'name' => $args['merchant_name'], + 'jurisdiction' => 'LNAME3'), + 'locations' => + array ('LNAME1' => + array ('country' => 'Test Country', + 'city' => 'Test City', + 'state' => 'Test State', + 'region' => 'Test Region', + 'province' => 'Test Province', + 'ZIP code' => 4908, + 'street' => 'test street', + 'street number' => 20), + 'LNAME2' => + array ('country' => 'Test Country', + 'city' => 'Test City', + 'state' => 'Test State', + 'region' => 'Test Region', + 'province' => 'Test Province', + 'ZIP code' => 4908, + 'street' => 'test street', + 'street number' => 20), + 'LNAME3' => + array ('country' => 'Test Country', + 'city' => 'Test City', + 'state' => 'Test State', + 'region' => 'Test Region', + 'province' => 'Test Province', + 'ZIP code' => 4908))); + $json = json_encode (array ('contract' => $contract), JSON_PRETTY_PRINT); + return $json; +} + /** * Return a contract proposition to forward to the backend * Note that `teatax` is an associative array representing a @@ -16,7 +85,6 @@ function generate_contract($amount_value, $now, $fulfillment_url){ include("../frontend_lib/config.php"); - file_put_contents("/tmp/ddd", $REFUND_DELTA); $contract = array ('amount' => array ('value' => $amount_value, 'fraction' => $amount_fraction, 'currency' => $currency), @@ -40,7 +108,7 @@ function generate_contract($amount_value, 'repurchase_correlation_id' => $corr_id, 'fulfillment_url' => $fulfillment_url, 'merchant' => array ('address' => 'LNAME2', - 'name' => 'test merchant', + 'name' => 'Free Software Foundation (demo)', 'jurisdiction' => 'LNAME3'), 'locations' => array ('LNAME1' => array ('country' => 'Test Country', diff --git a/src/frontend/taler-presence.js b/copylib/taler-presence.js index 2562238b..2562238b 100644 --- a/src/frontend/taler-presence.js +++ b/copylib/taler-presence.js diff --git a/src/frontend_lib/util.php b/copylib/util.php index 28216c90..3a01f7db 100644 --- a/src/frontend_lib/util.php +++ b/copylib/util.php @@ -6,11 +6,37 @@ function get(&$var, $default=null) { function &pull(&$arr, $idx, $default) { if (!isset($arr[$idx])) { - $arr[idx] = $default; + $arr[$idx] = $default; } return $arr[$idx]; } +function message_from_missing_param($missing, $link, $link_name="home page"){ + return "<p>Bad request, no $missing given. Return to <a href=\"$link\">$link_name</a></p>"; +} + +function article_state_to_str($article_state){ + if(null == $article_state || !isset($article_state)) + return "undefined state"; + $str = "Is payed? "; + $str .= $article_state['ispayed'] ? "true," : "false,"; + if(!isset($article_state['hc'])) + $str .= " no hashcode for this article"; + else $str .= " " . $article_state['hc']; + return $str; +} + +function log_string($str){ + file_put_contents("/tmp/blog.dbg", $str . "\n", FILE_APPEND); +} + +function get_full_uri(){ + + return $_SERVER['REQUEST_SCHEME'] . '://' + . $_SERVER['HTTP_HOST'] + . $_SERVER['REQUEST_URI']; +} + function url_join($base, $path, $strip=false) { $flags = $strip ? (http\Url::STRIP_PATH|http\URL::STRIP_QUERY) : 0; return (new http\URL($base, null, $flags)) diff --git a/src/frontend_blog/articles/arabic.jpg b/examples/blog/articles/arabic.jpg Binary files differindex bcb8cd2d..bcb8cd2d 100644 --- a/src/frontend_blog/articles/arabic.jpg +++ b/examples/blog/articles/arabic.jpg diff --git a/src/frontend_blog/articles/belarusian.jpg b/examples/blog/articles/belarusian.jpg Binary files differindex 340d3756..340d3756 100644 --- a/src/frontend_blog/articles/belarusian.jpg +++ b/examples/blog/articles/belarusian.jpg diff --git a/src/frontend_blog/articles/bulgarian.jpg b/examples/blog/articles/bulgarian.jpg Binary files differindex 4d5b6917..4d5b6917 100644 --- a/src/frontend_blog/articles/bulgarian.jpg +++ b/examples/blog/articles/bulgarian.jpg diff --git a/src/frontend_blog/articles/category.jpg b/examples/blog/articles/category.jpg Binary files differindex 83b3563d..83b3563d 100644 --- a/src/frontend_blog/articles/category.jpg +++ b/examples/blog/articles/category.jpg diff --git a/src/frontend_blog/articles/chinese-simplified.jpg b/examples/blog/articles/chinese-simplified.jpg Binary files differindex 131c4d33..131c4d33 100644 --- a/src/frontend_blog/articles/chinese-simplified.jpg +++ b/examples/blog/articles/chinese-simplified.jpg diff --git a/src/frontend_blog/articles/chinese-traditional.jpg b/examples/blog/articles/chinese-traditional.jpg Binary files differindex a58c72ad..a58c72ad 100644 --- a/src/frontend_blog/articles/chinese-traditional.jpg +++ b/examples/blog/articles/chinese-traditional.jpg diff --git a/src/frontend_blog/articles/code.jpg b/examples/blog/articles/code.jpg Binary files differindex e65ec41d..e65ec41d 100644 --- a/src/frontend_blog/articles/code.jpg +++ b/examples/blog/articles/code.jpg diff --git a/src/frontend_blog/articles/farsi.jpg b/examples/blog/articles/farsi.jpg Binary files differindex ca8c5fa5..ca8c5fa5 100644 --- a/src/frontend_blog/articles/farsi.jpg +++ b/examples/blog/articles/farsi.jpg diff --git a/src/frontend_blog/articles/greek.jpg b/examples/blog/articles/greek.jpg Binary files differindex 409cfb1d..409cfb1d 100644 --- a/src/frontend_blog/articles/greek.jpg +++ b/examples/blog/articles/greek.jpg diff --git a/src/frontend_blog/articles/japanese-kana.jpg b/examples/blog/articles/japanese-kana.jpg Binary files differindex 05fd85c3..05fd85c3 100644 --- a/src/frontend_blog/articles/japanese-kana.jpg +++ b/examples/blog/articles/japanese-kana.jpg diff --git a/src/frontend_blog/articles/japanese-kanji.jpg b/examples/blog/articles/japanese-kanji.jpg Binary files differindex 9f4310dc..9f4310dc 100644 --- a/src/frontend_blog/articles/japanese-kanji.jpg +++ b/examples/blog/articles/japanese-kanji.jpg diff --git a/src/frontend_blog/articles/korean.jpg b/examples/blog/articles/korean.jpg Binary files differindex 93626489..93626489 100644 --- a/src/frontend_blog/articles/korean.jpg +++ b/examples/blog/articles/korean.jpg diff --git a/src/frontend_blog/articles/russian.jpg b/examples/blog/articles/russian.jpg Binary files differindex 851197e3..851197e3 100644 --- a/src/frontend_blog/articles/russian.jpg +++ b/examples/blog/articles/russian.jpg diff --git a/src/frontend_blog/articles/scrap1_1.html b/examples/blog/articles/scrap1_1.html index 2e1644e7..ce724cf1 100644 --- a/src/frontend_blog/articles/scrap1_1.html +++ b/examples/blog/articles/scrap1_1.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.: 1. The Free Software Definition</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.: 1. The Free Software Definition"> -<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.: 1. The Free Software Definition</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.: 1. The Free Software Definition"><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,59 +43,49 @@ 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="Definition"></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-Free-Software-Definition"></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-Free-Software-Definition"></a> <h1 class="chapter"> 1. The Free Software Definition </h1> <a name="index-free-software-_0028see-also-free-software_002c-four-freedoms_002c-citizen-values_002c-selling_002c-and-software_0029"></a> <p>We maintain this free software definition to show clearly what must be true about a particular software program for it to be considered free software. From time to time we revise this definition to clarify it. -If you would like to review the changes we’ve made, please see the +If you would like to review the changes we’ve made, please see the History section, following the definition, at <a href="http://gnu.org/philosophy/free-sw.html">http://gnu.org/philosophy/free-sw.html</a>. </p> -<p>“Free software” is a matter of liberty, not price. To understand -the concept, you should think of “free” as in “free speech,” -not as in “free beer.” +<p>“Free software” is a matter of liberty, not price. To understand +the concept, you should think of “free” as in “free speech,” +not as in “free beer.” </p> <a name="index-free-software_002c-four-freedoms"></a> <a name="index-four-freedoms"></a> -<p>Free software is a matter of the users’ freedom to run, copy, distribute, +<p>Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the -program’s users have the four essential freedoms: +program’s users have the four essential freedoms: </p> -<ul> -<li> -The freedom to run the program, for any purpose (freedom 0). +<ul><li> +The freedom to run the program, for any purpose (freedom 0). </li><li> The freedom to study how the program works, and change it to make it -do what you wish (freedom 1). Access to the source code is a +do what you wish (freedom 1). Access to the source code is a precondition for this. </li><li> The freedom to redistribute copies so you can help your neighbor -(freedom 2). +(freedom 2). </li><li> The freedom to distribute copies of your modified versions to others -(freedom 3). By doing this you can give the whole community a chance +(freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this. -</li></ul> - - -<p>A program is free software if users have all of these freedoms. Thus, +</li></ul><p>A program is free software if users have all of these freedoms. Thus, you should be free to redistribute copies, either with or without modifications, either gratis or charging a fee for distribution, to anyone anywhere. Being free to do these things means (among other @@ -122,8 +100,8 @@ notify anyone in particular, or in any particular way. person or organization to use it on any kind of computer system, for any kind of overall job and purpose, without being required to communicate about it with the developer or any other specific -entity. In this freedom, it is the <em>user’s</em> purpose that matters, -not the <em>developer’s</em> purpose; you as a user are free to run the +entity. In this freedom, it is the <em>user’s</em> purpose that matters, +not the <em>developer’s</em> purpose; you as a user are free to run the program for your purposes, and if you distribute it to someone else, she is then free to run it for her purposes, but you are not entitled to impose your purposes on her. @@ -133,26 +111,26 @@ forms of the program, as well as source code, for both modified and unmodified versions. (Distributing programs in runnable form is necessary for conveniently installable free operating systems.) It is OK if there is no way to produce a binary or executable form for a certain program -(since some languages don’t support that feature), but you must have the +(since some languages don’t support that feature), but you must have the freedom to redistribute such forms should you find or develop a way to make them. </p> -<p>In order for freedoms 1 and 3 (the freedom to make changes +<p>In order for freedoms 1 and 3 (the freedom to make changes and the freedom to publish improved versions) to be meaningful, you must have access to the source code of the program. Therefore, accessibility of source code is a necessary condition for free -software. Obfuscated “source code” is not real source code and does +software. Obfuscated “source code” is not real source code and does not count as source code. </p> -<p>Freedom 1 includes the freedom to use your changed version in +<p>Freedom 1 includes the freedom to use your changed version in place of the original. If the program is delivered in a product -designed to run someone else’s modified versions but refuse to run -yours—a practice known as +designed to run someone else’s modified versions but refuse to run +yours—a practice known as <a name="index-tivoization"></a> -“tivoization” or (in its practitioners’ +“tivoization” or (in its practitioners’ perverse terminology) as <a name="index-secure-boot-_0028see-also-tivoization_0029"></a> -“secure boot”—freedom 1 becomes a theoretical fiction rather +“secure boot”—freedom 1 becomes a theoretical fiction rather than a practical freedom. This is not sufficient. In other words, these binaries are not free software even if the source code they are compiled from is free. @@ -160,13 +138,13 @@ compiled from is free. <p>One important way to modify a program is by merging in available free subroutines and modules. <a name="index-copyright-_0028see-also-both-copyleft-and-DMCA_0029"></a> -If the program’s license says that you cannot merge in a suitably -licensed existing module—for instance, if it requires you to be the -copyright holder of any code you add—then the license is too +If the program’s license says that you cannot merge in a suitably +licensed existing module—for instance, if it requires you to be the +copyright holder of any code you add—then the license is too restrictive to qualify as free. </p> <a name="index-copyleft-_0028see-also-copyright_0029-1"></a> -<p>Freedom 3 includes the freedom to release your modified versions +<p>Freedom 3 includes the freedom to release your modified versions as free software. A free license may also permit other ways of releasing them; in other words, it does not have to be a copyleft license. However, a license that requires modified versions to be @@ -179,7 +157,7 @@ its terms, without your doing anything wrong to give cause, the software is not free. </p> <p>However, certain kinds of rules about the manner of distributing free -software are acceptable, when they don’t conflict with the central +software are acceptable, when they don’t conflict with the central freedoms. For example, copyleft (very simply stated) is the rule that when redistributing the program, you cannot add restrictions to deny other people the central freedoms. This rule does not conflict with @@ -187,7 +165,7 @@ the central freedoms; rather it protects them. </p> <a name="index-commercial-use-and-development"></a> <a name="index-free-software_002c-to-be-distinguished-from-noncommercial-software"></a> -<p>“Free software” does not mean “noncommercial.” A free program must +<p>“Free software” does not mean “noncommercial.” A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important. You @@ -201,17 +179,17 @@ If your modifications are limited, in substance, to changes that someone else considers an improvement, that is not freedom. </p> <p>However, rules about how to package a modified version are acceptable, -if they don’t substantively limit your freedom to release modified +if they don’t substantively limit your freedom to release modified versions, or your freedom to make and use modified versions privately. Thus, it is acceptable for the license to require that you change the name of the modified version, remove a logo, or identify your modifications as yours. As long as these requirements are not so burdensome that they effectively hamper you from releasing your -changes, they are acceptable; you’re already making other changes to -the program, so you won’t have trouble making a few more. +changes, they are acceptable; you’re already making other changes to +the program, so you won’t have trouble making a few more. </p> -<p>Rules that “if you make your version available in this way, you must -make it available in that way also” can be acceptable too, on the +<p>Rules that “if you make your version available in this way, you must +make it available in that way also” can be acceptable too, on the same condition. An example of such an acceptable rule is one saying that if you have distributed a modified version and a previous developer asks for a copy of it, you must send one. (Note that such a @@ -225,9 +203,9 @@ for everyone. But noncopylefted free software also exists. We believe there are important reasons why it is better to use copyleft, but if your program is noncopylefted free software, it is still basically -ethical. (See “Categories of Free and Nonfree Software” -(p. @refx{Categories-pg}{) for a description of how “free software,” -“copylefted software” and other categories of software relate to +ethical. (See “Categories of Free and Nonfree Software” +(p. @refx{Categories-pg}{) for a description of how “free software,” +“copylefted software” and other categories of software relate to each other.) <a name="index-copyleft-_0028see-also-copyright_0029-2"></a> </p> @@ -252,21 +230,21 @@ licenses are based on contracts, and contracts can impose a much larger range of possible restrictions. That means there are many possible ways such a license could be unacceptably restrictive and nonfree. </p> -<p>We can’t possibly list all the ways that might happen. If a +<p>We can’t possibly list all the ways that might happen. If a contract-based license restricts the user in an unusual way that -copyright-based licenses cannot, and which isn’t mentioned here as +copyright-based licenses cannot, and which isn’t mentioned here as legitimate, we will have to think about it, and we will probably conclude it is nonfree. </p> <a name="index-call-to-action_002c-use-correct-terminology-_0028see-also-terminology_0029"></a> <a name="index-_0060_0060piracy_002c_0027_0027-erroneous-use-of-term"></a> <p>When talking about free software, it is best to avoid using terms like -“give away” or “for free,” because those terms imply that the +“give away” or “for free,” because those terms imply that the issue is about price, not freedom. Some common terms such as -“piracy” embody opinions we hope you won’t endorse. See “Words to -Avoid (or Use with Care)” (p. @refx{Words to Avoid-pg}{) for a discussion -of these terms. We also have a list of proper translations of “free -software” into various languages (p. @refx{FS Translations-pg}{). +“piracy” embody opinions we hope you won’t endorse. See “Words to +Avoid (or Use with Care)” (p. @refx{Words to Avoid-pg}{) for a discussion +of these terms. We also have a list of proper translations of “free +software” into various languages (p. @refx{FS Translations-pg}{). </p> <p>Finally, note that criteria such as those stated in this free software definition require careful thought for their interpretation. To decide @@ -278,7 +256,7 @@ in these criteria. Sometimes a license requirement raises an issue that calls for extensive thought, including discussions with a lawyer, before we can decide if the requirement is acceptable. When we reach a conclusion about a new issue, we often update these criteria to make -it easier to see why certain licenses do or don’t qualify. +it easier to see why certain licenses do or don’t qualify. </p> <p>If you are interested in whether a specific license qualifies as a free software license, see our list of licenses, at @@ -292,7 +270,7 @@ proliferation of different free software licenses means increased work for users in understanding the licenses; we may be able to help you find an existing free software license that meets your needs. </p> -<p>If that isn’t possible, if you really need a new license, with our +<p>If that isn’t possible, if you really need a new license, with our help you can ensure that the license really is a free software license and avoid various practical problems. </p> @@ -305,7 +283,7 @@ must be free, and because the manuals are in effect part of the software. </p> <p>The same arguments also make sense for other kinds of works of -practical use—that is to say, works that embody useful knowledge, +practical use—that is to say, works that embody useful knowledge, such as educational works and reference works. <a name="index-Wikipedia"></a> Wikipedia is the best-known example. @@ -315,11 +293,8 @@ has been extended to a definition of free cultural works<a name="DOCF1" href="#F <a name="index-free-software-_0028see-also-free-software_002c-four-freedoms_002c-citizen-values_002c-selling_002c-and-software_0029-1"></a> </p> <div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT1" href="#DOCF1">(1)</a></h3> <p>See <a href="http://freedomdefined.org">http://freedomdefined.org</a>. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_10.html b/examples/blog/articles/scrap1_10.html index 1e2d49c8..c2d964c5 100644 --- a/src/frontend_blog/articles/scrap1_10.html +++ b/examples/blog/articles/scrap1_10.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.: 10. Selling Free Software</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.: 10. Selling Free Software"> -<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.: 10. Selling Free Software</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.: 10. Selling Free Software"><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="Selling"></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="Selling-Free-Software"></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="Selling-Free-Software"></a> <h1 class="chapter"> 10. Selling Free Software </h1> <a name="index-selling_002c-free-software-2"></a> @@ -72,17 +54,17 @@ ul.toc {list-style: none} <a name="index-GNU_002c-GNU-Project-4"></a> GNU Project is that you should not charge money for distributing copies of software, or that -you should charge as little as possible—just enough to cover +you should charge as little as possible—just enough to cover the cost. This is a misunderstanding. </p> <p>Actually, we encourage people who redistribute free software to charge as much as they wish or can. If this seems surprising to you, please read on. </p> -<p>The word “free” has two legitimate general meanings; it can refer -either to freedom or to price. When we speak of “free software,” -we’re talking about freedom, not price. (Think of “free speech,” -not “free beer.”) Specifically, it means that a user is free to run +<p>The word “free” has two legitimate general meanings; it can refer +either to freedom or to price. When we speak of “free software,” +we’re talking about freedom, not price. (Think of “free speech,” +not “free beer.”) Specifically, it means that a user is free to run the program, change the program, and redistribute the program with or without changes. </p> @@ -91,9 +73,9 @@ substantial price. Often the same program is available in both ways from different places. The program is free regardless of the price, because users have freedom in using it. </p> -<p>Nonfree programs are usually sold for a high price, but sometimes a store will give you a copy at no charge. That doesn’t make it free software, though. Price or no price, the program is nonfree because users don’t have freedom. +<p>Nonfree programs are usually sold for a high price, but sometimes a store will give you a copy at no charge. That doesn’t make it free software, though. Price or no price, the program is nonfree because users don’t have freedom. </p> -<p>Since free software is not a matter of price, a low price doesn’t make +<p>Since free software is not a matter of price, a low price doesn’t make the software free, or even closer to free. So if you are redistributing copies of free software, you might as well charge a substantial fee and <em>make @@ -112,18 +94,18 @@ distributor, the way to do this is to give a part of the profit to free software Free Software Foundation. This way you can advance the world of free software. </p> -<p><em>Distributing free software is an opportunity to raise funds for development. Don’t waste it!</em> +<p><em>Distributing free software is an opportunity to raise funds for development. Don’t waste it!</em> </p> <p>In order to contribute funds, you need to have some extra. If you -charge too low a fee, you won’t have anything to spare to support +charge too low a fee, you won’t have anything to spare to support development. </p> <a name="Will-a-Higher-Distribution-Price-Hurt-Some-Users_003f"></a> <h3 class="subheading"> Will a Higher Distribution Price Hurt Some Users? </h3> <p>People sometimes worry that a high distribution fee will put free -software out of range for users who don’t have a lot of money. With -proprietary software, a high price does exactly that—but free software +software out of range for users who don’t have a lot of money. With +proprietary software, a high price does exactly that—but free software is different. </p> <p>The difference is that free software naturally tends to spread around, @@ -133,7 +115,7 @@ and there are many ways to get it. proprietary program without paying the standard price. If this price is high, that does make it hard for some users to use the program. </p> -<p>With free software, users don’t <em>have</em> to pay the +<p>With free software, users don’t <em>have</em> to pay the distribution fee in order to use the software. They can copy the program from a friend who has a copy, or with the help of a friend who has network access. Or several users can join together, split the @@ -148,7 +130,7 @@ CD-ROM price is not a major obstacle when the software is free. think that a high price for distribution would reduce the number of users, or that a low price is likely to encourage users. </p> -<p>This is true for proprietary software—but free software is +<p>This is true for proprietary software—but free software is different. With so many ways to get copies, the price of distribution service has less effect on popularity. </p> @@ -157,7 +139,7 @@ service has less effect on popularity. mainly by <em>how much free software can do,</em> and how easy it is to use. Many users do not make freedom their priority; they may continue to use proprietary software if -free software can’t do all the jobs they want done. Thus, if we want +free software can’t do all the jobs they want done. Thus, if we want to increase the number of users in the long run, we should above all <em>develop more free software.</em> </p> @@ -170,21 +152,21 @@ distribution rather than writing, the best way you can help is by raising funds for others to write them. </p> <a name="The-Term-_0060_0060Selling-Software_0027_0027-Can-Be-Confusing-Too"></a> -<h3 class="subheading"> The Term “Selling Software” Can Be Confusing Too </h3> +<h3 class="subheading"> The Term “Selling Software” Can Be Confusing Too </h3> -<p>Strictly speaking, “selling” means trading goods for +<p>Strictly speaking, “selling” means trading goods for money. Selling a copy of a free program is legitimate, and we encourage it. </p> -<p>However, when people think of “selling software,” +<p>However, when people think of “selling software,” they usually imagine doing it the way most companies do it: making the software proprietary rather than free. </p> -<p>So unless you’re going to draw distinctions carefully, the way this +<p>So unless you’re going to draw distinctions carefully, the way this article does, we suggest it is better to avoid using the term -“selling software” and choose some other wording instead. -For example, you could say “distributing free software for a -fee”—that is unambiguous. +“selling software” and choose some other wording instead. +For example, you could say “distributing free software for a +fee”—that is unambiguous. </p> <a name="High-or-Low-Fees_002c-and-the-GNU-GPL"></a> <h3 class="subheading"> High or Low Fees, and the GNU GPL </h3> @@ -193,7 +175,7 @@ fee”—that is unambiguous. <p>Except for one special situation, the GNU General Public License (GNU GPL) has no requirements about how much you can charge for distributing a copy of free software. You can charge nothing, a penny, a dollar, or -a billion dollars. It’s up to you, and the marketplace, so don’t +a billion dollars. It’s up to you, and the marketplace, so don’t complain to us if nobody wants to pay a billion dollars for a copy. </p> @@ -201,22 +183,20 @@ copy. without the corresponding complete source code. Those who do this are required by the GNU GPL to provide source code on subsequent request. Without a limit on the fee for the source code, they would be able set -a fee too large for anyone to pay—such as a billion -dollars—and thus pretend to release source code while in truth +a fee too large for anyone to pay—such as a billion +dollars—and thus pretend to release source code while in truth concealing it. So in this case we have to limit the fee for source in order -to ensure the user’s freedom. In ordinary situations, however, there +to ensure the user’s freedom. In ordinary situations, however, there is no such justification for limiting distribution fees, so we do not limit them. </p> <p>Sometimes companies whose activities cross the line stated in the GNU -GPL plead for permission, saying that they “won’t charge -money for the GNU software” or such like. That won’t get them anywhere +GPL plead for permission, saying that they “won’t charge +money for the GNU software” or such like. That won’t get them anywhere with us. Free software is about freedom, and enforcing the GPL is -defending freedom. When we defend users’ freedom, we are not +defending freedom. When we defend users’ freedom, we are not distracted by side issues such as how much of a distribution fee is charged. Freedom is the issue, the whole issue, and the only issue. <a name="index-selling_002c-free-software-3"></a> <a name="index-selling_002c-and-distribution-fees-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_11.html b/examples/blog/articles/scrap1_11.html index a5935074..9c08a741 100644 --- a/src/frontend_blog/articles/scrap1_11.html +++ b/examples/blog/articles/scrap1_11.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.: 11. The Free Software Song</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.: 11. The Free Software Song"> -<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.: 11. The Free Software Song</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.: 11. The Free Software Song"><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,28 +43,19 @@ 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="Song"></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-Free-Software-Song"></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-Free-Software-Song"></a> <h1 class="chapter"> 11. The Free Software Song </h1> <a name="index-Stallman_002c-Richard-3"></a> <a name="index-_0060_0060Free-Software-Song_0027_0027"></a> <a name="index-_0060_0060Sadi-moma-bela-loza_0027_0027"></a> <a name="index-hackers-5"></a> -<p>The lyrics of “The Free Software Song” are sung to the melody of the -Bulgarian folk song “Sadi moma bela loza.” To listen to a recording +<p>The lyrics of “The Free Software Song” are sung to the melody of the +Bulgarian folk song “Sadi moma bela loza.” To listen to a recording of the piece accompanied by Bulgarian instruments played in traditional style, please visit <a href="http://gnu.org/music/FreeSWSong.ogg">http://gnu.org/music/FreeSWSong.ogg</a>. -<br> -</p> <img src="song-book-jutta-scrunch-crop.jpg" alt="song-book-jutta-scrunch-crop"> -</body> -</html> +<br></p> <img src="song-book-jutta-scrunch-crop.jpg" alt="song-book-jutta-scrunch-crop"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_12.html b/examples/blog/articles/scrap1_12.html index d2ded327..5dab1008 100644 --- a/src/frontend_blog/articles/scrap1_12.html +++ b/examples/blog/articles/scrap1_12.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.: 12. What's in a Name?</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.: 12. What's in a Name?"> -<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.: 12. What's in a Name?</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.: 12. What's in a Name?"><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,17 +43,11 @@ 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="Whats-Name"></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="What_0027s-in-a-Name_003f"></a> -<h1 class="chapter"> 12. What’s in a Name? </h1> +<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="What_0027s-in-a-Name_003f"></a> +<h1 class="chapter"> 12. What’s in a Name? </h1> <a name="index-nonfree-software_002c-insidious-and-nefarious-addition-of"></a> <a name="index-terminology_002c-importance-of-using-correct-1"></a> @@ -76,16 +58,16 @@ ul.toc {list-style: none} <p>Names convey meanings; our choice of names determines the meaning of what we say. An inappropriate name gives people the wrong idea. A -rose by any other name would smell as sweet—but if you call it a pen, +rose by any other name would smell as sweet—but if you call it a pen, people will be rather disappointed when they try to write with it. -And if you call pens “roses,” people may not realize what +And if you call pens “roses,” people may not realize what they are good for. If you call our operating system -Linux, that conveys a mistaken idea of the system’s +Linux, that conveys a mistaken idea of the system’s origin, history, and purpose. If you call it GNU/Linux, that conveys (though not in detail) an accurate idea. </p> <p>Does this really matter for our community? Is it important whether people -know the system’s origin, history, and purpose? Yes—because people +know the system’s origin, history, and purpose? Yes—because people who forget history are often condemned to repeat it. The Free World that has developed around GNU/Linux is not guaranteed to survive; the problems that @@ -93,30 +75,30 @@ led us to develop GNU are not completely eradicated, and they threaten to come back. </p> -<p>When I explain why it’s appropriate to call the operating system +<p>When I explain why it’s appropriate to call the operating system GNU/Linux rather than Linux, people sometimes respond this way: </p> <blockquote class="smallquotation"> <p> Granted that the GNU Project deserves credit for this work, is - it really worth a fuss when people don’t give credit? Isn’t the + it really worth a fuss when people don’t give credit? Isn’t the important thing that the job was done, not who did it? You ought to relax, take pride in the job well done, and not worry about the credit. </p> </blockquote> -<p>This would be wise advice, if only the situation were like that—if +<p>This would be wise advice, if only the situation were like that—if the job were done and it were time to relax. If only that were true! But challenges abound, and this is no time to take the future for -granted. Our community’s strength rests on commitment to freedom and +granted. Our community’s strength rests on commitment to freedom and cooperation. Using the name GNU/Linux is a way for people to remind themselves and inform others of these goals. </p> <p>It is possible to write good free software without thinking of GNU; much good work has been done in the name of Linux also. But the term -“Linux” has been associated ever since it was first coined +“Linux” has been associated ever since it was first coined with a philosophy that does not make a commitment to the freedom to cooperate. As the name is increasingly used by business, we will have even more trouble making it connect with community spirit. @@ -125,20 +107,20 @@ have even more trouble making it connect with community spirit. <a name="index-traps_002c-_0060_0060Linux_0027_0027-distribution-companies"></a> <a name="index-citizen-values_002c-convenience-v_002e-3"></a> <p>A great challenge to the future of free software comes from the -tendency of the “Linux” distribution companies to add +tendency of the “Linux” distribution companies to add nonfree software to GNU/Linux in the name of convenience and power. All the major commercial distribution developers do this; none limits itself to free software. Most of them do not clearly identify the nonfree packages in their distributions. Many even develop nonfree software and add it to the system. Some outrageously advertise -“Linux” systems that are “licensed per seat,” +“Linux” systems that are “licensed per seat,” which give the user as much freedom as Microsoft <a name="index-Windows"></a> Windows. </p> <p>People try to justify adding nonfree software in the name of the -“popularity of Linux”—in effect, valuing popularity above +“popularity of Linux”—in effect, valuing popularity above freedom. Sometimes this is openly admitted. For instance, <a name="index-Wired-magazine"></a> <cite>Wired</cite> @@ -146,14 +128,14 @@ magazine said that <a name="index-McMillan_002c-Robert"></a> Robert McMillan, editor of <a name="index-Linux-Magazine"></a> -<cite>Linux Magazine</cite>, “feels +<cite>Linux Magazine</cite>, “feels that the move toward open source software should be fueled by -technical, rather than political, decisions.”<a name="DOCF28" href="#FOOT28">(28)</a> And +technical, rather than political, decisions.”<a name="DOCF28" href="#FOOT28">(28)</a> And <a name="index-Caldera"></a> -Caldera’s +Caldera’s CEO openly urged users to drop the goal of freedom and work instead for the -“popularity of Linux.” +“popularity of Linux.” </p> <a name="index-citizen-values_002c-production-v_002e-freedom-and-way-of-life"></a> <p>Adding nonfree software to the GNU/Linux system may increase the @@ -161,7 +143,7 @@ popularity, if by popularity we mean the number of people using some of GNU/Linux in combination with nonfree software. But at the same time, it implicitly encourages the community to accept nonfree software as a good thing, and forget the -goal of freedom. It is not good to drive faster if you can’t stay on the +goal of freedom. It is not good to drive faster if you can’t stay on the road. </p> <a name="index-libraries-_0028comp_002e_0029_002c-as-traps"></a> @@ -170,7 +152,7 @@ road. <a name="index-developers_002c-traps-for-1"></a> <a name="index-Motif-_0028see-also-LessTif_0029-2"></a> <a name="index-LessTif-_0028see-also-Motif_0029-2"></a> -<p>When the nonfree “add-on” is a library or programming +<p>When the nonfree “add-on” is a library or programming tool, it can become a trap for free software developers. When they write free software that depends on the nonfree package, their software cannot be part of a completely free system. Motif and @@ -179,7 +161,7 @@ Qt trapped large amounts of free software in this way in the past, creating problems whose solutions took years. Motif remained somewhat of a problem until it became obsolete and was no longer used. Later, <a name="index-Sun-Microsystems"></a> -Sun’s nonfree +Sun’s nonfree <a name="index-Java"></a> Java implementation had a similar effect: the Java Trap, fortunately now mostly corrected. @@ -192,7 +174,7 @@ the nonfree software that users expect to find with it. If this happens, our campaign for freedom will have failed. </p> <p>If releasing free alternatives were simply a matter of programming, -solving future problems might become easier as our community’s +solving future problems might become easier as our community’s development resources increase. But we face obstacles that threaten to make this harder: laws that prohibit free software. As software patents mount up, and as laws like the @@ -208,23 +190,23 @@ that use them.</em> <a name="index-call-to-action_002c-fight-for-freedom"></a> <p>Meeting these challenges will require many different kinds of effort. But what we need above all, to confront any kind of challenge, is to -remember the goal of freedom to cooperate. We can’t expect a mere +remember the goal of freedom to cooperate. We can’t expect a mere desire for powerful, reliable software to motivate people to make great efforts. We need the kind of determination that people have -when they fight for their freedom and their community—determination +when they fight for their freedom and their community—determination to keep on for years and not give up. </p> <p>In our community, this goal and this determination emanate mainly from the <a name="index-GNU_002c-GNU-Project-6"></a> -GNU Project. We’re the ones who talk about freedom and community +GNU Project. We’re the ones who talk about freedom and community as something to stand firm for; the organizations that speak of -“Linux” normally don’t say this. The magazines about -“Linux” are typically full of ads for nonfree software; -the companies that package “Linux” add nonfree software -to the system; other companies “support Linux” by +“Linux” normally don’t say this. The magazines about +“Linux” are typically full of ads for nonfree software; +the companies that package “Linux” add nonfree software +to the system; other companies “support Linux” by developing nonfree applications to run on GNU/Linux; the user groups -for “Linux” typically invite salesmen to present those +for “Linux” typically invite salesmen to present those applications. The main place people in our community are likely to come across the idea of freedom and determination is in the GNU Project. @@ -233,24 +215,24 @@ Project. </p> <p>People who know they are using a system that came out of the GNU Project can see a direct relationship between themselves and GNU. -They won’t automatically agree with our philosophy, but at least they +They won’t automatically agree with our philosophy, but at least they will see a reason to think seriously about it. In contrast, people -who consider themselves “Linux users,” and believe that -the GNU Project “developed tools which proved to be useful in -Linux,” typically perceive only an indirect relationship between +who consider themselves “Linux users,” and believe that +the GNU Project “developed tools which proved to be useful in +Linux,” typically perceive only an indirect relationship between GNU and themselves. They may just ignore the GNU philosophy when they come across it. </p> <p>The GNU Project is idealistic, and anyone encouraging idealism today faces a great obstacle: the prevailing ideology encourages people to -dismiss idealism as “impractical.” Our idealism has been +dismiss idealism as “impractical.” Our idealism has been extremely practical: it is the reason we have a free GNU/Linux operating system. People who love this system ought to know that it is our idealism made real. </p> <a name="index-call-to-action_002c-use-correct-terminology-_0028see-also-terminology_0029-2"></a> -<p>If “the job” really were done, if there were nothing at +<p>If “the job” really were done, if there were nothing at stake except credit, perhaps it would be wiser to let the matter drop. But we are not in that position. To inspire people to do the work that needs to be done, we need to be recognized for what we have @@ -262,11 +244,8 @@ system GNU/Linux. <a name="index-GNU_002fLinux-v_002e-_0060_0060Linux_0027_0027-_0028see-also-both-open-source-and-terminology_0029-1"></a> <a name="index-GNU_002c-GNU_002fLinux-v_002e-_0060_0060Linux_0027_0027-_0028see-also-both-open-source-and-terminology_0029-1"></a> </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT28" href="#DOCF28">(28)</a></h3> -<p>Michelle Finley, “French Pols Say, ‘Open It Up,’” 24 April 2000, <a href="http://wired.com/politics/law/news/2000/04/35862">http://wired.com/politics/law/news/2000/04/35862</a>. +<p>Michelle Finley, “French Pols Say, ‘Open It Up,’” 24 April 2000, <a href="http://wired.com/politics/law/news/2000/04/35862">http://wired.com/politics/law/news/2000/04/35862</a>. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_13.html b/examples/blog/articles/scrap1_13.html index b3e31df3..5042476a 100644 --- a/src/frontend_blog/articles/scrap1_13.html +++ b/examples/blog/articles/scrap1_13.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.: 13. Categories of Free and Nonfree Software</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.: 13. Categories of Free and Nonfree Software"> -<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.: 13. Categories of Free and Nonfree Software</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.: 13. Categories of Free and Nonfree Software"><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,34 +43,25 @@ 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="Categories"></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="Categories-of-Free-and-Nonfree-Software"></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="Categories-of-Free-and-Nonfree-Software"></a> <h1 class="chapter"> 13. Categories of Free and Nonfree Software </h1> <a name="index-call-to-action_002c-use-correct-terminology-_0028see-also-terminology_0029-3"></a> - <img src="category.jpg" alt="category"> - -<blockquote class="smallquotation"><p><em>This diagram, originally by Chao-Kuei and updated by several -others since, explains the different categories of software. It’s + <img src="category.jpg" alt="category"><blockquote class="smallquotation"><p><em>This diagram, originally by Chao-Kuei and updated by several +others since, explains the different categories of software. It’s available at <a href="http://gnu.org/philosophy/categories.html">http://gnu.org/philosophy/categories.html</a> as a Scalable Vector Graphic and as an XFig document, under the terms of any of the GNU GPL v2 or later, the GNU FDL v1.2 or later, or the Creative Commons Attribution-Share Alike v2.0 or later. To view a copy of the Creative Commons license, visit <a href="http://creativecommons.org/licenses/by-sa/2.0">http://creativecommons.org/licenses/by-sa/2.0</a>, or -send a letter to Creative Commons, 171 Second Street, -Suite 300, San Francisco, California 94105, USA.</em> +send a letter to Creative Commons, 171 Second Street, +Suite 300, San Francisco, California 94105, USA.</em> </p></blockquote> -<br> -<a name="Free-Software"></a> +<br><a name="Free-Software"></a> <h3 class="subheading"> Free Software </h3> <a name="index-software_002c-free-_0028see-also-free-software_0029"></a> @@ -91,16 +70,16 @@ Suite 300, San Francisco, California 94105, USA.</em> <p> Free software is software that comes with permission for anyone to use, copy, and/or distribute, either verbatim or with modifications, either gratis or for a fee. In particular, this - means that source code must be available. “If it’s not - source, it’s not software.” This is a simplified - description; see also the full definition (p. @refx{Definition-pg}{). + means that source code must be available. “If it’s not + source, it’s not software.” This is a simplified + description; see also the full definition (p. @refx{Definition-pg}{). </p> <p> If a program is free, then it can potentially be included in a free operating system such as GNU, or free versions of the GNU/Linux system. </p> -<p> There are many different ways to make a program free—many +<p> There are many different ways to make a program free—many questions of detail, which could be decided in more than one way and still make the program free. Some of the possible variations are described below. For information on specific free software @@ -108,7 +87,7 @@ Suite 300, San Francisco, California 94105, USA.</em> </p> <p> Free software is a matter of freedom, not price. But proprietary software companies typically use the term - “free software” to refer to price. Sometimes they + “free software” to refer to price. Sometimes they mean that you can obtain a binary copy at no charge; sometimes they mean that a copy is bundled with a computer that you are buying, and the price includes both. Either way, it has @@ -119,19 +98,19 @@ Suite 300, San Francisco, California 94105, USA.</em> says its product is free software, always check the actual distribution terms to see whether users really have all the freedoms that free software implies. Sometimes it really is free - software; sometimes it isn’t. + software; sometimes it isn’t. </p> <p> Many languages have two separate words for - “free” as in freedom and “free” as in - zero price. For example, French has “libre” and - “gratuit.” Not so English; there is a word - “gratis” that refers unambiguously to price, but + “free” as in freedom and “free” as in + zero price. For example, French has “libre” and + “gratuit.” Not so English; there is a word + “gratis” that refers unambiguously to price, but no common adjective that refers unambiguously to freedom. So if you are speaking another language, we suggest you translate - “free” into your language to make it clearer. See + “free” into your language to make it clearer. See our list of - translations of the term “free software” into - various other languages (p. @refx{FS Translations-pg}{). + translations of the term “free software” into + various other languages (p. @refx{FS Translations-pg}{). </p> <p> Free software is often more reliable than nonfree software. <a name="index-software_002c-free-_0028see-also-free-software_0029-1"></a> @@ -143,7 +122,7 @@ Suite 300, San Francisco, California 94105, USA.</em> <a name="index-software_002c-open-source-_0028see-also-open-source-software_0029"></a> <a name="index-open-source-software-_0028see-also-software_0029"></a> -<p> The term “open source” software is used by some +<p> The term “open source” software is used by some people to mean more or less the same category as free software. It is not exactly the same class of software: they accept some licenses that we consider too restrictive, and @@ -154,10 +133,10 @@ Suite 300, San Francisco, California 94105, USA.</em> <a name="index-free-software_002c-essential-difference-between-open-source-and-1"></a> <a name="index-open-source_002c-essential-difference-between-free-software-and-1"></a> </p> -<p> We prefer the term “free - software” because it refers to - freedom—something that the term “open - source” does not do. +<p> We prefer the term “free + software” because it refers to + freedom—something that the term “open + source” does not do. </p> <a name="Public-Domain-Software"></a> <h3 class="subheading"> Public Domain Software </h3> @@ -181,13 +160,13 @@ public domain; it is copyrighted, and the copyright holders have legally given permission for everyone to use it in freedom, using a free software license. </p> -<p> Sometimes people use the term “public domain” +<p> Sometimes people use the term “public domain” in a loose fashion to - mean “free” or - “available gratis.” However, “public - domain” is a legal term and means, precisely, “not - copyrighted.” For clarity, we recommend using - “public domain” for that meaning only, and using + mean “free” or + “available gratis.” However, “public + domain” is a legal term and means, precisely, “not + copyrighted.” For clarity, we recommend using + “public domain” for that meaning only, and using other terms to convey the other meanings. </p> <p> Under the @@ -218,13 +197,13 @@ allowed) and require making source code available. This shields the program, and its modified versions, from some of the common ways of making a program proprietary. </p> -<p>Some copyleft licenses, such as GPL version 3, block other +<p>Some copyleft licenses, such as GPL version 3, block other means of turning software proprietary, such as tivoization. </p> <p>In the GNU Project, we copyleft almost all the software we write, because our goal is to give <em>every</em> user the freedoms -implied by the term “free software.” See the essay “Copyleft” -(p. @refx{Copyleft-pg}{) for more explanation of how copyleft works and +implied by the term “free software.” See the essay “Copyleft” +(p. @refx{Copyleft-pg}{) for more explanation of how copyleft works and why we use it. </p> <a name="index-copyleft_002c-and-GPL"></a> @@ -234,7 +213,7 @@ you need to use a specific set of distribution terms. There are many possible ways to write copyleft distribution terms, so in principle there can be many copyleft free software licenses. However, in actual practice nearly all copylefted software uses the GNU General Public -License. Two different copyleft licenses are usually “incompatible,” +License. Two different copyleft licenses are usually “incompatible,” which means it is illegal to merge the code using one license with the code using the other license; therefore, it is good for the community if people use a single copyleft license. @@ -333,9 +312,9 @@ code. </p> <p> Since the purpose of GNU is to be free, every single component in the GNU operating system has to be free - software. They don’t all have to be copylefted, however; any + software. They don’t all have to be copylefted, however; any kind of free software is legally suitable to include if it - helps meet technical goals. And it isn’t necessary for all the + helps meet technical goals. And it isn’t necessary for all the components to be GNU software, individually. GNU can and does include noncopylefted free software such as the X Window System that were developed by other projects. @@ -346,10 +325,10 @@ code. <a name="index-software_002c-GNU-programs-_0028see-also-GNU-programs_0029"></a> <a name="index-GNU_002c-GNU-programs-_0028see-also-software_0029-1"></a> -<p> “GNU programs” is equivalent +<p> “GNU programs” is equivalent to GNU software. A program Foo is a GNU program if it is GNU software. We also sometimes say it - is a “GNU package.” + is a “GNU package.” </p> <a name="GNU-Software"></a> <h3 class="subheading"> GNU Software </h3> @@ -387,7 +366,7 @@ wrote it. <p> Nonfree software is any software that is not free. Its use, redistribution or modification is prohibited, or requires you to ask for permission, or is restricted so much - that you effectively can’t do it freely. + that you effectively can’t do it freely. </p> <a name="Proprietary-Software"></a> <h3 class="subheading"> Proprietary Software </h3> @@ -396,10 +375,10 @@ wrote it. <a name="index-proprietary-software-_0028see-also-software_0029"></a> <p> Proprietary software is another name for nonfree software. In the past we subdivided nonfree software into - “semifree software,” which could be modified and - redistributed noncommercially, and “proprietary - software,” which could not be. But we have dropped that - distinction and now use “proprietary software” as + “semifree software,” which could be modified and + redistributed noncommercially, and “proprietary + software,” which could not be. But we have dropped that + distinction and now use “proprietary software” as synonymous with nonfree software. </p> <a name="index-FSF_002c-on-installing-proprietary-software"></a> @@ -416,20 +395,20 @@ wrote it. nonfree operating systems, and any new computer we install must run a completely free operating system. </p> -<p> We don’t insist that users of GNU, or contributors to GNU, have +<p> We don’t insist that users of GNU, or contributors to GNU, have to live by this rule. It is a rule we made for ourselves. But we - hope you will follow it too, for your freedom’s sake. + hope you will follow it too, for your freedom’s sake. </p> <a name="Freeware"></a> <h3 class="subheading"> Freeware </h3> <a name="index-software_002c-freeware-_0028see-also-freeware_0029"></a> <a name="index-_0060_0060freeware_002c_0027_0027-erroneous-use-of-term"></a> -<p> The term “freeware” has no clear accepted +<p> The term “freeware” has no clear accepted definition, but it is commonly used for packages which permit redistribution but not modification (and their source code is not available). These packages are <em>not</em> free software, - so please don’t use “freeware” to refer to free + so please don’t use “freeware” to refer to free software. </p> <a name="Shareware"></a> @@ -445,15 +424,13 @@ wrote it. reasons it is not: </p> -<ul> -<li> +<ul><li> For most shareware, source code is not available; thus, you cannot modify the program at all. </li><li> -Shareware does not come with permission to make a copy and install it without paying a license fee, not even for individuals engaging in nonprofit activity. (In practice, people often disregard the distribution terms and do this anyway, but the terms don’t permit it.) +Shareware does not come with permission to make a copy and install it without paying a license fee, not even for individuals engaging in nonprofit activity. (In practice, people often disregard the distribution terms and do this anyway, but the terms don’t permit it.) -</li></ul> -<a name="index-software_002c-shareware-1"></a> +</li></ul><a name="index-software_002c-shareware-1"></a> <a name="index-shareware-_0028see-also-software_0029-1"></a> <a name="Private-Software"></a> @@ -492,8 +469,8 @@ Shareware does not come with permission to make a copy and install it without pa <a name="index-development_002c-commercial-software"></a> <p> Commercial software is software being developed by a business which aims to make money from the use of the - software. “Commercial” and - “proprietary” are not the same thing! Most + software. “Commercial” and + “proprietary” are not the same thing! Most commercial software is proprietary, but there is commercial free software, and there is noncommercial @@ -505,10 +482,10 @@ Shareware does not come with permission to make a copy and install it without pa distributed under the terms of the GNU GPL, and every copy is free software; but its developers sell support contracts. When their salesmen speak to prospective customers, sometimes the - customers say, “We would feel safer with a commercial - compiler.” The salesmen reply, “GNU + customers say, “We would feel safer with a commercial + compiler.” The salesmen reply, “GNU Ada <em>is</em> a commercial compiler; it happens to be free - software.” + software.” </p> <p> For the GNU Project, the emphasis is in the other order: the important thing is that GNU Ada is free software; whether @@ -518,9 +495,7 @@ Shareware does not come with permission to make a copy and install it without pa </p> <p> Please help spread the awareness that free commercial software is possible. You can do this by making an effort not - to say “commercial” when you mean - “proprietary.” + to say “commercial” when you mean + “proprietary.” <a name="index-call-to-action_002c-use-correct-terminology-_0028see-also-terminology_0029-4"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_14.html b/examples/blog/articles/scrap1_14.html index 52657419..019e2be7 100644 --- a/src/frontend_blog/articles/scrap1_14.html +++ b/examples/blog/articles/scrap1_14.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.: 14. Why Open Source Misses the Point of Free Software</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.: 14. Why Open Source Misses the Point of Free Software"> -<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.: 14. Why Open Source Misses the Point of Free Software</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.: 14. Why Open Source Misses the Point of Free Software"><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,30 +43,24 @@ 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="OS-Misses-Point"></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="Why-Open-Source-Misses-the-Point-of-Free-Software"></a> -<h1 class="chapter"> 14. Why Open Source Misses the Point of Free Software </h1> +<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="Why-Open-Source-Misses-the-Point-of-Free-Software"></a> +<h1 class="chapter"> 14. Why Open Source Misses the Point of Free Software </h1> <a name="index-open-source-software-_0028see-also-software_0029-1"></a> <a name="index-terminology_002c-importance-of-using-correct-3"></a> <a name="index-free-software_002c-essential-difference-between-open-source-and-2"></a> <a name="index-open-source_002c-essential-difference-between-free-software-and-2"></a> -<p>When we call software “free,” we mean that it respects the users’ +<p>When we call software “free,” we mean that it respects the users’ essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of -freedom, not price, so think of “free speech,” not “free beer.” +freedom, not price, so think of “free speech,” not “free beer.” </p> <p>These freedoms are vitally important. They are essential, not just for -the individual users’ sake, but for society as a whole because they -promote social solidarity—that is, sharing and cooperation. They +the individual users’ sake, but for society as a whole because they +promote social solidarity—that is, sharing and cooperation. They become even more important as our culture and life activities are increasingly digitized. In a world of digital sounds, images, and words, free software becomes increasingly essential for freedom in @@ -92,36 +74,36 @@ Spain now teach all students to use the free GNU/Linux operating system. Most of these users, however, have never heard of the ethical reasons for which we developed this system and built the free software community, because nowadays this system and community are more often -spoken of as “open source,” attributing them to a different +spoken of as “open source,” attributing them to a different philosophy in which these freedoms are hardly mentioned. </p> <a name="index-free-software-movement-_0028see-also-GNU-Project_0029"></a> -<p>The free software movement has campaigned for computer users’ freedom +<p>The free software movement has campaigned for computer users’ freedom since 1983. In 1984 we launched the development of the free operating system GNU, so that we could avoid the nonfree operating systems that deny freedom to their users. During the 1980s, we developed most of the essential components of the system and designed the GNU General -Public License (GNU GPL) to release them under—a license designed +Public License (GNU GPL) to release them under—a license designed specifically to protect freedom for all users of a program. </p> <a name="index-_0060_0060open-source_002c_0027_0027-values-of-2"></a> <p>Not all of the users and developers of free software agreed with the goals of the free software movement. In 1998, a part of the free software community splintered off and began campaigning in the name of -“open source.” The term was originally proposed to avoid a possible -misunderstanding of the term “free software,” but it soon became +“open source.” The term was originally proposed to avoid a possible +misunderstanding of the term “free software,” but it soon became associated with philosophical views quite different from those of the free software movement. </p> <a name="index-citizen-values_002c-open-source-v_002e-free-software-1"></a> <p>Some of the supporters of open source considered the term a -“marketing campaign for free software,” which would appeal to -business executives by highlighting the software’s practical benefits, +“marketing campaign for free software,” which would appeal to +business executives by highlighting the software’s practical benefits, while not raising issues of right and wrong that they might not like -to hear. Other supporters flatly rejected the free software movement’s +to hear. Other supporters flatly rejected the free software movement’s ethical and social values. Whichever their views, when campaigning for open source, they neither cited nor advocated those values. The term -“open source” quickly became associated with ideas and arguments +“open source” quickly became associated with ideas and arguments based only on practical values, such as making or having powerful, reliable software. Most of the supporters of open source have come to it since then, and they make the same association. @@ -131,9 +113,9 @@ describe almost the same category of software, but they stand for views based on fundamentally different values. Open source is a development methodology; free software is a social movement. For the free software movement, free software is an ethical imperative, -because only free software respects the users’ freedom. By contrast, +because only free software respects the users’ freedom. By contrast, the philosophy of open source considers issues in terms of how to make -software “better”—in a practical sense only. It says that nonfree +software “better”—in a practical sense only. It says that nonfree software is an inferior solution to the practical problem at hand. For the free software movement, however, nonfree software is a social problem, and the solution is to stop using it and move to free @@ -141,14 +123,14 @@ software. </p> <a name="index-call-to-action_002c-teach-others-to-value-freedom"></a> <a name="index-call-to-action_002c-use-correct-terminology-_0028see-also-terminology_0029-5"></a> -<p>“Free software.” “Open source.” If it’s the same software, does it +<p>“Free software.” “Open source.” If it’s the same software, does it matter which name you use? Yes, because different words convey different ideas. While a free program by any other name would give you the same freedom today, establishing freedom in a lasting way depends above all on teaching people to value freedom. If you want to help do -this, it is essential to speak of “free software.” +this, it is essential to speak of “free software.” </p> -<p>We in the free software movement don’t think of the open source camp +<p>We in the free software movement don’t think of the open source camp as an enemy; the enemy is proprietary (nonfree) software. But we want people to know we stand for freedom, so we do not accept being mislabeled as open source supporters. @@ -158,30 +140,30 @@ mislabeled as open source supporters. <a name="index-open-source-software-_0028see-also-software_0029-2"></a> </p> <a name="Common-Misunderstandings-of-_0060_0060Free-Software_0027_0027-and-_0060_0060Open-Source_0027_0027"></a> -<h3 class="subheading"> Common Misunderstandings of “Free Software” and “Open Source” </h3> +<h3 class="subheading"> Common Misunderstandings of “Free Software” and “Open Source” </h3> <a name="index-_0060_0060open-source_002c_0027_0027-common-misunderstandings-of"></a> <a name="index-_0060_0060free-software_002c_0027_0027-common-misunderstandings-of"></a> -<p>The term “free software” is prone to misinterpretation: an -unintended meaning, “software you can get for zero price,” fits the -term just as well as the intended meaning, “software which gives the -user certain freedoms.” We address this problem by publishing the -definition of free software, and by saying, “Think of ‘free speech,’ -not ‘free beer.’” This is not a perfect solution; it cannot +<p>The term “free software” is prone to misinterpretation: an +unintended meaning, “software you can get for zero price,” fits the +term just as well as the intended meaning, “software which gives the +user certain freedoms.” We address this problem by publishing the +definition of free software, and by saying, “Think of ‘free speech,’ +not ‘free beer.’” This is not a perfect solution; it cannot completely eliminate the problem. An unambiguous and correct term -would be better, if it didn’t present other problems. +would be better, if it didn’t present other problems. </p> <a name="index-_0060_0060free-software_002c_0027_0027-unambiguous-translations-of-1"></a> <p>Unfortunately, all the alternatives in English have problems of their -own. We’ve looked at many that people have suggested, but none is so -clearly “right” that switching to it would be a good idea. (For -instance, in some contexts the French and Spanish word “libre” works +own. We’ve looked at many that people have suggested, but none is so +clearly “right” that switching to it would be a good idea. (For +instance, in some contexts the French and Spanish word “libre” works well, but people in India do not recognize it at all.) Every proposed -replacement for “free software” has some kind of semantic -problem—and this includes “open source software.” +replacement for “free software” has some kind of semantic +problem—and this includes “open source software.” <a name="index-India-2"></a> </p> -<p>The official definition of “open source software”<a name="DOCF29" href="#FOOT29">(29)</a> (which is +<p>The official definition of “open source software”<a name="DOCF29" href="#FOOT29">(29)</a> (which is published by the <a name="index-Open-Source-Initiative-_0028OSI_0029"></a> Open Source Initiative and is too long to include here) @@ -193,40 +175,40 @@ code, whereas our criterion also considers whether a device will let you <em>run</em> your modified version of the program. Nonetheless, their definition agrees with our definition in most cases. </p> -<p>However, the obvious meaning for the expression “open source -software”—and the one most people seem to think it means—is “You -can look at the source code.” That criterion is much weaker than the +<p>However, the obvious meaning for the expression “open source +software”—and the one most people seem to think it means—is “You +can look at the source code.” That criterion is much weaker than the free software definition, much weaker also than the official definition of open source. It includes many programs that are neither free nor open source. </p> -<p>Since that obvious meaning for “open source” is not the meaning that +<p>Since that obvious meaning for “open source” is not the meaning that its advocates intend, the result is that most people misunderstand the term. According to writer <a name="index-Stephenson_002c-Neal"></a> -Neal Stephenson, “Linux is ‘open source’ software, meaning simply, -anyone can get copies of its source code files.”<a name="DOCF30" href="#FOOT30">(30)</a> I don’t think he -deliberately sought to reject or dispute the “official” +Neal Stephenson, “Linux is ‘open source’ software, meaning simply, +anyone can get copies of its source code files.”<a name="DOCF30" href="#FOOT30">(30)</a> I don’t think he +deliberately sought to reject or dispute the “official” definition. I think he simply applied the conventions of the English language to come up with a meaning for the term. The state of <a name="index-Kansas"></a> -Kansas published a similar definition: “Make use +Kansas published a similar definition: “Make use of open-source software (OSS). OSS is software for which the source code is freely and publicly available, though the specific licensing -agreements vary as to what one is allowed to do with that code.” +agreements vary as to what one is allowed to do with that code.” </p> <a name="index-New-York-Times"></a> <p>The <cite>New York Times</cite> has run an article that stretches the -meaning of the term to refer to user beta testing<a name="DOCF31" href="#FOOT31">(31)</a>—letting a few users try an early -version and give confidential feedback—which proprietary software +meaning of the term to refer to user beta testing<a name="DOCF31" href="#FOOT31">(31)</a>—letting a few users try an early +version and give confidential feedback—which proprietary software developers have practiced for decades. </p> <p>Open source supporters try to deal with this by pointing to their official definition, but that corrective approach is less effective -for them than it is for us. The term “free software” has two natural +for them than it is for us. The term “free software” has two natural meanings, one of which is the intended meaning, so a person who has -grasped the idea of “free speech, not free beer” will not get it -wrong again. But the term “open source” has only one natural +grasped the idea of “free speech, not free beer” will not get it +wrong again. But the term “open source” has only one natural meaning, which is different from the meaning its supporters intend. So there is no succinct way to explain and justify its official definition. That makes for worse confusion. @@ -235,24 +217,24 @@ definition. That makes for worse confusion. <a name="index-_0060_0060open-source_002c_0027_0027-the-GPL-and"></a> <a name="index-GPL_002c-GPL_002dcovered-software-_0028see-also-software_0029-1"></a> <a name="index-GPL_002dcovered-software-_0028see-also-software_0029-1"></a> -<p>Another misunderstanding of “open source” is the idea that it means -“not using the GNU GPL.” This tends to accompany another -misunderstanding that “free software” means “GPL-covered -software.” These are both mistaken, since the GNU GPL qualifies as an +<p>Another misunderstanding of “open source” is the idea that it means +“not using the GNU GPL.” This tends to accompany another +misunderstanding that “free software” means “GPL-covered +software.” These are both mistaken, since the GNU GPL qualifies as an open source license and most of the open source licenses qualify as free software licenses. </p> -<p>The term “open source” has been further stretched by its application +<p>The term “open source” has been further stretched by its application to other activities, such as government, education, and science, where there is no such thing as source code, and where criteria for software licensing are simply not pertinent. The only thing these activities have in common is that they somehow invite people to participate. -They stretch the term so far that it only means “participatory.” +They stretch the term so far that it only means “participatory.” <a name="index-_0060_0060open-source_002c_0027_0027-common-misunderstandings-of-1"></a> <a name="index-_0060_0060free-software_002c_0027_0027-common-misunderstandings-of-1"></a> </p> <a name="Different-Values-Can-Lead-to-Similar-Conclusions_2026but-Not-Always"></a> -<h3 class="subheading"> Different Values Can Lead to Similar Conclusions…but Not Always </h3> +<h3 class="subheading"> Different Values Can Lead to Similar Conclusions…but Not Always </h3> <p>Radical groups in the 1960s had a reputation for factionalism: some organizations split because of disagreements on details of strategy, @@ -264,7 +246,7 @@ this and used it to criticize the entire left. disagreement with open source to the disagreements of those radical groups. They have it backwards. We disagree with the open source camp on the basic goals and values, but their views and ours lead in many -cases to the same practical behavior—such as developing free +cases to the same practical behavior—such as developing free software. </p> <p>As a result, people from the free software movement and the open @@ -278,20 +260,20 @@ different views lead to very different actions. redistribute the software will make it more powerful and reliable. But this is not guaranteed. Developers of proprietary software are not necessarily incompetent. Sometimes they produce a program that is -powerful and reliable, even though it does not respect the users’ +powerful and reliable, even though it does not respect the users’ freedom. Free software activists and open source enthusiasts will react very differently to that. </p> <a name="index-_0060_0060open-source_002c_0027_0027-values-of-4"></a> <p>A pure open source enthusiast, one that is not at all influenced by -the ideals of free software, will say, “I am surprised you were able +the ideals of free software, will say, “I am surprised you were able to make the program work so well without using our development model, -but you did. How can I get a copy?” This attitude will reward schemes +but you did. How can I get a copy?” This attitude will reward schemes that take away our freedom, leading to its loss. </p> -<p>The free software activist will say, “Your program is very +<p>The free software activist will say, “Your program is very attractive, but I value my freedom more. So I reject your program. -Instead I will support a project to develop a free replacement.” If +Instead I will support a project to develop a free replacement.” If we value our freedom, we can act to maintain and defend it. </p> <a name="Powerful_002c-Reliable-Software-Can-Be-Bad"></a> @@ -322,7 +304,7 @@ provide. And not just in spirit: since the goal of DRM is to trample your freedom, DRM developers try to make it hard, impossible, or even illegal for you to change the software that implements the DRM. </p> -<p>Yet some open source supporters have proposed “open source DRM” +<p>Yet some open source supporters have proposed “open source DRM” software. Their idea is that, by publishing the source code of programs designed to restrict your access to encrypted media and by allowing others to change it, they will produce more powerful and @@ -331,7 +313,7 @@ then be delivered to you in devices that do not allow you to change it. </p> <p>This software might be open source and use the open source development -model, but it won’t be free software since it won’t respect the +model, but it won’t be free software since it won’t respect the freedom of the users that actually run it. If the open source development model succeeds in making this software more powerful and reliable for restricting you, that will make it even worse. @@ -346,7 +328,7 @@ reliable for restricting you, that will make it even worse. <a name="index-citizen-values_002c-convenience-v_002e-4"></a> <p>The main initial motivation of those who split off the open source camp from the free software movement was that the ethical ideas of -“free software” made some people uneasy. That’s true: raising +“free software” made some people uneasy. That’s true: raising ethical issues such as freedom, talking about responsibilities as well as convenience, is asking people to think about things they might prefer to ignore, such as whether their conduct is ethical. This can @@ -358,12 +340,12 @@ issues. <p>That is, however, what the leaders of open source decided to do. They figured that by keeping quiet about ethics and freedom, and talking only about the immediate practical benefits of certain free software, -they might be able to “sell” the software more effectively to +they might be able to “sell” the software more effectively to certain users, especially business. </p> <p>This approach has proved effective, in its own terms. The rhetoric of open source has convinced many businesses and individuals to use, and -even develop, free software, which has extended our community—but +even develop, free software, which has extended our community—but only at the superficial, practical level. The philosophy of open source, with its purely practical values, impedes understanding of the deeper ideas of free software; it brings many people into our @@ -379,23 +361,23 @@ would users decline? Only if they have learned to value the freedom free software gives them, to value freedom in and of itself rather than the technical and practical convenience of specific free software. To spread this idea, we have to talk about freedom. A -certain amount of the “keep quiet” approach to business can be +certain amount of the “keep quiet” approach to business can be useful for the community, but it is dangerous if it becomes so common that the love of freedom comes to seem like an eccentricity. </p> <p>That dangerous situation is exactly what we have. Most people involved with free software, especially its distributors, say little about -freedom—usually because they seek to be “more acceptable to -business.” Nearly all GNU/Linux operating system distributions add +freedom—usually because they seek to be “more acceptable to +business.” Nearly all GNU/Linux operating system distributions add proprietary packages to the basic free system, and they invite users to consider this an advantage rather than a flaw. </p> <p>Proprietary add-on software and partially nonfree GNU/Linux distributions find fertile ground because most of our community does not insist on freedom with its software. This is no coincidence. Most -GNU/Linux users were introduced to the system through “open source” -discussion, which doesn’t say that freedom is a goal. The practices -that don’t uphold freedom and the words that don’t talk about freedom +GNU/Linux users were introduced to the system through “open source” +discussion, which doesn’t say that freedom is a goal. The practices +that don’t uphold freedom and the words that don’t talk about freedom go hand in hand, each promoting the other. To overcome this tendency, we need more, not less, talk about freedom. <a name="index-open-source_002c-and-fear-of-freedom-1"></a> @@ -408,53 +390,48 @@ we need more, not less, talk about freedom. <a name="index-call-to-action_002c-teach-others-to-value-freedom-1"></a> <p>As the advocates of open source draw new users into our community, we free software activists must shoulder the task of bringing the issue -of freedom to their attention. We have to say, “It’s free software -and it gives you freedom!”—more and louder than ever. Every time -you say “free software” rather than “open source,” you help our +of freedom to their attention. We have to say, “It’s free software +and it gives you freedom!”—more and louder than ever. Every time +you say “free software” rather than “open source,” you help our campaign. </p> <a name="Notes"></a> <h4 class="subsubheading"> Notes </h4> -<ul> -<li> +<ul><li> <a name="index-Barr_002c-Joe"></a> -Joe Barr’s article “Live and Let License” (ITworld.com, 22 May 2001, <a href="http://www.itworld.com/LWD010523vcontrol4">http://www.itworld.com/LWD010523vcontrol4</a>) gives his perspective on this issue. +Joe Barr’s article “Live and Let License” (ITworld.com, 22 May 2001, <a href="http://www.itworld.com/LWD010523vcontrol4">http://www.itworld.com/LWD010523vcontrol4</a>) gives his perspective on this issue. </li><li> <a name="index-Lakhani_002c-Karim-R_002e"></a> -Karim R. Lakhani and +Karim R. Lakhani and <a name="index-Wolf_002c-Robert-G_002e"></a> -Robert G. Wolf’s paper on the motivation of free -software developers (“Why +Robert G. Wolf’s paper on the motivation of free +software developers (“Why <a name="index-hackers-6"></a> Hackers Do What They Do: Understanding -Motivation and Effort in Free/Open Source Software Projects,” in -<cite>Perspectives on Free and Open Source Software,</cite> edited by J. Feller +Motivation and Effort in Free/Open Source Software Projects,” in +<cite>Perspectives on Free and Open Source Software,</cite> edited by J. Feller and others (Cambridge: MIT Press, 2005)) says that a considerable fraction are motivated by the view that software should be free. This is despite the fact that they surveyed the developers on <a name="index-SourceForge"></a> SourceForge, a site that does not support the view that this is an ethical issue. -</li></ul> -<a name="index-terminology_002c-importance-of-using-correct-4"></a> +</li></ul><a name="index-terminology_002c-importance-of-using-correct-4"></a> <a name="index-_0060_0060open-source_002c_0027_0027-values-of-7"></a> <div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT29" href="#DOCF29">(29)</a></h3> <p>See <a href="http://opensource.org/docs/osd">http://opensource.org/docs/osd</a> for the full definition. </p><h3><a name="FOOT30" href="#DOCF30">(30)</a></h3> <p>Neal Stephenson, <cite>In the Beginning...Was the Command Line</cite> (New York: -HarperCollins Publishers, 1999), p. 94. +HarperCollins Publishers, 1999), p. 94. </p><h3><a name="FOOT31" href="#DOCF31">(31)</a></h3> <p>Mary Jane -Irwin, “The Brave New World of Open-Source Game Design,” <cite>New -York Times,</cite> online ed., 7 February 2009, +Irwin, “The Brave New World of Open-Source Game Design,” <cite>New +York Times,</cite> online ed., 7 February 2009, <a href="http://www.nytimes.com/external/gigaom/2009/02/07/07gigaom-the-brave-new-world-of-open-source-game-design-37415.html">http://www.nytimes.com/external/gigaom/2009/02/07/07gigaom-the-brave-new-world-of-open-source-game-design-37415.html</a>. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_15.html b/examples/blog/articles/scrap1_15.html index 03d5b7ab..004b6a28 100644 --- a/src/frontend_blog/articles/scrap1_15.html +++ b/examples/blog/articles/scrap1_15.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.: 15. Did You Say ``Intellectual Property''? It's a Seductive Mirage</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.: 15. Did You Say ``Intellectual Property''? It's a Seductive Mirage"> -<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.: 15. Did You Say ``Intellectual Property''? It's a Seductive Mirage</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.: 15. Did You Say ``Intellectual Property''? It's a Seductive Mirage"><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,22 +43,16 @@ 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="OS-Misses-Point"></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="not-ipr"></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="not-ipr"></a> <h1 class="chapter"> 15. Did You Say ``Intellectual Property''? It's a Seductive Mirage</h1> <p>It has become fashionable to toss copyright, patents, and -trademarks—three separate and different entities involving three -separate and different sets of laws—plus a dozen other laws into -one pot and call it “intellectual property.” The +trademarks—three separate and different entities involving three +separate and different sets of laws—plus a dozen other laws into +one pot and call it “intellectual property.” The distorting and confusing term did not become common by accident. Companies that gain from the confusion promoted it. The clearest way out of the confusion is to reject the term entirely. @@ -79,11 +61,11 @@ out of the confusion is to reject the term entirely. <a name="index-Lemley_002c-Mark"></a> Mark Lemley, now of the Stanford Law School, -the widespread use of the term “intellectual property” is +the widespread use of the term “intellectual property” is a fashion that followed the 1967 founding of the <a name="index-World-_0060_0060Intellectual-Property_0027_0027-Organization-_0028WIPO_0029-_0028see-also-_0060_0060intellectual-property_0027_0027_0029"></a> -World “Intellectual -Property” Organization (WIPO), and only became really common in recent +World “Intellectual +Property” Organization (WIPO), and only became really common in recent years. (WIPO is formally a <a name="index-UN-_0028United-Nations_0029"></a> UN organization, but in fact represents the @@ -97,25 +79,25 @@ but only specialists know that.) These laws are in fact not much like physical property law, but use of this term leads legislators to change them to be more so. Since that is the change desired by the companies that exercise copyright, patent and trademark powers, the -bias introduced by the term “intellectual property” suits them. +bias introduced by the term “intellectual property” suits them. </p> <p>The bias is reason enough to reject the term, and people have often -asked me to propose some other name for the overall category—or +asked me to propose some other name for the overall category—or have proposed their own alternatives (often humorous). Suggestions include IMPs, for Imposed Monopoly Privileges, and GOLEMs, for Government-Originated Legally Enforced Monopolies. Some speak of -“exclusive rights regimes,” but referring to restrictions -as “rights” is doublethink too. +“exclusive rights regimes,” but referring to restrictions +as “rights” is doublethink too. </p> <p>Some of these alternative names would be an improvement, but it is a -mistake to replace “intellectual property” with any other -term. A different name will not address the term’s deeper problem: +mistake to replace “intellectual property” with any other +term. A different name will not address the term’s deeper problem: overgeneralization. There is no such unified thing as -“intellectual property”—it is a mirage. The only +“intellectual property”—it is a mirage. The only reason people think it makes sense as a coherent category is that widespread use of the term has misled them. </p> -<p>The term “intellectual property” is at best a catch-all to +<p>The term “intellectual property” is at best a catch-all to lump together disparate laws. Nonlawyers who hear one term applied to these various laws tend to assume they are based on a common principle and function similarly. @@ -127,33 +109,33 @@ activities, have different rules, and raise different public policy issues. <p>Copyright law was designed to promote authorship and art, and covers the details of expression of a work. Patent law was intended to promote the publication of useful ideas, at the price of giving the -one who publishes an idea a temporary monopoly over it—a price +one who publishes an idea a temporary monopoly over it—a price that may be worth paying in some fields and not in others. </p> <p>Trademark law, by contrast, was not intended to promote any particular way of acting, but simply to enable buyers to know what they are -buying. Legislators under the influence of the term “intellectual -property,” however, have turned it into a scheme that provides +buying. Legislators under the influence of the term “intellectual +property,” however, have turned it into a scheme that provides incentives for advertising. </p> <p>Since these laws developed independently, they are different in every detail, as well as in their basic purposes and methods. Thus, if you -learn some fact about copyright law, you’d be wise to assume that -patent law is different. You’ll rarely go wrong! +learn some fact about copyright law, you’d be wise to assume that +patent law is different. You’ll rarely go wrong! </p> -<p>People often say “intellectual property” when they really +<p>People often say “intellectual property” when they really mean some larger or smaller category. For instance, rich countries often impose unjust laws on poor countries to squeeze money out of -them. Some of these laws are “intellectual property” laws, +them. Some of these laws are “intellectual property” laws, and others are not; nonetheless, critics of the practice often grab for that label because it has become familiar to them. By using it, they misrepresent the nature of the issue. It would be better to use -an accurate term, such as “legislative colonization,” that +an accurate term, such as “legislative colonization,” that gets to the heart of the matter. </p> <p>Laymen are not alone in being confused by this term. Even law professors who teach these laws are lured and distracted by the -seductiveness of the term “intellectual property,” and +seductiveness of the term “intellectual property,” and make general statements that conflict with facts they know. For example, one professor wrote in 2006: </p> @@ -161,26 +143,26 @@ example, one professor wrote in 2006: <p>Unlike their descendants who now work the floor at WIPO, the framers of the US constitution had a principled, procompetitive attitude to intellectual property. They knew rights might be necessary, -but…they tied congress’s hands, restricting its power in +but…they tied congress’s hands, restricting its power in multiple ways. </p> </blockquote> -<p>That statement refers to Article I, Section 8, Clause 8, of the +<p>That statement refers to Article I, Section 8, Clause 8, of the <a name="index-Constitution_002c-copyright-law_002c-trademark-law_002c-patent-law_002c-and-US"></a> US Constitution, which authorizes copyright law and patent law. That clause, though, has nothing to do with trademark law or various -others. The term “intellectual property” led that +others. The term “intellectual property” led that professor to make false generalization. </p> -<p>The term “intellectual property” also leads to simplistic +<p>The term “intellectual property” also leads to simplistic thinking. It leads people to focus on the meager commonality in form -that these disparate laws have—that they create artificial -privileges for certain parties—and to disregard the details +that these disparate laws have—that they create artificial +privileges for certain parties—and to disregard the details which form their substance: the specific restrictions each law places on the public, and the consequences that result. This simplistic focus -on the form encourages an “economistic” approach to all +on the form encourages an “economistic” approach to all these issues. </p> <a name="index-citizen-values_002c-production-v_002e-freedom-and-way-of-life"></a> @@ -191,10 +173,10 @@ and factual assumptions which are mostly false, such as that copyrights on music supports musicians, or that patents on drugs support life-saving research. </p> -<p>Another problem is that, at the broad scale implicit in the term “intellectual -property,” the specific issues raised by the various laws become +<p>Another problem is that, at the broad scale implicit in the term “intellectual +property,” the specific issues raised by the various laws become nearly invisible. These issues arise from the specifics of each -law—precisely what the term “intellectual property” +law—precisely what the term “intellectual property” encourages people to ignore. For instance, one issue relating to copyright law is whether music sharing should be allowed; patent law has nothing to do with this. Patent law raises issues such as whether @@ -205,11 +187,11 @@ matters. <p>Neither of these issues is solely economic in nature, and their noneconomic aspects are very different; using the shallow economic overgeneralization as the basis for considering them means ignoring the -differences. Putting the two laws in the “intellectual -property” pot obstructs clear thinking about each one. +differences. Putting the two laws in the “intellectual +property” pot obstructs clear thinking about each one. </p> -<p>Thus, any opinions about “the issue of intellectual -property” and any generalizations about this supposed category +<p>Thus, any opinions about “the issue of intellectual +property” and any generalizations about this supposed category are almost surely foolish. If you think all those laws are one issue, you will tend to choose your opinions from a selection of sweeping overgeneralizations, none of which is any good. @@ -219,14 +201,12 @@ overgeneralizations, none of which is any good. copyrights, or trademarks, or various other different laws, the first step is to forget the idea of lumping them together, and treat them as separate topics. The second step is to reject the narrow perspectives -and simplistic picture the term “intellectual property” +and simplistic picture the term “intellectual property” suggests. Consider each of these issues separately, in its fullness, and you have a chance of considering them well. </p> <a name="index-World-_0060_0060Intellectual-Property_0027_0027-Organization-_0028WIPO_0029-_0028see-also-_0060_0060intellectual-property_0027_0027_0029-1"></a> <p>And when it comes to reforming WIPO, among other things -let’s call for changing its name. +let’s call for changing its name. </p> - <hr size="2"> -</body> -</html> + <hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_16.html b/examples/blog/articles/scrap1_16.html index 2cfd1452..929b77b9 100644 --- a/src/frontend_blog/articles/scrap1_16.html +++ b/examples/blog/articles/scrap1_16.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,19 +27,9 @@ 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.: 16. Words to Avoid (or Use with Care) -Because They Are Loaded or Confusing</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.: 16. Words to Avoid (or Use with Care) -Because They Are Loaded or Confusing"> -<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.: 16. Words to Avoid (or Use with Care) +Because They Are Loaded or Confusing</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.: 16. Words to Avoid (or Use with Care) +Because They Are Loaded or Confusing"><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} @@ -57,31 +45,25 @@ 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="Words-to-Avoid"></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="Words-to-Avoid-_0028or-Use-with-Care_0029--Because-They-Are-Loaded-or-Confusing"></a> -<h1 class="chapter"> 16. Words to Avoid (or Use with Care) <br>Because They Are Loaded or Confusing </h1> +<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="Words-to-Avoid-_0028or-Use-with-Care_0029--Because-They-Are-Loaded-or-Confusing"></a> +<h1 class="chapter"> 16. Words to Avoid (or Use with Care) <br>Because They Are Loaded or Confusing </h1> <a name="index-call-to-action_002c-use-correct-terminology-_0028see-also-terminology_0029-7"></a> <a name="index-terminology_002c-importance-of-using-correct-7"></a> <p>There are a number of words and phrases that we recommend avoiding, or avoiding in certain contexts and usages. Some are ambiguous or misleading; others presuppose a viewpoint that we hope you disagree -with. (See also “Categories of Free and Nonfree Software,” on -p. @refx{Categories-pg}{.) +with. (See also “Categories of Free and Nonfree Software,” on +p. @refx{Categories-pg}{.) </p> <a name="BSD_002dStyle"></a> <h3 class="subheading"> BSD-Style </h3> <a name="index-_0060_0060BSD_002dstyle_002c_0027_0027-problematic-term"></a> -<p>The expression “BSD-style license” leads to confusion because it +<p>The expression “BSD-style license” leads to confusion because it lumps together licenses that have important differences. For instance, the original <a name="index-BSD-licenses-_0028see-also-both-_0060_0060BSD_002dstyle_0027_0027-and-GPL_0029-1"></a> @@ -91,25 +73,25 @@ General Public License, but the revised BSD license is compatible with the GPL. </p> <p>To avoid confusion, it is best to name the specific license in -question and avoid the vague term “BSD-style.” +question and avoid the vague term “BSD-style.” </p> <a name="Closed"></a> <h3 class="subheading"> Closed </h3> <a name="index-_0060_0060closed_002c_0027_0027-erroneous-use-of-term"></a> -<p>Describing nonfree software as “closed” clearly refers to the term -“open source.” In the free software movement, we do not want to be +<p>Describing nonfree software as “closed” clearly refers to the term +“open source.” In the free software movement, we do not want to be confused with the open source camp, so we are careful to avoid saying things that would encourage people to lump us in with them. For -instance, we avoid describing nonfree software as “closed.” We call -it “nonfree” or “proprietary.” +instance, we avoid describing nonfree software as “closed.” We call +it “nonfree” or “proprietary.” </p> <p>@vglue -13pt@null <a name="Cloud-Computing"></a> -<h3 class="subheading"> Cloud Computing </h3> -</p> +</p><h3 class="subheading"> Cloud Computing </h3> + <a name="index-_0060_0060cloud-computing_002c_0027_0027-avoid-use-of-term"></a> -<p>The term “cloud computing” is a marketing buzzword with no clear +<p>The term “cloud computing” is a marketing buzzword with no clear meaning. It is used for a range of different activities whose only common characteristic is that they use the Internet for something beyond transmitting files. Thus, the term is a nexus of confusion. If @@ -125,9 +107,9 @@ for a useful conclusion. <a name="index-Ellison_002c-Larry"></a> Larry Ellison, a proprietary software <a name="index-developers_002c-proprietary-software-2"></a> -developer, also noted the vacuity of the term “cloud -computing.”<a name="DOCF32" href="#FOOT32">(32)</a>He decided to use the term anyway -{@parfillskip=0pt@parbecause, as a proprietary software developer, he isn’t motivated by +developer, also noted the vacuity of the term “cloud +computing.”<a name="DOCF32" href="#FOOT32">(32)</a>He decided to use the term anyway +{@parfillskip=0pt@parbecause, as a proprietary software developer, he isn’t motivated by the same ideals as we are. </p> <a name="Commercial"></a> @@ -136,15 +118,15 @@ the same ideals as we are. <a name="index-commercial-software-_0028see-also-software_0029-1"></a> <a name="index-_0060_0060commercial_002c_0027_0027-problematic-use-of-term"></a> <a name="index-software_002c-commercial-_0028see-also-commercial-software_0029-1"></a> -<p>Please don’t use “commercial” as a synonym for “nonfree.” That +<p>Please don’t use “commercial” as a synonym for “nonfree.” That confuses two entirely different issues. </p> <p>A program is commercial if it is developed as a business activity. A commercial program can be free or nonfree, depending on its manner of distribution. Likewise, a program developed by a school or an individual can be free or nonfree, depending on its manner of -distribution. The two questions—what sort of entity developed the -program and what freedom its users have—are independent. +distribution. The two questions—what sort of entity developed the +program and what freedom its users have—are independent. </p> <a name="index-universities-1"></a> <p>In the first decade of the free software movement, free software @@ -154,17 +136,17 @@ nonprofit organizations such as the FSF and universities. Later, in the 1990s, free commercial software started to appear. </p> <p>Free commercial software is a contribution to our community, so we -should encourage it. But people who think that “commercial” means -“nonfree” will tend to think that the “free commercial” -combination is self-contradictory, and dismiss the possibility. Let’s -be careful not to use the word “commercial” in that way. +should encourage it. But people who think that “commercial” means +“nonfree” will tend to think that the “free commercial” +combination is self-contradictory, and dismiss the possibility. Let’s +be careful not to use the word “commercial” in that way. </p> <a name="Compensation"></a> <h3 class="subheading"> Compensation </h3> <a name="index-_0060_0060compensation_002c_0027_0027-false-assumptions-connected-to-term"></a> <a name="index-copyright_002c-false-assumptions-related-to-_0060_0060compensation_0027_0027-for-authors"></a> -<p>To speak of “compensation for authors” in connection with copyright +<p>To speak of “compensation for authors” in connection with copyright carries the assumptions that (1) copyright exists for the sake of authors and (2) whenever we read something, we take on a debt to the author which we must then repay. The first assumption is simply false, @@ -174,88 +156,88 @@ and the second is outrageous. <h3 class="subheading"> Consumer </h3> <a name="index-_0060_0060consumer_002c_0027_0027-problematic-use-of-term-_0028see-also-_0060_0060open-source_0027_0027_0029"></a> -<p>The term “consumer,” when used to refer to computer users, is loaded +<p>The term “consumer,” when used to refer to computer users, is loaded with assumptions we should reject. Playing a digital recording, or running a program, does not consume it. </p> -<p>The terms “producer” and “consumer” come from economic theory, and +<p>The terms “producer” and “consumer” come from economic theory, and bring with them its narrow perspective and misguided assumptions. They tend to warp your thinking. </p> -<p>In addition, describing the users of software as “consumers” +<p>In addition, describing the users of software as “consumers” presumes a narrow role for them: it regards them as cattle that passively graze on what others make available to them. </p> <p>This kind of thinking leads to travesties like the <a name="index-Consumer-Broadband-and-Digital-Television-Promotion-Act-_0028CBDTPA_0029"></a> -CBDTPA, the “Consumer Broadband and Digital Television Promotion Act,” +CBDTPA, the “Consumer Broadband and Digital Television Promotion Act,” which would require copying restriction facilities in every digital -device. If all the users do is “consume,” then why should they mind? +device. If all the users do is “consume,” then why should they mind? </p> -<p>The shallow economic conception of users as “consumers” tends to go -hand in hand with the idea that published works are mere “content.” +<p>The shallow economic conception of users as “consumers” tends to go +hand in hand with the idea that published works are mere “content.” </p> <p>To describe people who are not limited to passive use of works, we -suggest terms such as “individuals” and “citizens.” +suggest terms such as “individuals” and “citizens.” </p> <a name="Content"></a> <h3 class="subheading"> Content </h3> <a name="index-_0060_0060content_002c_0027_0027-problematic-use-of-term"></a> <p>If you want to describe a feeling of comfort and satisfaction, by all -means say you are “content,” but using the word as a noun to +means say you are “content,” but using the word as a noun to describe written and other works of authorship adopts an attitude you might rather avoid. It regards these works as a commodity whose purpose is to fill a box and make money. In effect, it disparages the works themselves. </p> <p>Those who use this term are often the publishers that push for -increased copyright power in the name of the authors (“creators,” as -they say) of the works. The term “content” reveals their real +increased copyright power in the name of the authors (“creators,” as +they say) of the works. The term “content” reveals their real attitude towards these works and their authors. (See <a name="index-Love_002c-Courtney"></a> Courtney -Love’s open letter to +Love’s open letter to <a name="index-Case_002c-Steve"></a> Steve Case<a name="DOCF33" href="#FOOT33">(33)</a> -and search for “content provider” in that page. Alas, Ms. Love is +and search for “content provider” in that page. Alas, Ms. Love is unaware that the term <a name="index-_0060_0060intellectual-property_002c_0027_0027-bias-and-fallacy-of-term-_0028see-also-ownership_0029-5"></a> -“intellectual property” is also biased and confusing.) +“intellectual property” is also biased and confusing.) </p> -<p>However, as long as other people use the term “content provider,” -political dissidents can well call themselves “malcontent -providers.” +<p>However, as long as other people use the term “content provider,” +political dissidents can well call themselves “malcontent +providers.” </p> -<p>The term “content management” takes the prize for vacuity. -“Content” means “some sort of information,” and “management” in -this context means “doing something with it.” So a “content -management system” is a system for doing something to some sort of +<p>The term “content management” takes the prize for vacuity. +“Content” means “some sort of information,” and “management” in +this context means “doing something with it.” So a “content +management system” is a system for doing something to some sort of information. Nearly all programs fit that description. </p> <p>In most cases, that term really refers to a system for updating pages -on a web site. For that, we recommend the term “web site revision -system” (WRS). +on a web site. For that, we recommend the term “web site revision +system” (WRS). </p> <a name="Creator"></a> <h3 class="subheading"> Creator </h3> <a name="index-copyright_002c-_0060_0060creator_0027_0027"></a> <a name="index-_0060_0060creator_002c_0027_0027-erroneous-use-of-term"></a> -<p>The term “creator” as applied to authors implicitly compares them to -a deity (“the creator”). The term is used by publishers to elevate -authors’ moral standing above that of ordinary people in order to +<p>The term “creator” as applied to authors implicitly compares them to +a deity (“the creator”). The term is used by publishers to elevate +authors’ moral standing above that of ordinary people in order to justify giving them increased copyright power, which the publishers -can then exercise in their name. We recommend saying “author” -instead. However, in many cases “copyright holder” is what you +can then exercise in their name. We recommend saying “author” +instead. However, in many cases “copyright holder” is what you really mean. </p> <a name="Digital-Goods"></a> <h3 class="subheading"> Digital Goods </h3> <a name="index-_0060_0060digital-goods_002c_0027_0027-problematic-term"></a> -<p>The term “digital goods,” as applied to copies of works of -authorship, erroneously identifies them with physical goods—which +<p>The term “digital goods,” as applied to copies of works of +authorship, erroneously identifies them with physical goods—which cannot be copied, and which therefore have to be manufactured and sold. </p> @@ -264,63 +246,63 @@ sold. <a name="index-DRM_002c-call-it-_0060_0060Digital-Restrictions-Management_0027_0027"></a> <a name="index-_0060_0060Digital-Rights-Management_002c_0027_0027-avoid-use-of-term-_0028see-also-DRM_0029"></a> -<p>“Digital Rights Management” refers to technical schemes designed to -impose restrictions on computer users. The use of the word “rights” +<p>“Digital Rights Management” refers to technical schemes designed to +impose restrictions on computer users. The use of the word “rights” in this term is propaganda, designed to lead you unawares into seeing the issue from the viewpoint of the few that impose the restrictions, and ignoring that of the general public on whom these restrictions are imposed. </p> -<p>Good alternatives include “Digital Restrictions Management,” and -“digital handcuffs.” +<p>Good alternatives include “Digital Restrictions Management,” and +“digital handcuffs.” </p> <a name="Ecosystem"></a> <h3 class="subheading"> Ecosystem </h3> <a name="index-_0060_0060ecosystem_002c_0027_0027-erroneous-description-of-free-software-community"></a> <p>It is a mistake to describe the free software community, or any human -community, as an “ecosystem,” because that word implies the absence +community, as an “ecosystem,” because that word implies the absence of ethical judgment. </p> -<p>The term “ecosystem” implicitly suggests an attitude of -nonjudgmental observation: don’t ask how what <em>should</em> happen, +<p>The term “ecosystem” implicitly suggests an attitude of +nonjudgmental observation: don’t ask how what <em>should</em> happen, just study and explain what <em>does</em> happen. In an ecosystem, some organisms consume other organisms. We do not ask whether it is fair for an owl to eat a mouse or for a mouse to eat a plant, we only -observe that they do so. Species’ populations grow or shrink according +observe that they do so. Species’ populations grow or shrink according to the conditions; this is neither right nor wrong, merely an ecological phenomenon. </p> <p>By contrast, beings that adopt an ethical stance towards their surroundings can decide to preserve things that, on their own, might -vanish—such as civil society, democracy, human rights, peace, public +vanish—such as civil society, democracy, human rights, peace, public health, clean air and water, endangered species, traditional -arts…and computer users’ freedom. +arts…and computer users’ freedom. </p> <a name="For-Free"></a> <h3 class="subheading"> For Free </h3> <a name="index-_0060_0060for-free_002c_0027_0027-erroneous-use-of-term"></a> -<p>If you want to say that a program is free software, please don’t say -that it is available “for free.” That term specifically means “for -zero price.” Free software is a matter of freedom, not price. +<p>If you want to say that a program is free software, please don’t say +that it is available “for free.” That term specifically means “for +zero price.” Free software is a matter of freedom, not price. </p> -<p>Free software copies are often available for free—for example, by +<p>Free software copies are often available for free—for example, by downloading via FTP. But free software copies are also available for a price on CD-ROMs; meanwhile, proprietary software copies are occasionally available for free in promotions, and some proprietary packages are normally available at no charge to certain users. </p> <p>To avoid confusion, you can say that the program is available -“as free software.” +“as free software.” </p> <a name="Freely-Available"></a> <h3 class="subheading"> Freely Available </h3> <a name="index-_0060_0060freely-available_002c_0027_0027-erroneous-use-of-term"></a> -<p>Don’t use “freely available software” as a synonym for “free -software.” The terms are not equivalent. Software is “freely -available” if anyone can easily get a copy. “Free software” is +<p>Don’t use “freely available software” as a synonym for “free +software.” The terms are not equivalent. Software is “freely +available” if anyone can easily get a copy. “Free software” is defined in terms of the freedom of users that have a copy of it. These are answers to different questions. </p> @@ -328,16 +310,16 @@ are answers to different questions. <h3 class="subheading"> Freeware </h3> <a name="index-freeware-_0028see-also-software_0029-1"></a> -<p>Please don’t use the term “freeware” as a synonym for “free -software.” The term “freeware” was used often in the 1980s for +<p>Please don’t use the term “freeware” as a synonym for “free +software.” The term “freeware” was used often in the 1980s for programs released only as executables, with source code not available. Today it has no particular agreed-on definition. </p> <p>When using languages other than English, please avoid borrowing -English terms such as “free software” or “freeware.” It is better -to translate the term “free software” into your language. (Please -see p. @refx{FS Translations-pg}{ for a list of recommended unambiguous -translations for the term “free software” into various languages.) +English terms such as “free software” or “freeware.” It is better +to translate the term “free software” into your language. (Please +see p. @refx{FS Translations-pg}{ for a list of recommended unambiguous +translations for the term “free software” into various languages.) </p> <p>By using a word in your own language, you show that you are really referring to freedom and not just parroting some mysterious foreign @@ -349,10 +331,10 @@ exactly what it says, they will really understand what the issue is. <h3 class="subheading"> Give Away Software </h3> <a name="index-_0060_0060give-away-software_002c_0027_0027-misleading-use-of-term-1"></a> -<p>It’s misleading to use the term “give away” to mean “distribute a -program as free software.” This locution has the same problem as -“for free”: it implies the issue is price, not freedom. One way to -avoid the confusion is to say “release as free software.” +<p>It’s misleading to use the term “give away” to mean “distribute a +program as free software.” This locution has the same problem as +“for free”: it implies the issue is price, not freedom. One way to +avoid the confusion is to say “release as free software.” </p> <a name="Hacker"></a> <h3 class="subheading"> Hacker </h3> @@ -360,57 +342,57 @@ avoid the confusion is to say “release as free software.” <a name="index-hackers-7"></a> <a name="index-_0060_0060hacker_002c_0027_0027-actual-meaning-of-term-_0028see-also-_0060_0060cracker_0027_0027_0029-1"></a> <a name="index-MIT-5"></a> -<p>A hacker is someone who enjoys playful cleverness<a name="DOCF34" href="#FOOT34">(34)</a>—not +<p>A hacker is someone who enjoys playful cleverness<a name="DOCF34" href="#FOOT34">(34)</a>—not necessarily with computers. The programmers in the old MIT free software community of the 60s and 70s referred to themselves as hackers. Around 1980, journalists who discovered the hacker community -mistakenly took the term to mean “security breaker.” +mistakenly took the term to mean “security breaker.” </p> -<p>Please don’t spread this mistake. People who break security are -“crackers.” +<p>Please don’t spread this mistake. People who break security are +“crackers.” </p> <a name="Intellectual-Property"></a> <h3 class="subheading"> Intellectual Property </h3> <a name="index-_0060_0060intellectual-property_002c_0027_0027-bias-and-fallacy-of-term-_0028see-also-ownership_0029-6"></a> <a name="index-trademarks-and_002for-trademark-law-1"></a> -<p>Publishers and lawyers like to describe copyright as “intellectual -property”—a term also applied to patents, trademarks, and other +<p>Publishers and lawyers like to describe copyright as “intellectual +property”—a term also applied to patents, trademarks, and other more obscure areas of law. These laws have so little in common, and differ so much, that it is ill-advised to generalize about them. It is -best to talk specifically about “copyright,” or about “patents,” -or about “trademarks.” +best to talk specifically about “copyright,” or about “patents,” +or about “trademarks.” </p> -<p>The term “intellectual property” carries a hidden assumption—that +<p>The term “intellectual property” carries a hidden assumption—that the way to think about all these disparate issues is based on an analogy with physical objects, and our conception of them as physical property. </p> <p>When it comes to copying, this analogy disregards the crucial difference between material objects and information: information can -be copied and shared almost effortlessly, while material objects can’t +be copied and shared almost effortlessly, while material objects can’t be. </p> <p>To avoid spreading unnecessary bias and confusion, it is best to adopt -a firm policy not to speak or even think in terms of “intellectual -property.” +a firm policy not to speak or even think in terms of “intellectual +property.” </p> -<p>The hypocrisy of calling these powers “rights” is starting to make +<p>The hypocrisy of calling these powers “rights” is starting to make the <a name="index-World-_0060_0060Intellectual-Property_0027_0027-Organization-_0028WIPO_0029-_0028see-also-_0060_0060intellectual-property_0027_0027_0029-2"></a> -World “Intellectual Property” Organization embarrassed. +World “Intellectual Property” Organization embarrassed. </p> <a name="LAMP-System"></a> <h3 class="subheading"> LAMP System </h3> <a name="index-_0060_0060LAMP-system_002c_0027_0027-problematic-term-_0028see-also-GLAMP_0029"></a> -<p>“LAMP” stands for “Linux, Apache, MySQL and PHP”—a common -combination of software to use on a web server, except that “Linux” +<p>“LAMP” stands for “Linux, Apache, MySQL and PHP”—a common +combination of software to use on a web server, except that “Linux” in this context really refers to the GNU/Linux system. So instead of -“LAMP” it should be +“LAMP” it should be <a name="index-GLAMP-_0028GNU_002c-Linux_002c-Apache_002c-MySQL-and-PHP_0029-system"></a> <a name="index-GNU_002c-GLAMP-_0028GNU_002c-Linux_002c-Apache_002c-MySQL-and-PHP_0029-system"></a> -“GLAMP”: “GNU, Linux, Apache, MySQL and PHP.” +“GLAMP”: “GNU, Linux, Apache, MySQL and PHP.” </p> <a name="Linux-System"></a> <h3 class="subheading"> Linux System </h3> @@ -423,7 +405,7 @@ in this context really refers to the GNU/Linux system. So instead of <a name="index-_0060_0060Linux_002c_0027_0027-erroneous-use-of-term-_0028see-also-open-source_0029-3"></a> <p>Linux is the name of the kernel that Linus Torvalds developed starting in 1991. The operating system in which Linux is used is basically GNU -with Linux added. To call the whole system “Linux” is both unfair +with Linux added. To call the whole system “Linux” is both unfair and confusing. Please call the complete system GNU/Linux, both to give the GNU Project credit and to distinguish the whole system from the kernel alone. @@ -433,7 +415,7 @@ kernel alone. <a name="index-_0060_0060market_002c_0027_0027-erroneous-use-of-term"></a> <p>It is misleading to describe the users of free software, or the -software users in general, as a “market.” +software users in general, as a “market.” </p> <p>This is not to say there is no room for markets in the free software community. If you have a free software support business, then you @@ -442,8 +424,8 @@ respect their freedom, we wish you success in your market. </p> <p>But the free software movement is a social movement, not a business, and the success it aims for is not a market success. We are trying to -serve the public by giving it freedom—not competing to draw business -away from a rival. To equate this campaign for freedom to a business’ +serve the public by giving it freedom—not competing to draw business +away from a rival. To equate this campaign for freedom to a business’ efforts for mere success is to deny the importance of freedom and legitimize proprietary software. </p> @@ -458,43 +440,43 @@ legitimize proprietary software. digital audio players. Most support the patented MP3 codec, but not all. Some support the patent-free audio codecs Ogg Vorbis and FLAC, and may not even support MP3-encoded files at all, precisely to avoid -these patents. To call such players “MP3 players” is not only +these patents. To call such players “MP3 players” is not only confusing, it also puts MP3 in an undeserved position of privilege which encourages people to continue using that vulnerable format. We -suggest the terms “digital audio player,” or simply “audio player” +suggest the terms “digital audio player,” or simply “audio player” if context permits. </p> <a name="Open"></a> <h3 class="subheading"> Open </h3> <a name="index-_0060_0060open_002c_0027_0027-misleading-use-of-term-1"></a> -<p>Please avoid using the term “open” or “open source” as a -substitute for “free software.” Those terms refer to a different +<p>Please avoid using the term “open” or “open source” as a +substitute for “free software.” Those terms refer to a different position based on different values. Free software is a political movement; open source is a development model. </p> <p>When referring to the open source position, using its name is -appropriate; but please do not use it to label us or our work—that +appropriate; but please do not use it to label us or our work—that leads people to think we share those views. </p> <a name="PC"></a> <h3 class="subheading"> PC </h3> <a name="index-_0060_0060PC_002c_0027_0027-erroneous-use-of-term"></a> -<p>It’s OK to use the abbreviation “PC” to refer to a certain kind of -computer hardware, but please don’t use it with the implication that +<p>It’s OK to use the abbreviation “PC” to refer to a certain kind of +computer hardware, but please don’t use it with the implication that the computer is running Microsoft <a name="index-Windows-1"></a> Windows. If you install GNU/Linux on the same computer, it is still a PC. </p> -<p>The term “WC” has been suggested for a computer running Windows. +<p>The term “WC” has been suggested for a computer running Windows. </p> <a name="Photoshop"></a> <h3 class="subheading"> Photoshop </h3> <a name="index-_0060_0060photoshop_002c_0027_0027-erroneous-use-of-term"></a> -<p>Please avoid using the term “photoshop” as a verb, meaning any kind +<p>Please avoid using the term “photoshop” as a verb, meaning any kind of photo manipulation or image editing in general. Photoshop is just the name of one particular image editing program, which should be avoided since it is proprietary. There are plenty of free @@ -507,7 +489,7 @@ GIMP. <h3 class="subheading"> Piracy </h3> <a name="index-_0060_0060piracy_002c_0027_0027-erroneous-use-of-term-4"></a> -<p>Publishers often refer to copying they don’t approve of as “piracy.” +<p>Publishers often refer to copying they don’t approve of as “piracy.” In this way, they imply that it is ethically equivalent to attacking ships on the high seas, kidnapping and murdering the people on them. Based on such propaganda, they have procured laws in most of the @@ -515,29 +497,29 @@ world to forbid copying in most (or sometimes all) circumstances. (They are still pressuring to make these prohibitions more complete.) </p> -<p>If you don’t believe that copying not approved by the publisher is +<p>If you don’t believe that copying not approved by the publisher is just like kidnapping and murder, you might prefer not to use the word -“piracy” to describe it. Neutral terms such as “unauthorized -copying” (or “prohibited copying” for the situation where it is +“piracy” to describe it. Neutral terms such as “unauthorized +copying” (or “prohibited copying” for the situation where it is illegal) are available for use instead. Some of us might even prefer -to use a positive term such as “sharing information with your -neighbor.” +to use a positive term such as “sharing information with your +neighbor.” </p> <a name="PowerPoint"></a> <h3 class="subheading"> PowerPoint </h3> <a name="index-_0060_0060PowerPoint_002c_0027_0027-erroneous-use-of-term"></a> -<p>Please avoid using the term “PowerPoint” to mean any kind of slide -presentation. “PowerPoint” is just the name of one particular +<p>Please avoid using the term “PowerPoint” to mean any kind of slide +presentation. “PowerPoint” is just the name of one particular proprietary program to make presentations, and there are plenty of free alternatives, such as <a name="index-TeX-3"></a> -TeX’s +TeX’s <a name="index-beamer-class_002c-TeX"></a> <tt>beamer</tt> class and <a name="index-OpenOffice_002eorg"></a> -OpenOffice.org’s +OpenOffice.org’s <a name="index-Impress_002c-OpenOffice_002eorg"></a> Impress. </p> @@ -546,25 +528,25 @@ Impress. <a name="index-copyright_002c-_0060_0060protection_0027_0027"></a> <a name="index-_0060_0060protection_002c_0027_0027-erroneous-use-of-term"></a> -<p>Publishers’ lawyers love to use the term “protection” to describe +<p>Publishers’ lawyers love to use the term “protection” to describe copyright. This word carries the implication of preventing destruction or suffering; therefore, it encourages people to identify with the owner and publisher who benefit from copyright, rather than with the users who are restricted by it. </p> -<p>It is easy to avoid “protection” and use neutral terms instead. For -example, instead of saying, “Copyright protection lasts a very long -time,” you can say, “Copyright lasts a very long time.” +<p>It is easy to avoid “protection” and use neutral terms instead. For +example, instead of saying, “Copyright protection lasts a very long +time,” you can say, “Copyright lasts a very long time.” </p> <p>If you want to criticize copyright instead of supporting it, you can -use the term “copyright restrictions.” Thus, you can say, -“Copyright restrictions last a very long time.” -</p> -<p>The term “protection” is also used to describe malicious features. -For instance, “copy protection” is a feature that interferes with -copying. From the user’s point of view, this is obstruction. So we -could call that malicious feature “copy obstruction.” More often it -is called Digital Restrictions Management (DRM)—see the Defective by +use the term “copyright restrictions.” Thus, you can say, +“Copyright restrictions last a very long time.” +</p> +<p>The term “protection” is also used to describe malicious features. +For instance, “copy protection” is a feature that interferes with +copying. From the user’s point of view, this is obstruction. So we +could call that malicious feature “copy obstruction.” More often it +is called Digital Restrictions Management (DRM)—see the Defective by Design campaign, at <a href="http://www.defectivebydesign.org">http://www.defectivebydesign.org</a>. </p> <a name="RAND-_0028Reasonable-and-Non_002dDiscriminatory_0029"></a> @@ -574,26 +556,26 @@ Design campaign, at <a href="http://www.defectivebydesign.org">http://www.defect <p>Standards bodies that promulgate patent-restricted standards that prohibit free software typically have a policy of obtaining patent licenses that require a fixed fee per copy of a conforming program. -They often refer to such licenses by the term “RAND,” which stands -for “reasonable and non-discriminatory.” +They often refer to such licenses by the term “RAND,” which stands +for “reasonable and non-discriminatory.” </p> <p>That term whitewashes a class of patent licenses that are normally neither reasonable nor nondiscriminatory. It is true that these licenses do not discriminate against any specific person, but they do discriminate against the free software community, and that makes them -unreasonable. Thus, half of the term “RAND” is deceptive and the +unreasonable. Thus, half of the term “RAND” is deceptive and the other half is prejudiced. </p> <p>Standards bodies should recognize that these licenses are -discriminatory, and drop the use of the term “reasonable and -non-discriminatory” or “RAND” to describe them. Until they do so, +discriminatory, and drop the use of the term “reasonable and +non-discriminatory” or “RAND” to describe them. Until they do so, writers who do not wish to join in the whitewashing would do well to reject that term. To accept and use it merely because patent-wielding companies have made it widespread is to let those companies dictate the views you express. </p> <a name="index-patents_002c-_0060_0060uniform-fee-only_0027_0027"></a> -<p>We suggest the term “uniform fee only,” or “UFO” for short, as a +<p>We suggest the term “uniform fee only,” or “UFO” for short, as a replacement. It is accurate because the only condition in these licenses is a uniform royalty fee. </p> @@ -601,51 +583,51 @@ licenses is a uniform royalty fee. <h3 class="subheading"> Sell Software </h3> <a name="index-selling_002c-_0060_0060sell-software_002c_0027_0027-ambiguous-term"></a> -<p>The term “sell software” is ambiguous. Strictly speaking, exchanging +<p>The term “sell software” is ambiguous. Strictly speaking, exchanging a copy of a free program for a sum of money is selling; but people -usually associate the term “sell” with proprietary restrictions on +usually associate the term “sell” with proprietary restrictions on the subsequent use of the software. You can be more precise, and -prevent confusion, by saying either “distributing copies of a program -for a fee” or “imposing proprietary restrictions on the use of a -program,” depending on what you mean. +prevent confusion, by saying either “distributing copies of a program +for a fee” or “imposing proprietary restrictions on the use of a +program,” depending on what you mean. </p> -<p>See “Selling Free Software” (p. @refx{Selling-pg}{) for further +<p>See “Selling Free Software” (p. @refx{Selling-pg}{) for further discussion of this issue. </p> <a name="Software-Industry"></a> <h3 class="subheading"> Software Industry </h3> <a name="index-_0060_0060software-industry_002c_0027_0027-problematic-term"></a> -<p>The term “software industry” encourages people to imagine that +<p>The term “software industry” encourages people to imagine that software is always developed by a sort of factory and then delivered -to “consumers.” The free software community shows this is not the +to “consumers.” The free software community shows this is not the case. Software businesses exist, and various businesses develop free and/or nonfree software, but those that develop free software are not run like factories. </p> -<p>The term “industry” is being used as propaganda by advocates of -software patents. They call software development “industry” and then +<p>The term “industry” is being used as propaganda by advocates of +software patents. They call software development “industry” and then try to argue that this means it should be subject to patent monopolies. The <a name="index-European-Parliament"></a> <a name="index-European-Union_002c-proposed-European-Union-software-patents-directive"></a> <a name="index-patents_002c-proposed-European-Union-software-patents-directive"></a> European Parliament, rejecting software patents in -2003,<a name="DOCF35" href="#FOOT35">(35)</a> voted to define “industry” as “automated -production of material goods.” +2003,<a name="DOCF35" href="#FOOT35">(35)</a> voted to define “industry” as “automated +production of material goods.” </p> <a name="Theft"></a> <h3 class="subheading"> Theft </h3> <a name="index-_0060_0060theft_002c_0027_0027-erroneous-use-of-term-1"></a> -<p>Copyright apologists often use words like “stolen” and “theft” to +<p>Copyright apologists often use words like “stolen” and “theft” to describe copyright infringement. At the same time, they ask us to treat the legal system as an authority on ethics: if copying is forbidden, it must be wrong. </p> -<p>So it is pertinent to mention that the legal system—at least in the -US—rejects the idea that copyright infringement is “theft.” -Copyright apologists are making an appeal to authority…and +<p>So it is pertinent to mention that the legal system—at least in the +US—rejects the idea that copyright infringement is “theft.” +Copyright apologists are making an appeal to authority…and misrepresenting what authority says. </p> <p>The idea that laws decide what is right or wrong is mistaken in @@ -657,19 +639,19 @@ upside down. <h3 class="subheading"> Trusted Computing </h3> <a name="index-_0060_0060trusted-computing_002c_0027_0027-avoid-use-of-term-_0028see-also-treacherous-computing_0029"></a> -<p>“Trusted computing” is the proponents’ name for a scheme to redesign +<p>“Trusted computing” is the proponents’ name for a scheme to redesign computers so that application <a name="index-developers_002c-proprietary-software-3"></a> developers can trust your computer to obey them instead of you. From -their point of view, it is “trusted”; from your point of view, it is +their point of view, it is “trusted”; from your point of view, it is <a name="index-treacherous-computing"></a> -“treacherous.” +“treacherous.” </p> <a name="Vendor"></a> <h3 class="subheading"> Vendor </h3> <a name="index-_0060_0060vendor_002c_0027_0027-erroneous-use-of-term"></a> -<p>Please don’t use the term “vendor” to refer generally to anyone that +<p>Please don’t use the term “vendor” to refer generally to anyone that develops or packages software. Many programs are developed in order to sell copies, and their <a name="index-developers_002c-term-_0060_0060vendor_0027_0027-and"></a> @@ -677,7 +659,7 @@ developers are therefore their vendors; this even includes some free software packages. However, many programs are developed by volunteers or organizations which do not intend to sell copies. These developers are not vendors. Likewise, only some of the packagers of GNU/Linux -distributions are vendors. We recommend the general term “supplier” +distributions are vendors. We recommend the general term “supplier” instead. </p> <a name="index-terminology_002c-importance-of-using-correct-8"></a> @@ -686,30 +668,27 @@ instead. <div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT32" href="#DOCF32">(32)</a></h3> -<p>Dan Farber, “Oracle’s Ellison Nails Cloud -Computing,” 26 September 2008, +<p>Dan Farber, “Oracle’s Ellison Nails Cloud +Computing,” 26 September 2008, <a href="http://news.cnet.com/8301-13953_3-10052188-80.html">http://news.cnet.com/8301-13953_3-10052188-80.html</a>. @vglue -1pc </p><h3><a name="FOOT33" href="#DOCF33">(33)</a></h3> <p>An unedited transcript of American rock musician -Courtney Love’s 16 May 2000 speech to the Digital Hollywood +Courtney Love’s 16 May 2000 speech to the Digital Hollywood online-entertainment conference, in New York, is available at <a href="http://salon.com/technology/feature/2000/06/14/love/print.html">http://salon.com/technology/feature/2000/06/14/love/print.html</a>. @vglue -1pc </p><h3><a name="FOOT34" href="#DOCF34">(34)</a></h3> <p>See my -article, “On Hacking,” at +article, “On Hacking,” at <a href="http://stallman.org/articles/on-hacking.html">http://stallman.org/articles/on-hacking.html</a>. @vglue -1pc </p><h3><a name="FOOT35" href="#DOCF35">(35)</a></h3> -<p>“Directive on the patentability of -computer-implemented inventions,” 24 September 2003, +<p>“Directive on the patentability of +computer-implemented inventions,” 24 September 2003, <a href="http://eupat.ffii.org/papers/europarl0309">http://eupat.ffii.org/papers/europarl0309</a>. @vglue -1pc </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_17.html b/examples/blog/articles/scrap1_17.html index f596d148..ef00a84e 100644 --- a/src/frontend_blog/articles/scrap1_17.html +++ b/examples/blog/articles/scrap1_17.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.: 17. The Right to Read: A Dystopian Short Story</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.: 17. The Right to Read: A Dystopian Short Story"> -<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.: 17. The Right to Read: A Dystopian Short Story</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.: 17. The Right to Read: A Dystopian Short Story"><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,41 +43,35 @@ 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="Right-to-Read"></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-Right-to-Read_003a-A-Dystopian-Short-Story"></a> -<h1 class="chapter"> 17. The Right to Read: A Dystopian Short Story </h1> +<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-Right-to-Read_003a-A-Dystopian-Short-Story"></a> +<h1 class="chapter"> 17. The Right to Read: A Dystopian Short Story </h1> <a name="index-_0060_0060Right-to-Read_003a-A-Dystopian-Short-Story_0027_0027-_0028see-also-DMCA_002c-DRM_002c-fair-use_002c-and-libraries_0029"></a> <p><em>From <cite><span class="roman">The Road to Tycho,</span></cite> a collection of articles about the antecedents of the Lunarian Revolution, published in Luna City in 2096.</em> <br> -For Dan Halbert, the road to Tycho began in college—when Lissa +For Dan Halbert, the road to Tycho began in college—when Lissa Lenz asked to borrow his computer. Hers had broken down, and unless she could borrow another, she would fail her midterm project. There was no one she dared ask, except Dan. </p> -<p>This put Dan in a dilemma. He had to help her—but if he lent +<p>This put Dan in a dilemma. He had to help her—but if he lent her his computer, she might read his books. Aside from the fact that you could go to prison for many years for letting someone else read your books, the very idea shocked him at first. Like everyone, he had been taught since elementary school that sharing books was nasty and -wrong—something that only pirates would do. +wrong—something that only pirates would do. </p> -<p>And there wasn’t much chance that the SPA—the Software -Protection Authority—would fail to catch him. In his software +<p>And there wasn’t much chance that the SPA—the Software +Protection Authority—would fail to catch him. In his software class, Dan had learned that each book had a copyright monitor that reported when and where it was read, and by whom, to Central Licensing. (They used this information to catch reading pirates, but also to sell personal interest profiles to retailers.) The next time his computer was networked, Central Licensing would find out. He, as -computer owner, would receive the harshest punishment—for not +computer owner, would receive the harshest punishment—for not taking pains to prevent the crime. </p> @@ -125,7 +107,7 @@ debugging tools. There were even free debugging tools available on CD or downloadable over the net. But ordinary users started using them to bypass copyright monitors, and eventually a judge ruled that this had become their principal use in actual practice. This meant they -were illegal; the debuggers’ developers were sent to prison. +were illegal; the debuggers’ developers were sent to prison. </p> <p>Programmers still needed debugging tools, of course, but debugger @@ -139,19 +121,19 @@ used only for class exercises. modified system kernel. Dan would eventually find out about the free kernels, even entire free operating systems, that had existed around the turn of the century. But not only were they illegal, like -debuggers—you could not install one if you had one, without -knowing your computer’s root password. And neither +debuggers—you could not install one if you had one, without +knowing your computer’s root password. And neither the FBI nor Microsoft Support would tell you that. </p> -<p>Dan concluded that he couldn’t simply lend Lissa his computer. But he -couldn’t refuse to help her, because he loved her. Every chance to +<p>Dan concluded that he couldn’t simply lend Lissa his computer. But he +couldn’t refuse to help her, because he loved her. Every chance to speak with her filled him with delight. And that she chose him to ask for help, that could mean she loved him too. </p> <p>Dan resolved the dilemma by doing something even more -unthinkable—he lent her the computer, and told her his password. +unthinkable—he lent her the computer, and told her his password. This way, if Lissa read his books, Central Licensing would think he was reading them. It was still a crime, but the SPA would not automatically find out about it. They would only find out if Lissa @@ -161,15 +143,15 @@ reported him. <p>Of course, if the school ever found out that he had given Lissa his own password, it would be curtains for both of them as students, regardless of what she had used it for. School policy was that any -interference with their means of monitoring students’ computer use was -grounds for disciplinary action. It didn’t matter whether you did -anything harmful—the offense was making it hard for the +interference with their means of monitoring students’ computer use was +grounds for disciplinary action. It didn’t matter whether you did +anything harmful—the offense was making it hard for the administrators to check on you. They assumed this meant you were doing something else forbidden, and they did not need to know what it was. </p> -<p>Students were not usually expelled for this—not directly. +<p>Students were not usually expelled for this—not directly. Instead they were banned from the school computer systems, and would inevitably fail all their classes. </p> @@ -227,8 +209,8 @@ shows a long-term trend: computer systems are increasingly set up to give absentees with clout control over the people actually using the computer system. The SSSCA was later renamed to the unpronounceable <a name="index-Consumer-Broadband-and-Digital-Television-Promotion-Act-_0028CBDTPA_0029-1"></a> -CBDTPA, which was glossed as the “Consume But Don’t Try -Programming Act.” +CBDTPA, which was glossed as the “Consume But Don’t Try +Programming Act.” </p> <p>The Republicans took control of the US senate shortly thereafter. They are less tied to @@ -262,7 +244,7 @@ as <a name="index-Australia"></a> Australia and <a name="index-Mexico"></a> -Mexico through bilateral “free trade” +Mexico through bilateral “free trade” agreements, and on countries such as <a name="index-Costa-Rica"></a> Costa Rica through another @@ -270,10 +252,10 @@ treaty, <a name="index-CAFTA"></a> CAFTA. <a name="index-Ecuador"></a> -Ecuador’s President +Ecuador’s President <a name="index-Correa_002c-President-Rafael"></a> Correa refused to sign a -“free trade” agreement with the US, but I’ve heard Ecuador +“free trade” agreement with the US, but I’ve heard Ecuador had adopted something like the DMCA in 2003. </p> <a name="index-Microsoft_002c-control-over-users"></a> @@ -286,13 +268,13 @@ them. </p> <p>The proponents of this scheme have given it names such as <a name="index-_0060_0060trusted-computing_002c_0027_0027-avoid-use-of-term-_0028see-also-treacherous-computing_0029-1"></a> -“trusted computing” and +“trusted computing” and <a name="index-Palladium"></a> -“Palladium.” We call +“Palladium.” We call it <a name="index-treacherous-computing-1"></a> -“treacherous -computing” because the effect is to make your computer obey +“treacherous +computing” because the effect is to make your computer obey companies even to the extent of disobeying and defying you. This was implemented in 2007 as part of <a name="index-Windows_002c-Vista"></a> @@ -314,8 +296,8 @@ the user can do on his own computer. <p>Vista also gives Microsoft additional powers; for instance, Microsoft can forcibly install upgrades, and it can order all machines running Vista to refuse to run a certain device driver. The main purpose of -Vista’s many restrictions is to impose DRM (Digital Restrictions -Management) that users can’t overcome. The threat of DRM is why we +Vista’s many restrictions is to impose DRM (Digital Restrictions +Management) that users can’t overcome. The threat of DRM is why we have established the <a name="index-Defective-by-Design-_0028see-also-DRM_0029-1"></a> Defective by Design campaign. @@ -375,24 +357,19 @@ everyone to agree, in advance, to waive their rights under it. <a name="References"></a> <h3 class="subheading"> References </h3> -<ul> -<li> +<ul><li> United States Patent and Trademark Office, <cite>Intellectual Property [<em>sic</em>] and the National Information Infrastructure: The Report of the Working Group on Intellectual Property [<em>sic</em>] Rights,</cite> Washington, DC: GPO, 1995. </li><li> -Samuelson, Pamela, “The Copyright Grab,” <em>Wired,</em> January 1996, n. 4.01. +Samuelson, Pamela, “The Copyright Grab,” <em>Wired,</em> January 1996, n. 4.01. </li><li> -Boyle, James, “Sold Out,” <em>New York Times,</em> 31 March 1996, sec. 4, p. 15. +Boyle, James, “Sold Out,” <em>New York Times,</em> 31 March 1996, sec. 4, p. 15. </li><li> -Editorial, <em>Washington Post,</em> “Public Data or Private Data,” 3 November 1996, sec. C, p. 6. +Editorial, <em>Washington Post,</em> “Public Data or Private Data,” 3 November 1996, sec. C, p. 6. </li><li> -Union for the Public Domain—an organization that aims to resist and reverse the overextension of copyright and patent powers. - -</li></ul> +Union for the Public Domain—an organization that aims to resist and reverse the overextension of copyright and patent powers. -<hr size="2"> -</body> -</html> +</li></ul><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_18.html b/examples/blog/articles/scrap1_18.html index 660dec5d..72342d7d 100644 --- a/src/frontend_blog/articles/scrap1_18.html +++ b/examples/blog/articles/scrap1_18.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.: 18. Misinterpreting Copyright—A Series of Errors</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.: 18. Misinterpreting Copyright—A Series of Errors"> -<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.: 18. Misinterpreting Copyright—A Series of Errors</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.: 18. Misinterpreting Copyright—A Series of Errors"><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,26 +43,20 @@ 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="Mis-Cop"></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="Misinterpreting-Copyright_002d_002d_002dA-Series-of-Errors"></a> -<h1 class="chapter"> 18. Misinterpreting Copyright—A Series of Errors </h1> +<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="Misinterpreting-Copyright_002d_002d_002dA-Series-of-Errors"></a> +<h1 class="chapter"> 18. Misinterpreting Copyright—A Series of Errors </h1> <a name="index-Constitution_002c-copyright-and-US"></a> <p> Something strange and dangerous is happening in copyright law. Under -the US Constitution, copyright exists to benefit users—those -who read books, listen to music, watch movies, or run software—not +the US Constitution, copyright exists to benefit users—those +who read books, listen to music, watch movies, or run software—not for the sake of publishers or authors. Yet even as people tend increasingly to reject and disobey the copyright restrictions imposed -on them “for their own benefit,” the US government is +on them “for their own benefit,” the US government is adding more restrictions, and trying to frighten the public into obedience with harsh new penalties. </p> @@ -87,12 +69,12 @@ United States copyright law: the US Constitution. <h3 class="subheading"> Copyright in the US Constitution </h3> <p>When the US Constitution was drafted, the idea that authors were -entitled to a copyright monopoly was proposed—and rejected. The +entitled to a copyright monopoly was proposed—and rejected. The founders of our country adopted a different premise, that copyright is not a natural right of authors, but an artificial concession made to them for the sake of progress. The Constitution gives permission for a -copyright system with this clause (Article I, Section 8, -Clause 8): +copyright system with this clause (Article I, Section 8, +Clause 8): </p> <blockquote class="smallquotation"> <p>[Congress shall have the power] to promote the Progress of Science and @@ -115,26 +97,26 @@ derived by the public from the labors of authors. <p>This fundamental decision explains why copyright is not <em>required</em> by the Constitution, only <em>permitted</em> as an -option—and why it is supposed to last for “limited -times.” If copyright were a natural right, something that +option—and why it is supposed to last for “limited +times.” If copyright were a natural right, something that authors have because they deserve it, nothing could justify terminating this right after a certain period of time, any more than -everyone’s house should become public property after a certain lapse +everyone’s house should become public property after a certain lapse of time from its construction. </p> <a name="The-_0060_0060Copyright-Bargain_0027_0027"></a> -<h3 class="subheading"> The “Copyright Bargain” </h3> +<h3 class="subheading"> The “Copyright Bargain” </h3> <a name="index-copyright_002c-_0060_0060copyright-bargain_0027_0027"></a> <p>The copyright system works by providing privileges and thus benefits to publishers and authors; but it does not do this for their sake. Rather, it does this to modify their behavior: to provide an incentive for authors to write more and publish more. In effect, the government -spends the public’s natural rights, on the public’s behalf, as part of +spends the public’s natural rights, on the public’s behalf, as part of a deal to bring the public more published works. Legal scholars call -this concept the “copyright bargain.” It is like a -government purchase of a highway or an airplane using taxpayers’ +this concept the “copyright bargain.” It is like a +government purchase of a highway or an airplane using taxpayers’ money, except that the government spends our freedom instead of our money. </p> @@ -152,60 +134,60 @@ usually the publishers that lobby to increase copyright powers. To better reflect the reality of copyright rather than the myth, this article refers to publishers rather than authors as the holders of copyright powers. It also refers to the users of copyrighted works as -“readers,” even though using them does not always mean -reading, because “the users” is remote and abstract. +“readers,” even though using them does not always mean +reading, because “the users” is remote and abstract. </p> <a name="The-First-Error_003a-_0060_0060Striking-a-Balance_0027_0027"></a> -<h3 class="subheading"> The First Error: “Striking a Balance” </h3> +<h3 class="subheading"> The First Error: “Striking a Balance” </h3> <a name="index-copyright_002c-erroneous-concept-of-_0060_0060striking-a-balance_0027_0027"></a> <p>The copyright bargain places the public first: benefit for the reading public is an end in itself; benefits (if any) for publishers are just -a means toward that end. Readers’ interests and publishers’ interests +a means toward that end. Readers’ interests and publishers’ interests are thus qualitatively unequal in priority. The first step in misinterpreting the purpose of copyright is the elevation of the publishers to the same level of importance as the readers. </p> -<p>It is often said that US copyright law is meant to “strike a -balance” between the interests of publishers and readers. Those +<p>It is often said that US copyright law is meant to “strike a +balance” between the interests of publishers and readers. Those who cite this interpretation present it as a restatement of the basic position stated in the Constitution; in other words, it is supposed to be equivalent to the copyright bargain. </p> <p>But the two interpretations are far from equivalent; they are different conceptually, and different in their implications. The -balance concept assumes that the readers’ and publishers’ interests +balance concept assumes that the readers’ and publishers’ interests differ in importance only quantitatively, in <em>how much weight</em> we should give them, and in what actions they apply to. -The term “stakeholders” is often used to frame the issue +The term “stakeholders” is often used to frame the issue in this way; it assumes that all kinds of interest in a policy decision are equally important. This view rejects the qualitative -distinction between the readers’ and publishers’ interests which is at -the root of the government’s participation in the copyright +distinction between the readers’ and publishers’ interests which is at +the root of the government’s participation in the copyright bargain. </p> <p>The consequences of this alteration are far-reaching, because the -great protection for the public in the copyright bargain—the +great protection for the public in the copyright bargain—the idea that copyright privileges can be justified only in the name of -the readers, never in the name of the publishers—is discarded -by the “balance” interpretation. Since the interest of +the readers, never in the name of the publishers—is discarded +by the “balance” interpretation. Since the interest of the publishers is regarded as an end in itself, it can justify -copyright privileges; in other words, the “balance” +copyright privileges; in other words, the “balance” concept says that privileges can be justified in the name of someone other than the public. </p> -<p>As a practical matter, the consequence of the “balance” +<p>As a practical matter, the consequence of the “balance” concept is to reverse the burden of justification for changes in copyright law. The copyright bargain places the burden on the publishers to convince the readers to cede certain freedoms. The concept of balance reverses this burden, practically speaking, because there is generally no doubt that publishers will benefit from additional privilege. Unless harm to the readers can be proved, -sufficient to “outweigh” this benefit, we are led to +sufficient to “outweigh” this benefit, we are led to conclude that the publishers are entitled to almost any privilege they request. </p> -<p>Since the idea of “striking a balance” between publishers and +<p>Since the idea of “striking a balance” between publishers and readers denies the readers the primacy they are entitled to, we must reject it. <a name="index-copyright_002c-erroneous-concept-of-_0060_0060striking-a-balance_0027_0027-1"></a> @@ -215,12 +197,12 @@ reject it. <p>When the government buys something for the public, it acts on behalf of the public; its responsibility is to obtain the best possible -deal—best for the public, not for the other party in the +deal—best for the public, not for the other party in the agreement. </p> <p>For example, when signing contracts with construction companies to build highways, the government aims to spend as little as possible of the -public’s money. Government agencies use competitive bidding to push the +public’s money. Government agencies use competitive bidding to push the price down. </p> <p>As a practical matter, the price cannot be zero, because contractors @@ -235,43 +217,43 @@ government tries to obtain for the taxpaying motorists the best deal they can get in the context of a free society and a free market. </p> <p>In the copyright bargain, the government spends our freedom instead of -our money. Freedom is more precious than money, so government’s +our money. Freedom is more precious than money, so government’s responsibility to spend our freedom wisely and frugally is even greater than its responsibility to spend our money thus. Governments -must never put the publishers’ interests on a par with the public’s +must never put the publishers’ interests on a par with the public’s freedom. </p> <a name="Not-_0060_0060Balance_0027_0027-but-_0060_0060Trade_002dOff_0027_0027"></a> -<h3 class="subheading"> Not “Balance” but “Trade-Off” </h3> +<h3 class="subheading"> Not “Balance” but “Trade-Off” </h3> -<p>The idea of balancing the readers’ interests against the publishers’ +<p>The idea of balancing the readers’ interests against the publishers’ is the wrong way to judge copyright policy, but there are indeed two interests to be weighed: two interests <em>of the readers.</em> Readers have an interest in their own freedom in using published works; depending on circumstances, they may also have an interest in encouraging publication through some kind of incentive system. </p> -<p>The word “balance,” in discussions of copyright, has come -to stand as shorthand for the idea of “striking a balance” +<p>The word “balance,” in discussions of copyright, has come +to stand as shorthand for the idea of “striking a balance” between the readers and the publishers. Therefore, to use the word -“balance” in regard to the readers’ two interests would be +“balance” in regard to the readers’ two interests would be confusing. We need another term. </p> <p>In general, when one party has two goals that partly conflict, and cannot completely achieve both of them, we call this a -“trade-off.” Therefore, rather than speaking of -“striking the right balance” between parties, we should -speak of “finding the right trade-off between spending our -freedom and keeping it.” +“trade-off.” Therefore, rather than speaking of +“striking the right balance” between parties, we should +speak of “finding the right trade-off between spending our +freedom and keeping it.” </p> <a name="The-Second-Error_003a-Maximizing-One-Output"></a> <h3 class="subheading"> The Second Error: Maximizing One Output </h3> <a name="index-copyright_002c-erroneous-concept-of-maximizing-one-output"></a> <p>The second mistake in copyright policy consists of adopting the goal -of maximizing—not just increasing—the number of -published works. The erroneous concept of “striking a -balance” elevated the publishers to parity with the readers; +of maximizing—not just increasing—the number of +published works. The erroneous concept of “striking a +balance” elevated the publishers to parity with the readers; this second error places them far above the readers. </p> <p>When we purchase something, we do not generally buy the whole quantity @@ -294,7 +276,7 @@ result is to increase the amount of publication, but not to the utmost possible extent. </p> <p>Accepting the goal of maximizing publication rejects all these wiser, -more advantageous bargains in advance—it dictates that the +more advantageous bargains in advance—it dictates that the public must cede nearly all of its freedom to use published works, for just a little more publication. <a name="index-copyright_002c-_0060_0060copyright-bargain_0027_0027-1"></a> @@ -306,7 +288,7 @@ just a little more publication. <p>In practice, the goal of maximizing publication regardless of the cost to freedom is supported by widespread rhetoric which asserts that public copying is illegitimate, unfair, and intrinsically wrong. For -instance, the publishers call people who copy “pirates,” a +instance, the publishers call people who copy “pirates,” a smear term designed to equate sharing information with your neighbor with attacking a ship. (This smear term was formerly used by authors to describe publishers who found lawful ways to publish unauthorized @@ -315,14 +297,14 @@ This rhetoric directly rejects the constitutional basis for copyright, but presents itself as representing the unquestioned tradition of the American legal system. </p> -<p>The “pirate” rhetoric is typically accepted because it +<p>The “pirate” rhetoric is typically accepted because it so pervades the media that few people realize how radical it is. It is effective because if copying by the public is fundamentally -illegitimate, we can never object to the publishers’ demand that we +illegitimate, we can never object to the publishers’ demand that we surrender our freedom to do so. In other words, when the public is challenged to show why publishers should not receive some additional -power, the most important reason of all—“We want to -copy”—is disqualified in advance. +power, the most important reason of all—“We want to +copy”—is disqualified in advance. </p> <p>This leaves no way to argue against increasing copyright power except using side issues. Hence, opposition to stronger copyright powers today @@ -330,27 +312,27 @@ almost exclusively cites side issues, and never dares cite the freedom to distribute copies as a legitimate public value. </p> <p>As a practical matter, the goal of maximization enables publishers to -argue that “A certain practice is reducing our sales—or -we think it might—so we presume it diminishes publication by -some unknown amount, and therefore it should be prohibited.” We +argue that “A certain practice is reducing our sales—or +we think it might—so we presume it diminishes publication by +some unknown amount, and therefore it should be prohibited.” We are led to the outrageous conclusion that the public good is measured -by publishers’ sales: What’s good for General Media is good for the +by publishers’ sales: What’s good for General Media is good for the USA. <a name="index-_0060_0060piracy_002c_0027_0027-erroneous-use-of-term-6"></a> </p> <a name="The-Third-Error_003a-Maximizing-Publishers_0027-Power"></a> -<h3 class="subheading"> The Third Error: Maximizing Publishers’ Power </h3> +<h3 class="subheading"> The Third Error: Maximizing Publishers’ Power </h3> <a name="index-copyright_002c-erroneous-concept-of-maximizing-publishers_0027-power"></a> <p>Once the publishers have obtained assent to the policy goal of maximizing publication output at any cost, their next step is to infer -that this requires giving them the maximum possible powers—making +that this requires giving them the maximum possible powers—making copyright cover every imaginable use of a work, or applying -some other legal tool such as “shrink wrap” licenses to +some other legal tool such as “shrink wrap” licenses to equivalent effect. This goal, which entails the abolition of <a name="index-copyright_002c-fair-use"></a> <a name="index-fair-use-_0028see-also-copyright_0029"></a> -“fair use” and the “right of first sale,” is +“fair use” and the “right of first sale,” is being pressed at every available level of government, from states of the US to international bodies. </p> @@ -359,11 +341,11 @@ creation of useful new works. For instance, <a name="index-Shakespeare_002c-William"></a> Shakespeare borrowed the plots of some of his plays from works others had published a few decades -before, so if today’s copyright law had been in effect, his plays would +before, so if today’s copyright law had been in effect, his plays would have been illegal. </p> <p>Even if we wanted the highest possible rate of publication, regardless -of cost to the public, maximizing publishers’ power is the wrong way to +of cost to the public, maximizing publishers’ power is the wrong way to get it. As a means of promoting progress, it is self-defeating. </p> <a name="The-Results-of-the-Three-Errors"></a> @@ -394,7 +376,7 @@ creation of new works of authorship.<a name="DOCF38" href="#FOOT38">(38)</a> since the 1920s. This change was a giveaway to publishers with no possible benefit to the public, since there is no way to retroactively increase now the number of books published back then. Yet it cost the -public a freedom that is meaningful today—the freedom to +public a freedom that is meaningful today—the freedom to redistribute books from that era. </p> <p>The bill also extended the copyrights of works yet to be written. For @@ -404,7 +386,7 @@ write new works; but any publisher that claims to need this extra incentive should be required to substantiate the claim with projected balance sheets for 75 years in the future. </p> -<p>Needless to say, Congress did not question the publishers’ arguments: +<p>Needless to say, Congress did not question the publishers’ arguments: a law extending copyright was enacted in 1998. It was officially called the <a name="index-Sonny-Bono-Copyright-Term-Extension-Act-_0028also-known-as"></a> @@ -413,7 +395,7 @@ Sonny Bono Copyright Term Extension Act, named after one of its sponsors who died earlier that year. We usually call it the Mickey Mouse Copyright Act, since we presume its real motive was to prevent the copyright on the appearance of Mickey Mouse from expiring. -Bono’s widow, who served the rest of his term, made this statement: +Bono’s widow, who served the rest of his term, made this statement: </p> <blockquote class="smallquotation"> <p>Actually, @@ -423,7 +405,7 @@ I am informed by staff that such a change would violate the Constitution. I invite all of you to work with me to strengthen our copyright laws in all of the ways available to us. As you know, there is also <a name="index-Valenti_002c-Jack"></a> -Jack Valenti’s<a name="DOCF39" href="#FOOT39">(39)</a> proposal for term to last forever less one +Jack Valenti’s<a name="DOCF39" href="#FOOT39">(39)</a> proposal for term to last forever less one day. Perhaps the Committee may look at that next Congress.<a name="DOCF40" href="#FOOT40">(40)</a> </p> @@ -432,7 +414,7 @@ that next Congress.<a name="DOCF40" href="#FOOT40">(40)</a> <a name="index-Supreme-Court_002c-US-2"></a> <p>The Supreme Court later heard a case that sought to overturn the law on the grounds that the retroactive extension fails to serve the -Constitution’s goal of promoting progress. The court responded by +Constitution’s goal of promoting progress. The court responded by abdicating its responsibility to judge the question; on copyright, the Constitution requires only lip service. <a name="index-copyright_002c-duration-of-term-of-1"></a> @@ -446,7 +428,7 @@ to be nice. Previously this was not a crime in the US at all. designed to bring back copy protection (which computer users detest) by making it a crime to break copy protection, or even publish information about how to break it. This law ought to be called the -“Domination by Media Corporations Act” because it +“Domination by Media Corporations Act” because it effectively offers publishers the chance to write their own copyright law. It says they can impose any restrictions whatsoever on the use of a work, and these restrictions take the force of law provided the @@ -457,8 +439,8 @@ them. a recent treaty to increase copyright powers. The treaty was promulgated by the <a name="index-World-_0060_0060Intellectual-Property_0027_0027-Organization-_0028WIPO_0029-_0028see-also-_0060_0060intellectual-property_0027_0027_0029-3"></a> -World “Intellectual -Property” Organization, an organization dominated by +World “Intellectual +Property” Organization, an organization dominated by copyright- and patent-holding interests, with the aid of pressure from the <a name="index-Clinton-administration"></a> @@ -478,8 +460,8 @@ Pat Schroeder, now a lobbyist for the <a name="index-copyright_002c-Association-of-American-Publishers"></a> <a name="index-Association-of-American-Publishers-_0028see-also-copyright_0029"></a> Association of -American Publishers, said that the publishers “could not live -with what [the libraries were] asking for.” Since the libraries +American Publishers, said that the publishers “could not live +with what [the libraries were] asking for.” Since the libraries were asking only to preserve part of the status quo, one might respond by wondering how the publishers had survived until the present day. @@ -488,16 +470,16 @@ day. <p>Congressman <a name="index-Frank_002c-Congressman-Barney"></a> Barney Frank, in a meeting with me and others who opposed -this bill, showed how far the US Constitution’s view of copyright +this bill, showed how far the US Constitution’s view of copyright has been disregarded. He said that new powers, backed by criminal -penalties, were needed urgently because the “movie industry is -worried,” as well as the “music industry” and other -“industries.” I asked him, “But is this in the -public interest?” His response was telling: “Why are you -talking about the public interest? These creative people don’t have -to give up their rights for the public interest!” The -“industry” has been identified with the “creative -people” it hires, copyright has been treated as its entitlement, +penalties, were needed urgently because the “movie industry is +worried,” as well as the “music industry” and other +“industries.” I asked him, “But is this in the +public interest?” His response was telling: “Why are you +talking about the public interest? These creative people don’t have +to give up their rights for the public interest!” The +“industry” has been identified with the “creative +people” it hires, copyright has been treated as its entitlement, and the Constitution has been turned upside down. <a name="index-Constitution_002c-copyright-and-US-1"></a> </p> @@ -520,17 +502,17 @@ encryption system for restricting access to recorded music. </p> <a name="index-libraries_002c-e_002dbooks-and"></a> <a name="index-e_002dbooks"></a> -<p>We are also beginning to see e-books that take away many of readers’ -traditional freedoms—for instance, the freedom to lend a book +<p>We are also beginning to see e-books that take away many of readers’ +traditional freedoms—for instance, the freedom to lend a book to your friend, to sell it to a used book store, to borrow it from a library, to buy it without giving your name to a corporate data bank, even the freedom to read it twice. Encrypted e-books generally -restrict all these activities—you can read them only with +restrict all these activities—you can read them only with special secret software designed to restrict you. </p> <p>I will never buy one of these encrypted, restricted e-books, and I -hope you will reject them too. If an e-book doesn’t give you the same -freedoms as a traditional paper book, don’t accept it! +hope you will reject them too. If an e-book doesn’t give you the same +freedoms as a traditional paper book, don’t accept it! </p> <p>Anyone independently releasing software that can read restricted e-books risks prosecution. A Russian programmer, @@ -547,11 +529,11 @@ European Union recently adopted one. <p>Mass-market e-books have been a commercial failure so far, but not because readers chose to defend their freedom; they were unattractive for other reasons, such as that computer display screens are not easy -surfaces to read from. We can’t rely on this happy accident to +surfaces to read from. We can’t rely on this happy accident to protect us in the long term; the next attempt to promote e-books will -use “electronic paper”—book-like objects into +use “electronic paper”—book-like objects into which an encrypted, restricted e-book can be downloaded. If this -paper-like surface proves more appealing than today’s display screens, +paper-like surface proves more appealing than today’s display screens, we will have to defend our freedom in order to keep it. Meanwhile, e-books are making inroads in niches: <a name="index-NYU-1"></a> @@ -567,8 +549,8 @@ Senator <a name="index-Hollings_002c-Senator-Ernest-1"></a> Hollings proposed a bill called the <a name="index-Security-Systems-Standards-and-Certification-Act-_0028SSSCA_0029-_0028see-also-Consumer-Broadband-and-Digital-Television-Promotion-Act-_0028CBDTPA_0029_0029-1"></a> -“Security Systems -Standards and Certification Act” +“Security Systems +Standards and Certification Act” (SSSCA),<a name="DOCF41" href="#FOOT41">(41)</a> which would require all computers (and other digital recording and playback devices) to have government-mandated copy-restriction systems. That is their ultimate @@ -576,7 +558,7 @@ goal, but the first item on their agenda is to prohibit any equipment that can tune digital <a name="index-HDTV"></a> HDTV unless it is designed to be impossible for -the public to “tamper with” (i.e., modify for their own +the public to “tamper with” (i.e., modify for their own purposes). Since free software is software that users can modify, we face here for the first time a proposed law that explicitly prohibits free software for a certain job. Prohibition of other jobs will @@ -596,7 +578,7 @@ action.<a name="DOCF42" href="#FOOT42">(42)</a> <a name="index-copyright_002c-_0060_0060copyright-bargain_0027_0027-2"></a> <p>What is the proper way to decide copyright policy? If copyright is a bargain made on behalf of the public, it should serve the public -interest above all. The government’s duty when selling the public’s +interest above all. The government’s duty when selling the public’s freedom is to sell only what it must, and sell it as dearly as possible. At the very least, we should pare back the extent of copyright as much as possible while maintaining a comparable level of publication. @@ -607,7 +589,7 @@ bidding, as we do for construction projects, how can we find it? <p>One possible method is to reduce copyright privileges in stages, and observe the results. By seeing if and when measurable diminutions in publication occur, we will learn how much copyright power is really -necessary to achieve the public’s purposes. We must judge this by +necessary to achieve the public’s purposes. We must judge this by actual observation, not by what publishers say will happen, because they have every incentive to make exaggerated predictions of doom if their powers are reduced in any way. @@ -625,7 +607,7 @@ making of derivative works, could continue for a longer period. </p> <a name="index-copyright_002c-duration-of-term-of-2"></a> <p>Why count from the date of publication? Because copyright on -unpublished works does not directly limit readers’ freedom; whether we +unpublished works does not directly limit readers’ freedom; whether we are free to copy a work is moot when we do not have copies. So giving authors a longer time to get a work published does no harm. Authors (who generally do own the copyright prior to publication) will rarely @@ -648,13 +630,13 @@ copyright at a literary convention, where I proposed the ten-year term, a noted fantasy author sitting beside me objected vehemently, saying that anything beyond five years was intolerable. </p> -<p>But we don’t have to apply the same time span to all kinds of works. +<p>But we don’t have to apply the same time span to all kinds of works. Maintaining the utmost uniformity of copyright policy is not crucial to the public interest, and copyright law already has many exceptions for specific uses and media. It would be foolish to pay for every highway project at the rates necessary for the most difficult projects in the most expensive regions of the country; it is equally foolish to -“pay” for all kinds of art with the greatest price in +“pay” for all kinds of art with the greatest price in freedom that we find necessary for any one kind. </p> <p>So perhaps novels, dictionaries, computer programs, songs, symphonies, @@ -674,14 +656,14 @@ permitted even though it is copyrighted. The natural first step in reducing this dimension of copyright power is to permit occasional private small-quantity noncommercial copying and distribution among individuals. This would eliminate the intrusion of the copyright -police into people’s private lives, but would probably have little +police into people’s private lives, but would probably have little effect on the sales of published works. (It may be necessary to take other legal steps to ensure that shrink-wrap licenses cannot be used to substitute for copyright in restricting such copying.) The experience of <a name="index-Napster"></a> Napster shows that we should also permit noncommercial -verbatim redistribution to the general public—when so many of +verbatim redistribution to the general public—when so many of the public want to copy and share, and find it so useful, only draconian measures will stop them, and the public deserves to get what it wants. @@ -690,16 +672,16 @@ it wants. noncommercial verbatim redistribution may be sufficient freedom for the readers. Computer programs, being used for functional purposes (to get jobs done), call for additional freedoms beyond that, -including the freedom to publish an improved version. See “The Free -Software Definition,” in this book, for an explanation of the +including the freedom to publish an improved version. See “The Free +Software Definition,” in this book, for an explanation of the freedoms that software users should have. But it may be an acceptable compromise for these freedoms to be universally available only after a -delay of two or three years from the program’s publication. +delay of two or three years from the program’s publication. </p> -<p>Changes like these could bring copyright into line with the public’s +<p>Changes like these could bring copyright into line with the public’s wish to use digital technology to copy. Publishers will no doubt find -these proposals “unbalanced”; they may threaten to take -their marbles and go home, but they won’t really do it, because the +these proposals “unbalanced”; they may threaten to take +their marbles and go home, but they won’t really do it, because the game will remain profitable and it will be the only game in town. </p> <p>As we consider reductions in copyright power, we must make sure media @@ -715,32 +697,31 @@ are a standard part of the US legal system. <a name="index-call-to-action_002c-do-not-surrender-freedom-in-author_0027s-name"></a> <a name="index-users_002c-premise-of-author-supremacy-_0028see-also-ownership_0029-4"></a> -<p>I am a software designer, not a legal scholar. I’ve become concerned -with copyright issues because there’s no avoiding them in the world of +<p>I am a software designer, not a legal scholar. I’ve become concerned +with copyright issues because there’s no avoiding them in the world of computer networks, such as the Internet. As a user of computers and networks for 30 years, I value the freedoms that we have lost, and the ones we may lose next. As an author, I can reject the romantic mystique of the author as semidivine creator, often cited by publishers to justify -increased copyright powers for authors—powers which these authors +increased copyright powers for authors—powers which these authors will then sign away to publishers. </p> <p>Most of this article consists of facts and reasoning that you can check, and proposals on which you can form your own opinions. But I ask -you to accept one thing on my word alone: that authors like me don’t +you to accept one thing on my word alone: that authors like me don’t deserve special power over you. If you wish to reward me further for the software or books I have written, I would gratefully accept a -check—but please don’t surrender your freedom in my name. +check—but please don’t surrender your freedom in my name. </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT36" href="#DOCF36">(36)</a></h3> <a name="index-Fox-Film-Corp_002e-v_002e-Doyal-1"></a> <p><cite>Fox Film Corp. v. Doyal,</cite> 286 US 123, 1932. </p><h3><a name="FOOT37" href="#DOCF37">(37)</a></h3> -<p><cite>Congressional Record,</cite> S. 483, “The Copyright Term Extension Act of 1995,” 2 March 1995, pp. S3390–4. +<p><cite>Congressional Record,</cite> S. 483, “The Copyright Term Extension Act of 1995,” 2 March 1995, pp. S3390–4. </p><h3><a name="FOOT38" href="#DOCF38">(38)</a></h3> <p><cite>Congressional -Record,</cite> “Statement on Introduced Bills and Joint Resolutions,” -2 March 1995, p. S3390, +Record,</cite> “Statement on Introduced Bills and Joint Resolutions,” +2 March 1995, p. S3390, <a href="http://gpo.gov/fdsys/pkg/CREC-1995-03-02/pdf/CREC-1995-03-02-pt1-PgS3390-2.pdf">http://gpo.gov/fdsys/pkg/CREC-1995-03-02/pdf/CREC-1995-03-02-pt1-PgS3390-2.pdf</a>. </p><h3><a name="FOOT39" href="#DOCF39">(39)</a></h3> <p>Jack Valenti was a longtime president of the Motion @@ -749,21 +730,19 @@ Picture Association of America. <p><cite>Congressional Record,</cite> remarks of Rep. <a name="index-Bono_002c-Congresswoman-Mary"></a> -Bono, 7 October 1998, p. H9952, <a href="http://gpo.gov/fdsys/pkg/CREC-1998-10-07/pdf/CREC-1998-10-07-pt1-PgH9946.pdf">http://gpo.gov/fdsys/pkg/CREC-1998-10-07/pdf/CREC-1998-10-07-pt1-PgH9946.pdf</a>. +Bono, 7 October 1998, p. H9952, <a href="http://gpo.gov/fdsys/pkg/CREC-1998-10-07/pdf/CREC-1998-10-07-pt1-PgH9946.pdf">http://gpo.gov/fdsys/pkg/CREC-1998-10-07/pdf/CREC-1998-10-07-pt1-PgH9946.pdf</a>. </p><h3><a name="FOOT41" href="#DOCF41">(41)</a></h3> <p>Since renamed to the unpronounceable <a name="index-Consumer-Broadband-and-Digital-Television-Promotion-Act-_0028CBDTPA_0029-2"></a> CBDTPA, -for which a good mnemonic is “Consume, But Don’t Try -Programming Anything,” but it really stands for the -“Consumer Broadband and Digital Television Promotion -Act.” +for which a good mnemonic is “Consume, But Don’t Try +Programming Anything,” but it really stands for the +“Consumer Broadband and Digital Television Promotion +Act.” </p><h3><a name="FOOT42" href="#DOCF42">(42)</a></h3> <p>If you would like to help, I recommend the web sites <a name="index-Defective-by-Design-_0028see-also-DRM_0029-2"></a> <a href="http://defectivebydesign.org">http://defectivebydesign.org</a>, <a href="http://publicknowledge.org">http://publicknowledge.org</a>, and <a href="http://eff.org">http://eff.org</a>. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_19.html b/examples/blog/articles/scrap1_19.html index 9f64895c..2091a788 100644 --- a/src/frontend_blog/articles/scrap1_19.html +++ b/examples/blog/articles/scrap1_19.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.: 19. Science Must Push Copyright Aside</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.: 19. Science Must Push Copyright Aside"> -<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.: 19. Science Must Push Copyright Aside</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.: 19. Science Must Push Copyright Aside"><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="Push-Cop-Aside"></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="Science-Must-Push-Copyright-Aside"></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="Science-Must-Push-Copyright-Aside"></a> <h1 class="chapter"> 19. Science Must Push Copyright Aside </h1> <a name="index-libraries_002c-access-fees-and"></a> @@ -77,8 +59,8 @@ goal. <p>The rules we have now, known as copyright, were established in the age of the printing press, an inherently centralized method of mass-production copying. In a print environment, copyright on journal -articles restricted only journal publishers—requiring them to -obtain permission to publish an article—and would-be +articles restricted only journal publishers—requiring them to +obtain permission to publish an article—and would-be plagiarists. It helped journals to operate and disseminate knowledge, without interfering with the useful work of scientists or students, either as writers or readers of articles. These rules fit that system @@ -89,7 +71,7 @@ World Wide Web. What rules would best ensure the maximum dissemination of scientific articles, and knowledge, on the web? Articles should be distributed in nonproprietary formats, with open access for all. And everyone should have the right to -“mirror” articles—that is, to republish them verbatim +“mirror” articles—that is, to republish them verbatim with proper attribution. </p> <p>These rules should apply to past as well as future articles, when @@ -101,8 +83,8 @@ publication of journals because the problem is not in that domain. that began this article. Many journal publishers appear to believe that the purpose of scientific literature is to enable them to publish journals so as to collect subscriptions from scientists and -students. Such thinking is known as “confusion of the means with -the ends.” +students. Such thinking is known as “confusion of the means with +the ends.” </p> <p>Their approach has been to restrict access even to read the scientific literature to those who can and will pay for it. They use @@ -110,15 +92,15 @@ copyright law, which is still in force despite its inappropriateness for computer networks, as an excuse to stop scientists from choosing new rules. </p> -<p>For the sake of scientific cooperation and humanity’s future, we -must reject that approach at its root—not merely the +<p>For the sake of scientific cooperation and humanity’s future, we +must reject that approach at its root—not merely the obstructive systems that have been instituted, but the mistaken priorities that inspired them. </p> <p>Journal publishers sometimes claim that online access requires expensive high-powered server machines, and that they must charge -access fees to pay for these servers. This “problem” is a -consequence of its own “solution.” Give everyone the +access fees to pay for these servers. This “problem” is a +consequence of its own “solution.” Give everyone the freedom to mirror, and libraries around the world will set up mirror sites to meet the demand. This decentralized solution will reduce network bandwidth needs and provide faster access, all the while @@ -136,7 +118,7 @@ the use of the results. through page charges to the authors, who can pass these on to the research sponsors. The sponsors should not mind, given that they currently pay for publication in a more cumbersome way, through -overhead fees for the university library’s subscription to the +overhead fees for the university library’s subscription to the journal. By changing the economic model to charge editing costs to the research sponsors, we can eliminate the apparent need to restrict access. The occasional author who is not affiliated with an @@ -155,10 +137,8 @@ results by restricting access. <a name="index-call-to-action_002c-defend-progress-of-science-from-copyright"></a> <p>The <a name="index-Constitution_002c-copyright-and-US-2"></a> -US Constitution says that copyright exists “to promote -the Progress of Science.” When copyright impedes the progress of +US Constitution says that copyright exists “to promote +the Progress of Science.” When copyright impedes the progress of science, science must push copyright out of the way. <a name="index-libraries_002c-access-fees-and-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_2.html b/examples/blog/articles/scrap1_2.html index f104a7b1..e0a0ea95 100644 --- a/src/frontend_blog/articles/scrap1_2.html +++ b/examples/blog/articles/scrap1_2.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.: 2. The GNU Project</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.: 2. The GNU Project"> -<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.: 2. The GNU Project</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.: 2. The GNU Project"><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="GNU-Project"></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-GNU-Project"></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-GNU-Project"></a> <h1 class="chapter"> 2. The GNU Project </h1> @@ -83,14 +65,14 @@ old as cooking. But we did it more than most. <p>The AI Lab used a timesharing operating system called <a name="index-ITS-_0028Incompatible-Timesharing-System_0029"></a> ITS (the -Incompatible Timesharing System) that the lab’s staff +Incompatible Timesharing System) that the lab’s staff <a name="index-hackers"></a> hackers<a name="DOCF2" href="#FOOT2">(2)</a> had designed and written in assembler language for the Digital PDP-10, one of the large computers of the era. As a member of this community, an AI Lab staff system hacker, my job was to improve this system. </p> -<p>We did not call our software “free software,” because that +<p>We did not call our software “free software,” because that term did not yet exist; but that is what it was. Whenever people from another university or a company wanted to port and use a program, we gladly let them. If you saw someone using an unfamiliar and @@ -119,7 +101,7 @@ to maintain itself. (The book <cite>Hackers,</cite> by Steve Levy, describes these events, as well as giving a clear picture of this community in its prime.) When the AI Lab bought a new PDP-10 in 1982, its administrators -decided to use Digital’s nonfree timesharing system instead of +decided to use Digital’s nonfree timesharing system instead of <a name="index-ITS-_0028Incompatible-Timesharing-System_0029-1"></a> ITS. </p> @@ -137,13 +119,13 @@ to help your neighbor. A cooperating community was forbidden. The rule made by the <a name="index-ownership_002c-and-damage-to-social-cohesion"></a> <a name="index-ownership_002c-and-users_0027-freedom"></a> -owners of proprietary software was, “If you +owners of proprietary software was, “If you share with your neighbor, you are a pirate. If you want any changes, -beg us to make them.” +beg us to make them.” </p> <a name="index-citizen-values_002c-proprietary-software-and"></a> -<p>The idea that the proprietary software social system—the system that -says you are not allowed to share or change software—is antisocial, +<p>The idea that the proprietary software social system—the system that +says you are not allowed to share or change software—is antisocial, that it is unethical, that it is simply wrong, may come as a surprise to some readers. But what else could we say about a system based on dividing the public and keeping users helpless? Readers who find the @@ -153,11 +135,11 @@ businesses. Software publishers have worked long and hard to convince people that there is only one way to look at the issue. </p> <a name="index-_0060_0060piracy_002c_0027_0027-erroneous-use-of-term-1"></a> -<p>When software publishers talk about “enforcing” their -“rights” or “stopping piracy,” what they +<p>When software publishers talk about “enforcing” their +“rights” or “stopping piracy,” what they actually <em>say</em> is secondary. The real message of these statements is in the unstated assumptions they take for granted, which the public is -asked to accept without examination. Let’s therefore examine them. +asked to accept without examination. Let’s therefore examine them. </p> <p>One assumption is that software companies have an unquestionable natural right to own software and thus have power over all its users. (If @@ -166,11 +148,11 @@ public, we could not object.) Interestingly, the <a name="index-Constitution_002c-US"></a> US Constitution and legal tradition reject this view; copyright is not a natural right, -but an artificial government-imposed monopoly that limits the users’ +but an artificial government-imposed monopoly that limits the users’ natural right to copy. </p> <p>Another unstated assumption is that the only important thing about -software is what jobs it allows you to do—that we computer users +software is what jobs it allows you to do—that we computer users should not care what kind of society we are allowed to have. </p> <p>A third assumption is that we would have no usable software (or would @@ -187,8 +169,8 @@ free to modify programs to fit their needs, and free to share software, because helping other people is the basis of society. </p> <p>There is no room here for an extensive statement of the reasoning -behind this conclusion, so I refer the reader to the article “Why -Software Should Not Have Owners” (p. @refx{Why Free-pg}{). +behind this conclusion, so I refer the reader to the article “Why +Software Should Not Have Owners” (p. @refx{Why Free-pg}{). </p> <a name="A-Stark-Moral-Choice"></a> <h3 class="subheading"> A Stark Moral Choice </h3> @@ -237,7 +219,7 @@ operating system, you can do many things; without one, you cannot run the computer at all. With a free operating system, we could again have a community of cooperating <a name="index-hackers-2"></a> -hackers—and invite anyone to join. +hackers—and invite anyone to join. And anyone would be able to use a computer without starting out by conspiring to deprive his or her friends. </p> @@ -253,7 +235,7 @@ switch to it. The name GNU was chosen, following a hacker tradition, as a recursive acronym for <a name="index-GNU_002c-acronym"></a> -“GNU’s Not Unix.” +“GNU’s Not Unix.” </p> <a name="index-GNU_002c-operating-system-parts"></a> <p>An operating system does not mean just a kernel, barely enough to run @@ -274,21 +256,19 @@ Hillel:<a name="DOCF3" href="#FOOT3">(3)</a> </p> <blockquote class="smallquotation"><p> If I am not for myself, who will be for me?<br> If I am only for myself, what am I?<br> - If not now, when?<br> -</p></blockquote> + If not now, when?<br></p></blockquote> <p>The decision to start the GNU Project was based on a similar spirit. </p> <a name="Free-as-in-Freedom"></a> <h3 class="subheading"> Free as in Freedom </h3> -<p>The term “free software” is sometimes misunderstood—it +<p>The term “free software” is sometimes misunderstood—it has nothing to do with price. It is about freedom. Here, therefore, is the definition of free software. </p> <p>A program is free software, for you, a particular user, if: -</p><ul> -<li> +</p><ul><li> You have the freedom to run the program as you wish, for any purpose. </li><li> @@ -306,11 +286,9 @@ fee. You have the freedom to distribute modified versions of the program, so that the community can benefit from your improvements. -</li></ul> - -<a name="index-development_002c-fundraising"></a> +</li></ul><a name="index-development_002c-fundraising"></a> <a name="index-selling_002c-free-software"></a> -<p>Since “free” refers to freedom, not to price, there is no +<p>Since “free” refers to freedom, not to price, there is no contradiction between selling copies and free software. In fact, the freedom to sell copies is crucial: collections of free software sold on CD-ROMs are important for the community, and selling them is an @@ -319,13 +297,13 @@ Therefore, a program which people are not free to include on these collections is not free software. </p> <a name="index-_0060_0060free-software_002c_0027_0027-unambiguous-translations-of"></a> -<p>Because of the ambiguity of “free,” people have long +<p>Because of the ambiguity of “free,” people have long looked for alternatives, but no one has found a better term. The English language has more words and nuances than any other, but it -lacks a simple, unambiguous, word that means “free,” as in -freedom—“unfettered” being the word that comes closest in -meaning. Such alternatives as “liberated,” -“freedom,” and “open” have either the wrong +lacks a simple, unambiguous, word that means “free,” as in +freedom—“unfettered” being the word that comes closest in +meaning. Such alternatives as “liberated,” +“freedom,” and “open” have either the wrong meaning or some other disadvantage. </p> <a name="GNU-Software-and-the-GNU-System"></a> @@ -367,7 +345,7 @@ creating a new software-sharing community. <p>However, Professor <a name="index-Winston_002c-Patrick"></a> Winston, then the head of the MIT AI -Lab, kindly invited me to keep using the lab’s facilities. +Lab, kindly invited me to keep using the lab’s facilities. </p> <a name="The-First-Steps"></a> <h3 class="subheading"> The First Steps </h3> @@ -375,7 +353,7 @@ Lab, kindly invited me to keep using the lab’s facilities. <a name="index-Free-University-Compiler-Kit-_0028VUCK_0029"></a> <p>Shortly before beginning the GNU Project, I heard about the Free University Compiler Kit, also known as VUCK. (The Dutch word for -“free” is written with a <em>v.</em>) This was a compiler designed +“free” is written with a <em>v.</em>) This was a compiler designed to handle multiple languages, including C and <a name="index-Pascal"></a> @@ -407,7 +385,7 @@ space, while the available 68000 Unix system would only allow 64k. </p> <p>I then realized that the Pastel compiler functioned by parsing the entire input file into a syntax tree, converting the whole syntax tree -into a chain of “instructions,” and then generating the +into a chain of “instructions,” and then generating the whole output file, without ever freeing any storage. At this point, I concluded I would have to write a new compiler from scratch. That new compiler is now known as @@ -444,10 +422,10 @@ the question was, what would I say to them? </p> <a name="index-programmers_002c-income-for"></a> -<p>I could have said, “Find a friend who is on the net and who will make -a copy for you.” Or I could have done what I did with the original -PDP-10 Emacs: tell them, “Mail me a tape and a SASE (self-addressed -stamped envelope), and I will mail it back with Emacs on it.” But I +<p>I could have said, “Find a friend who is on the net and who will make +a copy for you.” Or I could have done what I did with the original +PDP-10 Emacs: tell them, “Mail me a tape and a SASE (self-addressed +stamped envelope), and I will mail it back with Emacs on it.” But I had no job, and I was looking for ways to make money from free software. So I announced that I would mail a tape to whoever wanted one, for a fee of $150. In this way, I started a free software @@ -482,14 +460,14 @@ were no more free software than Unix was. <a name="index-developers_002c-proprietary-software"></a> <a name="index-proprietary-software_002c-paradox-of-permissive-license"></a> <p>The developers of the X Window System did not consider this a -problem—they expected and intended this to happen. Their goal was -not freedom, just “success,” defined as “having many -users.” They did not care whether these users had freedom, only +problem—they expected and intended this to happen. Their goal was +not freedom, just “success,” defined as “having many +users.” They did not care whether these users had freedom, only about having many of them. </p> <p>This led to a paradoxical situation where two different ways of counting the amount of freedom gave different answers to the question, -“Is this program free?” If you judged based on the freedom +“Is this program free?” If you judged based on the freedom provided by the distribution terms of the MIT release, you would say that X was free software. But if you measured the freedom of the average user of X, you would have to say it was @@ -504,7 +482,7 @@ versions that came with Unix systems, not the free version. <p>The goal of GNU was to give users freedom, not just to be popular. So we needed to use distribution terms that would prevent GNU software from being turned into proprietary software. The method we use is -called “copyleft.”<a name="DOCF4" href="#FOOT4">(4)</a> +called “copyleft.”<a name="DOCF4" href="#FOOT4">(4)</a> </p> <p>Copyleft uses copyright law, but flips it over to serve the opposite of its usual purpose: instead of a means for restricting a program, it @@ -512,18 +490,18 @@ becomes a means for keeping the program free. </p> <p>The central idea of copyleft is that we give everyone permission to run the program, copy the program, modify the program, and distribute -modified versions—but not permission to add restrictions of their -own. Thus, the crucial freedoms that define “free -software” are guaranteed to everyone who has a copy; they become +modified versions—but not permission to add restrictions of their +own. Thus, the crucial freedoms that define “free +software” are guaranteed to everyone who has a copy; they become inalienable rights. </p> <p>For an effective copyleft, modified versions must also be free. This ensures that work based on ours becomes available to our community if it is published. When programmers who have jobs as programmers volunteer to improve GNU software, it is copyleft that prevents their -employers from saying, “You can’t share those changes, because +employers from saying, “You can’t share those changes, because we are going to use them to make our proprietary version of the -program.” +program.” <a name="index-copyleft_002c-modified-versions-2"></a> </p> <p>The requirement that changes must be free is essential if we want to @@ -570,7 +548,7 @@ Emacs tape distribution business; later it extended this by adding other free software (both GNU and non-GNU) to the tape, and by selling free manuals as well. </p> -<p>Most of the FSF’s income used to come from sales of copies of free +<p>Most of the FSF’s income used to come from sales of copies of free software and of other related services (CD-ROMs of source code, CD-ROMs with binaries, nicely printed manuals, all with the freedom to redistribute and modify), and @@ -578,10 +556,10 @@ redistribute and modify), and <a name="index-FSF_002c-Deluxe-Distributions"></a> <a name="index-FSF_002c-fundraising"></a> Deluxe Distributions (distributions for -which we built the whole collection of software for the customer’s +which we built the whole collection of software for the customer’s choice of platform). Today the FSF still sells manuals and other -gear, but it gets the bulk of its funding from members’ dues. You +gear, but it gets the bulk of its funding from members’ dues. You can join the FSF at <a href="http://fsf.org/join">http://fsf.org/join</a>. </p> <p>Free Software Foundation employees have written and maintained a @@ -616,7 +594,7 @@ goal. <p>The free software philosophy rejects a specific widespread business practice, but it is not against business. When businesses respect the -users’ freedom, we wish them success. +users’ freedom, we wish them success. </p> <a name="index-programmers_002c-income-for-1"></a> <a name="index-selling_002c-free-software-1"></a> @@ -642,16 +620,16 @@ software products. <a name="index-_0060_0060open_002c_0027_0027-misleading-use-of-term"></a> <a name="index-traps_002c-_0060_0060open-source_0027_0027"></a> <a name="index-citizen-values_002c-convenience-v_002e"></a> -<p>Watch out, though—a number of companies that associate themselves -with the term “open source” actually base their business +<p>Watch out, though—a number of companies that associate themselves +with the term “open source” actually base their business on nonfree software that works with free software. These are not free software companies, they are proprietary software companies whose products tempt users away from freedom. They call these programs -“value-added packages,” which shows the values they +“value-added packages,” which shows the values they would like us to adopt: convenience above freedom. If we value freedom more, we should <a name="index-call-to-action_002c-use-correct-terminology-_0028see-also-terminology_0029-1"></a> -call them “freedom-subtracted” packages. +call them “freedom-subtracted” packages. <a name="index-Free-Software-Foundation-_0028FSF_0029-_0028see-also-FSF_0029-1"></a> <a name="index-development_002c-funding-for-1"></a> </p> @@ -661,10 +639,10 @@ call them “freedom-subtracted” packages. <p>The principal goal of GNU is to be free software. Even if GNU had no technical advantage over Unix, it would have a social advantage, allowing users to cooperate, and an ethical advantage, respecting the -user’s freedom. +user’s freedom. </p> <p>But it was natural to apply the known standards of good practice to -the work—for example, dynamically allocating data structures to avoid +the work—for example, dynamically allocating data structures to avoid arbitrary fixed size limits, and handling all the possible 8-bit codes wherever that made sense. </p> @@ -683,14 +661,14 @@ counterparts in reliability and speed. <h3 class="subheading"> Donated Computers </h3> <a name="index-development_002c-contributions-and-donations"></a> -<p>As the GNU Project’s reputation grew, people began offering to donate +<p>As the GNU Project’s reputation grew, people began offering to donate machines running Unix to the project. These were very useful, because the easiest way to develop components of GNU was to do it on a Unix system, and replace the components of that system one by one. But they raised an ethical issue: whether it was right for us to have a copy of Unix at all. </p> -<p>Unix was (and is) proprietary software, and the GNU Project’s +<p>Unix was (and is) proprietary software, and the GNU Project’s philosophy said that we should not use proprietary software. But, applying the same reasoning that leads to the conclusion that violence in self defense is justified, I concluded that it was legitimate to @@ -699,7 +677,7 @@ replacement that would help others stop using the proprietary package. </p> <p>But, even if this was a justifiable evil, it was still an evil. Today we no longer have any copies of Unix, because we have replaced them -with free operating systems. If we could not replace a machine’s +with free operating systems. If we could not replace a machine’s operating system with a free one, we replaced the machine instead. </p> <a name="The-GNU-Task-List"></a> @@ -716,14 +694,14 @@ List. In addition to missing Unix components, we listed various other useful software and documentation projects that, we thought, a truly complete system ought to have. </p> -<p>Today,<a name="DOCF7" href="#FOOT7">(7)</a> hardly any Unix components are left in the GNU Task List—those +<p>Today,<a name="DOCF7" href="#FOOT7">(7)</a> hardly any Unix components are left in the GNU Task List—those jobs had been done, aside from a few inessential ones. But the list -is full of projects that some might call “applications.” +is full of projects that some might call “applications.” Any program that appeals to more than a narrow class of users would be a useful thing to add to an operating system. </p> <a name="index-games_002c-Unix-compatibility-and"></a> -<p>Even games are included in the task list—and have been since the +<p>Even games are included in the task list—and have been since the beginning. <a name="index-Unix-compatibility_002c-games-and"></a> Unix included games, so naturally GNU should too. But @@ -754,7 +732,7 @@ strategy. <p>The C library does a generic job; every proprietary system or compiler comes with a C library. Therefore, to make our C library available only to free software would not have given free software any -advantage—it would only have discouraged use of our library. +advantage—it would only have discouraged use of our library. </p> <a name="index-GNU_002c-GNU-C-Library-1"></a> <a name="index-libraries-_0028comp_002e_0029_002c-GNU-C-Library-_0028see-also-GNU_0029-1"></a> @@ -808,8 +786,8 @@ adding up to a major advantage for further free software development. <a name="index-developers_002c-incentive-for"></a> <a name="index-Raymond_002c-Eric"></a> <p>Eric Raymond<a name="DOCF9" href="#FOOT9">(9)</a>). - says that “Every good work of software -starts by scratching a developer’s personal itch.”<a name="DOCF10" href="#FOOT10">(10)</a> Maybe that happens sometimes, but many + says that “Every good work of software +starts by scratching a developer’s personal itch.”<a name="DOCF10" href="#FOOT10">(10)</a> Maybe that happens sometimes, but many essential pieces of <a name="index-GNU_002c-GNU-software-_0028see-also-software_0029"></a> GNU software were developed in order to have a @@ -826,7 +804,7 @@ because a Unix-like system needs a shell, and <a name="index-GNU_002c-GNU-tar"></a> GNU tar because a Unix-like system needs a tar program. The same is true for my own -programs—the +programs—the <a name="index-GNU_002c-GNU-C-compiler-_0028see-also-GNU_002c-GCC_0029"></a> GNU C compiler, <a name="index-GNU_002c-GNU-Emacs-2"></a> @@ -885,14 +863,14 @@ happened. <p>Since each component of the GNU system was implemented on a Unix system, each component could run on Unix systems long before a complete GNU system existed. Some of these programs became popular, -and users began extending them and porting them—to the various +and users began extending them and porting them—to the various incompatible versions of Unix, and sometimes to other systems as well. </p> <p>The process made these programs much more powerful, and attracted both funds and contributors to the GNU Project. But it probably also delayed completion of a minimal working system by several years, as <a name="index-developers_002c-GNU-Project-1"></a> -GNU developers’ time was put into maintaining these ports and adding +GNU developers’ time was put into maintaining these ports and adding features to the existing components, rather than moving on to write one missing component after another. <a name="index-Unix-compatibility_002c-GNU-Project-development-and-1"></a> @@ -935,11 +913,11 @@ stretched on for many years. <a name="index-Hurd_002c-original-name-of"></a> <a name="index-Alix"></a> <p>The GNU kernel was not originally supposed to be called the Hurd. Its -original name was Alix—named after the woman who was my sweetheart at +original name was Alix—named after the woman who was my sweetheart at the time. She, a Unix system administrator, had pointed out how her name would fit a common naming pattern for Unix system versions; as a -joke, she told her friends, “Someone should name a kernel after -me.” I said nothing, but decided to surprise her with a kernel +joke, she told her friends, “Someone should name a kernel after +me.” I said nothing, but decided to surprise her with a kernel named Alix. </p> <p>It did not stay that way. @@ -947,7 +925,7 @@ named Alix. Michael (now Thomas) Bushnell, the main <a name="index-developers_002c-_0028see-also-programmers_0029-1"></a> developer of the kernel, preferred the name Hurd, and redefined Alix -to refer to a certain part of the kernel—the part that would trap +to refer to a certain part of the kernel—the part that would trap system calls and handle them by sending messages to Hurd servers. </p> <p>Later, Alix and I broke up, and she changed her name; @@ -965,7 +943,7 @@ she did have the chance to find a kernel named after her. <a name="Linux-and-GNU_002fLinux"></a> <h3 class="subheading"> Linux and GNU/Linux </h3> -<p>The GNU Hurd is not suitable for production use, and we don’t know +<p>The GNU Hurd is not suitable for production use, and we don’t know if it ever will be. The capability-based design has problems that result directly from the flexibility of the design, and it is not clear solutions exist. @@ -1013,7 +991,7 @@ so that Linux and <a name="index-XFree86"></a> XFree86 can support new hardware. We have complete free systems today, but we will not have them tomorrow if we cannot -support tomorrow’s computers. +support tomorrow’s computers. </p> <p>There are two ways to cope with this problem. Programmers can do reverse engineering to figure out how to support the hardware. The @@ -1022,7 +1000,7 @@ as our numbers increase, secrecy of specifications will become a self-defeating policy. </p> <p>Reverse engineering is a big job; will we have programmers with -sufficient determination to undertake it? Yes—if we have built up a +sufficient determination to undertake it? Yes—if we have built up a strong feeling that free software is a matter of principle, and nonfree drivers are intolerable. And will large numbers of us spend extra money, or even a little extra time, so we can use free drivers? @@ -1038,11 +1016,11 @@ for machines so that coreboot can support them.] <a name="index-traps_002c-nonfree-libraries"></a> <a name="index-developers_002c-traps-for"></a> <p>A nonfree library that runs on free operating systems acts as a trap -for free software developers. The library’s attractive features are +for free software developers. The library’s attractive features are the bait; if you use the library, you fall into the trap, because your program cannot usefully be part of a free operating system. (Strictly speaking, we could include your program, but it -won’t <em>run</em> with the library missing.) Even worse, if +won’t <em>run</em> with the library missing.) Even worse, if a program that uses the proprietary library becomes popular, it can lure other unsuspecting programmers into the trap. </p> @@ -1072,9 +1050,9 @@ KDE. because we could not use the library. However, some commercial distributors of GNU/Linux systems who were not strict about sticking with free software added KDE to their -systems—producing a system with more capabilities, but less freedom. +systems—producing a system with more capabilities, but less freedom. The KDE group was actively encouraging more -programmers to use Qt, and millions of new “Linux users” +programmers to use Qt, and millions of new “Linux users” had never been exposed to the idea that there was a problem in this. The situation appeared grim. </p> @@ -1089,7 +1067,7 @@ GNOME and Harmony. <a name="index-Red-Hat-Software"></a> <a name="index-C_002b_002b_002c-language"></a> <p>GNOME, the GNU Network Object Model Environment, is -GNU’s desktop project. Started in 1997 by Miguel de Icaza, and +GNU’s desktop project. Started in 1997 by Miguel de Icaza, and developed with the support of Red Hat Software, GNOME set out to provide similar desktop facilities, but using free software exclusively. It has technical @@ -1103,7 +1081,7 @@ possible to run KDE software without using Qt. <p>In November 1998, the developers of Qt announced a change of license which, when carried out, should make Qt free software. There is no way to be sure, but I think that this was partly due to the -community’s firm response to the problem that Qt posed when it was +community’s firm response to the problem that Qt posed when it was nonfree. (The new license is inconvenient and inequitable, so it remains desirable to avoid using Qt.) </p> @@ -1139,12 +1117,12 @@ But each of these methods works only sometimes; when both fail, a patent may force all free software to lack some feature that users want. What will we do when this happens? </p> -<p>Those of us who value free software for freedom’s sake will stay with +<p>Those of us who value free software for freedom’s sake will stay with free software anyway. We will manage to get work done without the patented features. But those who value free software because they expect it to be technically superior are likely to call it a failure when a patent holds it back. Thus, while it is useful to talk about -the practical effectiveness of the “bazaar” model of +the practical effectiveness of the “bazaar” model of development, and the reliability and power of some free software, we must not stop there. We must talk about freedom and principle. </p> @@ -1154,7 +1132,7 @@ we must not stop there. We must talk about freedom and principle. <a name="index-documentation-_0028see-also-both-FDL-and-manuals_0029"></a> <a name="index-manuals_002c-need-for"></a> <p>The biggest deficiency in our free operating systems is not in the -software—it is the lack of good free manuals that we can include in +software—it is the lack of good free manuals that we can include in our systems. Documentation is an essential part of any software package; when an important free software package does not come with a good free manual, that is a major gap. We have many such gaps today. @@ -1167,28 +1145,28 @@ and on paper, so that the manual can accompany every copy of the program. </p> <p>Permission for modification is crucial too. As a general rule, I -don’t believe that it is essential for people to have permission to -modify all sorts of articles and books. For example, I don’t think +don’t believe that it is essential for people to have permission to +modify all sorts of articles and books. For example, I don’t think you or I are obliged to give permission to modify articles like this one, which describe our actions and our views. </p> <p>But there is a particular reason why the freedom to modify is crucial for documentation for free software. When people exercise their right to modify the software, and add or change its features, if they are -conscientious they will change the manual, too—so they can +conscientious they will change the manual, too—so they can provide accurate and usable documentation with the modified program. A nonfree manual, which does not allow programmers to be conscientious -and finish the job, does not fill our community’s needs. +and finish the job, does not fill our community’s needs. </p> <p>Some kinds of limits on how modifications are done pose no problem. -For example, requirements to preserve the original author’s copyright +For example, requirements to preserve the original author’s copyright notice, the distribution terms, or the list of authors, are OK. It is also no problem to require modified versions to include notice that they were modified, even to have entire sections that may not be deleted or changed, as long as these sections deal with nontechnical topics. These kinds of restrictions are not a problem because they -don’t stop the conscientious programmer from adapting the manual to -fit the modified program. In other words, they don’t block the free +don’t stop the conscientious programmer from adapting the manual to +fit the modified program. In other words, they don’t block the free software community from making full use of the manual. </p> <p>However, it must be possible to modify all the <em>technical</em> content of @@ -1215,7 +1193,7 @@ systems such as <a name="index-Debian-GNU_002fLinux"></a> Debian GNU/Linux and <a name="index-Red-Hat-Linux-_0028see-also-_0060_0060Linux_002c_0027_0027-erroneous-use-of-term_0029"></a> -Red Hat “Linux.” +Red Hat “Linux.” Free software has developed such practical advantages that users are flocking to it for purely practical reasons. </p> @@ -1238,26 +1216,26 @@ our community. We need to do both, and we need to keep the two efforts in balance. </p> <a name="g_t_0060_0060Open-Source_0027_0027"></a> -<h3 class="subheading"> “Open Source” </h3> +<h3 class="subheading"> “Open Source” </h3> <a name="index-_0060_0060open-source_002c_0027_0027-values-of"></a> <p>Teaching new users about freedom became more difficult in 1998, when a -part of the community decided to stop using the term “free -software” and say “open source software” +part of the community decided to stop using the term “free +software” and say “open source software” instead. </p> <p>Some who favored this term aimed to avoid the confusion of -“free” with “gratis”—a valid goal. Others, +“free” with “gratis”—a valid goal. Others, however, aimed to set aside the spirit of principle that had motivated the free software movement and the GNU Project, and to appeal instead to executives and business users, many of whom hold an ideology that places profit above freedom, above community, above principle. Thus, -the rhetoric of “open source” focuses on the potential to +the rhetoric of “open source” focuses on the potential to make high-quality, powerful software, but shuns the ideas of freedom, community, and principle. </p> <a name="index-_0060_0060Linux_002c_0027_0027-erroneous-use-of-term-_0028see-also-open-source_0029"></a> -<p>The “Linux” magazines are a clear example of this—they +<p>The “Linux” magazines are a clear example of this—they are filled with advertisements for proprietary software that works with GNU/Linux. When the next <a name="index-Motif-_0028see-also-LessTif_0029-1"></a> @@ -1276,10 +1254,10 @@ even worse. <a name="index-citizen-values_002c-open-source-v_002e-free-software"></a> <a name="index-open-source_002c-essential-difference-between-free-software-and"></a> <a name="index-free-software_002c-essential-difference-between-open-source-and"></a> -<p>“Free software” and “open source” describe the +<p>“Free software” and “open source” describe the same category of software, more or less, but say different things about the software, and about values. The GNU Project continues to -use the term “free software,” to express the idea that +use the term “free software,” to express the idea that freedom, not just technology, is important. <a name="index-_0060_0060open-source_002c_0027_0027-values-of-1"></a> </p> @@ -1287,8 +1265,8 @@ freedom, not just technology, is important. <h3 class="subheading"> Try! </h3> <a name="index-Yoda"></a> -<p>Yoda’s aphorism (“There is no ‘try’”) sounds -neat, but it doesn’t work for me. I have done most of my work while +<p>Yoda’s aphorism (“There is no ‘try’”) sounds +neat, but it doesn’t work for me. I have done most of my work while anxious about whether I could do the job, and unsure that it would be enough to achieve the goal if I did. But I tried anyway, because there was no one but me between the enemy and my city. Surprising @@ -1296,56 +1274,55 @@ myself, I have sometimes succeeded. </p> <p>Sometimes I failed; some of my cities have fallen. Then I found another threatened city, and got ready for another battle. Over time, -I’ve learned to look for threats and put myself between them and my +I’ve learned to look for threats and put myself between them and my city, calling on other <a name="index-hackers-4"></a> hackers to come and join me. </p> -<p>Nowadays, often I’m not the only one. It is a relief and a joy when I +<p>Nowadays, often I’m not the only one. It is a relief and a joy when I see a regiment of hackers digging in to hold the line, and I realize, -this city may survive—for now. But the dangers are greater each +this city may survive—for now. But the dangers are greater each year, and now Microsoft has explicitly targeted our community. We -can’t take the future of freedom for granted. Don’t take it for +can’t take the future of freedom for granted. Don’t take it for granted! If you want to keep your freedom, you must be prepared to defend it. <a name="index-call-to-action_002c-future-challenges-1"></a> <a name="index-GNU_002c-GNU-Project-1"></a> <a name="index-GNU-Project-_0028see-also-GNU_0029-1"></a> </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT2" href="#DOCF2">(2)</a></h3> <p>The use of <a name="index-_0060_0060hacker_002c_0027_0027-actual-meaning-of-term-_0028see-also-_0060_0060cracker_0027_0027_0029"></a> -“hacker” to mean “security breaker” is a confusion on the part of +“hacker” to mean “security breaker” is a confusion on the part of the mass media. We hackers refuse to recognize that meaning, and continue using the word to mean someone who loves to program, someone who enjoys playful cleverness, or the combination of the two. See my -article, “On Hacking,” at +article, “On Hacking,” at <a href="http://stallman.org/articles/on-hacking.html">http://stallman.org/articles/on-hacking.html</a>. </p><h3><a name="FOOT3" href="#DOCF3">(3)</a></h3> <p>As an -Atheist, I don’t follow any religious leaders, but I sometimes find I +Atheist, I don’t follow any religious leaders, but I sometimes find I admire something one of them has said. </p><h3><a name="FOOT4" href="#DOCF4">(4)</a></h3> <p>In 1984 or 1985, <a name="index-Hopkins_002c-Don"></a> Don Hopkins (a very imaginative fellow) mailed me a letter. On the envelope he had written -several amusing sayings, including this one: “Copyleft—all rights -reversed.” I used the word “copyleft” to name the distribution +several amusing sayings, including this one: “Copyleft—all rights +reversed.” I used the word “copyleft” to name the distribution concept I was developing at the time. </p><h3><a name="FOOT5" href="#DOCF5">(5)</a></h3> <p>We now use the <a name="index-FDL-_0028see-also-both-manuals-and-documentation_0029"></a> GNU Free -Documentation License (p. @refx{FDL-pg}{ +Documentation License (p. @refx{FDL-pg}{ </p><h3><a name="FOOT6" href="#DOCF6">(6)</a></h3> -<p>“Bourne Again Shell” is a play on the name “Bourne -Shell,” which was the usual shell on Unix. +<p>“Bourne Again Shell” is a play on the name “Bourne +Shell,” which was the usual shell on Unix. </p><h3><a name="FOOT7" href="#DOCF7">(7)</a></h3> <p>That was written in 1998. In 2009 we no longer maintain a long -task list. The community develops free software so fast that we can’t +task list. The community develops free software so fast that we can’t even keep track of it all. Instead, we have a list of High Priority Projects, a much shorter list of projects we really want to encourage people to write. @@ -1354,13 +1331,11 @@ people to write. the GNU Lesser General Public License, to avoid giving the idea that all libraries ought to use it. </p><h3><a name="FOOT9" href="#DOCF9">(9)</a></h3> -<p>Eric Raymond is a prominent open source advocate; see “Why Open -Source Misses the Point” (p. @refx{OS Misses Point-pg}{ +<p>Eric Raymond is a prominent open source advocate; see “Why Open +Source Misses the Point” (p. @refx{OS Misses Point-pg}{ </p><h3><a name="FOOT10" href="#DOCF10">(10)</a></h3> -<p>Eric S. Raymond, <cite>The Cathedral and the Bazaar: Musings on Linux and +<p>Eric S. Raymond, <cite>The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary,</cite> rev. ed. (Sebastopol, -Calif.: O’Reilly, 2001), p. 23. +Calif.: O’Reilly, 2001), p. 23. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_20.html b/examples/blog/articles/scrap1_20.html index 0c7eda47..287fe7db 100644 --- a/src/frontend_blog/articles/scrap1_20.html +++ b/examples/blog/articles/scrap1_20.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.: 20. Freedom—or Copyright</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.: 20. Freedom—or Copyright"> -<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.: 20. Freedom—or Copyright</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.: 20. Freedom—or Copyright"><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,28 +43,21 @@ 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="Freedom-or-Copyright"></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="Freedom_002d_002d_002dor-Copyright"></a> -<h1 class="chapter"> 20. Freedom—or Copyright </h1> +<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="Freedom_002d_002d_002dor-Copyright"></a> +<h1 class="chapter"> 20. Freedom—or Copyright </h1> <blockquote class="smallquotation"><p>This essay addresses how the principles of software freedom apply in -some cases to other works of authorship and art. It’s included here +some cases to other works of authorship and art. It’s included here since it involves the application of the ideas of free software. </p></blockquote> -<br> -<p>Copyright was established in the age of the printing press as an +<br><p>Copyright was established in the age of the printing press as an industrial regulation on the business of writing and publishing. The aim was to encourage the publication of a diversity of written works. -The means was to require publishers to get the author’s permission to +The means was to require publishers to get the author’s permission to publish recent writings. This enabled authors to get income from publishers, which facilitated and encouraged writing. The general reading public received the benefit of this, while losing little: @@ -84,13 +65,13 @@ copyright restricted only publication, not the things an ordinary reader could do. That made copyright arguably a beneficial system for the public, and therefore arguably legitimate. </p> -<p>Well and good—back then. +<p>Well and good—back then. </p> <p>Now we have a new way of distributing information: computers and networks. Their benefit is that they facilitate copying and manipulating information, including software, musical recordings, books, and movies. They offer the possibility of unlimited access to -all sorts of data—an information utopia. +all sorts of data—an information utopia. </p> <p>One obstacle stood in the way: copyright. Readers and listeners who made use of their new ability to copy and share published information @@ -100,23 +81,23 @@ become a restriction on the public it was meant to serve. </p> <p>In a democracy, a law that prohibits a popular and useful activity is usually soon relaxed. Not so where corporations have political power. -The publishers’ lobby was determined to prevent the public from taking +The publishers’ lobby was determined to prevent the public from taking advantage of the power of their computers, and found copyright a handy weapon. Under their influence, rather than relaxing copyright rules to suit the new circumstances, governments made them stricter than ever, imposing harsh penalties on the practice of sharing. The latest fashion in supporting the publishers against the citizens, known as -“three strikes,” is to cut off people’s Internet connections if +“three strikes,” is to cut off people’s Internet connections if they share. </p> -<p>But that wasn’t the worst of it. Computers can be powerful tools of +<p>But that wasn’t the worst of it. Computers can be powerful tools of domination when software suppliers deny users the control of the software they run. The publishers realized that by publishing works in encrypted format, which only specially authorized software could view, they could gain unprecedented power: they could compel readers to pay, and identify themselves, every time they read a book, listen to a song, or watch a -video. That is the publishers’ dream: a +video. That is the publishers’ dream: a <a name="index-pay_002dper_002dview"></a> pay-per-view universe. </p> @@ -136,9 +117,9 @@ analog media. But if e-books replace printed books, those freedoms will not transfer. Imagine: no more used book stores; no more lending a book to your friend; no more borrowing one from the public <a name="index-libraries_002c-e_002dbooks-and-1"></a> -library—no more “leaks” that might give someone a +library—no more “leaks” that might give someone a chance to read without paying. No more purchasing a book anonymously with -cash—you can only buy an e-book with a credit card. That is +cash—you can only buy an e-book with a credit card. That is the world the publishers want to impose on us. If you buy the <a name="index-Amazon"></a> Amazon @@ -157,22 +138,22 @@ Swindle even has an Orwellian back door that can be used to erase books remotely. Amazon demonstrated this capability by erasing copies, purchased from Amazon, of <a name="index-Orwell_002c-George"></a> -Orwell’s book +Orwell’s book <a name="index-1984_002c-George-Orwell"></a> <cite>1984.</cite> Evidently -Amazon’s name for this product reflects the intention to burn our +Amazon’s name for this product reflects the intention to burn our books. </p> <p>Public anger against DRM is slowly growing, held back because propaganda expressions such as <a name="index-_0060_0060protection_002c_0027_0027-erroneous-use-of-term-1"></a> -“protect -authors” +“protect +authors” and <a name="index-_0060_0060intellectual-property_002c_0027_0027-bias-and-fallacy-of-term-_0028see-also-ownership_0029-7"></a> -“intellectual -property” have convinced readers that their rights do not +“intellectual +property” have convinced readers that their rights do not count. These terms implicitly assume that publishers deserve special power in the name of the authors, that we are morally obliged to bow to them, and that we have wronged someone if we see or hear @@ -184,13 +165,13 @@ have you believe that copyright is a natural right of authors, and that we the public must suffer it no matter how painful it is. They call sharing <a name="index-_0060_0060piracy_002c_0027_0027-erroneous-use-of-term-7"></a> -“piracy,” equating helping your neighbor with +“piracy,” equating helping your neighbor with attacking a ship. </p> <a name="index-War-on-Sharing-_0028see-also-DRM-and-copyright_0029"></a> <p>They also tell us that a War on Sharing is the only way to keep art alive. Even if true, it would not justify the policy; but it -isn’t true. Public sharing of copies is likely to increase the sales of +isn’t true. Public sharing of copies is likely to increase the sales of most works, and decrease sales only for big hits. </p> <a name="index-e_002dbooks-3"></a> @@ -223,12 +204,12 @@ only find around 1,000 true fans.<a name="DOCF46" href="#FOOT46">(46)</a> <p>When computer networks provide an easy anonymous method for sending someone a small amount of money, without a credit card, it will be easy to set up a much better system to support the arts. When you -view a work, there will be a button you can press saying, “Click -here to send the artist one dollar.” Wouldn’t you press it, at +view a work, there will be a button you can press saying, “Click +here to send the artist one dollar.” Wouldn’t you press it, at least once a week? </p> <p>Another good way to support music and the arts is with -tax funds—perhaps a tax on blank media +tax funds—perhaps a tax on blank media or on Internet connectivity. The state should distribute the tax money entirely to the artists, not waste it on corporate executives. But the state should not distribute @@ -258,35 +239,32 @@ which could be eliminated. <a name="index-call-to-action_002c-legalize-noncommercial-copying-and-sharing-of-all-published-works"></a> <p>To make copyright fit the network age, we should legalize the noncommercial copying and sharing of all published works, and prohibit -DRM. But until we win this battle, you must protect yourself: don’t +DRM. But until we win this battle, you must protect yourself: don’t buy any products with DRM unless you personally have the means to break the DRM. Never use a product designed to attack your freedom unless you can nullify the attack. <a name="index-DRM_002c-call-it-_0060_0060Digital-Restrictions-Management_0027_0027-2"></a> </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT43" href="#DOCF43">(43)</a></h3> -<p>“Nine Inch Nails Made at Least $750k from CC Release in Two Days,” posted by Cory Doctorow, 5 March 2008, +<p>“Nine Inch Nails Made at Least $750k from CC Release in Two Days,” posted by Cory Doctorow, 5 March 2008, <a href="http://boingboing.net/2008/03/05/nine-inch-nails-made.html">http://boingboing.net/2008/03/05/nine-inch-nails-made.html</a>. </p><h3><a name="FOOT44" href="#DOCF44">(44)</a></h3> <p>Mike Masnick, -“The Future of Music Business Models (and Those Who Are Already -There),” 25 January 2010, +“The Future of Music Business Models (and Those Who Are Already +There),” 25 January 2010, <a href="http://techdirt.com/articles/20091119/1634117011.shtml">http://techdirt.com/articles/20091119/1634117011.shtml</a>. </p><h3><a name="FOOT45" href="#DOCF45">(45)</a></h3> <p>Kevin Kelly is a commentator on digital culture and the founder of <cite>Wired</cite> magazine. </p><h3><a name="FOOT46" href="#DOCF46">(46)</a></h3> -<p>Kevin Kelly, “1,000 True -Fans,” 4 March 2008, +<p>Kevin Kelly, “1,000 True +Fans,” 4 March 2008, <a href="http://kk.org/thetechnium/archives/2008/03/1000_true_fans.php">http://kk.org/thetechnium/archives/2008/03/1000_true_fans.php</a>. </p><h3><a name="FOOT47" href="#DOCF47">(47)</a></h3> <p>See <a href="http://mecenatglobal.org/">http://mecenatglobal.org/</a> for more information. </p><h3><a name="FOOT48" href="#DOCF48">(48)</a></h3> -<p>The SGAE is Spain’s main copyright collective for composers, authors, +<p>The SGAE is Spain’s main copyright collective for composers, authors, and publishers. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_21.html b/examples/blog/articles/scrap1_21.html index af882fe1..3d8a624d 100644 --- a/src/frontend_blog/articles/scrap1_21.html +++ b/examples/blog/articles/scrap1_21.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.: 21. What Is Copyleft?</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.: 21. What Is Copyleft?"> -<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.: 21. What Is Copyleft?</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.: 21. What Is Copyleft?"><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="Copyleft"></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="What-Is-Copyleft_003f"></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="What-Is-Copyleft_003f"></a> <h1 class="chapter"> 21. What Is Copyleft? </h1> <a name="index-GPL-2"></a> @@ -88,7 +70,7 @@ the original author gave them; the middleman has stripped it away. to give <em>all</em> users the freedom to redistribute and change GNU software. If middlemen could strip off the freedom, we might have many users, but those users would not have freedom. So instead of -putting GNU software in the public domain, we “copyleft” +putting GNU software in the public domain, we “copyleft” it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom. @@ -112,24 +94,24 @@ to release it as free software rather than throw it away. </p> <p>To copyleft a program, we first state that it is copyrighted; then we add distribution terms, which are a legal instrument that gives -everyone the rights to use, modify, and redistribute the program’s +everyone the rights to use, modify, and redistribute the program’s code, <em>or any program derived from it,</em> but only if the distribution terms are unchanged. Thus, the code and the freedoms become legally inseparable. </p> -<p>Proprietary software developers use copyright to take away the users’ -freedom; we use copyright to guarantee their freedom. That’s why we -reverse the name, changing “copyright” into -“copyleft.” +<p>Proprietary software developers use copyright to take away the users’ +freedom; we use copyright to guarantee their freedom. That’s why we +reverse the name, changing “copyright” into +“copyleft.” </p> <p>Copyleft is a way of using of the copyright on the program. It -doesn’t mean abandoning the copyright; in fact, doing so would make -copyleft impossible. The “left” in -“copyleft” is not a reference to the verb “to -leave”—only to the direction which is the inverse of -“right.” +doesn’t mean abandoning the copyright; in fact, doing so would make +copyleft impossible. The “left” in +“copyleft” is not a reference to the verb “to +leave”—only to the direction which is the inverse of +“right.” </p> -<p>Copyleft is a general concept, and you can’t use a general concept +<p>Copyleft is a general concept, and you can’t use a general concept directly; you can only use a specific implementation of the concept. In the GNU Project, the specific distribution terms that we use for most software are contained in the GNU General Public License. The GNU General Public License is often called the GNU GPL for @@ -145,7 +127,7 @@ at <a href="http://gnu.org/copyleft/why-assign.html">http://gnu.org/copyleft/why <p>An alternate form of copyleft, the GNU Lesser General Public License (LGPL), applies to a few (but not all) GNU libraries. To learn more about properly using the LGPL, please read the article -“Why You Shouldn’t Use the Lesser GPL for Your Next Library,” +“Why You Shouldn’t Use the Lesser GPL for Your Next Library,” available at <a href="http://gnu.org/philosophy/why-not-lgpl.html">http://gnu.org/philosophy/why-not-lgpl.html</a>. </p> <a name="index-manuals_002c-FDL-and"></a> @@ -159,7 +141,7 @@ with or without modifications, either commercially or noncommercially. source code distribution. </p> <p>All these licenses are designed so that you can easily apply them to -your own works, assuming you are the copyright holder. You don’t have +your own works, assuming you are the copyright holder. You don’t have to modify the license to do this, just include a copy of the license in the work, and add notices in the source files that refer properly to the license. @@ -189,6 +171,4 @@ copies are not permitted. <a name="index-copylefted-software-_0028see-also-software_0029-2"></a> <a name="index-copyleft-_0028see-also-copyright_0029-4"></a> <a name="index-GPL-3"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_22.html b/examples/blog/articles/scrap1_22.html index 2332e07d..30ca6333 100644 --- a/src/frontend_blog/articles/scrap1_22.html +++ b/examples/blog/articles/scrap1_22.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.: 22. Copyleft: Pragmatic Idealism</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.: 22. Copyleft: Pragmatic Idealism"> -<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.: 22. Copyleft: Pragmatic Idealism</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.: 22. Copyleft: Pragmatic Idealism"><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,20 +43,14 @@ 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="Pragmatic"></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="Copyleft_003a-Pragmatic-Idealism"></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="Copyleft_003a-Pragmatic-Idealism"></a> <h1 class="chapter"> 22. Copyleft: Pragmatic Idealism </h1> <a name="index-copyleft-_0028see-also-copyright_0029-5"></a> -<p>Every decision a person makes stems from the person’s values and +<p>Every decision a person makes stems from the person’s values and goals. People can have many different goals and values; fame, profit, love, survival, fun, and freedom, are just some of the goals that a good person might have. When the goal is a matter of principle, we @@ -80,8 +62,8 @@ to encourage free software to spread, replacing proprietary software that forbids cooperation, and thus make our society better. </p> -<p>That’s the basic reason why the GNU General Public License is written -the way it is—as a copyleft. +<p>That’s the basic reason why the GNU General Public License is written +the way it is—as a copyleft. All code added to a GPL-covered program must be free software, even if it is put in a separate file. I make my code available for use in free software, and not for use in @@ -93,7 +75,7 @@ of their own: they can use our code. </p> <p>Not everyone who uses the GNU GPL has this goal. Many years ago, a friend of mine was asked to rerelease a copylefted program under -noncopyleft terms, and he responded more or less like this: “Sometimes I work on free software, and sometimes I work on proprietary software—but when I work on proprietary software, I expect to get <em>paid.</em>” +noncopyleft terms, and he responded more or less like this: “Sometimes I work on free software, and sometimes I work on proprietary software—but when I work on proprietary software, I expect to get <em>paid.</em>” </p> <p>He was willing to share his work with a community that shares software, but saw no reason to give a handout to a business making @@ -102,9 +84,9 @@ different from mine, but he decided that the GNU GPL was useful for his goal too. </p> <p>If you want to accomplish something in the world, idealism is not -enough—you need to choose a method that works to achieve the -goal. In other words, you need to be “pragmatic.” Is the -GPL pragmatic? Let’s look at its results. +enough—you need to choose a method that works to achieve the +goal. In other words, you need to be “pragmatic.” Is the +GPL pragmatic? Let’s look at its results. </p> <a name="index-GNU_002c-GCC-3"></a> <a name="index-GNU_002c-GNU-C_002b_002b-compiler-1"></a> @@ -125,9 +107,9 @@ did apply to them. The benefit to our community is evident. <p>Consider GNU Objective C. <a name="index-NeXT"></a> NeXT initially wanted to make this front -end proprietary; they proposed to release it as ‘<tt>.o</tt>’ files, +end proprietary; they proposed to release it as ‘<tt>.o</tt>’ files, and let users link them with the rest of GCC, thinking this might be a -way around the GPL’s requirements. But our lawyer said that this +way around the GPL’s requirements. But our lawyer said that this would not evade the requirements, that it was not allowed. And so they made the Objective C front end free software. </p> @@ -158,9 +140,9 @@ Bash, or Linux, or any GPL-covered program) are often employed by companies or universities. When the programmer wants to return his improvements to the community, and see his code in the next release, the boss may say, -“Hold on there—your code belongs to us! We don’t want to +“Hold on there—your code belongs to us! We don’t want to share it; we have decided to turn your improved version into a -proprietary software product.” +proprietary software product.” <a name="index-GNU_002c-GCC-4"></a> </p> <p>Here the GNU GPL comes to the rescue. The programmer shows the boss @@ -173,29 +155,29 @@ into the next release. <a name="index-GPL-4"></a> <p>The GNU GPL is not Mr. Nice Guy. It says no to some of the things that people sometimes want to do. There are users who say -that this is a bad thing—that the GPL “excludes” -some proprietary software developers who “need to be brought -into the free software community.” +that this is a bad thing—that the GPL “excludes” +some proprietary software developers who “need to be brought +into the free software community.” </p> <p>But we are not excluding them from our community; they are choosing not to enter. Their decision to make software proprietary is a decision to stay out of our community. Being in our community means -joining in cooperation with us; we cannot “bring them into our -community” if they don’t want to join. +joining in cooperation with us; we cannot “bring them into our +community” if they don’t want to join. </p> <p>What we <em>can</em> do is offer them an inducement to join. The GNU GPL is designed to make an inducement from our existing software: -“If you will make your software free, you can use this -code.” Of course, it won’t win ’em all, but it wins some of the +“If you will make your software free, you can use this +code.” Of course, it won’t win ’em all, but it wins some of the time. </p> <p>Proprietary software development does not contribute to our community, but its developers often want handouts from us. Free software users can offer free software developers strokes for the -ego—recognition and gratitude—but it can be very tempting -when a business tells you, “Just let us put your package in our +ego—recognition and gratitude—but it can be very tempting +when a business tells you, “Just let us put your package in our proprietary program, and your program will be used by many thousands -of people!” The temptation can be powerful, but in the long run +of people!” The temptation can be powerful, but in the long run we are all better off if we resist it. </p> <p>The temptation and pressure are harder to recognize when they come @@ -215,7 +197,7 @@ of us who had resisted that pressure were glad that we did. <p>In September 1998, several months after X11R6.4 was released with nonfree distribution terms, the Open Group reversed its decision and rereleased it under the same noncopyleft free software license that -was used for X11R6.3. Thank you, Open Group—but this subsequent +was used for X11R6.3. Thank you, Open Group—but this subsequent reversal does not invalidate the conclusions we draw from the fact that adding the restrictions was <em>possible.</em> <a name="index-Open-Group-_0028see-also-X-Consortium_002c-its-precursor_0029-1"></a> @@ -224,13 +206,12 @@ that adding the restrictions was <em>possible.</em> <p>Pragmatically speaking, thinking about greater long-term goals will strengthen your will to resist this pressure. If you focus your mind on the freedom and community that you can build by staying firm, you -will find the strength to do it. “Stand for something, or you -will fall for anything.” +will find the strength to do it. “Stand for something, or you +will fall for anything.” </p> -<p>And if cynics ridicule freedom, ridicule community…if -“hard-nosed realists” say that profit is the only -ideal…just ignore them, and use copyleft all the same. +<p>And if cynics ridicule freedom, ridicule community…if +“hard-nosed realists” say that profit is the only +ideal…just ignore them, and use copyleft all the same. <a name="index-copyleft-_0028see-also-copyright_0029-6"></a> </p> -</body> -</html> +</section></body></html> diff --git a/src/frontend_blog/articles/scrap1_23.html b/examples/blog/articles/scrap1_23.html index 53c9cd0b..3812f6de 100644 --- a/src/frontend_blog/articles/scrap1_23.html +++ b/examples/blog/articles/scrap1_23.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.: 23. Anatomy of a Trivial Patent</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.: 23. Anatomy of a Trivial Patent"> -<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.: 23. Anatomy of a Trivial Patent</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.: 23. Anatomy of a Trivial Patent"><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,21 +43,15 @@ 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="Trivial-Patent"></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="Anatomy-of-a-Trivial-Patent"></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="Anatomy-of-a-Trivial-Patent"></a> <h1 class="chapter"> 23. Anatomy of a Trivial Patent </h1> <a name="index-patents_002c-a-trivial-patent"></a> <p>Programmers are well aware that many of the existing software patents cover -laughably obvious ideas. Yet the patent system’s defenders often +laughably obvious ideas. Yet the patent system’s defenders often argue that these ideas are nontrivial, obvious only in hindsight. And it is surprisingly difficult to defeat them in debate. Why is that? @@ -77,20 +59,19 @@ that? <p>One reason is that any idea can be made to look complex when analyzed to death. Another reason is that these trivial ideas often look quite complex as described in the patents themselves. The patent -system’s defenders can point to the complex description and say, -“How can anything this complex be obvious?” +system’s defenders can point to the complex description and say, +“How can anything this complex be obvious?” </p> -<p>I will use an example to show you how. Here’s claim number one +<p>I will use an example to show you how. Here’s claim number one from US patent number 5,963,916, applied for in October 1996: </p> -<blockquote class="smallquotation"><p>1. A method for enabling a remote user to preview a portion of a pre-recorded music product from a network web site containing pre-selected portions of different pre-recorded music products, using a computer, a computer display and a telecommunications link between the remote user’s computer and the network web site, the method comprising the steps of: +<blockquote class="smallquotation"><p>1. A method for enabling a remote user to preview a portion of a pre-recorded music product from a network web site containing pre-selected portions of different pre-recorded music products, using a computer, a computer display and a telecommunications link between the remote user’s computer and the network web site, the method comprising the steps of: </p> -<ul> -<li> -using the remote user’s computer to establish a telecommunications link to the network web site wherein the network web site comprises (i) a central host server coupled to a communications network for retrieving and transmitting the pre-selected portion of the pre-recorded music product upon request by a remote user and (ii) a central storage device for storing pre-selected portions of a plurality of different pre-recorded music products; +<ul><li> +using the remote user’s computer to establish a telecommunications link to the network web site wherein the network web site comprises (i) a central host server coupled to a communications network for retrieving and transmitting the pre-selected portion of the pre-recorded music product upon request by a remote user and (ii) a central storage device for storing pre-selected portions of a plurality of different pre-recorded music products; </li><li> -transmitting user identification data from the remote user’s computer to the central host server thereby allowing the central host server to identify and track the user’s progress through the network web site; +transmitting user identification data from the remote user’s computer to the central host server thereby allowing the central host server to identify and track the user’s progress through the network web site; </li><li> choosing at least one pre-selected portion of the pre-recorded music products from the central host server; @@ -101,12 +82,11 @@ receiving the chosen pre-selected portion of the pre-recorded products; and </li><li> interactively previewing the received chosen pre-selected portion of the pre-recorded music product. -</li></ul> -</blockquote> +</li></ul></blockquote> <p>That sure looks like a complex system, right? Surely it took a real clever guy to think of this? No, but it took cleverness to make -it seem so complex. Let’s analyze where the complexity comes +it seem so complex. Let’s analyze where the complexity comes from: </p> <blockquote class="smallquotation"> @@ -118,7 +98,7 @@ from certain pieces of music on a server so a user can listen to them. </p> <blockquote class="smallquotation"> -<p> of different pre-recorded music products, +<p> of different pre-recorded music products, </p> </blockquote> <p>This emphasizes their server stores selections from more than one @@ -127,25 +107,23 @@ piece of music. <p>It is a basic principle of computer science is that if a computer can do a thing once, it can do that thing many times, on different data each time. Many patents pretend that applying this principle to -a specific case makes an “invention.” +a specific case makes an “invention.” </p> <blockquote class="smallquotation"> -<p> using a computer, a com-<br>puter display and a telecommunications link between the remote user’s computer and the network web site, +<p> using a computer, a com-<br>puter display and a telecommunications link between the remote user’s computer and the network web site, </p> </blockquote> <p>This says they are using a server on a network. </p><blockquote class="smallquotation"> -<p> the method comprising the steps of: -</p><ul> -<li> -using the remote user’s computer to establish a telecommunications +<p> the method comprising the steps of: +</p><ul><li> +using the remote user’s computer to establish a telecommunications link to the network web site -</li></ul> -</blockquote> +</li></ul></blockquote> <p>This says that the user connects to the server over the network. -(That’s the way one uses a server.) +(That’s the way one uses a server.) </p><blockquote class="smallquotation"> -<p> wherein the network web site comprises<br> (i) a central host server +<p> wherein the network web site comprises<br> (i) a central host server coupled to a communications network </p> </blockquote> @@ -155,13 +133,13 @@ coupled to a communications network servers.) </p> <blockquote class="smallquotation"> -<p> for re-<br> trieving and transmitting the pre-selected portion of the pre-recorded<br> music product upon request by a remote user +<p> for re-<br> trieving and transmitting the pre-selected portion of the pre-recorded<br> music product upon request by a remote user </p> </blockquote> <p>This repeats the general idea stated in the first two lines. </p> <blockquote class="smallquotation"> -<p> and (ii) a central stor-<br> age device for storing pre-selected portions of a plurality of different<br> pre-recorded music products; +<p> and (ii) a central stor-<br> age device for storing pre-selected portions of a plurality of different<br> pre-recorded music products; </p> </blockquote> <p>They have decided to put a hard disk (or equivalent) in their @@ -174,50 +152,38 @@ more than one selection on this disk. Of course, every file system will let you store more than one file. </p> <blockquote class="smallquotation"> -<ul> -<li> -transmitting user identification data from the remote user’s computer to the central host server thereby allowing the central host server to identify and track the user’s progress through the network web site; - -</li></ul> +<ul><li> +transmitting user identification data from the remote user’s computer to the central host server thereby allowing the central host server to identify and track the user’s progress through the network web site; -</blockquote> +</li></ul></blockquote> <p>This says that they keep track of who you are and what you -access—a common (though nasty) thing for web servers to do. I +access—a common (though nasty) thing for web servers to do. I believe it was common already in 1996. </p> <blockquote class="smallquotation"> -<ul> -<li> +<ul><li> choosing at least one pre-selected portion of the pre-recorded music products from the central host server; -</li></ul> - -</blockquote> +</li></ul></blockquote> <p>In other words, the user clicks to say which link to follow. That is typical for web servers; if they had found another way to do it, that might have been an invention. </p> <blockquote class="smallquotation"> -<ul> -<li> +<ul><li> receiving the chosen pre-selected portion of the pre-recorded products; and -</li></ul> - -</blockquote> +</li></ul></blockquote> <p>When you follow a link, your browser reads the contents. This is typical behavior for a web browser. </p> <blockquote class="smallquotation"> -<ul> -<li> +<ul><li> interactively previewing the received chosen pre-selected portion of the pre-recorded music product. -</li></ul> - -</blockquote> +</li></ul></blockquote> <p>This says that your browser plays the music for you. (That is what many browsers do, when you follow a link to an audio file.) </p> @@ -237,10 +203,10 @@ complication. <p>3. The method of [149]claim 1 wherein the central memory device comprises a plurality of compact disc-read only memory (CD-ROMs). </p> </blockquote> -<p>What they are saying here is, “Even if you don’t think that +<p>What they are saying here is, “Even if you don’t think that claim 1 is really an invention, using CD-ROMs to store the data makes it an invention for sure. An average system designer would never have -thought of storing data on a CD.” +thought of storing data on a CD.” </p> <p>Now look at the next claim: </p> @@ -260,21 +226,21 @@ patented the use of a RAID array for this particular purpose. <p>Trivial as it is, this patent would not necessarily be found legally invalid if there is a lawsuit about it. Not only the US Patent Office but the courts as well tend to apply a very low standard -when judging whether a patent is “unobvious.” This patent +when judging whether a patent is “unobvious.” This patent might pass muster, according to them. </p> -<p>What’s more, the courts are reluctant to overrule the Patent +<p>What’s more, the courts are reluctant to overrule the Patent Office, so there is a better chance of getting a patent overturned if you can show a court prior art that the Patent Office did not consider. If the courts are willing to entertain a higher standard in judging unobviousness, it helps to save the prior art for them. Thus, -the proposals to “make the system work better” by +the proposals to “make the system work better” by providing the Patent Office with a better database of prior art could instead make things worse. </p> <p>It is very hard to make a patent system behave reasonably; it is a complex bureaucracy and tends to follow its structural imperatives -regardless of what it is “supposed” to do. The only +regardless of what it is “supposed” to do. The only practical way to get rid of the many obvious patents on software features and business practices is to get rid of all patents in those fields. Fortunately, that would be no loss: the unobvious patents in @@ -283,7 +249,7 @@ software developers and users under threat. </p> <p>The patent system is supposed, intended, to promote progress, and those who benefit from software patents ask us to believe without -question that they do have that effect. But programmers’ experience +question that they do have that effect. But programmers’ experience shows otherwise. New theoretical analysis shows that this is no paradox. (See <a href="http://researchoninnovation.org/patent.pdf">http://researchoninnovation.org/patent.pdf</a>.) There is no @@ -291,6 +257,4 @@ reason why society should expose software developers and users to the danger of software patents. </p> <a name="index-patents_002c-a-trivial-patent-1"></a> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_24.html b/examples/blog/articles/scrap1_24.html index dac7ef7a..9b6a79a1 100644 --- a/src/frontend_blog/articles/scrap1_24.html +++ b/examples/blog/articles/scrap1_24.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.: 24. Software Patents and Literary Patents</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.: 24. Software Patents and Literary Patents"> -<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.: 24. Software Patents and Literary Patents</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.: 24. Software Patents and Literary Patents"><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="SPLP"></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="Software-Patents-and-Literary-Patents"></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="Software-Patents-and-Literary-Patents"></a> <h1 class="chapter"> 24. Software Patents and Literary Patents </h1> <a name="index-patents_002c-analogy-between-literary-and-software"></a> @@ -72,9 +54,9 @@ ul.toc {list-style: none} <a name="index-patents_002c-proposed-European-Union-software-patents-directive-1"></a> <a name="index-European-Union_002c-proposed-European-Union-software-patents-directive-1"></a> <p>When politicians consider the question of software patents, they are -usually voting blind; not being programmers, they don’t understand +usually voting blind; not being programmers, they don’t understand what software patents really do. They often think patents are similar -to copyright law (“except for some details”)—which +to copyright law (“except for some details”)—which is not the case. For instance, when I publicly asked <a name="index-Devedjian_002c-Minister-Patrick"></a> Patrick @@ -84,7 +66,7 @@ France, how France would vote on the issue of software patents, Devedjian responded with an impassioned defense of copyright law, praising Victor Hugo for his role in the adoption of copyright. (The misleading -term “intellectual property” promotes this confusion—one of the reasons it +term “intellectual property” promotes this confusion—one of the reasons it should never be used.) </p> <p>Those who imagine effects like those of copyright law cannot grasp the @@ -92,28 +74,27 @@ disastrous effects of software patents. We can use Victor Hugo as an example to illustrate the difference. </p> <p>A novel and a modern complex program have certain points in common: -each one is large, and implements many ideas in combination. So let’s +each one is large, and implements many ideas in combination. So let’s follow the analogy, and suppose that patent law had been applied to novels in the 1800s; suppose that states such as France had permitted the patenting of literary ideas. How would this have affected Victor -Hugo’s writing? How would the effects of literary patents compare +Hugo’s writing? How would the effects of literary patents compare with the effects of literary copyright? </p> <a name="index-Les-Miserables_002c-Victor-Hugo"></a> -<p>Consider Victor Hugo’s novel <cite>Les Misérables.</cite> Since he +<p>Consider Victor Hugo’s novel <cite>Les Misérables.</cite> Since he wrote it, the copyright belonged only to him. He did not have to fear that some stranger could sue him for copyright infringement and win. That was impossible, because copyright covers only the details of a work of authorship, not the ideas embodied in them, and it only restricts copying. Hugo had not copied <cite>Les -Misérables,</cite> so he was not in danger from copyright. +Misérables,</cite> so he was not in danger from copyright. </p> <p>Patents work differently. Patents cover ideas; each patent is a monopoly on practicing some idea, which is described in the patent -itself. Here’s one example of a hypothetical literary patent: +itself. Here’s one example of a hypothetical literary patent: </p> -<ul> -<li> +<ul><li> Claim 1: a communication process that represents in the mind of a reader the concept of a character who has been in jail for a long time and becomes bitter towards society and humankind. </li><li> @@ -122,62 +103,55 @@ Claim 2: a communication process according to claim 1, wherein said character su </li><li> Claim 3: a communication process according to claims 1 and 2, wherein said character changes his name during the story. -</li></ul> -<a name="index-Valjean_002c-literary-character-Jean-_0028see-also-Les-Miserables_0029"></a> -<p>If such a patent had existed in 1862 when <cite>Les Misérables</cite> was +</li></ul><a name="index-Valjean_002c-literary-character-Jean-_0028see-also-Les-Miserables_0029"></a> +<p>If such a patent had existed in 1862 when <cite>Les Misérables</cite> was published, the novel would have conflicted with all three claims, since all these things happened to Jean Valjean in the novel. Victor Hugo could have been sued, and if sued, he would have lost. The novel -could have been prohibited—in effect, censored—by the +could have been prohibited—in effect, censored—by the patent holder. </p> <p>Now consider this hypothetical literary patent: </p> -<ul> -<li> Claim 1: a communication process that represents in the mind of a reader the concept of a character who has been in jail for a long time and subsequently changes his name. -</li></ul> -<p><cite>Les Misérables</cite> would have been prohibited by that patent too, +<ul><li> Claim 1: a communication process that represents in the mind of a reader the concept of a character who has been in jail for a long time and subsequently changes his name. +</li></ul><p><cite>Les Misérables</cite> would have been prohibited by that patent too, because this description too fits the life story of Jean Valjean. And -here’s another hypothetical patent: +here’s another hypothetical patent: </p> -<ul> -<li> +<ul><li> Claim 1: a communication process that represents in the mind of a reader the concept of a character who finds moral redemption and then changes his name. -</li></ul> -<p>Jean Valjean would have been forbidden by this patent too. +</li></ul><p>Jean Valjean would have been forbidden by this patent too. </p> <p>All three patents would cover, and prohibit, the life story of this one character. They overlap, but they do not precisely duplicate each other, so they could all be valid simultaneously; all three patent holders could have sued Victor Hugo. Any one of them could have prohibited -publication of <cite>Les Misérables.</cite> +publication of <cite>Les Misérables.</cite> </p> <p>This patent also could have been violated: </p> -<ul> -<li> +<ul><li> Claim 1: a communication process that presents a character whose given name matches the last syllable of his family name. -</li></ul> -<p>through the name “Jean Valjean,” but at least this patent +</li></ul><p>through the name “Jean Valjean,” but at least this patent would have been easy to avoid. </p> <p>You might think that these ideas are so simple that no patent office would have issued them. We programmers are often amazed by the -simplicity of the ideas that real software patents cover—for +simplicity of the ideas that real software patents cover—for instance, the <a name="index-European-Patent-Office"></a> European Patent Office has issued a patent on the progress bar, and a patent on accepting payment via credit cards. These patents would be laughable if they were not so dangerous. </p> -<p>Other aspects of <cite>Les Misérables</cite> could also have +<p>Other aspects of <cite>Les Misérables</cite> could also have run afoul of patents. For instance, there could have been a patent on a fictionalized portrayal of the Battle of Waterloo, or a patent on using Parisian slang in fiction. Two more lawsuits. In fact, there is no limit to the number of different patents that might have been applicable for suing the author of a work such as <cite>Les -Misérables.</cite> All the patent holders would say they deserved a +Misérables.</cite> All the patent holders would say they deserved a reward for the literary progress that their patented ideas represent, but these obstacles would not promote progress in literature, they would only obstruct it. @@ -186,8 +160,7 @@ would only obstruct it. irrelevant. Imagine a patent with broad claims like these: </p> -<ul> -<li> +<ul><li> A communication process structured with narration that continues through many pages. @@ -205,13 +178,12 @@ Narration that presents many layers of society. </li><li> Narration that shows the wheels of hidden conspiracy. -</li></ul> -<p>Who would the patent holders have been? They could have been +</li></ul><p>Who would the patent holders have been? They could have been other novelists, perhaps Dumas or Balzac, who had written such -novels—but not necessarily. It isn’t required to write a +novels—but not necessarily. It isn’t required to write a program to patent a software idea, so if our hypothetical literary patents follow the real patent system, these patent holders would not -have had to write novels, or stories, or anything—except patent +have had to write novels, or stories, or anything—except patent applications. Patent parasite companies, businesses that produce nothing except threats and lawsuits, are booming nowadays. </p> @@ -227,7 +199,7 @@ writing a novel of this kind. do. Software patents cover features, such as defining abbreviations in a word processor, or natural order recalculation in a spreadsheet. Patents cover algorithms that programs need to use. Patents cover -aspects of file formats, such as Microsoft’s +aspects of file formats, such as Microsoft’s <a name="index-Microsoft_002c-OOXML-format-_0028see-also-patents_0029"></a> OOXML format. <a name="index-MPEG_002d2"></a> @@ -251,13 +223,11 @@ of the whole system could be sued under? </p> <a name="index-call-to-action_002c-do-not-authorize-software-patents"></a> <p>The way to prevent software patents from bollixing software -development is simple: don’t authorize them. This ought to be easy, +development is simple: don’t authorize them. This ought to be easy, since most patent laws have provisions against software patents. They -typically say that “software per se” cannot be patented. +typically say that “software per se” cannot be patented. But patent offices around the world are trying to twist the words and issuing patents on the ideas implemented in programs. Unless this is blocked, the result will be to put all software developers in danger. <a name="index-patents_002c-analogy-between-literary-and-software-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_25.html b/examples/blog/articles/scrap1_25.html index 634f8d54..12a9c887 100644 --- a/src/frontend_blog/articles/scrap1_25.html +++ b/examples/blog/articles/scrap1_25.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.: 25. The Danger of Software Patents</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.: 25. The Danger of Software Patents"> -<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.: 25. The Danger of Software Patents</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.: 25. The Danger of Software Patents"><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,70 +43,64 @@ 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="DSP"></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-Danger-of-Software-Patents"></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-Danger-of-Software-Patents"></a> <h1 class="chapter"> 25. The Danger of Software Patents </h1> -<blockquote class="smallquotation"><p>This is an unedited transcript of the talk presented by Richard Stallman on 8 October 2009 at Victoria University of Wellington, in Wellington, New Zealand. +<blockquote class="smallquotation"><p>This is an unedited transcript of the talk presented by Richard Stallman on 8 October 2009 at Victoria University of Wellington, in Wellington, New Zealand. </p></blockquote> -<p>I’m most known for starting the free software movement and leading +<p>I’m most known for starting the free software movement and leading development of the <a name="index-GNU-_0028see-also-both-software-and-GNU_0029-5"></a> -GNU operating system—although most of the people -who use the system mistakenly believe it’s Linux and think it was -started by somebody else a decade later. But I’m not going to be -speaking about any of that today. I’m here to talk about a legal +GNU operating system—although most of the people +who use the system mistakenly believe it’s Linux and think it was +started by somebody else a decade later. But I’m not going to be +speaking about any of that today. I’m here to talk about a legal danger to all software developers, distributors, and users: the danger -of patents—on computational ideas, computational techniques, an idea +of patents—on computational ideas, computational techniques, an idea for something you can do on a computer. </p> <a name="index-patents_002c-difference-between-copyrights-and"></a> <p>Now, to understand this issue, the first thing you need to realize is -that patent law has nothing to do with copyright law—they’re totally +that patent law has nothing to do with copyright law—they’re totally different. Whatever you learn about one of them, you can be sure it -doesn’t apply to the other. +doesn’t apply to the other. </p> <p>So, for example, any time a person makes a statement about <a name="index-_0060_0060intellectual-property_002c_0027_0027-bias-and-fallacy-of-term-_0028see-also-ownership_0029-8"></a> -“intellectual property,” that’s spreading confusion, because it’s +“intellectual property,” that’s spreading confusion, because it’s lumping together not only these two laws but also at least a dozen -others. They’re all different, and the result is any statement which -purports to be about “intellectual property” is pure confusion—either +others. They’re all different, and the result is any statement which +purports to be about “intellectual property” is pure confusion—either the person making the statement is confused, or the person is trying -to confuse others. But either way, whether it’s accidental or -malicious, it’s confusion. +to confuse others. But either way, whether it’s accidental or +malicious, it’s confusion. </p> <p>Protect yourself from this confusion by rejecting any statement which makes use of that term. The only way to make thoughtful comments and think clear thoughts about any one of these laws is to distinguish it first from all the others, and talk or think about one particular law, so that we can understand what it actually does and then form -conclusions about it. So I’ll be talking about patent law, and what +conclusions about it. So I’ll be talking about patent law, and what happens in those countries which have allowed patent law to restrict software. </p> <p>So, what does a patent do? A patent is an explicit, government-issued -monopoly on using a certain idea. In the patent there’s a part called -the claims, which describe exactly what you’re not allowed to do -(although they’re written in a way you probably can’t understand). It’s +monopoly on using a certain idea. In the patent there’s a part called +the claims, which describe exactly what you’re not allowed to do +(although they’re written in a way you probably can’t understand). It’s a struggle to figure out what those prohibitions actually mean, and they may go on for many pages of fine print. </p> <p>So the patent typically lasts for 20 years, which is a fairly long -time in our field. Twenty years ago there was no World Wide Web—a +time in our field. Twenty years ago there was no World Wide Web—a tremendous amount of the use of computers goes on in an area which -wasn’t even possible to propose 20 years ago. So of course everything -that people do on it is something that’s new since 20 years ago—at +wasn’t even possible to propose 20 years ago. So of course everything +that people do on it is something that’s new since 20 years ago—at least in some aspect it is new. So if patents had been applied for -we’d be prohibited from doing all of it, and we may be prohibited from +we’d be prohibited from doing all of it, and we may be prohibited from doing all of it in countries that have been foolish enough to have such a policy. </p> @@ -129,65 +111,65 @@ patent office of a megacorporation, so they want you to like the system. </p> <a name="index-Economist"></a> -<p>The <cite>Economist</cite> once referred to the patent system as “a time-consuming -lottery.” If you’ve ever seen publicity for a lottery, you understand +<p>The <cite>Economist</cite> once referred to the patent system as “a time-consuming +lottery.” If you’ve ever seen publicity for a lottery, you understand how it works: they dwell on the very unlikely probability of winning, -and they don’t talk about the overwhelming likelihood of losing. In +and they don’t talk about the overwhelming likelihood of losing. In this way, they intentionally and systematically present a biased -picture of what’s likely to happen to you, without actually lying +picture of what’s likely to happen to you, without actually lying about any particular fact. </p> -<p>It’s the same way for the publicity for the patent system: they talk -about what it’s like to walk down the street with a patent in your -pocket—or first of all, what it’s like to get a patent, then what -it’s like to have a patent in your pocket, and every so often you can -pull it out and point it at somebody and say, “Give me your money.” +<p>It’s the same way for the publicity for the patent system: they talk +about what it’s like to walk down the street with a patent in your +pocket—or first of all, what it’s like to get a patent, then what +it’s like to have a patent in your pocket, and every so often you can +pull it out and point it at somebody and say, “Give me your money.” </p> -<p>To compensate for their bias, I’m going to describe it from the other -side, the victim side—what it’s like for people who want to develop +<p>To compensate for their bias, I’m going to describe it from the other +side, the victim side—what it’s like for people who want to develop or distribute or run software. You have to worry that any day someone -might walk up to you and point a patent at you and say, “Give me your -money.” +might walk up to you and point a patent at you and say, “Give me your +money.” </p> <p>If you want to develop software in a country that allows software patents, and you want to work with patent law, what will you have to do? </p> <p>You could try to make a list of all the ideas that one might be able -to find in the program that you’re about to write, aside from the fact -that you don’t know that when you start writing the program. [But] even -after you finish writing the program you wouldn’t be able to make such +to find in the program that you’re about to write, aside from the fact +that you don’t know that when you start writing the program. [But] even +after you finish writing the program you wouldn’t be able to make such a list. </p> -<p>The reason is…in the process -you conceived of it in one particular way—you’ve got a mental +<p>The reason is…in the process +you conceived of it in one particular way—you’ve got a mental structure to apply to your design. And because of that, it will block you from seeing other structures that somebody might use to understand -the same program—because you’re not coming to it fresh; you already +the same program—because you’re not coming to it fresh; you already designed it with one structure in mind. Someone else who sees it for the first time might see a different structure, which involves different ideas, and it would be hard for you to see what those other -ideas are. But nonetheless they’re implemented in your program, and +ideas are. But nonetheless they’re implemented in your program, and those patents could prohibit your program, if those ideas are patented. </p> <p>For instance, suppose there were graphical-idea patents and you wanted to draw a square. Well, you would realize that if there was a patent -on a bottom edge, it would prohibit your square. You could put “bottom -edge” on the list of all ideas implemented in your drawing. But you +on a bottom edge, it would prohibit your square. You could put “bottom +edge” on the list of all ideas implemented in your drawing. But you might not realize that somebody else with a patent on bottom corners could sue you easily also, because he could take your drawing and turn it by 45 degrees. And now your square is like this, and it has a bottom corner. </p> -<p>So you couldn’t make a list of all the ideas which, if patented, could +<p>So you couldn’t make a list of all the ideas which, if patented, could prohibit your program. </p> <p>What you might try to do is find out all the ideas that are -patented that might be in your program. Now you can’t do that +patented that might be in your program. Now you can’t do that actually, because patent applications are kept secret for at least 18 months; and the result is the Patent Office could be -considering now whether to issue a patent, and they won’t tell you. +considering now whether to issue a patent, and they won’t tell you. And this is not just an academic, theoretical possibility. </p> <a name="index-Compress"></a> @@ -202,22 +184,22 @@ was when we thought that the purpose of computer science journals was to publish algorithms so people could use them. </p> <p>He wrote this program, he released it, and in 1985 a patent was issued -on that algorithm. But the patent holder was cunning and didn’t +on that algorithm. But the patent holder was cunning and didn’t immediately go around telling people to stop using it. The patent -holder figured, “Let’s let everybody dig their grave deeper.” A few +holder figured, “Let’s let everybody dig their grave deeper.” A few years later they started threatening people; it became clear we -couldn’t use Compress, so I asked for people to suggest other +couldn’t use Compress, so I asked for people to suggest other algorithms we could use for compressing files. </p> -<p>And somebody wrote and said, “I developed another data compression -algorithm that works better, I’ve written a program, I’d like to give -it to you.” So we got ready to release it, and a week before it was +<p>And somebody wrote and said, “I developed another data compression +algorithm that works better, I’ve written a program, I’d like to give +it to you.” So we got ready to release it, and a week before it was ready to be released, I read in the <a name="index-New-York-Times-1"></a> <cite>New York Times</cite> weekly patent -column, which I rarely saw—it’s a couple of times a year I might see -it—but just by luck I saw that someone had gotten a patent for -“inventing a new method of compressing data.” And so I said we had +column, which I rarely saw—it’s a couple of times a year I might see +it—but just by luck I saw that someone had gotten a patent for +“inventing a new method of compressing data.” And so I said we had better look at this, and sure enough it covered the program we were about to release. But it could have been worse: the patent could have been issued a year later, or two years later, or three years later, or @@ -227,79 +209,79 @@ five years later. <p>Anyway, someone else came up with another, even better compression algorithm, which was used in the program gzip, and just about everybody who wanted to compress files switched to gzip, so it sounds -like a happy ending. But you’ll hear more later. It’s not entirely +like a happy ending. But you’ll hear more later. It’s not entirely so happy. </p> -<p>So, you can’t find out about the patents that are being considered +<p>So, you can’t find out about the patents that are being considered even though they may prohibit your work once they come out, but you -can find out about the already issued patents. They’re all published -by the Patent Office. The problem is you can’t read them all, because +can find out about the already issued patents. They’re all published +by the Patent Office. The problem is you can’t read them all, because there are too many of them. </p> <p>In the US I believe there are hundreds of thousands of software patents; keeping track of them would be a tremendous job. So -you’re going to have to search for relevant patents. And you’ll find a -lot of relevant patents, but you won’t necessarily find them all. +you’re going to have to search for relevant patents. And you’ll find a +lot of relevant patents, but you won’t necessarily find them all. </p> -<p>For instance, in the 80s and 90s, there was a patent on “natural order -recalculation” in spreadsheets. Somebody once asked me for a copy of +<p>For instance, in the 80s and 90s, there was a patent on “natural order +recalculation” in spreadsheets. Somebody once asked me for a copy of it, so I looked in our computer file which lists the patent numbers. And then I pulled out the drawer to get the paper copy of this patent -and xeroxed it and sent it to him. And when he got it, he said, “I +and xeroxed it and sent it to him. And when he got it, he said, “I think you sent me the wrong patent. This is something about -compilers.” So I thought maybe our file has the wrong number in it. -I looked in it again, and sure enough it said, “A method for compiling -formulas into object code.” So I started to read it to see if it was +compilers.” So I thought maybe our file has the wrong number in it. +I looked in it again, and sure enough it said, “A method for compiling +formulas into object code.” So I started to read it to see if it was indeed the wrong patent. I read the claims, and sure enough it was -the natural order recalculation patent, but it didn’t use those terms. -It didn’t use the term “spreadsheet.” In fact, what the patent +the natural order recalculation patent, but it didn’t use those terms. +It didn’t use the term “spreadsheet.” In fact, what the patent prohibited was dozens of different ways of implementing topological -sort—all the ways they could think of. But I don’t think it used the -term “topological sort.” +sort—all the ways they could think of. But I don’t think it used the +term “topological sort.” </p> <p>So if you were writing a spreadsheet and you tried to find relevant patents by searching, you might have found a lot of patents. But you -wouldn’t have found this one until you told somebody, “Oh, I’m working -on a spreadsheet,” and he said, “Oh, did you know those other -companies that are making spreadsheets are getting sued?” Then you +wouldn’t have found this one until you told somebody, “Oh, I’m working +on a spreadsheet,” and he said, “Oh, did you know those other +companies that are making spreadsheets are getting sued?” Then you would have found out. </p> -<p>Well, you can’t find all the patents by searching, but you can find a -lot of them. And then you’ve got to figure out what they mean, which +<p>Well, you can’t find all the patents by searching, but you can find a +lot of them. And then you’ve got to figure out what they mean, which is hard, because patents are written in tortuous legal language which -is very hard to understand the real meaning of. So you’re going to +is very hard to understand the real meaning of. So you’re going to have to spend a lot of time talking with an expensive lawyer explaining what you want to do in order to find out from the lawyer -whether you’re allowed to do it. +whether you’re allowed to do it. </p> <a name="index-Heckel_002c-Paul"></a> -<p>Even the patent holders often can’t recognize just what their patents -mean. For instance, there’s somebody named Paul Heckel who released a +<p>Even the patent holders often can’t recognize just what their patents +mean. For instance, there’s somebody named Paul Heckel who released a program for displaying a lot of data on a small screen, and based on a couple of the ideas in that program he got a couple of patents. </p> <p>I once tried to find a simple way to describe what claim 1 of one of -those patents covered. I found that I couldn’t find any simpler way +those patents covered. I found that I couldn’t find any simpler way of saying it than what was in the patent itself; and that sentence, I -couldn’t manage to keep it all in my mind at once, no matter how hard +couldn’t manage to keep it all in my mind at once, no matter how hard I tried. </p> <a name="index-HyperCard"></a> -<p>And Heckel couldn’t follow it either, because when he saw HyperCard, -all he noticed was it was nothing like his program. It didn’t occur to +<p>And Heckel couldn’t follow it either, because when he saw HyperCard, +all he noticed was it was nothing like his program. It didn’t occur to him that the way his patent was written it might prohibit HyperCard; but his lawyer had that idea, so he threatened <a name="index-Apple-_0028see-also-DRM_0029-1"></a> Apple. And then he -threatened Apple’s customers, and eventually Apple made a settlement -with him which is secret, so we don’t know who really won. And this is +threatened Apple’s customers, and eventually Apple made a settlement +with him which is secret, so we don’t know who really won. And this is just an illustration of how hard it is for anybody to understand what -a patent does or doesn’t prohibit. +a patent does or doesn’t prohibit. </p> <p>In fact, I once gave this speech and Heckel was in the audience. And -at this point he jumped up and said, “That’s not true, I just didn’t -know the scope of my protection.” And I said, “Yeah, that’s what I -said,” at which point he sat down and that was the end of my +at this point he jumped up and said, “That’s not true, I just didn’t +know the scope of my protection.” And I said, “Yeah, that’s what I +said,” at which point he sat down and that was the end of my experience being heckled by Heckel. If I had said no, he probably would have found a way to argue with me. </p> @@ -307,10 +289,10 @@ would have found a way to argue with me. lawyer will give you an answer like this: </p> <blockquote class="smallquotation"> -<p>If you do something in this area, you’re almost certain to lose a -lawsuit; if you do something in this area, there’s a considerable -chance of losing a lawsuit; and if you really want to be safe you’ve -got to stay out of this area. But there’s a sizeable element of chance +<p>If you do something in this area, you’re almost certain to lose a +lawsuit; if you do something in this area, there’s a considerable +chance of losing a lawsuit; and if you really want to be safe you’ve +got to stay out of this area. But there’s a sizeable element of chance in the outcome of any lawsuit. </p> </blockquote> @@ -319,21 +301,21 @@ in the outcome of any lawsuit. are you actually going to do? Well, there are three things that you could do to deal with the issue of any particular patent. One is to avoid it, another is to get a license for it, and the third is to -invalidate it. So I’ll talk about these one by one. +invalidate it. So I’ll talk about these one by one. </p> -<p>First, there’s the possibility of avoiding the patent, which means, -don’t implement what it prohibits. Of course, if it’s hard to tell +<p>First, there’s the possibility of avoiding the patent, which means, +don’t implement what it prohibits. Of course, if it’s hard to tell what it prohibits, it might be hard to tell what would suffice to avoid it. </p> <a name="index-Sun-Microsystems-1"></a> <a name="index-Kodak"></a> <p>A couple of years ago Kodak sued Sun [for] using a patent for something -having to do with object-oriented programming, and Sun didn’t think it +having to do with object-oriented programming, and Sun didn’t think it was infringing that patent. But the court decided it was; and when -other people look at that patent they haven’t the faintest idea +other people look at that patent they haven’t the faintest idea whether that decision was right or not. No one can tell what that -patent does or doesn’t cover, but Sun had to pay hundreds of millions +patent does or doesn’t cover, but Sun had to pay hundreds of millions of dollars because of violating a completely incomprehensible law. </p> <p>Sometimes you can tell what you need to avoid, and sometimes what @@ -342,12 +324,12 @@ you need to avoid is an algorithm. <a name="index-FFT-_0028fast-Fourier-transform_0029"></a> <p>For instance, I saw a patent for something like the fast Fourier transform, but it ran twice as fast. Well, if the ordinary FFT is fast -enough for your application then that’s an easy way to avoid this +enough for your application then that’s an easy way to avoid this other one. And most of the time that would work. Once in a while you might be trying to do something where it runs doing FFT all the time, -and it’s just barely fast enough using the faster algorithm. And then -you can’t avoid it, although maybe you could wait a couple of years -for a faster computer. But that’s going to be rare. Most of the time +and it’s just barely fast enough using the faster algorithm. And then +you can’t avoid it, although maybe you could wait a couple of years +for a faster computer. But that’s going to be rare. Most of the time that patent will to be easy to avoid. </p> <a name="index-LZW-_0028Lempel_002dZiv_002dWelch_0029-data-compression-algorithm-_0028see-also-patents_0029-3"></a> @@ -365,43 +347,43 @@ algorithm, and you only care how well it works. <a name="index-PostScript-language"></a> <p>But LZW is used for other things, too; for instance the PostScript language specifies operators for LZW compression and LZW -uncompression. It’s no use having another, better algorithm because -it makes a different format of data. They’re not interoperable. If you -compress it with the gzip algorithm, you won’t be able to uncompress +uncompression. It’s no use having another, better algorithm because +it makes a different format of data. They’re not interoperable. If you +compress it with the gzip algorithm, you won’t be able to uncompress it using LZW. So no matter how good your other algorithm is, and no -matter what it is, it just doesn’t enable you to implement PostScript +matter what it is, it just doesn’t enable you to implement PostScript according to the specs. </p> <p>But I noticed that users rarely ask their printers to compress things. Generally the only thing they want their printers to do is to uncompress; and I also noticed that both of the patents on the LZW algorithm were written in such a way that if your system can only -uncompress, it’s not forbidden. These patents were written so that +uncompress, it’s not forbidden. These patents were written so that they covered compression, and they had other claims covering both compression and uncompression; but there was no claim covering only uncompression. So I realized that if we implement only the uncompression for LZW, we would be safe. And although it would not satisfy the specification, it would please the users sufficiently; it -would do what they actually needed. So that’s how we barely squeaked +would do what they actually needed. So that’s how we barely squeaked by avoiding the two patents. </p> <a name="index-GIF-1"></a> <a name="index-PNG"></a> <p>Now there is gif format, for images. That uses the LZW algorithm -also. It didn’t take long for people to define another image format, -called png, which stands for “Png’s Not Gif.” I think it uses the -gzip algorithm. And we started saying to people, “Don’t use gif -format, it’s dangerous. Switch to png.” And the users said, “Well, -maybe some day, but the browsers don’t implement it yet,” and the -browser developers said, “We may implement it someday, but there’s not -much demand from users.” +also. It didn’t take long for people to define another image format, +called png, which stands for “Png’s Not Gif.” I think it uses the +gzip algorithm. And we started saying to people, “Don’t use gif +format, it’s dangerous. Switch to png.” And the users said, “Well, +maybe some day, but the browsers don’t implement it yet,” and the +browser developers said, “We may implement it someday, but there’s not +much demand from users.” <a name="index-gzip-2"></a> </p> -<p>Well, it’s pretty obvious what’s going on—gif was a de facto +<p>Well, it’s pretty obvious what’s going on—gif was a de facto standard. In effect, asking people to switch to a different format, instead of their de facto standard, is like asking everyone in New -Zealand to speak Hungarian. People will say, “Well, yeah, I’ll learn to -speak it after everyone else does.” And so we never succeeded in +Zealand to speak Hungarian. People will say, “Well, yeah, I’ll learn to +speak it after everyone else does.” And so we never succeeded in asking people to stop using gif, even though one of those patent holders was going around to operators of web sites, threatening to sue them unless they could prove that all of the gifs on @@ -410,48 +392,48 @@ the site were made with authorized, licensed software. <a name="index-JPEG"></a> <p>So gif was a dangerous trap for a large part of our community. We thought we had an alternative to gif format, namely jpeg, but then -somebody said, “I was just looking through my portfolio of patents”—I +somebody said, “I was just looking through my portfolio of patents”—I think it was somebody that just bought patents and used them to -threaten people—and he said, “and I found that one of them covers jpeg -format.” +threaten people—and he said, “and I found that one of them covers jpeg +format.” </p> -<p>Well, jpeg was not a de facto standard, it’s an official standard, +<p>Well, jpeg was not a de facto standard, it’s an official standard, issued by a standards committee; and the committee had a lawyer too. -Their lawyer said he didn’t think that this patent actually covered +Their lawyer said he didn’t think that this patent actually covered jpeg format. </p> -<p>So who’s right? Well, this patent holder sued a bunch of companies, +<p>So who’s right? Well, this patent holder sued a bunch of companies, and if there was a decision, it would have said who was right. But I -haven’t heard about a decision; I’m not sure if there ever was one. I +haven’t heard about a decision; I’m not sure if there ever was one. I think they settled, and the settlement is almost certainly secret, -which means that it didn’t tell us anything about who’s right. +which means that it didn’t tell us anything about who’s right. </p> <p>These are fairly lightweight cases: one patent on jpeg, two patents on the LZW algorithm used in gif. Now you might wonder how come there -are two patents on the same algorithm? It’s not supposed to happen, -but it did. And the reason is that the patent examiners can’t possibly +are two patents on the same algorithm? It’s not supposed to happen, +but it did. And the reason is that the patent examiners can’t possibly take the time to study every pair of things they might need to study -and compare, because they’re not allowed to take that much time. And -because algorithms are just mathematics, there’s no way you can narrow +and compare, because they’re not allowed to take that much time. And +because algorithms are just mathematics, there’s no way you can narrow down which applications and patents you need to compare. </p> <a name="index-patents_002c-LZW-data-compression-algorithm-3"></a> <a name="index-LZW-_0028Lempel_002dZiv_002dWelch_0029-data-compression-algorithm-_0028see-also-patents_0029-4"></a> <p>You see, in physical engineering fields, they can use the physical -nature of what’s going on to narrow things down. For instance, in -chemical engineering, they can say, “What are the substances going in? -What are the substances coming out?” If two different [patent] -applications are different in that way, then they’re not the same -process so you don’t need to worry. But the same math can be +nature of what’s going on to narrow things down. For instance, in +chemical engineering, they can say, “What are the substances going in? +What are the substances coming out?” If two different [patent] +applications are different in that way, then they’re not the same +process so you don’t need to worry. But the same math can be represented in ways that can look very different, and until you study -them both together, you don’t realize they’re talking about the same -thing. And, because of this, it’s quite common to see the same thing +them both together, you don’t realize they’re talking about the same +thing. And, because of this, it’s quite common to see the same thing get patented multiple times [in software]. </p> <p>Remember that program that was killed by a patent before we released it? Well, that algorithm got patented twice also. In one little field -we’ve seen it happen in two cases that we ran into—the same algorithm +we’ve seen it happen in two cases that we ran into—the same algorithm being patented twice. Well, I think my explanation tells you why that happens. </p> @@ -465,7 +447,7 @@ committee wanted to develop a follow-on standard, and they gave up. They said there were too many patents; there was no way to do it. <a name="index-JPEG-1"></a> </p> -<p>Sometimes it’s a feature that’s patented, and the only way to avoid that +<p>Sometimes it’s a feature that’s patented, and the only way to avoid that patent is not to implement that feature. For instance, the users of the word processor <a name="index-Xywrite"></a> @@ -474,9 +456,9 @@ removed a feature. The feature was that you could define a list of abbreviations. For instance, if you define <a name="index-abbreviations_002c-patents-on"></a> <a name="index-patents_002c-on-abbreviations"></a> -“exp” as an abbreviation -for “experiment,” then if you type “exp-space” or “exp-comma,” the “exp” -would change automatically to “experiment.” +“exp” as an abbreviation +for “experiment,” then if you type “exp-space” or “exp-comma,” the “exp” +would change automatically to “experiment.” </p> <p>Then somebody who had a patent on this feature threatened them, and they concluded that the only thing they could do was to take the @@ -488,8 +470,8 @@ feature out. And so they sent all the users a downgrade. Emacs editor had a feature like that starting from the late 70s. And it was described in the Emacs manual, so they thought I might be able to help them invalidate that -patent. Well, I’m happy to know I’ve had at least one patentable idea -in my life, but I’m unhappy that someone else patented it. +patent. Well, I’m happy to know I’ve had at least one patentable idea +in my life, but I’m unhappy that someone else patented it. </p> <p>Fortunately, in fact, that patent was eventually invalidated, and partly on the strength of the fact that I had published using it @@ -497,29 +479,29 @@ earlier. But in the meantime they had had to remove this feature. </p> <p>Now, to remove one or two features may not be a disaster. But when you have to remove 50 features, you could do it, but people are likely -to say, “This program’s no good; it’s missing all the features I want.” +to say, “This program’s no good; it’s missing all the features I want.” So it may not be a solution. And sometimes a patent is so broad that it wipes out an entire field, like the patent on public-key encryption, which in fact put public-key encryption basically off limits for about ten years. </p> -<p>So that’s the option of avoiding the patent—often possible, but -sometimes not, and there’s a limit to how many patents you can avoid. +<p>So that’s the option of avoiding the patent—often possible, but +sometimes not, and there’s a limit to how many patents you can avoid. </p> <p>What about the next possibility, of getting a license for the patent? </p> <a name="index-games_002c-patents-and"></a> -<p>Well, the patent holder may not offer you a license. It’s entirely up -to him. He could say, “I just want to shut you down.” I once got a +<p>Well, the patent holder may not offer you a license. It’s entirely up +to him. He could say, “I just want to shut you down.” I once got a letter from somebody whose family business was making casino games, which were of course computerized, and he had been threatened by a patent holder who wanted to make his business shut down. He sent me -the patent. Claim 1 was something like “a network with a multiplicity +the patent. Claim 1 was something like “a network with a multiplicity of computers, in which each computer supports a multiplicity of games, -and allows a multiplicity of game sessions at the same time.” +and allows a multiplicity of game sessions at the same time.” </p> <a name="index-universities-4"></a> -<p>Now, I’m sure in the 1980s there was a university that set up a room +<p>Now, I’m sure in the 1980s there was a university that set up a room with a network of workstations, and each workstation had some kind of windowing facility. All they had to do was to install multiple games and it would be possible to display multiple game sessions at @@ -534,84 +516,84 @@ it. <p>But why does the Patent Office issue so many patents that seem absurd and trivial to us? </p> -<p>It’s not because the patent examiners are stupid, it’s because they’re +<p>It’s not because the patent examiners are stupid, it’s because they’re following a system, and the system has rules, and the rules lead to this result. </p> <p>You see, if somebody has made a machine that does something once, and somebody else designs a machine that will do the same thing, but N -times, for us that’s a <tt>for</tt>-loop, but for the Patent Office that’s an +times, for us that’s a <tt>for</tt>-loop, but for the Patent Office that’s an invention. If there are machines that can do A, and there are machines that can do B, and somebody designs a machine that can do A -or B, for us that’s an <tt>if-then-else</tt> statement, but for the Patent -Office that’s an invention. So they have very low standards, and they +or B, for us that’s an <tt>if-then-else</tt> statement, but for the Patent +Office that’s an invention. So they have very low standards, and they follow those standards; and the result is patents that look absurd and -trivial to us. Whether they’re legally valid I can’t say. But every +trivial to us. Whether they’re legally valid I can’t say. But every programmer who sees them laughs. </p> <p>In any case, I was unable to suggest anything he could do to help himself, and he had to shut down his business. But most patent holders -will offer you a license. It’s likely to be rather expensive. +will offer you a license. It’s likely to be rather expensive. </p> <p>But there are some software developers that find it particularly easy to get licenses, most of the time. Those are the megacorporations. In any field the megacorporations generally own about half the patents, and they cross-license each other, and they can make anybody else -cross-license if he’s really producing anything. The result is that +cross-license if he’s really producing anything. The result is that they end up painlessly with licenses for almost all the patents. </p> <a name="index-IBM"></a> <a name="index-patents_002c-IBM-and"></a> <a name="index-Think-magazine"></a> -<p>IBM wrote an article in its house magazine, <cite>Think</cite> magazine—I think -it’s issue 5, 1990—about the benefit IBM got from its almost 9,000 US -patents at the time (now it’s up to 45,000 or more). They said that +<p>IBM wrote an article in its house magazine, <cite>Think</cite> magazine—I think +it’s issue 5, 1990—about the benefit IBM got from its almost 9,000 US +patents at the time (now it’s up to 45,000 or more). They said that one of the benefits was that they collected money, but the main benefit, which they said was perhaps an order of magnitude greater, -was “getting access to the patents of others,” namely cross-licensing. +was “getting access to the patents of others,” namely cross-licensing. </p> <p>What this means is since IBM, with so many patents, can make almost everybody give them a cross-license, IBM avoids almost all the grief -that the patent system would have inflicted on anybody else. So that’s -why IBM wants software patents. That’s why the megacorporations in +that the patent system would have inflicted on anybody else. So that’s +why IBM wants software patents. That’s why the megacorporations in general want software patents, because they know that by cross-licensing, they will have a sort of exclusive club on top of a -mountain peak. And all the rest of us will be down here, and there’s -no way we can get up there. You know, if you’re a genius, you might -start up a small company and get some patents, but you’ll never get -into IBM’s league, no matter what you do. +mountain peak. And all the rest of us will be down here, and there’s +no way we can get up there. You know, if you’re a genius, you might +start up a small company and get some patents, but you’ll never get +into IBM’s league, no matter what you do. </p> -<p>Now a lot of companies tell their employees, “Get us patents so we can -defend ourselves” and they mean, “use them to try to get -cross-licensing,” but it just doesn’t work well. It’s not an effective -strategy if you’ve got a small number of patents. +<p>Now a lot of companies tell their employees, “Get us patents so we can +defend ourselves” and they mean, “use them to try to get +cross-licensing,” but it just doesn’t work well. It’s not an effective +strategy if you’ve got a small number of patents. </p> -<p>Suppose you’ve got three patents. One points there, one points there, +<p>Suppose you’ve got three patents. One points there, one points there, and one points there, and somebody over there points a patent at you. -Well, your three patents don’t help you at all, because none of them +Well, your three patents don’t help you at all, because none of them points at him. On the other hand, sooner or later, somebody in the company is going to notice that this patent is actually pointing at some people, and [the company] could threaten them and squeeze money -out of them—never mind that those people didn’t attack this company. +out of them—never mind that those people didn’t attack this company. </p> -<p>So if your employer says to you, “We need some patents to defend -ourselves, so help us get patents,” I recommend this response: +<p>So if your employer says to you, “We need some patents to defend +ourselves, so help us get patents,” I recommend this response: </p> <blockquote class="smallquotation"> -<p>Boss, I trust you and I’m sure you would only use those patents to -defend the company if it’s attacked. But I don’t know who’s going to +<p>Boss, I trust you and I’m sure you would only use those patents to +defend the company if it’s attacked. But I don’t know who’s going to be the CEO of this company in five years. For all I know, it might get -acquired by Microsoft. So I really can’t trust the company’s word to +acquired by Microsoft. So I really can’t trust the company’s word to only use these patents for defense unless I get it in writing. Please put it in writing that any patents I provide for the company will only be used for self-defense and collective security, and not for -repression, and then I’ll be able to get patents for the company with +repression, and then I’ll be able to get patents for the company with a clean conscience. </p> </blockquote> <p>It would be most interesting to raise this not just in private with -your boss, but also on the company’s discussion list. +your boss, but also on the company’s discussion list. </p> <p>The other thing that could happen is that the company could fail and its assets could be auctioned off, including the patents; and the @@ -623,91 +605,91 @@ this is what punctures the argument of the software patent advocates who say that software patents are needed to protect the starving genius. They give you a scenario which is a series of unlikelihoods. </p> -<p>So let’s look at it. According to this scenario, there’s a brilliant -designer of whatever, who’s been working for years by himself in his +<p>So let’s look at it. According to this scenario, there’s a brilliant +designer of whatever, who’s been working for years by himself in his attic coming up with a better way to do whatever it is. And now that -it’s ready, he wants to start a business and mass-produce this thing; -and because his idea is so good his company will inevitably succeed— +it’s ready, he wants to start a business and mass-produce this thing; +and because his idea is so good his company will inevitably succeed— except for one thing: the big companies will compete with him and take all his market the away. And because of this, his business will almost certainly fail, and then he will starve. </p> -<p>Well, let’s look at all the unlikely assumptions here. +<p>Well, let’s look at all the unlikely assumptions here. </p> <p>First of all, that he comes up with this idea working by -himself. That’s not very likely. In a high-tech field, most progress +himself. That’s not very likely. In a high-tech field, most progress is made by people working in a field, doing things and talking with -people in the field. But I wouldn’t say it’s impossible, not that one +people in the field. But I wouldn’t say it’s impossible, not that one thing by itself. </p> -<p>But anyway the next supposition is that he’s going to start a business -and that it’s going to succeed. Well, just because he’s a brilliant -engineer doesn’t mean that he’s any good at running a business. Most +<p>But anyway the next supposition is that he’s going to start a business +and that it’s going to succeed. Well, just because he’s a brilliant +engineer doesn’t mean that he’s any good at running a business. Most new businesses fail; more than 95 percent of them, I think, fail within a few -years. So that’s probably what’s going to happen to him, no matter +years. So that’s probably what’s going to happen to him, no matter what. </p> -<p>Ok, let’s assume that in addition to being a brilliant engineer who -came up with something great by himself, he’s also talented at running +<p>Ok, let’s assume that in addition to being a brilliant engineer who +came up with something great by himself, he’s also talented at running businesses. If he has a knack for running businesses, then maybe his -business won’t fail. After all, not all new businesses fail, there are +business won’t fail. After all, not all new businesses fail, there are a certain few that succeed. Well, if he understands business, then instead of trying to go head to head with large companies, he might try to do things that small companies are better at and have a better -chance of succeeding. He might succeed. But let’s suppose it fails -anyway. If he’s so brilliant and has a knack for running businesses, -I’m sure he won’t starve, because somebody will want to give him a +chance of succeeding. He might succeed. But let’s suppose it fails +anyway. If he’s so brilliant and has a knack for running businesses, +I’m sure he won’t starve, because somebody will want to give him a job. </p> -<p>So a series of unlikelihoods—it’s not a very plausible scenario. But -let’s look at it anyway. +<p>So a series of unlikelihoods—it’s not a very plausible scenario. But +let’s look at it anyway. </p> <p>Because where they go from there is to say the patent system will -“protect” our starving genius, because he can get a patent on this +“protect” our starving genius, because he can get a patent on this technique. And then when IBM wants to compete with him, he says, -“IBM, you can’t compete with me, because I’ve got this patent,” and -IBM says, “Oh, no, not again!” +“IBM, you can’t compete with me, because I’ve got this patent,” and +IBM says, “Oh, no, not again!” </p> -<p>Well, here’s what really happens. +<p>Well, here’s what really happens. </p> -<p>IBM says, “Oh, how nice, you have a patent. Well, we have this patent, +<p>IBM says, “Oh, how nice, you have a patent. Well, we have this patent, and this patent, and this patent, and this patent, and this patent, all of which cover other ideas implemented in your product, and if you -think you can fight us on all those, we’ll pull out some more. So -let’s sign a cross-license agreement, and that way nobody will get -hurt.” Now since we’ve assumed that our genius understands business, -he’s going to realize that he has no choice. He’s going to sign the +think you can fight us on all those, we’ll pull out some more. So +let’s sign a cross-license agreement, and that way nobody will get +hurt.” Now since we’ve assumed that our genius understands business, +he’s going to realize that he has no choice. He’s going to sign the cross-license agreement, as just about everybody does when IBM demands -it. And then this means that IBM will get “access” to his patent, +it. And then this means that IBM will get “access” to his patent, meaning IBM would be free to compete with him just as if there were no patents, which means that the supposed benefit that they claim he -would get by having this patent is not real. He won’t get this +would get by having this patent is not real. He won’t get this benefit. </p> -<p>The patent might “protect” him from competition from you or me, but -not from IBM—not from the very megacorporations which the scenario -says are the threat to him. You know in advance that there’s got to +<p>The patent might “protect” him from competition from you or me, but +not from IBM—not from the very megacorporations which the scenario +says are the threat to him. You know in advance that there’s got to be a flaw in this reasoning when people who are lobbyists for -megacorporations recommend a policy supposedly because it’s going to +megacorporations recommend a policy supposedly because it’s going to protect their small competitors from them. If it really were going to -do that, they wouldn’t be in favor of it. But this explains why -[software patents] won’t do it. +do that, they wouldn’t be in favor of it. But this explains why +[software patents] won’t do it. </p> -<p>Even IBM can’t always do this, because there are companies that we +<p>Even IBM can’t always do this, because there are companies that we refer to as patent trolls or patent parasites, and their only business is using patents to squeeze money out of people who really make something. </p> -<p>Patent lawyers tell us that it’s really wonderful to have patents in -your field, but they don’t have patents in their field. +<p>Patent lawyers tell us that it’s really wonderful to have patents in +your field, but they don’t have patents in their field. There are no patents on how to send or write a threatening letter, no patents on how to file a lawsuit, and no patents on how to persuade a -judge or jury, so even IBM can’t make the patent trolls -cross-license. But IBM figures, “Our competition will have to pay them +judge or jury, so even IBM can’t make the patent trolls +cross-license. But IBM figures, “Our competition will have to pay them too; this is just part of the cost of doing business, and we can live -with it.” IBM and the other megacorporations figure that the general +with it.” IBM and the other megacorporations figure that the general dominion over all activity that they get from their patents is good -for them, and paying off the trolls they can live with. So that’s why +for them, and paying off the trolls they can live with. So that’s why they want software patents. <a name="index-IBM-1"></a> <a name="index-patents_002c-IBM-and-1"></a> @@ -715,37 +697,37 @@ they want software patents. <p>There are also certain software developers who find it particularly difficult to get a patent license, and those are the developers of free software. The reason is that the usual patent license has -conditions we can’t possibly fulfill, because usual patent licenses +conditions we can’t possibly fulfill, because usual patent licenses demand a payment per copy. But when software gives users the freedom to distribute and make more copies, we have no way to count the copies that exist. </p> <p>If someone offered me a patent license for a payment of one-millionth -of a dollar per copy, the total amount of money I’d have to pay maybe -is in my pocket now. Maybe it’s $50, but I don’t know if it’s -$50, or $49, or what, because there’s no way I can count the +of a dollar per copy, the total amount of money I’d have to pay maybe +is in my pocket now. Maybe it’s $50, but I don’t know if it’s +$50, or $49, or what, because there’s no way I can count the copies that people have made. </p> -<p>A patent holder doesn’t have to demand a payment per copy; a patent +<p>A patent holder doesn’t have to demand a payment per copy; a patent holder could offer you a license for a single lump sum, but those lump sums tend to be big, like US$100,000. </p> -<p>And the reason that we’ve been able to develop so much +<p>And the reason that we’ve been able to develop so much freedom-respecting software is [that] we can develop software without -money, but we can’t pay a lot of money without money. If we’re forced -to pay for the privilege of writing software for the public, we won’t +money, but we can’t pay a lot of money without money. If we’re forced +to pay for the privilege of writing software for the public, we won’t be able to do it very much. </p> -<p>That’s the possibility of getting a license for the patent. The other +<p>That’s the possibility of getting a license for the patent. The other possibility is to invalidate the patent. If the country considers software patents to be basically valid, and allowed, the only question -is whether that particular patent meets the criteria. It’s only -useful to go to court if you’ve got an argument to make that might +is whether that particular patent meets the criteria. It’s only +useful to go to court if you’ve got an argument to make that might prevail. </p> <p>What would that argument be? You have to find evidence that, years ago, before the patent was applied for, people knew about the same -idea. And you’d have to find things today that demonstrate that they +idea. And you’d have to find things today that demonstrate that they knew about it publicly at that time. So the dice were cast years ago, and if they came up favorably for you, and if you can prove that fact today, then you have an argument to use to try to invalidate the @@ -753,8 +735,8 @@ patent. And it might work. </p> <p>It might cost you a lot of money to go through this case, and as a result, a probably invalid patent is a very frightening weapon to be -threatened with if you don’t have a lot of money. There are people who -can’t afford to defend their rights—lots of them. The ones who can +threatened with if you don’t have a lot of money. There are people who +can’t afford to defend their rights—lots of them. The ones who can afford it are the exception. </p> <p>These are the three things that you might be able to do about each @@ -763,17 +745,17 @@ each one is possible depends on different details of the circumstances, so some of the time, none of them is possible; and when that happens, your project is dead. </p> -<p>But lawyers in most countries tell us, “Don’t try to find the patents -in advance,” and the reason is that the penalty for infringement is -bigger if you knew about the patent. So what they tell you is “Keep -your eyes shut. Don’t try to find out about the patents, just go -blindly taking your design decisions, and hope.” +<p>But lawyers in most countries tell us, “Don’t try to find the patents +in advance,” and the reason is that the penalty for infringement is +bigger if you knew about the patent. So what they tell you is “Keep +your eyes shut. Don’t try to find out about the patents, just go +blindly taking your design decisions, and hope.” </p> -<p>And of course, with each single design decision, you probably don’t +<p>And of course, with each single design decision, you probably don’t step on a patent. Probably nothing happens to you. But there are so many -steps you have to take to get across the minefield, it’s very unlikely -you will get through safely. And of course, the patent holders don’t -all show up at the same time, so you don’t know how many there are +steps you have to take to get across the minefield, it’s very unlikely +you will get through safely. And of course, the patent holders don’t +all show up at the same time, so you don’t know how many there are going to be. </p> <p>The patent holder of the natural order recalculation patent was @@ -786,159 +768,156 @@ along? <p>People in business say that this scenario is amusing but absurd, because your business would fail long before you got there. They told me that two or three such licenses would make your business fail. So -you’d never get to 20. They show up one by one, so you never know how +you’d never get to 20. They show up one by one, so you never know how many more there are going to be. </p> -<p>Software patents are a mess. They’re a mess for software developers, -but in addition they’re a restriction on every computer user because +<p>Software patents are a mess. They’re a mess for software developers, +but in addition they’re a restriction on every computer user because software patents restrict what you can do on your computer. </p> <p>This is very different from patents, for instance, on automobile -engines. These only restrict companies that make cars; they don’t +engines. These only restrict companies that make cars; they don’t restrict you and me. But software patents do restrict you and me, and -everybody who uses computers. So we can’t think of them in purely -economic terms; we can’t judge this issue purely in economic -terms. There’s something more important at stake. +everybody who uses computers. So we can’t think of them in purely +economic terms; we can’t judge this issue purely in economic +terms. There’s something more important at stake. </p> <a name="index-patents_002c-economically-self_002ddefeating"></a> <p>But even in economic terms, the system is self-defeating, because its purpose is supposed to be to promote progress. Supposedly by creating -this artificial incentive for people to publish ideas, it’s going to +this artificial incentive for people to publish ideas, it’s going to help the field progress. But all it does is the exact opposite, -because the big job in software is not coming up with ideas, it’s +because the big job in software is not coming up with ideas, it’s implementing thousands of ideas together in one program. And software -patents obstruct that, so they’re economically self-defeating. +patents obstruct that, so they’re economically self-defeating. </p> -<p>And there’s even economic research showing that this is so—showing +<p>And there’s even economic research showing that this is so—showing how in a field with a lot of incremental innovation, a patent system can actually reduce investment in R & D. And of course, it also obstructs development in other ways. So even if we ignore the injustice of software patents, even if we were to look at it in the -narrow economic terms that are usually proposed, it’s still harmful. +narrow economic terms that are usually proposed, it’s still harmful. </p> -<p>People sometimes respond by saying that “People in other fields have -been living with patents for decades, and they’ve gotten used to it, -so why should you be an exception?” +<p>People sometimes respond by saying that “People in other fields have +been living with patents for decades, and they’ve gotten used to it, +so why should you be an exception?” </p> -<p>Now, that question has an absurd assumption. It’s like saying, “Other -people get cancer, why shouldn’t you?” I think every time someone -doesn’t get cancer, that’s good, regardless of what happened to the +<p>Now, that question has an absurd assumption. It’s like saying, “Other +people get cancer, why shouldn’t you?” I think every time someone +doesn’t get cancer, that’s good, regardless of what happened to the others. That question is absurd because of its presupposition that somehow we all have a duty to suffer the harm done by patents. </p> <p>But there is a sensible question buried inside it, and that sensible -question is “What differences are there between various fields that -might affect what is good or bad patent policy in those fields?” +question is “What differences are there between various fields that +might affect what is good or bad patent policy in those fields?” </p> <p>There is an important basic difference between fields in regard to how many patents are likely to prohibit or cover parts of any one product. </p> -<p>Now we have a naive idea in our minds which I’m trying to get rid of, -because it’s not true. And it’s that on any one product there is one +<p>Now we have a naive idea in our minds which I’m trying to get rid of, +because it’s not true. And it’s that on any one product there is one patent, and that patent covers the overall design of that product. So -if you design a new product, it can’t be patented already, and you -will have an opportunity to get “the patent” on that product. +if you design a new product, it can’t be patented already, and you +will have an opportunity to get “the patent” on that product. </p> -<p>That’s not how things work. In the 1800s, maybe they did, but not +<p>That’s not how things work. In the 1800s, maybe they did, but not now. In fact, fields fall on a spectrum of how many patents [there are] per product. The beginning of the spectrum is one, but no field is like that today; fields are at various places on this spectrum. </p> -<p>The field that’s closest to that is pharmaceuticals. A few decades +<p>The field that’s closest to that is pharmaceuticals. A few decades ago, there really was one patent per pharmaceutical, at least at any time, because the patent covered the entire chemical formula of that one particular substance. Back then, if you developed a new drug, you -could be sure it wasn’t already patented by somebody else and you +could be sure it wasn’t already patented by somebody else and you could get the one patent on that drug. </p> -<p>But that’s not how it works now. Now there are broader patents, so -now you could develop a new drug, and you’re not allowed to make it +<p>But that’s not how it works now. Now there are broader patents, so +now you could develop a new drug, and you’re not allowed to make it because somebody has a broader patent which covers it already. </p> <p>And there might even be a few such patents covering your new drug -simultaneously, but there won’t be hundreds. The reason is, our +simultaneously, but there won’t be hundreds. The reason is, our ability to do biochemical engineering is so limited that nobody knows -how to combine so many ideas to make something that’s useful in -medicine. If you can combine a couple of them you’re doing pretty +how to combine so many ideas to make something that’s useful in +medicine. If you can combine a couple of them you’re doing pretty well at our level of knowledge. But other fields involve combining more ideas to make one thing. </p> <p>At the other end of the spectrum is software, where we can combine more ideas into one usable design than anybody else, because our field -is basically easier than all other fields. I’m presuming that the +is basically easier than all other fields. I’m presuming that the intelligence of people in our field is the same as that of people in -physical engineering. It’s not that we’re fundamentally better than -they are; it’s that our field is fundamentally easier, because we’re +physical engineering. It’s not that we’re fundamentally better than +they are; it’s that our field is fundamentally easier, because we’re working with mathematics. </p> <p>A program is made out of mathematical components, which have a -definition, whereas physical objects don’t have a definition. The +definition, whereas physical objects don’t have a definition. The matter does what it does, so through the perversity of matter, your -design may not work the way it “should” have worked. And that’s just -tough. You can’t say that the matter has a bug in it, and the +design may not work the way it “should” have worked. And that’s just +tough. You can’t say that the matter has a bug in it, and the physical universe should get fixed. [Whereas] we [programmers] can make a castle that rests on a mathematically thin line, and it stays up because nothing weighs anything. </p> -<p>There’re so many complications you have to cope with in physical -engineering that we don’t have to worry about. +<p>There’re so many complications you have to cope with in physical +engineering that we don’t have to worry about. </p> <p>For instance, when I put an <code>if</code>-statement inside of a <code>while</code>-loop, </p> -<ul> -<li> -I don’t have to worry that if this <code>while</code>-loop repeats at the wrong +<ul><li> +I don’t have to worry that if this <code>while</code>-loop repeats at the wrong rate, the <code>if</code>-statement might start to vibrate and it might resonate and crack; </li><li> -I don’t have to worry that if it resonates much faster—you know, - millions of times per second—that it might generate radio frequency +I don’t have to worry that if it resonates much faster—you know, + millions of times per second—that it might generate radio frequency signals that might induce wrong values in other parts of the program; </li><li> -I don’t have to worry that corrosive fluids from the environment +I don’t have to worry that corrosive fluids from the environment might seep in between the <code>if</code>-statement and the <code>while</code>-statement and - start eating away at them until the signals don’t pass anymore; + start eating away at them until the signals don’t pass anymore; </li><li> -I don’t have to worry about how the heat generated by my +I don’t have to worry about how the heat generated by my <code>if</code>-statement is going to get out through the <code>while</code>-statement so that - it doesn’t make the <code>if</code>-statement burn out; and + it doesn’t make the <code>if</code>-statement burn out; and </li><li> -I don’t have to worry about how I would take out the broken +I don’t have to worry about how I would take out the broken <code>if</code>-statement if it does crack, burn, or corrode, and replace it with another <code>if</code>-statement to make the program run again. -</li></ul> - -<p>For that matter, I don’t have to worry about how I’m going to insert +</li></ul><p>For that matter, I don’t have to worry about how I’m going to insert the <code>if</code>-statement inside the <code>while</code>-statement every time I produce a -copy of the program. I don’t have to design a factory to make copies +copy of the program. I don’t have to design a factory to make copies of my program, because there are various general commands that will make copies of anything. </p> <p>If I want to make copies on CD, I just have to write a master; and -there’s one program I can [use to] make a master out of anything, +there’s one program I can [use to] make a master out of anything, write any data I want. I can make a master CD and write it and send -it off to a factory, and they’ll duplicate whatever I send them. I -don’t have to design a different factory for each thing I want to +it off to a factory, and they’ll duplicate whatever I send them. I +don’t have to design a different factory for each thing I want to duplicate. </p> <p>Very often with physical engineering you have to do that; you have to design products for manufacturability. Designing the factory may even be a bigger job than designing the product, and then you may have to spend millions of dollars to build the factory. So with all of this -trouble, you’re not going to be able to put together so many different +trouble, you’re not going to be able to put together so many different ideas in one product and have it work. </p> <p>A physical design with a million nonrepeating different design elements is a gigantic project. A program with a million different -design elements, that’s nothing. It’s a few hundred thousand lines of -code, and a few people will write that in a few years, so it’s not a +design elements, that’s nothing. It’s a few hundred thousand lines of +code, and a few people will write that in a few years, so it’s not a big deal. So the result is that the patent system weighs proportionately heavier on us than it does on people in any other field who are being held back by the perversity of matter. @@ -961,7 +940,7 @@ trying to figure it out would be a gigantic task. <p>Now this lawyer did not publish the list of patents, because that would have endangered the developers of Linux the kernel, putting them in a position where the penalties if they were sued would be -greater. He didn’t want to hurt them; he wanted to demonstrate how bad +greater. He didn’t want to hurt them; he wanted to demonstrate how bad this problem is, of patent gridlock. <a name="index-Linux-kernel-4"></a> <a name="index-kernel_002c-Linux-4"></a> @@ -970,36 +949,36 @@ this problem is, of patent gridlock. <a name="index-patents_002c-difference-between-copyrights-and-1"></a> <a name="index-copyright_002c-difference-between-patents-and"></a> <p>Programmers can understand this immediately, but politicians usually -don’t know much about programming; they usually imagine that patents +don’t know much about programming; they usually imagine that patents are basically much like copyrights, only somehow stronger. They imagine that since software developers are not endangered by the -copyrights on their work, that they won’t be endangered by the patents +copyrights on their work, that they won’t be endangered by the patents on their work either. They imagine that, since when you write a program you have the copyright, [therefore likewise] if you write a -program you have the patents also. This is false—so how do we give +program you have the patents also. This is false—so how do we give them a clue what patents would really do? What they really do in countries like the US? </p> -<p>I find it’s useful to make an analogy between software and -symphonies. Here’s why it’s a good analogy. +<p>I find it’s useful to make an analogy between software and +symphonies. Here’s why it’s a good analogy. </p> <p>A program or symphony combines many ideas. A symphony combines many -musical ideas. But you can’t just pick a bunch of ideas and say -“Here’s my combination of ideas, do you like it?” Because in order to -make them work you have to implement them all. You can’t just pick -musical ideas and list them and say, “Hey, how do you like this -combination?” You can’t hear that [list]. You have to write notes +musical ideas. But you can’t just pick a bunch of ideas and say +“Here’s my combination of ideas, do you like it?” Because in order to +make them work you have to implement them all. You can’t just pick +musical ideas and list them and say, “Hey, how do you like this +combination?” You can’t hear that [list]. You have to write notes which implement all these ideas together. </p> -<p>The hard task, the thing most of us wouldn’t be any good at, is +<p>The hard task, the thing most of us wouldn’t be any good at, is writing all these notes to make the whole thing sound good. Sure, lots -of us could pick musical ideas out of a list, but we wouldn’t know how +of us could pick musical ideas out of a list, but we wouldn’t know how to write a good-sounding symphony to implement those ideas. Only some -of us have that talent. That’s the thing that limits you. I could -probably invent a few musical ideas, but I wouldn’t know how to use +of us have that talent. That’s the thing that limits you. I could +probably invent a few musical ideas, but I wouldn’t know how to use them to any effect. </p> -<p>So imagine that it’s the 1700s, and the governments of Europe decide +<p>So imagine that it’s the 1700s, and the governments of Europe decide that they want to promote the progress of symphonic music by establishing a system of musical idea patents, so that any musical idea described in words could be patented. @@ -1012,24 +991,24 @@ patented. Any sort of musical idea that could be described in words would have been patentable. </p> <a name="index-Beethoven_002c-Ludwig-van"></a> -<p>Now imagine that it’s 1800 and you’re Beethoven, and you want to write -a symphony. You’re going to find it’s much harder to write a symphony -you don’t get sued for than to write one that sounds good, because you +<p>Now imagine that it’s 1800 and you’re Beethoven, and you want to write +a symphony. You’re going to find it’s much harder to write a symphony +you don’t get sued for than to write one that sounds good, because you have to thread your way around all the patents that exist. If you -complained about this, the patent holders would say, “Oh, Beethoven, -you’re just jealous because we had these ideas first. Why don’t you go -and think of some ideas of your own?” +complained about this, the patent holders would say, “Oh, Beethoven, +you’re just jealous because we had these ideas first. Why don’t you go +and think of some ideas of your own?” </p> -<p>Now Beethoven had ideas of his own. The reason he’s considered a great +<p>Now Beethoven had ideas of his own. The reason he’s considered a great composer is because of all of the new ideas that he had, and he actually used. And he knew how to use them in such a way that they would work, which was to combine them with lots of well-known ideas. He could put a few new ideas into a composition together with a lot of old and uncontroversial ideas. And the result was a piece that -was controversial, but not so much so that people couldn’t get used to +was controversial, but not so much so that people couldn’t get used to it. </p> -<p>To us, Beethoven’s music doesn’t sound controversial; I’m told it was, +<p>To us, Beethoven’s music doesn’t sound controversial; I’m told it was, when it was new. But because he combined his new ideas with a lot of known ideas, he was able to give people a chance to stretch a certain amount. And they could, which is why to us those ideas sound just @@ -1045,7 +1024,7 @@ a situation where what was done 20 years ago is totally inadequate. Twenty years ago there was no World Wide Web. So, sure, people did a lot of things with computers back then, but what they want to do today are things that work with the World Wide Web. And you -can’t do that using only the ideas that were known 20 years ago. And I +can’t do that using only the ideas that were known 20 years ago. And I presume that the technological context will continue to change, creating fresh opportunities for somebody to get patents that give the shaft to the whole field. @@ -1062,21 +1041,19 @@ International Standards Organization, which they did. But they designed it using something that Microsoft had patented. Microsoft is big enough that it can start with a patent, design a format or protocol to use that -patented idea (whether it’s helpful or not), in such a way that there’s +patented idea (whether it’s helpful or not), in such a way that there’s no way to be compatible unless you use that same idea too. And then Microsoft can make that a de facto standard with or without help from corrupted standards bodies. Just by its weight it can push people into using that format, and that basically means that they get a stranglehold over the whole world. So we need to show the politicians -what’s really going on here. We need to show them why this is bad. +what’s really going on here. We need to show them why this is bad. </p> -<p>Now I’ve heard it said that the reason +<p>Now I’ve heard it said that the reason <a name="index-New-Zealand"></a> New Zealand is considering software patents is that one large company wants to be given some monopolies. To restrict everyone in the country so that one company will make more money is the absolute opposite of statesmanship. <a name="index-development_002c-patents-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_26.html b/examples/blog/articles/scrap1_26.html index dbaa5217..df7e90ac 100644 --- a/src/frontend_blog/articles/scrap1_26.html +++ b/examples/blog/articles/scrap1_26.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.: 26. Microsoft's New Monopoly</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.: 26. Microsoft's New Monopoly"> -<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.: 26. Microsoft's New Monopoly</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.: 26. Microsoft's New Monopoly"><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,17 +43,11 @@ 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="New-Monopoly"></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="Microsoft_0027s-New-Monopoly"></a> -<h1 class="chapter"> 26. Microsoft’s New Monopoly </h1> +<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="Microsoft_0027s-New-Monopoly"></a> +<h1 class="chapter"> 26. Microsoft’s New Monopoly </h1> <a name="index-patents_002c-historical-significance-of-OOXML-patent-problem-_0028see-also-Microsoft_0029"></a> <a name="index-patents_002c-Microsoft-monopoly"></a> @@ -75,22 +57,21 @@ ul.toc {list-style: none} <p>This article was written in July 2005. Microsoft adopted a different policy in 2006, so the specific policies described below and the specific criticisms of them are only of historical significance. The -overall problem remains, however: Microsoft’s cunningly worded new +overall problem remains, however: Microsoft’s cunningly worded new policy (see <a href="http://grokdoc.net/index.php/EOOXML_objections#Patent_rights_to_implement_the_Ecma_376_specification_have_not_been_granted">http://grokdoc.net/index.php/EOOXML_objections#Patent_rights_to_implement_the_Ecma_376_specification_have_not_been_granted</a>) -does not give anyone clear permission to implement OOXML.<br> -</p> +does not give anyone clear permission to implement OOXML.<br></p> </blockquote> <p>European legislators who endorse software patents frequently claim -that those wouldn’t affect free software (or “open -source”). Microsoft’s lawyers are determined to prove they are +that those wouldn’t affect free software (or “open +source”). Microsoft’s lawyers are determined to prove they are mistaken. </p> <p>Leaked internal documents in 1998 said that Microsoft considered the free software GNU/Linux operating system (referred to therein as <a name="index-_0060_0060Linux_002c_0027_0027-erroneous-use-of-term-_0028see-also-open-source_0029-4"></a> -“Linux”) as the principal competitor to +“Linux”) as the principal competitor to <a name="index-Windows-2"></a> Windows, and spoke of using patents and secret file formats to hold us back. @@ -125,7 +106,7 @@ AbiWord and <a name="index-OpenOffice_002eorg-1"></a> OpenOffice.org experimented assiduously for years to figure out the format, and now those programs can read most Word -files. But Microsoft isn’t licked yet. +files. But Microsoft isn’t licked yet. </p> <p>The next version of Microsoft Word will use formats that involve a technique that Microsoft claims to hold a patent on. Microsoft offers @@ -142,11 +123,11 @@ exercise freedoms 1 and 3, but all users can exercise freedoms 0 and 2, and all users benefit from the modifications that programmers write and publish. </p> -<p>Distributing an application under Microsoft’s patent license +<p>Distributing an application under Microsoft’s patent license imposes license terms that prohibit most possible modifications of the software. Lacking freedom 3, the freedom to publish modified versions, -it would not be free software. (I think it could not be “open -source” software either, since that definition is similar; but +it would not be free software. (I think it could not be “open +source” software either, since that definition is similar; but it is not identical, and I cannot speak for the advocates of open source.) </p> @@ -156,13 +137,13 @@ statement. That requirement would not in itself prevent the program from being free: it is normal for free software to carry license notices that cannot be changed, and this statement could be included in one of them. The statement is biased and confusing, since it uses -the term “intellectual property”; fortunately, +the term “intellectual property”; fortunately, one is not required to endorse the statement as true or even meaningful, only to include it. The software developer could cancel its misleading effect -with a disclaimer like this: “The following misleading statement +with a disclaimer like this: “The following misleading statement has been imposed on us by Microsoft; please be advised that it is propaganda. See <a href="http://gnu.org/philosophy/not-ipr.html">http://gnu.org/philosophy/not-ipr.html</a> for more -explanation.” +explanation.” </p> <p>However, the requirement to include a fixed piece of text is actually quite cunning, because anyone who does so has explicitly @@ -172,26 +153,26 @@ license. The resulting program is clearly not free software. <a name="index-Microsoft_002c-and-GPL"></a> <a name="index-GPL_002c-and-Microsoft-license"></a> <p>Some free software licenses, such as the most popular GNU General -Public License (GNU GPL), forbid publication of a modified version if it isn’t -free software in the same way. (We call that the “liberty or -death” clause, since it ensures the program will remain free or -die.) To apply Microsoft’s license to a program under the GNU GPL -would violate the program’s license; it would be illegal. Many other -free software licenses permit nonfree modified versions. It wouldn’t +Public License (GNU GPL), forbid publication of a modified version if it isn’t +free software in the same way. (We call that the “liberty or +death” clause, since it ensures the program will remain free or +die.) To apply Microsoft’s license to a program under the GNU GPL +would violate the program’s license; it would be illegal. Many other +free software licenses permit nonfree modified versions. It wouldn’t be illegal to modify such a program and publish the modified version -under Microsoft’s patent license. But that modified version, with its -modified license, wouldn’t be free software. +under Microsoft’s patent license. But that modified version, with its +modified license, wouldn’t be free software. </p> <a name="index-Word_002c-and-treacherous-computing-_0028see-also-treacherous-computing_0029-1"></a> -<p>Microsoft’s patent covering the new Word format is a US patent. -It doesn’t restrict anyone in Europe; Europeans are free to make +<p>Microsoft’s patent covering the new Word format is a US patent. +It doesn’t restrict anyone in Europe; Europeans are free to make and use software that can read this format. Europeans that develop or use software currently enjoy an advantage over Americans: Americans can be sued for patent infringement for their software activities in the US, but the Europeans cannot be sued for their activities in Europe. Europeans can already get US software patents and sue Americans, but Americans cannot get European software -patents if Europe doesn’t allow them. +patents if Europe doesn’t allow them. </p> <a name="index-European-Parliament-1"></a> <p>All that will change if the European Parliament authorizes @@ -217,5 +198,4 @@ to participate in the campaign against software patents in Europe. <a name="index-patents_002c-Microsoft-monopoly-1"></a> <a name="index-Microsoft_002c-monopoly-1"></a> </p> -</body> -</html> +</section></body></html> diff --git a/src/frontend_blog/articles/scrap1_27.html b/examples/blog/articles/scrap1_27.html index 2a74d180..14031073 100644 --- a/src/frontend_blog/articles/scrap1_27.html +++ b/examples/blog/articles/scrap1_27.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.: 27. Introduction to the Licenses</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.: 27. Introduction to the Licenses"> -<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.: 27. Introduction to the Licenses</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.: 27. Introduction to the Licenses"><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="Licenses-Introduction"></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="Introduction-to-the-Licenses"></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="Introduction-to-the-Licenses"></a> <h1 class="chapter"> 27. Introduction to the Licenses </h1> <a name="index-licenses-_0028see-also-Affero_002c-FDL_002c-GPL_002c-LGPL_002c-X11_002c-BSD_002c-XFree86_002c-and-lax-permissive-licenses_0029"></a> @@ -98,7 +80,7 @@ modify and redistribute the software. It granted these permissions under one key condition: whoever distributed the software must pass along the authorization to modify and redistribute that same software, along with the source code making it practical to do so. Stallman -coined the term “copyleft” (see “What Is Copyleft?”) +coined the term “copyleft” (see “What Is Copyleft?”) to describe this key twist of using the legal power of copyright to ensure freedom for all users. </p> @@ -106,7 +88,7 @@ power of copyright to ensure freedom for all users. related areas such as software documentation. In them, the principles of the free software movement, explained throughout the essays in this book, take practical form. Each of their successive revisions has had -to wrestle with free software’s legal and practical obstacles and +to wrestle with free software’s legal and practical obstacles and offers numerous illustrations of how free software ideals are codified into legal terms. </p> @@ -115,7 +97,7 @@ into legal terms. <a name="index-GPL_002c-introduction-to-2"></a> <p>The first version of the GNU General Public License was published in -1989—but Stallman had been releasing software under +1989—but Stallman had been releasing software under copyleft licenses as part of the GNU Project since as early as 1985. Prior to 1989, each published GNU program had been covered by a license specifically tailored for it. Instead of a single GNU General @@ -140,9 +122,9 @@ packages. He worked with Jerry Cohen, an attorney at <a name="index-Perkins-Smith-_0026-Cohen-LLP"></a> Perkins Smith -& Cohen LLP, to collect concepts from all the different licenses +& Cohen LLP, to collect concepts from all the different licenses written up to that point, and bring them together into one license. -It was thus that on 1 February 1989 the GNU General Public License +It was thus that on 1 February 1989 the GNU General Public License was born. </p> <p>The first version of the license sought to ensure two results: first, @@ -154,8 +136,8 @@ programs proprietary: with copyright, with end user license agreements, and by not distributing source code. </p> <p>In comparison to the program-specific licenses that had preceded it, -GPL version 1 featured few substantial changes—the GPL was -evolutionary, not revolutionary—but it made a big practical +GPL version 1 featured few substantial changes—the GPL was +evolutionary, not revolutionary—but it made a big practical difference. Previously, developers who had wanted to copyleft a program had needed to tailor one of the existing licenses to that program. Many had not bothered. With the release of the GPL, those @@ -164,7 +146,7 @@ of their users with freedom to share and change the software. It was a powerful tool. </p> <a name="Version-2"></a> -<h3 class="subheading"> Version 2 </h3> +<h3 class="subheading"> Version 2 </h3> <a name="index-patents_002c-GPL-version-2-and"></a> <a name="index-GPL_002c-introduction-to-3"></a> @@ -193,18 +175,18 @@ distributed it themselves. This power threatens free software because third parties with patents can impose restrictions on free software users and developers. </p> -<p>If patent holders don’t distribute or modify software, then a software -license based on copyright like the GPL can’t control their -activities: they haven’t done anything that requires permission under -the license. But the software license can stop each of the program’s +<p>If patent holders don’t distribute or modify software, then a software +license based on copyright like the GPL can’t control their +activities: they haven’t done anything that requires permission under +the license. But the software license can stop each of the program’s distributors from entering limiting agreements with the patent holder. -Enter GPL version 2: a new section in the license (sec. 7) +Enter GPL version 2: a new section in the license (sec. 7) explicitly says that if parties are subject to other legal -agreements—such as a patent license—that contradict the -GPL’s terms, then the licensee must refrain from distributing the +agreements—such as a patent license—that contradict the +GPL’s terms, then the licensee must refrain from distributing the software at all. As a result, any party that wants to distribute or modify the software, and also obtain a patent license, must ensure -that the terms of that license are consistent with all of the GPL’s +that the terms of that license are consistent with all of the GPL’s conditions: recipients of the software must receive it under the same terms, with no additional restrictions, and have the means to get the source code. @@ -218,7 +200,7 @@ corporation, has the exact same rights to share and change the software. Patent holders who do not distribute the software themselves and selectively issues patent licenses could potentially interfere with this goal, splitting licensees into different groups however they -see fit. Section 7 of GPL version 2 prevents this abuse. +see fit. Section 7 of GPL version 2 prevents this abuse. <a name="index-GPL_002c-introduction-to-4"></a> </p> <a name="The-LGPL"></a> @@ -246,11 +228,11 @@ gain nothing. would protect the freedom of the library itself, but not that of the programs that use it. This idea was implemented in a license originally called the GNU Library General Public License, first -published as version 2.0, in June 1991. The original LGPL stated -Conditions like the GPL’s—with an important exception: if -someone else’s program used the library only by referring to it as a -library, that program’s source could be distributed under license -terms of the author’s choosing. However, the executable made by +published as version 2.0, in June 1991. The original LGPL stated +Conditions like the GPL’s—with an important exception: if +someone else’s program used the library only by referring to it as a +library, that program’s source could be distributed under license +terms of the author’s choosing. However, the executable made by combining the program and the library had to come with a copy of the LGPL and source code for the library, and provide some mechanism for users who have modified the library to update the executable to use @@ -260,28 +242,28 @@ their modified library. advantage of the special set of conditions provided by LGPLv2? Think of a computer program as a series of instructions for doing a particular job: compiling or linking the program with a library -provides the programmer with a means to say, “When the program gets to +provides the programmer with a means to say, “When the program gets to this point, get further instructions from the library, and come back -here when those are done.” Libraries are commonly used in software +here when those are done.” Libraries are commonly used in software development because they make the effort less repetitive and less -error prone: programmers don’t have to reinvent the wheel—and -perhaps introduce bugs in the process—every time they want to +error prone: programmers don’t have to reinvent the wheel—and +perhaps introduce bugs in the process—every time they want to accomplish a particular task. Because libraries are so widely created and used, developers have the means to readily take advantage of the -LGPL’s additional permissions. +LGPL’s additional permissions. </p> -<p>Version 2.0 of the license worked as intended: in some situations, +<p>Version 2.0 of the license worked as intended: in some situations, proprietary software developers chose to use an LGPL-covered library over a proprietary alternative, and users received the freedom to -share and change that library. This did not produce an “ideal” -outcome—where the user had complete control over the entire -program—but in these cases the GPL would not have achieved that +share and change that library. This did not produce an “ideal” +outcome—where the user had complete control over the entire +program—but in these cases the GPL would not have achieved that ideal outcome either. The LGPL assured the users some freedom where they would have otherwise had none. </p> -<p>The name “Library GPL” led some free software developers to assume all +<p>The name “Library GPL” led some free software developers to assume all libraries ought on principle to be licensed this way, but that was not -the intent—when a free library has no proprietary competitor, +the intent—when a free library has no proprietary competitor, releasing it under the GNU GPL can benefit free software. To avoid this unintended message, Stallman renamed this license to the Lesser General Public License, and incremented the version number to 2.1 to @@ -289,7 +271,7 @@ reflect the relatively minor changes in the text: the license sported a new preamble, a few wording clarifications, and allowed programs to make their calls to the library through special system facilities for shared libraries where those are available. The Lesser General Public -License version 2.1 was released in February 1999. +License version 2.1 was released in February 1999. <a name="index-LGPL_002c-introduction-to-1"></a> <a name="index-libraries-_0028comp_002e_0029_002c-LGPL-and-2"></a> </p> @@ -301,15 +283,15 @@ License version 2.1 was released in February 1999. <p>At the turn of the century, free software was growing much faster than it had been previously; the documentation, however, was not keeping pace. Stallman was concerned about this failure and wrote about it in -“Free Software Needs Free Documentation”. +“Free Software Needs Free Documentation”. </p> <p>While there are some similarities between software and -documentation—they are both works that are meant for practical -use—there are important differences in the ways they can be +documentation—they are both works that are meant for practical +use—there are important differences in the ways they can be used. The GPL and the LGPL were not suitable for manuals. </p> <p>For some time, GNU packages had been using an untitled, simple, ad hoc -copyleft license for each manual. Since each manual’s license was +copyleft license for each manual. Since each manual’s license was different, text could not be copied from one manual to another. So Stallman wrote the GNU Free Documentation License, a copyleft license designed primarily for software documentation and other practical @@ -319,11 +301,11 @@ written works. copyleft remain the same: everyone who receives a copy of the work should be able to modify and redistribute it. Where the FDL differs from the software licenses is in the details of its implementation: -conditions about how to attribute the work and provide “source -code”—an editable version of the document—are different. +conditions about how to attribute the work and provide “source +code”—an editable version of the document—are different. </p> <a name="Version-3"></a> -<h3 class="subheading"> Version 3 </h3> +<h3 class="subheading"> Version 3 </h3> <a name="index-GPL_002c-introduction-to-5"></a> <p>During the 1990s, as free software became more popular, the GPL @@ -344,23 +326,22 @@ community studied issues raised by public comments and reported the various positions and arguments to Stallman, who decided what policy to adopt; then he wrote license text with advice and suggestions from the attorneys. The importance of the changes made are explained in -“Why Upgrade to GPLv3”. +“Why Upgrade to GPLv3”. <a name="index-Stallman_002c-Richard-5"></a> </p> <a name="index-patents_002c-GPL-version-3-and"></a> -<p>Version 3 used new terminology to promote uniform interpretations in +<p>Version 3 used new terminology to promote uniform interpretations in different jurisdictions, and modified some requirements to fit new practices in the free software community. Beyond that, it introduced several new conditions to strengthen the copyleft and thereby the free software community as a whole. For instance, it </p> -<ul> -<li> +<ul><li> <a name="index-copyleft_002c-modified-versions-3"></a> blocked distributors from restricting users by building hardware - that rejects the users’ modified versions + that rejects the users’ modified versions <a name="index-tivoization-1"></a> -(“tivoization”); +(“tivoization”); </li><li> allowed code to carry limited additional requirements, for @@ -371,16 +352,12 @@ software community as a whole. For instance, it handle patent cross-licenses, which are common arrangements between large patent-holding companies. -</li></ul> - -<p>Both GPLv3 and LGPLv3 included terms to address all of these issues, -and were finally released on 29 June 2007. These licenses are the +</li></ul><p>Both GPLv3 and LGPLv3 included terms to address all of these issues, +and were finally released on 29 June 2007. These licenses are the state of the art in copyleft, going farther than any other software -license to protect users’ freedom and bring about a world in harmony +license to protect users’ freedom and bring about a world in harmony with the ideals expressed in this book. </p> <p>@endgroup <a name="index-copyleft-_0028see-also-copyright_0029-8"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_28.html b/examples/blog/articles/scrap1_28.html index 9a74241e..3d95adc9 100644 --- a/src/frontend_blog/articles/scrap1_28.html +++ b/examples/blog/articles/scrap1_28.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.: 28. The GNU General Public License</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.: 28. The GNU General Public License"> -<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.: 28. The GNU General Public License</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.: 28. The GNU General Public License"><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="GPL"></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-GNU-General-Public-License"></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-GNU-General-Public-License"></a> <h1 class="chapter"> 28. The GNU General Public License </h1> <a name="index-GNU_002c-GNU-General-Public-License-_0028GPL_0029-_0028see-also-GPL_0029"></a> @@ -73,13 +55,11 @@ ul.toc {list-style: none} <p align="center"> Version 3, 29 June 2007 </p> -<table><tr><td> </td><td><pre class="display">Copyright © 2007 Free Software Foundation, Inc. <a href="http://fsf.org/">http://fsf.org/</a> +<table><tr><td> </td><td><pre class="display">Copyright © 2007 Free Software Foundation, Inc. <a href="http://fsf.org/">http://fsf.org/</a> 51 Franklin St., Floor 5, Boston, MA 02110-1335, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -</pre></td></tr></table> - -<a name="Preamble"></a> +</pre></td></tr></table><a name="Preamble"></a> <h2 class="heading"> Preamble </h2> <a name="index-copyleft_002c-and-GPL-1"></a> @@ -89,7 +69,7 @@ software and other kinds of works. <p>The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom -to share and change all versions of a program—to make sure it remains +to share and change all versions of a program—to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You @@ -118,16 +98,16 @@ terms so they know their rights. (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. </p> -<p>For the developers’ and authors’ protection, the GPL clearly explains -that there is no warranty for this free software. For both users’ and -authors’ sake, the GPL requires that modified versions be marked as +<p>For the developers’ and authors’ protection, the GPL clearly explains +that there is no warranty for this free software. For both users’ and +authors’ sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. </p> <p>Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the -aim of protecting users’ freedom to change the software. The +aim of protecting users’ freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the @@ -150,39 +130,38 @@ modification follow. <a name="TERMS-AND-CONDITIONS"></a> <h2 class="heading"> TERMS AND CONDITIONS </h2> -<ol> -<li> <strong>Definitions.</strong> +<ol><li> <strong>Definitions.</strong> -<p>“This License” refers to version 3 of the GNU General Public License. +<p>“This License” refers to version 3 of the GNU General Public License. </p> -<p>“Copyright” also means copyright-like laws that apply to other kinds +<p>“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. </p> -<p>“The Program” refers to any copyrightable work licensed under this -License. Each licensee is addressed as “you”. “Licensees” and -“recipients” may be individuals or organizations. +<p>“The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations. </p> -<p>To “modify” a work means to copy from or adapt all or part of the work +<p>To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of -an exact copy. The resulting work is called a “modified version” of -the earlier work or a work “based on” the earlier work. +an exact copy. The resulting work is called a “modified version” of +the earlier work or a work “based on” the earlier work. </p> -<p>A “covered work” means either the unmodified Program or a work based +<p>A “covered work” means either the unmodified Program or a work based on the Program. </p> -<p>To “propagate” a work means to do anything with it that, without +<p>To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. </p> -<p>To “convey” a work means any kind of propagation that enables other +<p>To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. </p> -<p>An interactive user interface displays “Appropriate Legal Notices” to +<p>An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the @@ -193,30 +172,30 @@ menu, a prominent item in the list meets this criterion. </p> </li><li> <strong>Source Code.</strong> -<p>The “source code” for a work means the preferred form of the work for -making modifications to it. “Object code” means any non-source form +<p>The “source code” for a work means the preferred form of the work for +making modifications to it. “Object code” means any non-source form of a work. </p> -<p>A “Standard Interface” means an interface that either is an official +<p>A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. </p> -<p>The “System Libraries” of an executable work include anything, other +<p>The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A -“Major Component”, in this context, means a major essential component +“Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. </p> -<p>The “Corresponding Source” for a work in object code form means all +<p>The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work’s +control those activities. However, it does not include the work’s System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source @@ -259,7 +238,7 @@ copyrighted material outside their relationship with you. conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. </p> -</li><li> <strong>Protecting Users’ Legal Rights From Anti-Circumvention Law.</strong> +</li><li> <strong>Protecting Users’ Legal Rights From Anti-Circumvention Law.</strong> <p>No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article @@ -272,12 +251,12 @@ circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against -the work’s users, your or third parties’ legal rights to forbid +the work’s users, your or third parties’ legal rights to forbid circumvention of technological measures. </p> </li><li> <strong>Conveying Verbatim Copies.</strong> -<p>You may convey verbatim copies of the Program’s source code as you +<p>You may convey verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any @@ -296,16 +275,15 @@ produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: </p> -<ol> -<li> +<ol><li> The work must carry prominent notices stating that you modified it, and giving a relevant date. </li><li> The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This -requirement modifies the requirement in section 4 to “keep intact all -notices”. +requirement modifies the requirement in section 4 to “keep intact all +notices”. </li><li> You must license the entire work, as a whole, under this License to @@ -321,14 +299,12 @@ If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. -</li></ol> - -<p>A compilation of a covered work with other separate and independent +</li></ol><p>A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an -“aggregate” if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation’s users +“aggregate” if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation’s users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. @@ -341,8 +317,7 @@ sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: </p> -<ol> -<li> +<ol><li> Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily @@ -388,19 +363,17 @@ inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. -</li></ol> - -<p>A separable portion of the object code, whose source code is excluded +</li></ol><p>A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. </p> -<p>A “User Product” is either (1) a “consumer product”, which means any +<p>A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, -“normally used” refers to a typical or common use of that class of +“normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of @@ -408,7 +381,7 @@ whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. </p> -<p>“Installation Information” for a User Product means any methods, +<p>“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The @@ -444,7 +417,7 @@ unpacking, reading or copying. </p> </li><li> <strong>Additional Terms.</strong> -<p>“Additional permissions” are terms that supplement the terms of this +<p>“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent @@ -464,8 +437,7 @@ for which you have or can give appropriate copyright permission. add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: </p> -<ol> -<li> +<ol><li> Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or @@ -494,10 +466,8 @@ anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. -</li></ol> - -<p>All other non-permissive additional terms are considered “further -restrictions” within the meaning of section 10. If the Program as you +</li></ol><p>All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains @@ -562,12 +532,12 @@ receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. </p> -<p>An “entity transaction” is a transaction transferring control of an +<p>An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever -licenses to the work the party’s predecessor in interest had or could +licenses to the work the party’s predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. @@ -584,29 +554,29 @@ sale, or importing the Program or any portion of it. <a name="index-GPL_002c-patent-license"></a> <a name="index-patents_002c-GPL-version-3-and-2"></a> -<p>A “contributor” is a copyright holder who authorizes use under this +<p>A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor’s “contributor version”. +work thus licensed is called the contributor’s “contributor version”. </p> -<p>A contributor’s “essential patent claims” are all patent claims owned +<p>A contributor’s “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For -purposes of this definition, “control” includes the right to grant +purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. </p> <p>Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor’s essential patent claims, to +patent license under the contributor’s essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. </p> -<p>In the following three paragraphs, a “patent license” is any express +<p>In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to -sue for patent infringement). To “grant” such a patent license to a +sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. </p> @@ -618,9 +588,9 @@ then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent -license to downstream recipients. “Knowingly relying” means you have +license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient’s use of the covered work +covered work in a country, or your recipient’s use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. </p> @@ -632,7 +602,7 @@ or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. </p> -<p>A patent license is “discriminatory” if it does not include within the +<p>A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you @@ -653,7 +623,7 @@ otherwise be available to you under applicable patent law. <a name="index-GPL_002c-patent-license-1"></a> <a name="index-patents_002c-GPL-version-3-and-3"></a> </p> -</li><li> <strong>No Surrender of Others’ Freedom.</strong> +</li><li> <strong>No Surrender of Others’ Freedom.</strong> <a name="index-GPL_002c-use-with-GNU-Affero-General-Public-License"></a> <a name="index-Affero-General-Public-License-_0028AGPL_0029_002c-GNU"></a> @@ -689,7 +659,7 @@ differ in detail to address new problems or concerns. </p> <p>Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public -License “or any later version” applies to it, you have the option of +License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General @@ -697,7 +667,7 @@ Public License, you may choose any version ever published by the Free Software Foundation. </p> <p>If the Program specifies that a proxy can decide which future versions -of the GNU General Public License can be used, that proxy’s public +of the GNU General Public License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Program. </p> @@ -710,7 +680,7 @@ later version. <p>THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND @@ -739,9 +709,7 @@ an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. </p> -</li></ol> - -<a name="END-OF-TERMS-AND-CONDITIONS"></a> +</li></ol><a name="END-OF-TERMS-AND-CONDITIONS"></a> <h2 class="heading"> END OF TERMS AND CONDITIONS </h2> <a name="How-to-Apply-These-Terms-to-Your-New-Programs"></a> @@ -756,9 +724,9 @@ terms. <p>To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least -the “copyright” line and a pointer to where the full notice is found. +the “copyright” line and a pointer to where the full notice is found. </p> -<table><tr><td> </td><td><pre class="smallexample"><var>one line to give the program's name and a brief idea of what it does.</var> +<table><tr><td> </td><td><pre class="smallexample"><var>one line to give the program's name and a brief idea of what it does.</var> Copyright (C) <var>year</var> <var>name of author</var> This program is free software: you can redistribute it and/or modify @@ -773,27 +741,23 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. -</pre></td></tr></table> - -<p>Also add information on how to contact you by electronic and paper mail. +</pre></td></tr></table><p>Also add information on how to contact you by electronic and paper mail. </p> <p>If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: </p> -<table><tr><td> </td><td><pre class="smallexample"><var>program</var> Copyright (C) <var>year</var> <var>name of author</var> +<table><tr><td> </td><td><pre class="smallexample"><var>program</var> Copyright (C) <var>year</var> <var>name of author</var> This program comes with ABSOLUTELY NO WARRANTY; -for details type ‘<samp>show w</samp>’. This is free software, +for details type ‘<samp>show w</samp>’. This is free software, and you are welcome to redistribute it under -certain conditions; type ‘<samp>show c</samp>’ for details. -</pre></td></tr></table> - -<p>The hypothetical commands ‘<samp>show w</samp>’ and ‘<samp>show c</samp>’ should show +certain conditions; type ‘<samp>show c</samp>’ for details. +</pre></td></tr></table><p>The hypothetical commands ‘<samp>show w</samp>’ and ‘<samp>show c</samp>’ should show the appropriate parts of the General Public License. Of course, your -program’s commands might be different; for a GUI interface, you would -use an “about box”. +program’s commands might be different; for a GUI interface, you would +use an “about box”. </p> <p>You should also get your employer (if you work as a programmer) or school, -if any, to sign a “copyright disclaimer” for the program, if necessary. +if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. </p> @@ -806,6 +770,4 @@ first, please read <a href="http://www.gnu.org/philosophy/why-not-lgpl.html">htt <a name="index-General-Public-License-_0028GPL_0029_002c-GNU-_0028see-also-GPL_0029-1"></a> <a name="index-GPL-6"></a> <a name="index-GNU_002c-GNU-General-Public-License-_0028GPL_0029-_0028see-also-GPL_0029-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_29.html b/examples/blog/articles/scrap1_29.html index fc485fb9..91937ec9 100644 --- a/src/frontend_blog/articles/scrap1_29.html +++ b/examples/blog/articles/scrap1_29.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.: 29. Why Upgrade to GPLv3</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.: 29. Why Upgrade to GPLv3"> -<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.: 29. Why Upgrade to GPLv3</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.: 29. Why Upgrade to GPLv3"><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="Why-V3"></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="Why-Upgrade-to-GPLv3"></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="Why-Upgrade-to-GPLv3"></a> <h1 class="chapter"> 29. Why Upgrade to GPLv3 </h1> <a name="index-patents_002c-GPL-version-3-and-4"></a> @@ -75,17 +57,17 @@ ul.toc {list-style: none} <p>First of all, it is important to note that upgrading is a choice. GPL version 2 will remain a valid license, and no disaster will happen if some programs remain under GPLv2 while others advance to GPLv3. These -two licenses are incompatible, but that isn’t a fundamental problem. +two licenses are incompatible, but that isn’t a fundamental problem. </p> <a name="index-copyleft_002c-GPL-and-2"></a> <a name="index-GPL_002c-version-3_002c-compatibility"></a> <p>When we say that GPLv2 and GPLv3 are incompatible, it means there is no legal way to combine code under GPLv2 with code under GPLv3 in a single program. This is because both GPLv2 and GPLv3 are copyleft -licenses: each of them says, “If you include code under this license +licenses: each of them says, “If you include code under this license in a larger program, the larger program must be under this license -too.” There is no way to make them compatible. We could add a -GPLv2-compatibility clause to GPLv3, but it wouldn’t do the job, +too.” There is no way to make them compatible. We could add a +GPLv2-compatibility clause to GPLv3, but it wouldn’t do the job, because GPLv2 would need a similar clause. </p> <p>Fortunately, license incompatibility matters only when you want to @@ -97,7 +79,7 @@ instance, the TeX license and the <a name="index-Apache-License"></a> Apache license are incompatible with -GPLv2, but that doesn’t stop us from running TeX and +GPLv2, but that doesn’t stop us from running TeX and <a name="index-Apache"></a> Apache in the same system with Linux, @@ -109,28 +91,28 @@ GCC. This is because they are all separate programs. Likewise, if Bash and GCC move to GPLv3, while Linux remains under GPLv2, there is no conflict. </p> -<p>Keeping a program under GPLv2 won’t create problems. The reason to +<p>Keeping a program under GPLv2 won’t create problems. The reason to migrate is because of the existing problems that GPLv3 will address. </p> <a name="index-tivoization-2"></a> <p>One major danger that GPLv3 will block is tivoization. Tivoization -means certain “appliances” (which have computers inside) +means certain “appliances” (which have computers inside) contain <a name="index-GPL_002dcovered-software-_0028see-also-software_0029-3"></a> <a name="index-GPL_002c-GPL_002dcovered-software-_0028see-also-software_0029-3"></a> -GPL-covered software that you can’t effectively change, because the +GPL-covered software that you can’t effectively change, because the appliance shuts down if it detects modified software. The usual motive for tivoization is that the software has features the manufacturer knows people will want to change, and aims to stop people from changing them. The manufacturers of these computers take advantage of the freedom that free software -provides, but they don’t let you do likewise. +provides, but they don’t let you do likewise. </p> <p>Some argue that competition between appliances in a free market should suffice to keep nasty features to a low level. Perhaps competition -alone would avoid arbitrary, pointless misfeatures like “Must shut -down between 1pm and 5pm every Tuesday,” but even so, a choice of -masters isn’t freedom. Freedom means <em>you</em> control what your software +alone would avoid arbitrary, pointless misfeatures like “Must shut +down between 1pm and 5pm every Tuesday,” but even so, a choice of +masters isn’t freedom. Freedom means <em>you</em> control what your software does, not merely that you can beg or threaten someone else who decides for you. </p> @@ -138,19 +120,19 @@ for you. <a name="index-DRM_002c-GPL-version-3-and"></a> <a name="index-DRM_002c-call-it-_0060_0060Digital-Restrictions-Management_0027_0027-3"></a> <a name="index-DMCA_002c-GPL-version-3-and"></a> -Digital Restrictions Management (DRM)—nasty features +Digital Restrictions Management (DRM)—nasty features designed to restrict your use of the data in your -computer—competition is no help, because relevant competition is +computer—competition is no help, because relevant competition is forbidden. Under the Digital Millennium Copyright Act and similar laws, it is illegal, in the US and many other countries, to distribute DVD players unless they restrict the user according to the official rules of the DVD conspiracy (its web site is <a href="http://www.dvdcca.org/">http://www.dvdcca.org/</a>, -but the rules do not seem to be published there). The public can’t +but the rules do not seem to be published there). The public can’t reject DRM by buying non-DRM players because none are available. No matter how many products you can choose from, they all have equivalent digital handcuffs. </p> -<p>GPLv3 ensures you are free to remove the handcuffs. It doesn’t forbid +<p>GPLv3 ensures you are free to remove the handcuffs. It doesn’t forbid DRM, or any kind of feature. It places no limits on the substantive functionality you can add to a program, or remove from it. Rather, it makes sure that you are just as free to remove nasty features as the @@ -171,23 +153,23 @@ organizations. Novell-Microsoft pact. Microsoft wants to use its thousands of patents to make users pay Microsoft for the privilege of running GNU/Linux, and made this pact to try to achieve that. The deal offers -rather limited protection from Microsoft patents to Novell’s customers. +rather limited protection from Microsoft patents to Novell’s customers. </p> <p>Microsoft made a few mistakes in the Novell-Microsoft deal, and GPLv3 is designed to turn them against Microsoft, extending that limited patent protection to the whole community. In order to take advantage of this protection, programs need to use GPLv3. </p> -<p>Microsoft’s lawyers are not stupid, and next time they may manage to -avoid those mistakes. GPLv3 therefore says they don’t get a “next -time.” Releasing a program under GPL version 3 protects it from -Microsoft’s future attempts to make redistributors collect Microsoft -royalties from the program’s users. +<p>Microsoft’s lawyers are not stupid, and next time they may manage to +avoid those mistakes. GPLv3 therefore says they don’t get a “next +time.” Releasing a program under GPL version 3 protects it from +Microsoft’s future attempts to make redistributors collect Microsoft +royalties from the program’s users. </p> <p>GPLv3 also provides users with explicit patent protection from -the program’s contributors and redistributors. With GPLv2, users rely +the program’s contributors and redistributors. With GPLv2, users rely on an implicit patent license to make sure that the company which -provided them a copy won’t sue them, or the people they redistribute +provided them a copy won’t sue them, or the people they redistribute copies to, for patent infringement. </p> <p>The explicit patent license in GPLv3 does not go as far as we might @@ -207,7 +189,7 @@ already obstruct free software development. patents, and we aim to achieve this some day. But we cannot do this through a software license. Any program, free or not, can be killed by a software patent in the hands of an unrelated party, and the -program’s license cannot prevent that. Only court decisions or +program’s license cannot prevent that. Only court decisions or changes in patent law can make software development safe from patents. If we tried to do this with GPLv3, it would fail. </p> @@ -216,7 +198,7 @@ particular, we have tried to save free software from a fate worse than death: to be made effectively proprietary, through patents. The explicit patent license of GPLv3 makes sure companies that use the GPL to give users the four freedoms cannot turn around and use their -patents to tell some users, “That doesn’t include you.” +patents to tell some users, “That doesn’t include you.” It also stops them from colluding with other patent holders to do this. </p> <a name="index-BitTorrent"></a> @@ -226,12 +208,12 @@ termination, support for BitTorrent, and compatibility with the Apache license. All in all, plenty of reason to upgrade. </p> <p>Change is unlikely to cease once GPLv3 is released. If new threats to -users’ freedom develop, we will have to develop GPL version 4. It is +users’ freedom develop, we will have to develop GPL version 4. It is important to make sure that programs will have no trouble upgrading to GPLv4 if and when we write one. </p> -<p>One way to do this is to release a program under “GPL version 3 or any -later version.” Another way is for all the contributors to a program +<p>One way to do this is to release a program under “GPL version 3 or any +later version.” Another way is for all the contributors to a program to state a proxy who can decide on upgrading to future GPL versions. The third way is for all the contributors to assign copyright to one designated copyright holder, who will be in a position to upgrade the @@ -240,6 +222,4 @@ flexibility for future GPL versions. <a name="index-GPL_002c-version-3_002c-why-upgrade-to-1"></a> <a name="index-call-to-action_002c-upgrade-to-GPL-version-3-1"></a> <a name="index-patents_002c-GPL-version-3-and-5"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_3.html b/examples/blog/articles/scrap1_3.html index 6554c9ae..0009488d 100644 --- a/src/frontend_blog/articles/scrap1_3.html +++ b/examples/blog/articles/scrap1_3.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.: 3. The Initial Announcement of the GNU Operating System</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.: 3. The Initial Announcement of the GNU Operating System"> -<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.: 3. The Initial Announcement of the GNU Operating System</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.: 3. The Initial Announcement of the GNU Operating System"><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,20 +43,14 @@ 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="Initial-Announcement"></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-Initial-Announcement-of-the-GNU-Operating-System"></a> -<h1 class="chapter"> 3. The Initial Announcement of the GNU Operating System </h1> +<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-Initial-Announcement-of-the-GNU-Operating-System"></a> +<h1 class="chapter"> 3. The Initial Announcement of the GNU Operating System </h1> <p>This is the original announcement of the GNU Project, posted by -Richard Stallman on 27 September 1983. +Richard Stallman on 27 September 1983. </p> <p>The actual history of the GNU Project differs in many ways from this initial plan. For example, the beginning was delayed until @@ -93,11 +75,11 @@ Newsgroups: net.unix-wizards,net.usoft<br> Subject: new Unix implementation<br> Date: Tue, 27-Sep-83 12:35:59 EST<br> Organization: MIT AI Lab, Cambridge, MA -</p> +</tt></p> <p>Free Unix! </p> <p>Starting this Thanksgiving I am going to write a complete -Unix-compatible software system called GNU (for Gnu’s Not Unix), and +Unix-compatible software system called GNU (for Gnu’s Not Unix), and give it away free<a name="DOCF11" href="#FOOT11">(11)</a> to everyone who can use it. Contributions of time, money, programs and equipment are greatly needed. </p> @@ -124,7 +106,7 @@ filename completion perhaps, terminal-independent display support, and eventually a Lisp-based window system through which several Lisp programs and ordinary Unix programs can share a screen. Both C and Lisp will be available as system programming languages. We will have -network software based on MIT’s chaosnet protocol, far superior to +network software based on MIT’s chaosnet protocol, far superior to UUCP. We may also have something compatible with UUCP. </p> <p>Who Am I? @@ -163,7 +145,7 @@ is not free. <a name="index-development_002c-contributions-and-donations-1"></a> <a name="index-call-to-action_002c-initial-announcement"></a> <p>I am asking computer manufacturers for donations of machines and -money. I’m asking individuals for donations of programs and work. +money. I’m asking individuals for donations of programs and work. </p> <p>One computer manufacturer has already offered to provide a machine. But we could use more. One consequence you can expect if you @@ -182,7 +164,7 @@ contribution works with the rest of Unix, it will probably work with the rest of GNU. </p> <p>If I get donations of money, I may be able to hire a few people full -or part time. The salary won’t be high, but I’m looking for people for +or part time. The salary won’t be high, but I’m looking for people for whom knowing they are helping humanity is as important as money. I view this as a way of enabling dedicated people to devote their full energies to working on GNU by sparing them the need to make a living @@ -191,31 +173,28 @@ in another way. <p>For more information, contact me.<br> Arpanet mail:<br> - RMS@MIT-MC.ARPA + RMS@MIT-MC.ARPA </p> <p>Usenet:<br> - ...!mit-eddie!RMS@OZ - ...!mit-vax!RMS@OZ + ...!mit-eddie!RMS@OZ + ...!mit-vax!RMS@OZ <a name="index-MIT-2"></a> </p> <p>US Snail:<br> - Richard Stallman<br> - 166 Prospect St<br> - Cambridge, MA 02139 + Richard Stallman<br> + 166 Prospect St<br> + Cambridge, MA 02139 <a name="index-GNU_002c-initial-announcement-1"></a> <a name="index-MIT-3"></a> </p> -</tt> + <div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT11" href="#DOCF11">(11)</a></h3> <p>The wording here was careless. The intention was that nobody would have to pay for <em>permission</em> to -use the GNU system. But the words don’t make this clear, and people +use the GNU system. But the words don’t make this clear, and people often interpret them as saying that copies of GNU should always be distributed at little or no charge. That was never the intent. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_30.html b/examples/blog/articles/scrap1_30.html index b4160783..297b95ad 100644 --- a/src/frontend_blog/articles/scrap1_30.html +++ b/examples/blog/articles/scrap1_30.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.: 30. The GNU Lesser General Public License</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.: 30. The GNU Lesser General Public License"> -<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.: 30. The GNU Lesser General Public License</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.: 30. The GNU Lesser General Public License"><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="LGPL"></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-GNU-Lesser-General-Public-License"></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-GNU-Lesser-General-Public-License"></a> <h1 class="chapter"> 30. The GNU Lesser General Public License </h1> <a name="index-GNU_002c-GNU-Lesser-General-Public-License-_0028LGPL_0029-_0028see-also-LGPL_0029"></a> @@ -72,42 +54,39 @@ ul.toc {list-style: none} <a name="index-LGPL"></a> <p align="center"> Version 3, 29 June 2007 </p> -<table><tr><td> </td><td><pre class="display">Copyright © 2007 Free Software Foundation, Inc. <a href="http://fsf.org/">http://fsf.org/</a> +<table><tr><td> </td><td><pre class="display">Copyright © 2007 Free Software Foundation, Inc. <a href="http://fsf.org/">http://fsf.org/</a> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -</pre></td></tr></table> - -<p>This version of the GNU Lesser General Public License incorporates +</pre></td></tr></table><p>This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. </p> -<ol> -<li> <strong>Additional Definitions.</strong> +<ol><li> <strong>Additional Definitions.</strong> -<p>As used herein, “this License” refers to version 3 of the GNU Lesser -General Public License, and the “GNU GPL” refers to version 3 of the GNU +<p>As used herein, “this License” refers to version 3 of the GNU Lesser +General Public License, and the “GNU GPL” refers to version 3 of the GNU General Public License. </p> -<p>“The Library” refers to a covered work governed by this License, +<p>“The Library” refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. </p> -<p>An “Application” is any work that makes use of an interface provided +<p>An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. </p> -<p>A “Combined Work” is a work produced by combining or linking an +<p>A “Combined Work” is a work produced by combining or linking an Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the “Linked -Version”. +with which the Combined Work was made is also called the “Linked +Version”. </p> -<p>The “Minimal Corresponding Source” for a Combined Work means the +<p>The “Minimal Corresponding Source” for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. </p> -<p>The “Corresponding Application Code” for a Combined Work means the +<p>The “Corresponding Application Code” for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. @@ -126,8 +105,7 @@ that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: </p> -<ol> -<li> +<ol><li> under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs @@ -136,8 +114,7 @@ whatever part of its purpose remains meaningful, or </li><li> under the GNU GPL, with none of the additional permissions of this License applicable to that copy. -</li></ol> -<a name="index-copyleft_002c-modified-versions-7"></a> +</li></ol><a name="index-copyleft_002c-modified-versions-7"></a> </li><li> <strong>Object Code Incorporating Material from Library Header Files.</strong> @@ -148,17 +125,14 @@ material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: </p> -<ol> -<li> +<ol><li> Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. </li><li> Accompany the object code with a copy of the GNU GPL and this license document. -</li></ol> - -</li><li> <strong>Combined Works.</strong> +</li></ol></li><li> <strong>Combined Works.</strong> <p>You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the @@ -166,8 +140,7 @@ portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: </p> -<ol> -<li> +<ol><li> Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. @@ -182,8 +155,7 @@ copies of the GNU GPL and this license document. </li><li> Do one of the following: -<ol> -<li> +<ol><li> Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to @@ -194,13 +166,11 @@ Corresponding Source. </li><li> Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time -a copy of the Library already present on the user’s computer +a copy of the Library already present on the user’s computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. -</li></ol> - -</li><li> +</li></ol></li><li> Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is @@ -212,9 +182,7 @@ the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) -</li></ol> - -</li><li> <strong>Combined Libraries.</strong> +</li></ol></li><li> <strong>Combined Libraries.</strong> <p>You may place library facilities that are a work based on the Library side by side in a single library together with other library @@ -222,8 +190,7 @@ facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: </p> -<ol> -<li> +<ol><li> Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. @@ -231,9 +198,7 @@ conveyed under the terms of this License. Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. -</li></ol> - -</li><li> <strong>Revised Versions of the GNU Lesser General Public License.</strong> +</li></ol></li><li> <strong>Revised Versions of the GNU Lesser General Public License.</strong> <p>The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new @@ -242,7 +207,7 @@ differ in detail to address new problems or concerns. </p> <p>Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License “or any later version” +of the GNU Lesser General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you @@ -252,14 +217,11 @@ General Public License ever published by the Free Software Foundation. </p> <p>If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall -apply, that proxy’s public statement of acceptance of any version is +apply, that proxy’s public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. </p> -</li></ol> -<a name="index-Lesser-General-Public-License-_0028LGPL_0029_002c-GNU-_0028see-also-LGPL_0029-1"></a> +</li></ol><a name="index-Lesser-General-Public-License-_0028LGPL_0029_002c-GNU-_0028see-also-LGPL_0029-1"></a> <a name="index-LGPL-1"></a> <a name="index-GNU_002c-GNU-Lesser-General-Public-License-_0028LGPL_0029-_0028see-also-LGPL_0029-1"></a> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_31.html b/examples/blog/articles/scrap1_31.html index 6f324c42..781d9727 100644 --- a/src/frontend_blog/articles/scrap1_31.html +++ b/examples/blog/articles/scrap1_31.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.: 31. GNU Free Documentation License</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.: 31. GNU Free Documentation License"> -<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.: 31. GNU Free Documentation License</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.: 31. GNU Free Documentation License"><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,33 +43,24 @@ 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="FDL"></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="GNU-Free-Documentation-License"></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="GNU-Free-Documentation-License"></a> <h1 class="chapter"> 31. GNU Free Documentation License </h1> <a name="index-GNU_002c-GNU-Free-Documentation-License-_0028FDL_0029-_0028see-also-FDL_002c-manuals_002c-and-documentation_0029"></a> <a name="index-Free-Documentation-License-_0028FDL_0029_002c-GNU-_0028see-also-FDL_002c-manuals_002c-and-documentation_0029"></a> <a name="index-manuals-_0028see-also-manuals_002c-FDL_002c-and-documentation_0029-3"></a> <a name="index-FDL-_0028see-also-both-manuals-and-documentation_0029-2"></a> -<p align="center"> Version 1.3, 3 November 2008 +<p align="center"> Version 1.3, 3 November 2008 </p> -<table><tr><td> </td><td><pre class="display">Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +<table><tr><td> </td><td><pre class="display">Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <a href="http://fsf.org/">http://fsf.org/</a> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -</pre></td></tr></table> - -<ol> -<li> <strong>PREAMBLE</strong> +</pre></td></tr></table><ol><li> <strong>PREAMBLE</strong> <p>The purpose of this License is to make a manual, textbook, or other functional and useful document <em>free</em> in the sense of freedom: to @@ -92,7 +71,7 @@ to get credit for their work, while not being considered responsible for modifications made by others. </p> <a name="index-copyleft_002c-FDL-and"></a> -<p>This License is a kind of “copyleft”, which means that derivative +<p>This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. @@ -111,19 +90,19 @@ principally for works whose purpose is instruction or reference. contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The “Document”, below, +work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a -licensee, and is addressed as “you”. You accept the license if you +licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. </p> -<p>A “Modified Version” of the Document means any work containing the +<p>A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. </p> -<p>A “Secondary Section” is a named appendix or a front-matter section +<p>A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document’s overall +publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain @@ -132,7 +111,7 @@ connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. </p> -<p>The “Invariant Sections” are certain Secondary Sections whose titles +<p>The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not @@ -140,12 +119,12 @@ allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. </p> -<p>The “Cover Texts” are certain short passages of text that are listed, +<p>The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. </p> -<p>A “Transparent” copy of the Document means a machine-readable copy, +<p>A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of @@ -156,7 +135,7 @@ to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount -of text. A copy that is not “Transparent” is called “Opaque”. +of text. A copy that is not “Transparent” is called “Opaque”. </p> <a name="index-HTML"></a> <a name="index-ASCII"></a> @@ -182,23 +161,23 @@ not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. </p> -<p>The “Title Page” means, for a printed book, the title page itself, +<p>The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in -formats which do not have any title page as such, “Title Page” means -the text near the most prominent appearance of the work’s title, +formats which do not have any title page as such, “Title Page” means +the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text. </p> -<p>The “publisher” means any person or entity that distributes copies +<p>The “publisher” means any person or entity that distributes copies of the Document to the public. </p> -<p>A section “Entitled XYZ” means a named subunit of the Document whose +<p>A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as “Acknowledgements”, -“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” +specific section name mentioned below, such as “Acknowledgements”, +“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a -section “Entitled XYZ” according to this definition. +section “Entitled XYZ” according to this definition. </p> <p>The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty @@ -226,7 +205,7 @@ you may publicly display copies. <p>If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the -Document’s license notice requires Cover Texts, you must enclose the +Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify @@ -268,8 +247,7 @@ Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: </p> -<ol> -<li> +<ol><li> Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section @@ -301,16 +279,16 @@ terms of this License, in the form shown in the Addendum below. </li><li> Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document’s license notice. +and required Cover Texts given in the Document’s license notice. </li><li> Include an unaltered copy of this License. </li><li> -Preserve the section Entitled “History”, Preserve its Title, and add +Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If -there is no section Entitled “History” in the Document, create one +there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. @@ -319,13 +297,13 @@ Version as stated in the previous sentence. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions -it was based on. These may be placed in the “History” section. +it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. </li><li> -For any section Entitled “Acknowledgements” or “Dedications”, Preserve +For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. @@ -336,27 +314,25 @@ unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. </li><li> -Delete any section Entitled “Endorsements”. Such a section +Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version. </li><li> -Do not retitle any existing section to be Entitled “Endorsements” or +Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section. </li><li> Preserve any Warranty Disclaimers. -</li></ol> - -<p>If the Modified Version includes new front-matter sections or +</li></ol><p>If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version’s license notice. +list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles. </p> -<p>You may add a section Entitled “Endorsements”, provided it contains +<p>You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various -parties—for example, statements of peer review or that the text has +parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. </p> @@ -392,11 +368,11 @@ author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. </p> -<p>In the combination, you must combine any sections Entitled “History” +<p>In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled -“History”; likewise combine any sections Entitled “Acknowledgements”, -and any sections Entitled “Dedications”. You must delete all -sections Entitled “Endorsements.” +“History”; likewise combine any sections Entitled “Acknowledgements”, +and any sections Entitled “Dedications”. You must delete all +sections Entitled “Endorsements.” </p> </li><li> <strong>COLLECTIONS OF DOCUMENTS</strong> @@ -415,16 +391,16 @@ other respects regarding verbatim copying of that document. <p>A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or -distribution medium, is called an “aggregate” if the copyright +distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights -of the compilation’s users beyond what the individual works permit. +of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. </p> <p>If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document’s Cover Texts may be placed on +the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole @@ -445,8 +421,8 @@ of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. </p> -<p>If a section in the Document is Entitled “Acknowledgements”, -“Dedications”, or “History”, the requirement (section 4) to Preserve +<p>If a section in the Document is Entitled “Acknowledgements”, +“Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. </p> @@ -487,37 +463,37 @@ differ in detail to address new problems or concerns. See </p> <p>Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this -License “or any later version” applies to it, you have the option of +License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this -License can be used, that proxy’s public statement of acceptance of a +License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document. </p> </li><li> <strong>RELICENSING</strong> -<p>“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any +<p>“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A -“Massive Multiauthor Collaboration” (or “MMC”) contained in the +“Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site. </p> -<p>“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 +<p>“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. </p> -<p>“Incorporate” means to publish or republish a Document, in whole or +<p>“Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document. </p> -<p>An MMC is “eligible for relicensing” if it is licensed under this +<p>An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, @@ -527,10 +503,7 @@ and (2) were thus incorporated prior to November 1, 2008. under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. </p> -</li></ol> - - -<a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a> +</li></ol><a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a> <h2 class="heading"> ADDENDUM: How to use this License for your documents </h2> <p><a name="FDL-Instructions"></a> @@ -538,24 +511,20 @@ To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: </p> -<table><tr><td> </td><td><pre class="smallexample">Copyright (C) <var>year</var> <var>your name</var>. +<table><tr><td> </td><td><pre class="smallexample">Copyright (C) <var>year</var> <var>your name</var>. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. -</pre></td></tr></table> - -<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the “with…Texts.” line with this: +</pre></td></tr></table><p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the “with…Texts.” line with this: </p> -<table><tr><td> </td><td><pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with +<table><tr><td> </td><td><pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts being <var>list</var>. -</pre></td></tr></table> - -<p>If you have Invariant Sections without Cover Texts, or some other +</pre></td></tr></table><p>If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. </p> @@ -569,5 +538,4 @@ to permit their use in free software. <a name="index-licenses-_0028see-also-Affero_002c-FDL_002c-GPL_002c-LGPL_002c-X11_002c-BSD_002c-XFree86_002c-and-lax-permissive-licenses_0029-1"></a> <a name="index-FDL-_0028see-also-both-manuals-and-documentation_0029-3"></a> </p> -</body> -</html> +</section></body></html> diff --git a/src/frontend_blog/articles/scrap1_32.html b/examples/blog/articles/scrap1_32.html index 02943266..098218a6 100644 --- a/src/frontend_blog/articles/scrap1_32.html +++ b/examples/blog/articles/scrap1_32.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.: 32. Can You Trust Your Computer?</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.: 32. Can You Trust Your Computer?"> -<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.: 32. Can You Trust Your Computer?</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.: 32. Can You Trust Your Computer?"><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="Can-You-Trust"></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="Can-You-Trust-Your-Computer_003f"></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="Can-You-Trust-Your-Computer_003f"></a> <h1 class="chapter"> 32. Can You Trust Your Computer? </h1> <a name="index-proprietary-software-_0028see-also-software_0029-1"></a> @@ -76,33 +58,33 @@ ul.toc {list-style: none} <a name="index-Palladium-1"></a> <p>Who should your computer take its orders from? Most people think their computers should obey them, not obey someone else. With a plan -they call “trusted computing,” large media corporations +they call “trusted computing,” large media corporations (including the movie companies and record companies), together with computer companies such as Microsoft and Intel, are planning to make -your computer obey them instead of you. (Microsoft’s version of this +your computer obey them instead of you. (Microsoft’s version of this scheme is called Palladium.) Proprietary programs have included malicious features before, but this plan would make it universal. </p> -<p>Proprietary software means, fundamentally, that you don’t control what -it does; you can’t study the source code, or change it. It’s not +<p>Proprietary software means, fundamentally, that you don’t control what +it does; you can’t study the source code, or change it. It’s not surprising that clever businessmen find ways to use their control to put you at a disadvantage. Microsoft has done this several times: one version of Windows was designed to report to Microsoft all the -software on your hard disk; a recent “security” upgrade in +software on your hard disk; a recent “security” upgrade in <a name="index-Windows-Media-Player-_0028see-also-both-DRM-and-treacherous-computing_0029"></a> Windows Media Player required users to agree to new restrictions. But Microsoft is not alone: the <a name="index-KaZaA-_0028see-also-both-DRM-and-treacherous-computing_0029"></a> KaZaA music-sharing software is designed -so that KaZaA’s business partner can rent out the use of your computer +so that KaZaA’s business partner can rent out the use of your computer to its clients. These malicious features are often secret, but even -once you know about them it is hard to remove them, since you don’t +once you know about them it is hard to remove them, since you don’t have the source code. </p> -<p>In the past, these were isolated incidents. “Trusted -computing” would make the practice pervasive. “Treacherous -computing” is a more appropriate name, because the plan is +<p>In the past, these were isolated incidents. “Trusted +computing” would make the practice pervasive. “Treacherous +computing” is a more appropriate name, because the plan is designed to make sure your computer will systematically disobey you. In fact, it is designed to stop your computer from functioning as a general-purpose computer. Every operation may require explicit @@ -115,7 +97,7 @@ device to control which other programs you can run, which documents or data you can access, and what programs you can pass them to. These programs will continually download new authorization rules through the Internet, and impose those rules automatically on your work. If you -don’t allow your computer to obtain the new rules periodically from +don’t allow your computer to obtain the new rules periodically from the Internet, some capabilities will automatically cease to function. </p> <a name="index-DRM_002c-treacherous-computing-and"></a> @@ -131,21 +113,21 @@ versions, and to upload and share them, so DRM will not entirely succeed, but that is no excuse for the system.) </p> <p>Making sharing impossible is bad enough, but it gets worse. There are -plans to use the same facility for email and documents—resulting +plans to use the same facility for email and documents—resulting in email that disappears in two weeks, or documents that can only be read on the computers in one company. </p> <p>Imagine if you get an email from your boss telling you to do something -that you think is risky; a month later, when it backfires, you can’t -use the email to show that the decision was not yours. “Getting -it in writing” doesn’t protect you when the order is written in +that you think is risky; a month later, when it backfires, you can’t +use the email to show that the decision was not yours. “Getting +it in writing” doesn’t protect you when the order is written in disappearing ink. </p> <p>Imagine if you get an email from your boss stating a policy that is -illegal or morally outrageous, such as to shred your company’s audit +illegal or morally outrageous, such as to shred your company’s audit documents, or to allow a dangerous threat to your country to move forward unchecked. Today you can send this to a reporter and expose -the activity. With treacherous computing, the reporter won’t be able +the activity. With treacherous computing, the reporter won’t be able to read the document; her computer will refuse to obey her. Treacherous computing becomes a paradise for corruption. </p> @@ -157,7 +139,7 @@ processors can read them. Today we must figure out the secrets of Word format by laborious experiments in order to make free word processors read Word documents. If Word encrypts documents using treacherous computing when saving them, the free software community -won’t have a chance of developing software to read them—and if +won’t have a chance of developing software to read them—and if we could, such programs might even be forbidden by the <a name="index-DMCA-_0028see-also-_0060_0060Right-to-Read_002c_0027_0027-fair-use_002c-DRM_002c-and-libraries_0029-3"></a> Digital @@ -175,11 +157,11 @@ erasure. You might be unable to read it yourself. <p>You might think you can find out what nasty things a treacherous-computing application does, study how painful they are, and decide whether to accept them. Even if you can find this out, it would -be foolish to accept the deal, but you can’t even expect the deal +be foolish to accept the deal, but you can’t even expect the deal to stand still. Once you come to depend on using the program, you are hooked and they know it; then they can change the deal. Some applications will automatically download upgrades that will do -something different—and they won’t give you a choice about +something different—and they won’t give you a choice about whether to upgrade. </p> <p>Today you can avoid being restricted by proprietary software by not @@ -205,14 +187,14 @@ how, and told someone, that could be a crime. support treacherous computing, and to prohibit connecting old computers to the Internet. The <a name="index-Consumer-Broadband-and-Digital-Television-Promotion-Act-_0028CBDTPA_0029-3"></a> -CBDTPA (we call it the Consume But Don’t Try Programming -Act) is one of them. But even if they don’t legally force you to switch to +CBDTPA (we call it the Consume But Don’t Try Programming +Act) is one of them. But even if they don’t legally force you to switch to treacherous computing, the pressure to accept it may be enormous. Today people often use <a name="index-Word_002c-and-treacherous-computing-_0028see-also-treacherous-computing_0029-3"></a> Word format for communication, although this causes -several sorts of problems (see “We Can Put an End to Word -Attachments,” on p. @refx{No Word Attachments-pg}{). If only a treacherous-computing machine can read the +several sorts of problems (see “We Can Put an End to Word +Attachments,” on p. @refx{No Word Attachments-pg}{). If only a treacherous-computing machine can read the latest Word documents, many people will switch to it, if they view the situation only in terms of individual action (take it or leave it). To oppose treacherous computing, we must join together and confront the @@ -225,15 +207,14 @@ situation as a collective choice. to organize. We need your help! Please support <a name="index-Defective-by-Design-_0028see-also-DRM_0029-3"></a> Defective by Design, the -FSF’s campaign against Digital Restrictions Management. +FSF’s campaign against Digital Restrictions Management. </p> <a name="Postscripts"></a> <h3 class="subheading"> Postscripts </h3> -<ol> -<li> -The computer security field uses the term “trusted -computing” in a different way—beware of confusion +<ol><li> +The computer security field uses the term “trusted +computing” in a different way—beware of confusion between the two meanings. </li><li> @@ -283,25 +264,25 @@ the specifications of Palladium is that existing operating systems and applications will continue to run; therefore, viruses will continue to be able to do all the things that they can do today. -<p>When Microsoft employees speak of “security” in connection with +<p>When Microsoft employees speak of “security” in connection with Palladium, they do not mean what we normally mean by that word: protecting your machine from things you do not want. They mean protecting your copies of data on your machine from access by you in ways others do not want. A slide in the presentation listed several types of secrets Palladium could be used to keep, including -“third party secrets” and “user -secrets”—but it put “user secrets” in +“third party secrets” and “user +secrets”—but it put “user secrets” in quotation marks, recognizing that this is somewhat of an absurdity in the context of Palladium. </p> <p>The presentation made frequent use of other terms that we frequently -associate with the context of security, such as “attack,” -“malicious code,” “spoofing,” as well as -“trusted.” None of them means what it normally means. -“Attack” doesn’t mean someone trying to hurt you, it means -you trying to copy music. “Malicious code” means code -installed by you to do what someone else doesn’t want your machine to -do. “Spoofing” doesn’t mean someone’s fooling you, it means +associate with the context of security, such as “attack,” +“malicious code,” “spoofing,” as well as +“trusted.” None of them means what it normally means. +“Attack” doesn’t mean someone trying to hurt you, it means +you trying to copy music. “Malicious code” means code +installed by you to do what someone else doesn’t want your machine to +do. “Spoofing” doesn’t mean someone’s fooling you, it means your fooling Palladium. And so on. </p> </li><li> @@ -313,12 +294,9 @@ an unprecedented system of control. The specific problems of these systems are no accident; they result from the basic goal. It is the goal we must reject. -</li></ol> -<a name="index-_0060_0060trusted-computing_002c_0027_0027-avoid-use-of-term-_0028see-also-treacherous-computing_0029-3"></a> +</li></ol><a name="index-_0060_0060trusted-computing_002c_0027_0027-avoid-use-of-term-_0028see-also-treacherous-computing_0029-3"></a> <a name="index-treacherous-computing-3"></a> <a name="index-traps_002c-treacherous-computing-_0028see-also-treacherous-computing_0029-1"></a> <a name="index-proprietary-software-_0028see-also-software_0029-2"></a> <a name="index-Palladium-2"></a> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_33.html b/examples/blog/articles/scrap1_33.html index 6ec98d49..7c466cb9 100644 --- a/src/frontend_blog/articles/scrap1_33.html +++ b/examples/blog/articles/scrap1_33.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.: 33. Who Does That Server Really Serve?</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.: 33. Who Does That Server Really Serve?"> -<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.: 33. Who Does That Server Really Serve?</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.: 33. Who Does That Server Really Serve?"><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="Server"></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="Who-Does-That-Server-Really-Serve_003f"></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="Who-Does-That-Server-Really-Serve_003f"></a> <h1 class="chapter"> 33. Who Does That Server Really Serve? </h1> <a name="index-Software-as-a-Service-_0028SaaS_0029-_0028see-also-SaaS_0029"></a> @@ -87,30 +69,30 @@ it. The owner often takes advantage of this unjust power by inserting malicious features such as spyware, back doors, and <a name="index-DRM_002c-call-it-_0060_0060Digital-Restrictions-Management_0027_0027-4"></a> Digital -Restrictions Management (DRM) (referred to as “Digital Rights -Management” in their propaganda). +Restrictions Management (DRM) (referred to as “Digital Rights +Management” in their propaganda). </p> <p>Our solution to this problem is developing <em>free software</em> and rejecting proprietary software. Free software means that you, as a -user, have four essential freedoms: (0) to run the program as you -wish, (1) to study and change the source code so it does what you -wish, (2) to redistribute exact copies, and (3) to -redistribute copies of your modified versions. (See “The Free -Software Definition,”.) +user, have four essential freedoms: (0) to run the program as you +wish, (1) to study and change the source code so it does what you +wish, (2) to redistribute exact copies, and (3) to +redistribute copies of your modified versions. (See “The Free +Software Definition,”.) </p> <p>With free software, we, the users, take back control of our computing. Proprietary software still exists, but we can exclude it from our lives and many of us have done so. However, we now face a new threat to our control over our computing: Software as a Service. -For our freedom’s sake, we have to reject that too. +For our freedom’s sake, we have to reject that too. </p> <a name="How-Software-as-a-Service-Takes-Away-Your-Freedom"></a> <h3 class="subheading"> How Software as a Service Takes Away Your Freedom </h3> <p>Software as a Service (SaaS) means that someone sets up a network -server that does certain computing tasks—running spreadsheets, +server that does certain computing tasks—running spreadsheets, word processing, translating text into another language, -etc.—then invites users to do their computing on that server. +etc.—then invites users to do their computing on that server. Users send their data to the server, which does their computing on the data thus provided, then sends the results back or acts on them directly. @@ -118,20 +100,20 @@ directly. <p>These servers wrest control from the users even more inexorably than proprietary software. With proprietary software, users typically get an executable file but not the source code. That makes it hard -for programmers to study the code that is running, so it’s hard to +for programmers to study the code that is running, so it’s hard to determine what the program really does, and hard to change it. </p> <p>With SaaS, the users do not have even the executable file: it is on -the server, where the users can’t see or touch it. Thus it is +the server, where the users can’t see or touch it. Thus it is impossible for them to ascertain what it really does, and impossible to change it. </p> <p>Furthermore, SaaS automatically leads to harmful consequences equivalent to the malicious features of certain proprietary software. -For instance, some proprietary programs are “spyware”: the -program sends out data about users’ computing activities. Microsoft +For instance, some proprietary programs are “spyware”: the +program sends out data about users’ computing activities. Microsoft <a name="index-Windows_002c-SaaS-and"></a> -Windows sends information about users’ activities to Microsoft. +Windows sends information about users’ activities to Microsoft. <a name="index-Windows-Media-Player-_0028see-also-both-DRM-and-treacherous-computing_0029-1"></a> Windows Media Player and <a name="index-RealPlayer-_0028see-also-DRM_0029"></a> @@ -140,7 +122,7 @@ listens to. </p> <p>Unlike proprietary software, SaaS does not require covert code to -obtain the user’s data. Instead, users must send their data to the +obtain the user’s data. Instead, users must send their data to the server in order to use it. This has the same effect as spyware: the server operator gets the data. He gets it with no special effort, by the nature of SaaS. @@ -155,23 +137,23 @@ forcibly change any software on the machine. The Amazon <a name="index-Kindle-_0028see-also-Swindle_0029-1"></a> Kindle e-book -reader (whose name suggests it’s intended to burn people’s books) has +reader (whose name suggests it’s intended to burn people’s books) has an Orwellian back door that Amazon used in 2009 to remotely delete Kindle copies of <a name="index-Orwell_002c-George-1"></a> -Orwell’s books +Orwell’s books <a name="index-1984_002c-George-Orwell-1"></a> <cite>1984</cite> and <a name="index-Animal-Farm_002c-George-Orwell"></a> <cite>Animal Farm</cite> which the users had purchased from Amazon.<a name="DOCF49" href="#FOOT49">(49)</a> </p> <p>SaaS inherently gives the server operator the power to change the -software in use, or the users’ data being operated on. Once again, no +software in use, or the users’ data being operated on. Once again, no special code is needed to do this. </p> <p>Thus, SaaS is equivalent to total spyware and a gaping wide back door, and gives the server operator unjust power over the user. We -can’t accept that. +can’t accept that. <a name="index-spyware-1"></a> </p> <a name="Untangling-the-SaaS-Issue-from-the-Proprietary-Software-Issue"></a> @@ -180,11 +162,11 @@ can’t accept that. <p>SaaS and proprietary software lead to similar harmful results, but the causal mechanisms are different. With proprietary software, the cause is that you have and use a copy which is difficult or illegal to -change. With SaaS, the cause is that you use a copy you don’t +change. With SaaS, the cause is that you use a copy you don’t have. </p> <p>These two issues are often confused, and not only by accident. Web -developers use the vague term “web application” to lump +developers use the vague term “web application” to lump the server software together with programs run on your machine in your browser. Some web pages install nontrivial or even large <a name="index-JavaScript"></a> @@ -198,20 +180,20 @@ server software itself. <a name="index-ownership_002c-servers-and-software"></a> <p>Many free software supporters assume that the problem of SaaS will be solved by developing free software for servers. For the server -operator’s sake, the programs on the server had better be free; if -they are proprietary, their owners have power over the server. That’s -unfair to the operator, and doesn’t help you at all. But if the -programs on the server are free, that doesn’t protect you <em>as the -server’s user</em> from the effects of SaaS. They give freedom to the +operator’s sake, the programs on the server had better be free; if +they are proprietary, their owners have power over the server. That’s +unfair to the operator, and doesn’t help you at all. But if the +programs on the server are free, that doesn’t protect you <em>as the +server’s user</em> from the effects of SaaS. They give freedom to the operator, but not to you. </p> <p>Releasing the server software source code does benefit the community: suitably skilled users can set up similar servers, perhaps changing the software. But none of these servers would give you -control over computing you do on it, unless it’s <em>your</em> server. +control over computing you do on it, unless it’s <em>your</em> server. The rest would all be SaaS. SaaS always subjects you to the power of -the server operator, and the only remedy is, <em>Don’t use SaaS!</em> -Don’t use someone else’s server to do your own computing on data +the server operator, and the only remedy is, <em>Don’t use SaaS!</em> +Don’t use someone else’s server to do your own computing on data provided by you. <a name="index-SaaS_002c-as-distinguished-from-proprietary-software-1"></a> <a name="index-proprietary-software_002c-as-distinguished-from-SaaS-1"></a> @@ -222,12 +204,12 @@ provided by you. <a name="index-SaaS_002c-as-distinguished-from-other-network-services"></a> <p>Does condemning SaaS mean rejecting all network servers? Not at all. Most servers do not raise this issue, because the job you do -with them isn’t your own computing except in a trivial sense. +with them isn’t your own computing except in a trivial sense. </p> -<p>The original purpose of web servers wasn’t to do computing for you, +<p>The original purpose of web servers wasn’t to do computing for you, it was to publish information for you to access. Even today this is -what most web sites do, and it doesn’t pose the SaaS problem, because -accessing someone’s published information isn’t a matter of doing your +what most web sites do, and it doesn’t pose the SaaS problem, because +accessing someone’s published information isn’t a matter of doing your own computing. Neither is publishing your own materials via a blog site or a microblogging service such as <a name="index-Twitter"></a> @@ -237,34 +219,34 @@ identi.ca. The same goes for communication not meant to be private, such as chat groups. Social networking can extend into SaaS; however, at root it is just a method of communication and publication, not SaaS. If you use the service -for minor editing of what you’re going to communicate, that is not a +for minor editing of what you’re going to communicate, that is not a significant issue. </p> <p>Services such as search engines collect data from around the web and let you examine it. Looking through their collection of data -isn’t your own computing in the usual sense—you didn’t provide -that collection—so using such a service to search the web is not -SaaS. (However, using someone else’s search engine to implement a +isn’t your own computing in the usual sense—you didn’t provide +that collection—so using such a service to search the web is not +SaaS. (However, using someone else’s search engine to implement a search facility for your own site <em>is</em> SaaS.) </p> <a name="index-SaaS_002c-e_002dcommerce-and"></a> <a name="index-e_002dcommerce"></a> -<p>E-commerce is not SaaS, because the computing isn’t solely yours; -rather, it is done jointly for you and another party. So there’s no +<p>E-commerce is not SaaS, because the computing isn’t solely yours; +rather, it is done jointly for you and another party. So there’s no particular reason why you alone should expect to control that computing. The real issue in e-commerce is whether you trust the other party with your money and personal information. </p> <a name="index-SaaS_002c-joint-projects-and"></a> -<p>Using a joint project’s servers isn’t SaaS because the computing -you do in this way isn’t yours personally. For instance, if you edit +<p>Using a joint project’s servers isn’t SaaS because the computing +you do in this way isn’t yours personally. For instance, if you edit pages on <a name="index-Wikipedia-1"></a> Wikipedia, you are not doing your own computing; rather, you -are collaborating in Wikipedia’s computing. +are collaborating in Wikipedia’s computing. </p> <p>Wikipedia controls its own servers, but groups can face the problem -of SaaS if they do their group activities on someone else’s server. +of SaaS if they do their group activities on someone else’s server. <a name="index-SaaS_002c-development-hosting-sites-and"></a> Fortunately, development hosting sites such as <a name="index-SaaS_002c-Savannah-and"></a> @@ -272,14 +254,14 @@ Fortunately, development hosting sites such as Savannah and <a name="index-SaaS_002c-SourceForge-and"></a> <a name="index-SourceForge-1"></a> -SourceForge don’t pose the SaaS problem, because what groups do there +SourceForge don’t pose the SaaS problem, because what groups do there is mainly publication and public communication, rather than their own private computing. </p> <a name="index-SaaS_002c-multiplayer-games"></a> <a name="index-games_002c-SaaS-and-multiplayer"></a> <p>Multiplayer games are a group activity carried out on someone -else’s server, which makes them SaaS. But where the data involved is +else’s server, which makes them SaaS. But where the data involved is just the state of play and the score, the worst wrong the operator might commit is favoritism. You might well ignore that risk, since it seems unlikely and very little is at stake. On the other hand, when @@ -290,12 +272,12 @@ the game becomes more than just a game, the issue changes. <p>Which online services are SaaS? Google Docs is a clear example. Its basic activity is editing, and Google encourages people to use it for their own editing; this is SaaS. It offers the added feature of -collaborative editing, but adding participants doesn’t alter the fact +collaborative editing, but adding participants doesn’t alter the fact that editing on the server is SaaS. (In addition, Google Docs is unacceptable because it installs a large nonfree <a name="index-JavaScript-1"></a> JavaScript program -into the users’ browsers.) If using a service for communication or +into the users’ browsers.) If using a service for communication or collaboration requires doing substantial parts of your own computing with it too, that computing is SaaS even if the communication is not. @@ -310,13 +292,13 @@ networking, and that is not SaaS; however, it supports third-party applications, some of which may be SaaS. <a name="index-Flickr"></a> <a name="index-SaaS_002c-Flickr-and"></a> -Flickr’s main service is +Flickr’s main service is distributing photos, which is not SaaS, but it also has features for editing photos, which is SaaS. </p> <a name="index-SaaS_002c-publication_002dand_002dcommunication-sites-and"></a> <p>Some sites whose main service is publication and communication -extend it with “contact management”: keeping track of +extend it with “contact management”: keeping track of people you have relationships with. Sending mail to those people for you is not SaaS, but keeping track of your dealings with them, if substantial, is SaaS. @@ -325,23 +307,23 @@ substantial, is SaaS. other bad things a service can do. For instance, Facebook distributes video in Flash, which pressures users to run nonfree software, and it gives users a misleading impression of privacy. Those are important -issues too, but this article’s concern is the issue of SaaS. +issues too, but this article’s concern is the issue of SaaS. </p> <a name="index-_0060_0060cloud-computing_002c_0027_0027-avoid-use-of-term-1"></a> <a name="index-SaaS_002c-_0060_0060cloud-computing_0027_0027-obfuscating-problems-posed-by"></a> <p>The IT industry discourages users from considering these -distinctions. That’s what the buzzword “cloud computing” +distinctions. That’s what the buzzword “cloud computing” is for. This term is so nebulous that it could refer to almost any use of the Internet. It includes SaaS and it includes nearly everything else. The term only lends itself to uselessly broad statements. </p> -<p>The real meaning of “cloud computing” is to suggest a -devil-may-care approach towards your computing. It says, “Don’t -ask questions, just trust every business without hesitation. Don’t -worry about who controls your computing or who holds your data. Don’t +<p>The real meaning of “cloud computing” is to suggest a +devil-may-care approach towards your computing. It says, “Don’t +ask questions, just trust every business without hesitation. Don’t +worry about who controls your computing or who holds your data. Don’t check for a hook hidden inside our service before you swallow -it.” In other words, “Think like a sucker.” I prefer +it.” In other words, “Think like a sucker.” I prefer to avoid the term. <a name="index-SaaS_002c-as-distinguished-from-other-network-services-1"></a> </p> @@ -350,7 +332,7 @@ to avoid the term. <a name="index-SaaS_002c-dealing-with-problem-of"></a> <a name="index-call-to-action_002c-SaaS-threats"></a> -<p>Only a small fraction of all web sites do SaaS; most don’t raise +<p>Only a small fraction of all web sites do SaaS; most don’t raise the issue. But what should we do about the ones that raise it? </p> <p>For the simple case, where you are doing your own computing on data in @@ -369,12 +351,12 @@ GIMP. </p> <p>But what about collaborating with other individuals? It may be hard to do this at present without using a server. If you use one, -don’t trust a server run by a company. A mere contract as a customer +don’t trust a server run by a company. A mere contract as a customer is no protection unless you could detect a breach and could really sue, and the company probably writes its contracts to permit a broad range of abuses. Police can subpoena your data from the company with less basis than required to subpoena them from you, supposing the -company doesn’t volunteer them like the US phone companies that +company doesn’t volunteer them like the US phone companies that illegally wiretapped their customers for <a name="index-Bush_002c-President-George-W_002e"></a> Bush. If you must use a @@ -387,7 +369,7 @@ using servers. For instance, we can create a peer-to-peer program through which collaborators can share data encrypted. The free software community should develop distributed peer-to-peer -replacements for important “web applications.” It may be +replacements for important “web applications.” It may be wise to release them under GNU <a name="index-GNU_002c-GNU-Affero-General-Public-License-_0028AGPL_0029-1"></a> <a name="index-Affero-General-Public-License-_0028AGPL_0029_002c-GNU-1"></a> @@ -400,22 +382,19 @@ for volunteers to work on such replacements. We also invite other free software projects to consider this issue in their design. </p> <p>In the meantime, if a company invites you to use its server to do -your own computing tasks, don’t yield; don’t use SaaS. Don’t buy or -install “thin clients,” which are simply computers so weak -they make you do the real work on a server, unless you’re +your own computing tasks, don’t yield; don’t use SaaS. Don’t buy or +install “thin clients,” which are simply computers so weak +they make you do the real work on a server, unless you’re going to use them with <em>your</em> server. Use a real computer and keep your data there. Do your work with your own copy of -a free program, for your freedom’s sake. +a free program, for your freedom’s sake. <a name="index-call-to-action_002c-SaaS-threats-1"></a> <a name="index-SaaS_002c-dealing-with-problem-of-1"></a> <a name="index-Software-as-a-Service-_0028SaaS_0029-_0028see-also-SaaS_0029-1"></a> </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT49" href="#DOCF49">(49)</a></h3> <p>Brad -Stone, “Amazon Erases Orwell Books from Kindle,” <cite>New York Times,</cite> 17 July 2009, sec. B1, <a href="http://nytimes.com/2009/07/18/technology/companies/18amazon.html">http://nytimes.com/2009/07/18/technology/companies/18amazon.html</a>. +Stone, “Amazon Erases Orwell Books from Kindle,” <cite>New York Times,</cite> 17 July 2009, sec. B1, <a href="http://nytimes.com/2009/07/18/technology/companies/18amazon.html">http://nytimes.com/2009/07/18/technology/companies/18amazon.html</a>. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_34.html b/examples/blog/articles/scrap1_34.html index 53ca1d4d..8f822bd5 100644 --- a/src/frontend_blog/articles/scrap1_34.html +++ b/examples/blog/articles/scrap1_34.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.: 34. Free but Shackled: The Java 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.: 34. Free but Shackled: The Java 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.: 34. Free but Shackled: The Java 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.: 34. Free but Shackled: The Java 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,48 +43,36 @@ 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="Java-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="Free-but-Shackled_003a-The-Java-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="Free-but-Shackled_003a-The-Java-Trap"></a> <h1 class="chapter"> 34. Free but Shackled: The Java Trap </h1> -<blockquote class="smallquotation"><p>Since this article was first published, on 12 April 2004, Sun has relicensed most of its Java platform reference +<blockquote class="smallquotation"><p>Since this article was first published, on 12 April 2004, Sun has relicensed most of its Java platform reference implementation under the GNU General Public License, and there is now a free development environment for Java. Thus, the Java language as -such is no longer a trap.<br> -</p> +such is no longer a trap.<br></p> <p>You must be careful, however, because not every Java platform is free. Sun continues distributing an executable Java platform which is -nonfree, and other companies do so too.<br> -</p> +nonfree, and other companies do so too.<br></p> <p>The free environment for Java is called IcedTea; the source code Sun freed is included in that. So that is the one you should use. Many GNU/Linux distributions come with IcedTea, but some include nonfree -Java platforms.<br> -</p> +Java platforms.<br></p> <p>To reliably ensure your Java programs run fine in a free environment, you need to develop them using IcedTea. Theoretically the Java -platforms should be compatible, but they are not compatible 100 percent.<br> -</p> -<p>In addition, there are nonfree programs with “Java” in their name, +platforms should be compatible, but they are not compatible 100 percent.<br></p> +<p>In addition, there are nonfree programs with “Java” in their name, such as JavaFX, and there are nonfree Java packages you might find tempting but need to reject. So check the licenses of whatever packages you plan to use. If you use Swing, make sure to use the free -version, which comes with IcedTea.<br> -</p> +version, which comes with IcedTea.<br></p> <p>Aside from those Java specifics, the general issue described here remains important, because any nonfree library or programming platform can cause a similar problem. We must learn a lesson from the history -of Java, so we can avoid other traps in the future.<br> -</p></blockquote> +of Java, so we can avoid other traps in the future.<br></p></blockquote> <a name="index-traps_002c-nonfree-libraries-2"></a> <a name="index-libraries-_0028comp_002e_0029_002c-as-traps-1"></a> @@ -105,7 +81,7 @@ of Java, so we can avoid other traps in the future.<br> <a name="index-Swing-library"></a> <a name="index-JavaFX"></a> <a name="index-IcedTea-_0028see-also-Java_0029"></a> -<p>If your program is free software, it is basically ethical—but +<p>If your program is free software, it is basically ethical—but there is a trap you must be on guard for. Your program, though in itself free, may be restricted by nonfree software that it depends on. Since the problem is most prominent today for Java programs, we @@ -115,13 +91,13 @@ call it the Java Trap. freedoms. Roughly speaking, they are: the freedom to run the program, the freedom to study and change the source, the freedom to redistribute the source and binaries, and the freedom to publish -improved versions. (See “The Free Software Definition,” on p. @refx{Definition-pg}{.) Whether any given program in source form is free software +improved versions. (See “The Free Software Definition,” on p. @refx{Definition-pg}{.) Whether any given program in source form is free software depends solely on the meaning of its license. </p> <a name="index-traps_002c-nonfree-dependencies"></a> <p>Whether the program can be used in the Free World, used by people who mean to live in freedom, is a more complex question. This is not -determined by the program’s own license alone, because no program +determined by the program’s own license alone, because no program works in isolation. Every program depends on other programs. For instance, a program needs to be compiled or interpreted, so it depends on a compiler or interpreter. If compiled into byte code, it depends @@ -132,11 +108,11 @@ be necessary for the program to run at all, or they may be necessary only for certain features. Either way, all or part of the program cannot operate without the dependencies. </p> -<p>If some of a program’s dependencies are nonfree, this means that all +<p>If some of a program’s dependencies are nonfree, this means that all or part of the program is unable to run in an entirely free -system—it is unusable in the Free World. Sure, we could redistribute -the program and have copies on our machines, but that’s not much good -if it won’t run. That program is free software, but it is effectively +system—it is unusable in the Free World. Sure, we could redistribute +the program and have copies on our machines, but that’s not much good +if it won’t run. That program is free software, but it is effectively shackled by its nonfree dependencies. </p> <p>This problem can occur in any kind of software, in any language. For @@ -159,16 +135,16 @@ overlook the issue of dependencies and fall into the Java Trap. </p> <a name="index-GNU_002c-GCJ"></a> <a name="index-GNU_002c-GNU-Classpath"></a> -<p>Sun’s implementation of Java is nonfree. The standard Java libraries +<p>Sun’s implementation of Java is nonfree. The standard Java libraries are nonfree also. We do have free implementations of Java, such as the -GNU Compiler for Java (GCJ) and GNU Classpath, but they don’t support +GNU Compiler for Java (GCJ) and GNU Classpath, but they don’t support all the features yet. We are still catching up. </p> -<p>If you develop a Java program on Sun’s Java platform, you are liable +<p>If you develop a Java program on Sun’s Java platform, you are liable to use Sun-only features without even noticing. By the time you find this out, you may have been using them for months, and redoing the -work could take more months. You might say, “It’s too much work to -start over.” Then your program will have fallen into the Java Trap; +work could take more months. You might say, “It’s too much work to +start over.” Then your program will have fallen into the Java Trap; it will be unusable in the Free World. </p> <p>The reliable way to avoid the Java Trap is to have only a free @@ -176,9 +152,9 @@ implementation of Java on your system. Then if you use a Java feature or library that free software does not yet support, you will find out straightaway, and you can rewrite that code immediately. </p> -<p>Sun continues to develop additional “standard” Java libraries, and -nearly all of them are nonfree; in many cases, even a library’s -specification is a trade secret, and Sun’s latest license for these +<p>Sun continues to develop additional “standard” Java libraries, and +nearly all of them are nonfree; in many cases, even a library’s +specification is a trade secret, and Sun’s latest license for these specifications prohibits release of anything less than a full implementation of the specification. (See <a href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a> @@ -245,7 +221,7 @@ Classpath. Trying your programs with the GCJ Compiler and GNU Classpath, and reporting any problems you encounter in classes already implemented, is also useful. However, finishing GNU Classpath will take time; if more nonfree libraries continue to be added, we may -never have all the latest ones. So please don’t put your free software +never have all the latest ones. So please don’t put your free software in shackles. When you write an application program today, write it to run on free facilities from the start. <a name="index-libraries-_0028comp_002e_0029_002c-as-traps-2"></a> @@ -254,6 +230,4 @@ run on free facilities from the start. <a name="index-GNU_002c-GCJ-1"></a> <a name="index-traps_002c-nonfree-dependencies-1"></a> <a name="index-GNU_002c-GNU-Classpath-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_35.html b/examples/blog/articles/scrap1_35.html index 190f467e..3c13a39d 100644 --- a/src/frontend_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’t ask you -about or even tell you about—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’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’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’ 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’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 -“open”); 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’ve seen above, it also isn’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. “Only free -programs transmitted to the user” 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 “web applications.” The term “web -application” 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’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 “nontrivial” 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’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—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> </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> </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> </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> diff --git a/src/frontend_blog/articles/scrap1_36.html b/examples/blog/articles/scrap1_36.html index af52af84..d689f41f 100644 --- a/src/frontend_blog/articles/scrap1_36.html +++ b/examples/blog/articles/scrap1_36.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.: 36. The X Window System 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.: 36. The X Window System 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.: 36. The X Window System 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.: 36. The X Window System 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="X"></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-X-Window-System-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-X-Window-System-Trap"></a> <h1 class="chapter"> 36. The X Window System Trap </h1> <a name="index-traps_002c-X-Window-System"></a> @@ -72,7 +54,7 @@ ul.toc {list-style: none} <a name="index-developers_002c-to-copyleft-or-not-to-copyleft_003f"></a> <p>To copyleft or not to copyleft? That is one of the major controversies in the free software community. The idea of copyleft is -that we should fight fire with fire—that we should use copyright +that we should fight fire with fire—that we should use copyright to make sure our code stays free. The GNU General Public License (GNU GPL) is one example of a copyleft license. </p> @@ -82,7 +64,7 @@ Noncopyleft licenses such as the XFree86 and <a name="index-BSD-licenses-_0028see-also-both-_0060_0060BSD_002dstyle_0027_0027-and-GPL_0029-2"></a> BSD licenses are based on the idea -of never saying no to anyone—not even to someone who seeks to +of never saying no to anyone—not even to someone who seeks to use your work as the basis for restricting other people. Noncopyleft licensing does nothing wrong, but it misses the opportunity to actively protect our freedom to change and redistribute software. For @@ -99,24 +81,24 @@ its rule that copylefted software could not be in the X Distribution. </p> <p>Why did the X Consortium adopt this policy? It had to do with their conception of success. The X Consortium defined success as -popularity—specifically, getting computer companies to use the X +popularity—specifically, getting computer companies to use the X Window System. This definition put the computer companies in the -driver’s seat: whatever they wanted, the X Consortium had to help +driver’s seat: whatever they wanted, the X Consortium had to help them get it. </p> <p>Computer companies normally distribute proprietary software. They wanted free software developers to donate their work for such use. If they had asked for this directly, people would have laughed. But the X Consortium, fronting for them, could present this request as an -unselfish one. “Join us in donating our work to proprietary software -developers,” they said, suggesting that this is a noble form of -self-sacrifice. “Join us in achieving popularity,” they said, +unselfish one. “Join us in donating our work to proprietary software +developers,” they said, suggesting that this is a noble form of +self-sacrifice. “Join us in achieving popularity,” they said, suggesting that it was not even a sacrifice. </p> <p>But self-sacrifice is not the issue: tossing away the defense that copyleft provides, which protects the freedom of the whole community, is sacrificing more than yourself. Those who granted the X -Consortium’s request entrusted the community’s future to the goodwill +Consortium’s request entrusted the community’s future to the goodwill of the X Consortium. </p> <a name="index-X11R6_002e4-1"></a> @@ -141,7 +123,7 @@ X11 distribution terms.) Before they said yes or no to this proposal, it had already failed for another reason: the <a name="index-XFree86-1"></a> -XFree86 group followed the X Consortium’s old +XFree86 group followed the X Consortium’s old policy, and will not accept copylefted software. <a name="index-copylefted-software-_0028see-also-software_0029-4"></a> </p> @@ -197,18 +179,18 @@ distribution will impede its popularity, please ask us to help. </p> <a name="index-call-to-action_002c-resist-illusory-temptations-of-proprietary-software"></a> <p>At the same time, it is better if we do not feel too much need for -popularity. When a businessman tempts you with “more -popularity,” he may try to convince you that his use of your -program is crucial to its success. Don’t believe it! If your program -is good, it will find many users anyway; you don’t need to feel +popularity. When a businessman tempts you with “more +popularity,” he may try to convince you that his use of your +program is crucial to its success. Don’t believe it! If your program +is good, it will find many users anyway; you don’t need to feel desperate for any particular users, and you will be stronger if you do not. You can get an indescribable sense of joy and freedom by -responding, “Take it or leave it—that’s no skin off my -back.” Often the businessman will turn around and accept the +responding, “Take it or leave it—that’s no skin off my +back.” Often the businessman will turn around and accept the program with copyleft, once you call the bluff. </p> <a name="index-call-to-action_002c-copyleft-your-software"></a> -<p>Friends, free software developers, don’t repeat old mistakes! If we +<p>Friends, free software developers, don’t repeat old mistakes! If we do not copyleft our software, we put its future at the mercy of anyone equipped with more resources than scruples. With copyleft, we can defend freedom, not just for ourselves, but for our whole @@ -216,6 +198,4 @@ community. <a name="index-developers_002c-to-copyleft-or-not-to-copyleft_003f-1"></a> <a name="index-X-Window-System-6"></a> <a name="index-traps_002c-X-Window-System-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_37.html b/examples/blog/articles/scrap1_37.html index 549484c6..95406241 100644 --- a/src/frontend_blog/articles/scrap1_37.html +++ b/examples/blog/articles/scrap1_37.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.: 37. The Problem Is Software Controlled by Its Developer</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.: 37. The Problem Is Software Controlled by Its Developer"> -<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.: 37. The Problem Is Software Controlled by Its Developer</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.: 37. The Problem Is Software Controlled by Its Developer"><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,25 +43,19 @@ 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="Root-of-Problem"></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-Problem-Is-Software-Controlled-by-Its-Developer"></a> -<h1 class="chapter"> 37. The Problem Is Software Controlled by Its Developer </h1> +<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-Problem-Is-Software-Controlled-by-Its-Developer"></a> +<h1 class="chapter"> 37. The Problem Is Software Controlled by Its Developer </h1> <a name="index-Zittrain_002c-Jonathan"></a> -<p>I fully agree with Jonathan Zittrain’s conclusion that we should not +<p>I fully agree with Jonathan Zittrain’s conclusion that we should not abandon general-purpose computers. Alas, I disagree completely with the path that led him to it. He presents serious security problems as -an intolerable crisis, but I’m not convinced. Then he forecasts that +an intolerable crisis, but I’m not convinced. Then he forecasts that users will panic in response and stampede toward restricted computers -(which he calls “appliances”), but there is no sign of this happening. +(which he calls “appliances”), but there is no sign of this happening. </p> <a name="index-zombie-machines"></a> <a name="index-phishing"></a> @@ -81,7 +63,7 @@ users will panic in response and stampede toward restricted computers from panicking, most users ignore the issue. Today, people are indeed concerned about the danger of phishing (mail and web pages that solicit personal information for fraud), but using a browsing-only -device instead of a general computer won’t protect you from that. +device instead of a general computer won’t protect you from that. </p> <a name="index-Apple_002c-iPhone-_0028see-also-cell-phones_0029"></a> <p>Meanwhile, Apple has reported that 25 percent of iPhones have been @@ -127,7 +109,7 @@ E-book readers such as the <a name="index-Amazon-2"></a> Amazon <a name="index-Swindle-2"></a> -“Swindle” are designed to stop you from sharing and lending your +“Swindle” are designed to stop you from sharing and lending your books. Features that artificially obstruct use of your data are known <a name="index-DRM_002c-call-it-_0060_0060Digital-Restrictions-Management_0027_0027-5"></a> <a name="index-_0060_0060Digital-Rights-Management_002c_0027_0027-avoid-use-of-term-_0028see-also-DRM_0029-1"></a> @@ -135,14 +117,14 @@ as Digital Restrictions Management (DRM); our protest campaign against DRM is hosted at <a name="index-Defective-by-Design-_0028see-also-DRM_0029-4"></a> <a href="http://defectivebydesign.org">http://defectivebydesign.org</a>. (Our adversaries call DRM -“Digital Rights Management” based on their idea that restricting you +“Digital Rights Management” based on their idea that restricting you is their right. When you choose a term, you choose your side.) </p> <p>The nastiest of the common restricted devices are <a name="index-cell-phones-_0028see-also-both-OpenMoko-and-Apple_0029"></a> cell phones. They transmit signals for tracking your whereabouts even when switched -“off”; the only way to stop this is to take out all the +“off”; the only way to stop this is to take out all the batteries. Many can also be turned on remotely, for listening, unbeknownst to you. (The <a name="index-FBI-1"></a> @@ -155,12 +137,12 @@ software in users phones, without asking, to impose new usage restrictions. </p> <p>With a general computer you can escape by rejecting such programs. You -don’t have to have KaZaA, RealPlayer, Adobe Flash, +don’t have to have KaZaA, RealPlayer, Adobe Flash, <a name="index-Windows-Media-Player-_0028see-also-both-DRM-and-treacherous-computing_0029-3"></a> Windows Media Player, Microsoft Windows or <a name="index-MacOS-_0028see-also-DRM_0029"></a> -MacOS on your computer (I don’t). By +MacOS on your computer (I don’t). By contrast, a restricted computer gives you no escape from the software built into it. <a name="index-KaZaA-_0028see-also-both-DRM-and-treacherous-computing_0029-2"></a> @@ -180,8 +162,8 @@ them. <p>The remedy is to give the users more control, not less. We must insist on free/libre software, software that the users are free to change and redistribute. Free/libre software develops under the control of its -users: if they don’t like its features, for whatever reason, they can -change them. If you’re not a programmer, you still get the benefit of +users: if they don’t like its features, for whatever reason, they can +change them. If you’re not a programmer, you still get the benefit of control by the users. A programmer can make the improvements you would like, and publish the changed version. Then you can use it too. </p> @@ -203,7 +185,7 @@ smaller. I edit text all day (literally) and I find the keyboard and screen of a laptop well worth the size and weight. However, people who use computers differently may prefer something that fits in a pocket. In the past, these devices have typically been restricted, but -they weren’t chosen for that reason. +they weren’t chosen for that reason. </p> <p>Now they are becoming less restricted. In fact, the <a name="index-OpenMoko-_0028see-also-cell-phones_0029"></a> @@ -236,12 +218,12 @@ software that gives the users control. <h3 class="subheading"> Postnote </h3> <a name="index-development_002c-patents-2"></a> -<p>Zittrain’s suggestion to reduce the statute of limitations +<p>Zittrain’s suggestion to reduce the statute of limitations on software patent lawsuits is a tiny step in the right direction, but it is much easier to solve the whole problem. Software patents are an unnecessary, artificial danger imposed on all software developers and users in the US. Every program is a combination of many methods and -techniques—thousands of them in a large program. If patenting these +techniques—thousands of them in a large program. If patenting these methods is allowed, then hundreds of those used in a given program are probably patented. (Avoiding them is not feasible; there may be no alternatives, or the alternatives may be patented too.) So the @@ -253,6 +235,4 @@ of software. Since the patent system is created by statute, eliminating patents from software will be easy given sufficient political will. (See <a href="http://www.endsoftpatents.org">http://www.endsoftpatents.org</a>.) <a name="index-Zittrain_002c-Jonathan-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_38.html b/examples/blog/articles/scrap1_38.html index bf497342..8dc47840 100644 --- a/src/frontend_blog/articles/scrap1_38.html +++ b/examples/blog/articles/scrap1_38.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.: 38. We Can Put an End to Word Attachments</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.: 38. We Can Put an End to Word Attachments"> -<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.: 38. We Can Put an End to Word Attachments</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.: 38. We Can Put an End to Word Attachments"><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,22 +43,16 @@ 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="No-Word-Attachments"></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="We-Can-Put-an-End-to-Word-Attachments"></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="We-Can-Put-an-End-to-Word-Attachments"></a> <h1 class="chapter"> 38. We Can Put an End to Word Attachments </h1> <a name="index-call-to-action_002c-put-an-end-to-Word-attachments"></a> <a name="index-Microsoft_002c-Word-_0028see-also-Word_0029"></a> <a name="index-Word_002c-attachments"></a> -<p>Don’t you just hate receiving Word documents in email messages? Word +<p>Don’t you just hate receiving Word documents in email messages? Word attachments are annoying, but, worse than that, they impede people from switching to free software. Maybe we can stop this practice with a simple collective effort. All we have to do is ask each person who @@ -101,19 +83,19 @@ they receive. The practice of using the secret Word format for interchange impedes the growth of our community and the spread of freedom. While we notice the occasional annoyance of receiving a Word document, this steady and persistent harm to our community usually -doesn’t come to our attention. But it is happening all the time. +doesn’t come to our attention. But it is happening all the time. </p> <a name="index-ASCII-1"></a> <p>Many GNU users who receive Word documents try to find ways to handle them. You can manage to find the somewhat obfuscated ASCII text in the file by skimming through it. Free software today can read most -Word documents, but not all—the format is secret and has not been +Word documents, but not all—the format is secret and has not been entirely decoded. Even worse, Microsoft can change it at any time. </p> <a name="index-Microsoft_002c-OOXML-format-_0028see-also-patents_0029-1"></a> <p>Worst of all, it has already done so. Microsoft Office 2007 uses by default a format based on the patented OOXML format. (This is the one -that Microsoft got declared an “open standard” by +that Microsoft got declared an “open standard” by political manipulation and packing standards committees.) The actual format is not entirely OOXML, and it is not entirely documented. Microsoft offers a gratis patent license for OOXML on terms which do @@ -140,7 +122,7 @@ files to others any more. <p>If we all do this, we will have a much larger effect. People who disregard one polite request may change their practice when they receive multiple polite requests from various people. We may be able -to give <em>Don’t send Word format!</em> the status of +to give <em>Don’t send Word format!</em> the status of <a name="index-netiquette"></a> netiquette, if we start systematically raising the issue with everyone who sends @@ -148,12 +130,11 @@ us Word files. </p> <p>To make this effort efficient, you will probably want to develop a canned reply that you can quickly send each time it is necessary. -I’ve included two examples: the version I have been using recently, +I’ve included two examples: the version I have been using recently, followed by a new version that teaches a Word user how to convert to other useful formats. </p> -<ul> -<li> +<ul><li> <blockquote class="smallquotation"> <a name="index-Word_002c-converting-Word-documents-into-free-formats"></a> <a name="index-PDF-2"></a> @@ -175,10 +156,10 @@ proprietary format, so it is hard for me to read. If you send me plain text, HTML, or PDF, then I will read it. </p> <p>Distributing documents in Word format is bad for you and for others. -You can’t be sure what they will look like if someone views them +You can’t be sure what they will look like if someone views them with a different version of Word; they may not work at all. </p> -<p>Receiving Word documents is bad for you because they can carry viruses (see <a href="http://en.wikipedia.org/wiki/Macro_virus_(computing)">http://en.wikipedia.org/wiki/Macro_virus_(computing)</a>). Sending Word documents is bad for you because a Word document normally includes hidden information about the author, enabling those in the know to pry into the author’s activities (maybe yours). Text that you think you deleted may still be embarrassingly present. See <a href="http://news.bbc.co.uk/2/hi/technology/3154479.stm">http://news.bbc.co.uk/2/hi/technology/3154479.stm</a> for more info. +<p>Receiving Word documents is bad for you because they can carry viruses (see <a href="http://en.wikipedia.org/wiki/Macro_virus_(computing)">http://en.wikipedia.org/wiki/Macro_virus_(computing)</a>). Sending Word documents is bad for you because a Word document normally includes hidden information about the author, enabling those in the know to pry into the author’s activities (maybe yours). Text that you think you deleted may still be embarrassingly present. See <a href="http://news.bbc.co.uk/2/hi/technology/3154479.stm">http://news.bbc.co.uk/2/hi/technology/3154479.stm</a> for more info. </p> <p>But above all, sending people Word documents puts pressure on them to use Microsoft software and helps to deny them any other choice. In @@ -192,10 +173,10 @@ document, click on <tt>File</tt>, then <tt>Save As</tt>, and in the <tt>Save As box at the bottom of the box, choose <tt>HTML Document</tt> or <tt>Web Page</tt>. Then choose <tt>Save</tt>. You can then attach the new HTML document instead of your Word document. Note that Word changes in inconsistent -ways—if you see slightly different menu item names, please try +ways—if you see slightly different menu item names, please try them. </p> -<p>To convert to plain text is almost the same—instead of <tt>HTML +<p>To convert to plain text is almost the same—instead of <tt>HTML Document</tt>, choose <tt>Text Only</tt> or <tt>Text Document</tt> as the <tt>Save As Type</tt>. <a name="index-HTML-3"></a> @@ -209,17 +190,15 @@ PDF file when requested. <p>See <a href="http://gnu.org/philosophy/no-word-attachments.html">http://gnu.org/philosophy/no-word-attachments.html</a> for more about this issue. </p></blockquote> -</li></ul> - -<p>You can use these replies verbatim if you like, or you can personalize +</li></ul><p>You can use these replies verbatim if you like, or you can personalize them or write your own. By all means construct a reply that fits your -ideas and your personality—if the replies are personal and not +ideas and your personality—if the replies are personal and not all alike, that will make the campaign more effective. </p> <p>These replies are meant for individuals who send Word files. When you encounter an organization that imposes use of Word format, that calls for a different sort of reply; there you can raise issues of fairness -that would not apply to an individual’s actions. +that would not apply to an individual’s actions. </p> <p>Some recruiters ask for resumes in Word format. Ludicrously, some recruiters do this even when looking for someone for a free software @@ -241,6 +220,4 @@ replies to cover those as well. <a name="index-call-to-action_002c-put-an-end-to-Word-attachments-1"></a> <a name="index-Microsoft_002c-Word-_0028see-also-Word_0029-1"></a> <a name="index-Word_002c-attachments-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_39.html b/examples/blog/articles/scrap1_39.html index 5c83063d..4b380ab4 100644 --- a/src/frontend_blog/articles/scrap1_39.html +++ b/examples/blog/articles/scrap1_39.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.: 39. Thank You, Larry McVoy</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.: 39. Thank You, Larry McVoy"> -<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.: 39. Thank You, Larry McVoy</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.: 39. Thank You, Larry McVoy"><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="McVoy"></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="Thank-You_002c-Larry-McVoy"></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="Thank-You_002c-Larry-McVoy"></a> <h1 class="chapter"> 39. Thank You, Larry McVoy </h1> <a name="index-McVoy_002c-Larry"></a> @@ -74,7 +56,7 @@ recently eliminated a major weakness of the free software community, by announcing the end of his campaign to entice free software projects to use and promote his nonfree software. Soon, Linux development will no longer use this program, and no longer spread the message that -nonfree software is a good thing if it’s convenient. +nonfree software is a good thing if it’s convenient. </p> <p>My gratitude is limited, since it was McVoy that created the problem in the first place. But I still appreciate his decision to clear it @@ -96,8 +78,8 @@ freedom to study and change the source code as you wish, freedom to make and redistribute copies, and freedom to publish modified versions. </p> -<p>The free software movement has said, “Think of ‘free speech,’ not -‘free beer’” since 1990. McVoy said the opposite; he invited +<p>The free software movement has said, “Think of ‘free speech,’ not +‘free beer’” since 1990. McVoy said the opposite; he invited developers to focus on the lack of monetary price, instead of on freedom. A free software activist would dismiss this suggestion, but those in our community who value technical advantage above freedom and @@ -105,7 +87,7 @@ community were susceptible to it. </p> <a name="index-Linux-kernel-5"></a> <a name="index-kernel_002c-Linux-5"></a> -<p>McVoy’s great triumph was the adoption of this program for Linux +<p>McVoy’s great triumph was the adoption of this program for Linux development. No free software project is more visible than Linux. It is the kernel of the GNU/Linux operating system, an essential component, and users often mistake it for the entire system. As McVoy @@ -114,21 +96,21 @@ powerful publicity for it. </p> <p>It was also, whether intentionally or not, a powerful political PR campaign, telling the free software community that freedom-denying -software is acceptable as long as it’s convenient. If we had taken +software is acceptable as long as it’s convenient. If we had taken that attitude towards Unix in 1984, where would we be today? Nowhere. If we had accepted using Unix, instead of setting out to replace it, nothing like the GNU/Linux system would exist. </p> <p>Of course, the Linux developers had practical reasons for what they -did. I won’t argue with those reasons; they surely know what’s +did. I won’t argue with those reasons; they surely know what’s convenient for them. But they did not count, or did not value, how -this would affect their freedom—or the rest of the community’s +this would affect their freedom—or the rest of the community’s efforts. </p> <p>A free kernel, even a whole free operating system, is not sufficient to use your computer in freedom; we need free software for everything else, too. Free applications, free drivers, free BIOS: some of those -projects face large obstacles—the need to reverse engineer +projects face large obstacles—the need to reverse engineer formats or protocols or pressure companies to document them, or to work around or face down patent threats, or to compete with a network effect. Success will require firmness and determination. A better @@ -141,9 +123,9 @@ the impetus to liberate the rest of the software world. distraction. For instance, he promised to release it as free software if the company went out of business. Alas, that does no good as long as the company remains in business. Linux developers responded by -saying, “We’ll switch to a free program when you develop a -better one.” This was an indirect way of saying, “We made -the mess, but we won’t clean it up.” +saying, “We’ll switch to a free program when you develop a +better one.” This was an indirect way of saying, “We made +the mess, but we won’t clean it up.” </p> <p>Fortunately, not everyone in Linux development considered a nonfree program acceptable, and there was continuing pressure for a free @@ -163,10 +145,9 @@ forget about that program. </p> <a name="index-call-to-action_002c-beware-of-nonfree-programs"></a> <p>We should not forget the lesson we have learned from it: Nonfree -programs are dangerous to you and to your community. Don’t let them +programs are dangerous to you and to your community. Don’t let them get a place in your life. <a name="index-McVoy_002c-Larry-1"></a> <a name="index-nonfree-software_002c-danger-of-1"></a> </p> -</body> -</html> +</section></body></html> diff --git a/src/frontend_blog/articles/scrap1_4.html b/examples/blog/articles/scrap1_4.html index 96bfac91..b622779a 100644 --- a/src/frontend_blog/articles/scrap1_4.html +++ b/examples/blog/articles/scrap1_4.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.: 4. The GNU Manifesto</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.: 4. The GNU Manifesto"> -<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.: 4. The GNU Manifesto</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.: 4. The GNU Manifesto"><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="Manifesto"></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-GNU-Manifesto"></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-GNU-Manifesto"></a> <h1 class="chapter"> 4. The GNU Manifesto </h1> <a name="index-GNU_002c-_0060_0060GNU-Manifesto_0027_0027"></a> @@ -75,23 +57,21 @@ ul.toc {list-style: none} the GNU Project, to ask for participation and support. For the first few years, it was updated in minor ways to account for developments, but now it seems best to leave it unchanged as most people have seen -it.<br> -</p> +it.<br></p> <p>Since that time, we have learned about certain common misunderstandings that different wording could help avoid. Footnotes added since 1993 help -clarify these points.<br> -</p> +clarify these points.<br></p> <p>For up-to-date information about the available GNU software, please see the information available on our web server, in particular our list of software. For how to contribute, see <a href="http://gnu.org/help">http://gnu.org/help</a>. </p></blockquote> <a name="What_0027s-GNU_003f-Gnu_0027s-Not-Unix_0021"></a> -<h3 class="subheading"> What’s GNU? Gnu’s Not Unix! </h3> +<h3 class="subheading"> What’s GNU? Gnu’s Not Unix! </h3> <a name="index-GNU_002c-GNU-software-_0028see-also-software_0029-1"></a> <a name="index-Unix-compatibility_002c-announcement-of-1"></a> -<p>GNU, which stands for Gnu’s Not Unix, is the name for the complete +<p>GNU, which stands for Gnu’s Not Unix, is the name for the complete Unix-compatible software system which I am writing so that I can give it away free to everyone who can use it.<a name="DOCF12" href="#FOOT12">(12)</a> Several other volunteers are helping me. Contributions of time, money, programs and equipment are greatly needed. @@ -149,7 +129,7 @@ on. The extra effort to make it run on smaller machines will be left to someone who wants to use it on them. </p> <p> To avoid horrible confusion, please pronounce the <em>g</em> -in the word “GNU” when it is the name of this project. +in the word “GNU” when it is the name of this project. <a name="index-GNU_002c-GNU-software-_0028see-also-software_0029-2"></a> </p> <a name="Why-I-Must-Write-GNU"></a> @@ -236,7 +216,7 @@ talk to, this is an important happiness that money cannot replace. <a name="index-call-to-action_002c-donate"></a> <p>I am asking computer manufacturers for donations of machines and -money. I’m asking individuals for donations of programs and +money. I’m asking individuals for donations of programs and work.<a name="DOCF14" href="#FOOT14">(14)</a> </p> <p> One consequence you can expect if you donate machines is that GNU @@ -261,8 +241,8 @@ be a feasible task. (The kernel will require closer communication and will be worked on by a small, tight group.) </p> <p> If I get donations of money, I may be able to hire a few people full -or part time. The salary won’t be high by programmers’ standards, but -I’m looking for people for whom building community spirit is as +or part time. The salary won’t be high by programmers’ standards, but +I’m looking for people for whom building community spirit is as important as making money. I view this as a way of enabling dedicated people to devote their full energies to working on GNU by sparing them the need to make a living in another way. @@ -291,7 +271,7 @@ which owns the sources and is in sole position to make changes. <a name="index-schools_002c-free-software-in"></a> <p> Schools will be able to provide a much more educational environment by encouraging all students to study and improve the system code. -Harvard’s computer lab used to have the policy that no program could be +Harvard’s computer lab used to have the policy that no program could be installed on the system if its sources were not on public display, and upheld it by actually refusing to install certain programs. I was very much inspired by this. @@ -308,21 +288,21 @@ be manufactured at great cost: charging each breather per liter of air may be fair, but wearing the metered gas mask all day and all night is intolerable even if everyone can afford to pay the air bill. And the TV cameras everywhere to see if you ever take the mask off are -outrageous. It’s better to support the air plant with a head tax and +outrageous. It’s better to support the air plant with a head tax and chuck the masks. </p> <p> Copying all or parts of a program is as natural to a programmer as breathing, and as productive. It ought to be as free. </p> <a name="Some-Easily-Rebutted-Objections-to-GNU_0027s-Goals"></a> -<h3 class="subheading"> Some Easily Rebutted Objections to GNU’s Goals </h3> +<h3 class="subheading"> Some Easily Rebutted Objections to GNU’s Goals </h3> <a name="index-GNU_002c-objections-to"></a> <a name="index-GNU_002c-user-support"></a> <a name="index-users_002c-technical-support-for-GNU"></a> -<p>• <strong>“Nobody will use it if it is free, because that means they can’t rely on any support.”</strong> +<p>&bullet; <strong>“Nobody will use it if it is free, because that means they can’t rely on any support.”</strong> </p> -<p>•<strong>“You have to charge for the program to pay for providing the support.”</strong> +<p>&bullet;<strong>“You have to charge for the program to pay for providing the support.”</strong> </p> <p> If people would rather pay for GNU plus service than get GNU free without service, a company to provide just service to people who have @@ -340,25 +320,24 @@ individual. With Unix, the price of sources puts this out of consideration for most businesses. With GNU this will be easy. It is still possible for there to be no available competent person, but this problem cannot be blamed on distribution arrangements. GNU does not -eliminate all the world’s problems, only some of them. +eliminate all the world’s problems, only some of them. </p> <p> Meanwhile, the users who know nothing about computers need handholding: doing things for them which they could easily do -themselves but don’t know how. +themselves but don’t know how. </p> <p> Such services could be provided by companies that sell just handholding and repair service. If it is true that users would rather spend money and get a product with service, they will also be willing to buy the service having got the product free. The service companies will compete in quality and price; users will not be tied to any -particular one. Meanwhile, those of us who don’t need the service +particular one. Meanwhile, those of us who don’t need the service should be able to use the program without paying for the service. -<br> -<a name="index-GNU_002c-advertising-for"></a> -• <strong>“You cannot reach many people without advertising, and -you must charge for the program to support that.”</strong><br> -• <strong>“It’s no use advertising a program people can get -free.”</strong> +<br><a name="index-GNU_002c-advertising-for"></a> +&bullet; <strong>“You cannot reach many people without advertising, and +you must charge for the program to support that.”</strong><br> +&bullet; <strong>“It’s no use advertising a program people can get +free.”</strong> </p> <p> There are various forms of free or very cheap publicity that can be used to inform numbers of computer users about something like GNU. But @@ -369,30 +348,28 @@ enough to pay for its advertising and more. This way, only the users who benefit from the advertising pay for it. </p> <p> On the other hand, if many people get GNU from their friends, and -such companies don’t succeed, this will show that advertising was not +such companies don’t succeed, this will show that advertising was not really necessary to spread GNU. Why is it that free market advocates -don’t want to let the free market decide this?<a name="DOCF17" href="#FOOT17">(17)</a> -<br> -<a name="index-competition_002c-impact-on"></a> -• <strong>“My company needs a proprietary operating system to get -a competitive edge.”</strong> +don’t want to let the free market decide this?<a name="DOCF17" href="#FOOT17">(17)</a> +<br><a name="index-competition_002c-impact-on"></a> +&bullet; <strong>“My company needs a proprietary operating system to get +a competitive edge.”</strong> </p> <p> GNU will remove operating system software from the realm of competition. You will not be able to get an edge in this area, but neither will your competitors be able to get an edge over you. You and they will compete in other areas, while benefiting mutually in this one. If your business is selling an operating system, you will not -like GNU, but that’s tough on you. If your business is something else, +like GNU, but that’s tough on you. If your business is something else, GNU can save you from being pushed into the expensive business of selling operating systems. </p> <p> I would like to see GNU development supported by gifts from many manufacturers and users, reducing the cost to each.<a name="DOCF18" href="#FOOT18">(18)</a> -<br> -<a name="index-programmers_002c-income-for-2"></a> +<br><a name="index-programmers_002c-income-for-2"></a> <a name="index-programmers_002c-and-creativity-and-entitlement"></a> -• <strong>“Don’t programmers deserve a reward for their -creativity?”</strong> +&bullet; <strong>“Don’t programmers deserve a reward for their +creativity?”</strong> </p> <p> If anything deserves a reward, it is social contribution. Creativity can be a social contribution, but only in so far as society @@ -400,12 +377,12 @@ is free to use the results. If programmers deserve to be rewarded for creating innovative programs, by the same token they deserve to be punished if they restrict the use of these programs. <br> -• <strong>“Shouldn’t a programmer be able to ask for a reward for -his creativity?”</strong> +&bullet; <strong>“Shouldn’t a programmer be able to ask for a reward for +his creativity?”</strong> </p> <a name="index-programmers_002c-income-for-3"></a> <p> There is nothing wrong with wanting pay for work, or seeking to -maximize one’s income, as long as one does not use means that are +maximize one’s income, as long as one does not use means that are destructive. But the means customary in the field of software today are based on destruction. </p> @@ -424,11 +401,11 @@ Kantian ethics; or, <a name="index-Golden-Rule-2"></a> the Golden Rule. Since I do not like the consequences that result if everyone hoards information, I am required to consider it wrong for one -to do so. Specifically, the desire to be rewarded for one’s creativity +to do so. Specifically, the desire to be rewarded for one’s creativity does not justify depriving the world in general of all or part of that creativity. <br> -• <strong>“Won’t programmers starve?”</strong> +&bullet; <strong>“Won’t programmers starve?”</strong> </p> <p> I could answer that nobody is forced to be a programmer. Most of us cannot manage to get any money for standing on the street and making @@ -436,7 +413,7 @@ faces. But we are not, as a result, condemned to spend our lives standing on the street making faces, and starving. We do something else. </p> -<p> But that is the wrong answer because it accepts the questioner’s +<p> But that is the wrong answer because it accepts the questioner’s implicit assumption: that without ownership of software, programmers cannot possibly be paid a cent. Supposedly it is all or nothing. </p> @@ -458,14 +435,13 @@ now do. If programmers made the same, that would not be an injustice either. (In practice they would still make considerably more than that.) <a name="index-programmers_002c-income-for-4"></a> -<br> -</p> -<p>• <strong>“Don’t people have a right to control how their creativity is used?”</strong> +<br></p> +<p>&bullet; <strong>“Don’t people have a right to control how their creativity is used?”</strong> </p> <a name="index-patents-1"></a> <a name="index-_0060_0060intellectual-property_002c_0027_0027-bias-and-fallacy-of-term-_0028see-also-ownership_0029"></a> -<p>“Control over the use of one’s ideas” really constitutes -control over other people’s lives; and it is usually used to make +<p>“Control over the use of one’s ideas” really constitutes +control over other people’s lives; and it is usually used to make their lives more difficult. </p> <p> People who have studied the issue of intellectual property @@ -488,11 +464,11 @@ products. </p> <p> The idea of copyright did not exist in ancient times, when authors frequently copied other authors at length in works of nonfiction. This -practice was useful, and is the only way many authors’ works have +practice was useful, and is the only way many authors’ works have survived even in part. The copyright system was created expressly for the purpose of encouraging authorship. In the domain for which it was -invented—books, which could be copied economically only on a printing -press—it did little harm, and did not obstruct most of the individuals +invented—books, which could be copied economically only on a printing +press—it did little harm, and did not obstruct most of the individuals who read the books. </p> <p> All intellectual property rights are just licenses granted by society @@ -511,27 +487,25 @@ which a person who enforces a copyright is harming society as a whole both materially and spiritually; in which a person should not do so regardless of whether the law enables him to. <a name="index-programmers_002c-and-creativity-and-entitlement-1"></a> -<br> -<a name="index-competition_002c-impact-on-1"></a> -• <strong>“Competition makes things get done -better.”</strong> +<br><a name="index-competition_002c-impact-on-1"></a> +&bullet; <strong>“Competition makes things get done +better.”</strong> </p> <p> The paradigm of competition is a race: by rewarding the winner, we encourage everyone to run faster. When capitalism really works this way, it does a good job; but its defenders are wrong in assuming it always works this way. If the runners forget why the reward is offered and become intent on winning, no matter how, they may find other -strategies—such as, attacking other runners. If the runners get into +strategies—such as, attacking other runners. If the runners get into a fist fight, they will all finish late. </p> <p> Proprietary and secret software is the moral equivalent of runners -in a fist fight. Sad to say, the only referee we’ve got does not seem -to object to fights; he just regulates them (“For every ten -yards you run, you can fire one shot”). He really ought to +in a fist fight. Sad to say, the only referee we’ve got does not seem +to object to fights; he just regulates them (“For every ten +yards you run, you can fire one shot”). He really ought to break them up, and penalize runners for even trying to fight. -<br> -<a name="index-programmers_002c-incentive-for-1"></a> -• <strong>“Won’t everyone stop programming without a monetary incentive?”</strong> +<br><a name="index-programmers_002c-incentive-for-1"></a> +&bullet; <strong>“Won’t everyone stop programming without a monetary incentive?”</strong> </p> <p> Actually, many people will program with absolutely no monetary incentive. Programming has an irresistible fascination for some @@ -545,7 +519,7 @@ less. So the right question is, will anyone program with a reduced monetary incentive? My experience shows that they will. </p> <a name="index-AI-_0028Artificial-Intelligence_0029-Lab_002c-MIT-_0028see-also-MIT_0029-2"></a> -<p> For more than ten years, many of the world’s best programmers worked +<p> For more than ten years, many of the world’s best programmers worked at the Artificial Intelligence Lab for far less money than they could have had anywhere else. They got many kinds of nonmonetary rewards: fame and appreciation, for example. And creativity is also fun, a @@ -561,15 +535,14 @@ in competition with high-paying ones, but they do not have to do badly if the high-paying ones are banned. <a name="index-programmers_002c-incentive-for-2"></a> <br> -• <strong>“We need the programmers desperately. If they demand that we stop helping our neighbors, we have to obey.”</strong> +&bullet; <strong>“We need the programmers desperately. If they demand that we stop helping our neighbors, we have to obey.”</strong> </p> -<p> You’re never so desperate that you have to obey this sort of demand. +<p> You’re never so desperate that you have to obey this sort of demand. Remember: millions for defense, but not a cent for tribute! -<br> -</p> +<br></p> <a name="index-programmers_002c-income-for-5"></a> <a name="index-development_002c-funding-for-2"></a> -<p>• <strong>“Programmers need to make a living somehow.”</strong> +<p>&bullet; <strong>“Programmers need to make a living somehow.”</strong> </p> <p> In the short run, this is true. However, there are plenty of ways that programmers could make a living without selling the right to use a @@ -591,9 +564,9 @@ freeware,<a name="DOCF21" href="#FOOT21">(21)</a>) for more explanation. users, or selling handholding services. I have met people who are already working this way successfully. </p> -<p> Users with related needs can form users’ groups, and pay dues. A +<p> Users with related needs can form users’ groups, and pay dues. A group would contract with programming companies to write programs that -the group’s members would like to use. +the group’s members would like to use. </p> <a name="index-software_002c-software-tax"></a> <p> All sorts of development can be funded with a Software Tax: @@ -606,7 +579,7 @@ NSF to spend on software development. </p> <p> But if the computer buyer makes a donation to software development himself, he can take a credit against the tax. He can donate to - the project of his own choosing—often, chosen because he hopes to + the project of his own choosing—often, chosen because he hopes to use the results when it is done. He can take a credit for any amount of donation up to the total tax he had to pay. </p> @@ -617,8 +590,7 @@ NSF to spend on software development. <p> The consequences: </p> -<ul> -<li> +<ul><li> The computer-using community supports software development. </li><li> @@ -627,9 +599,7 @@ This community decides what level of support is needed. </li><li> Users who care which projects their share is spent on can choose this for themselves. -</li></ul> - -<p> In the long run, making programs free is a step toward the +</li></ul><p> In the long run, making programs free is a step toward the postscarcity world, where nobody will have to work very hard just to make a living. People will be free to devote themselves to activities that are fun, such as programming, after spending the necessary ten @@ -653,31 +623,30 @@ gains in productivity to translate into less work for us. <a name="index-GNU_002c-_0060_0060GNU-Manifesto_0027_0027-1"></a> </p> <div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT12" href="#DOCF12">(12)</a></h3> <p>The wording here was careless. The intention was that nobody would have to pay for -<em>permission</em> to use the GNU system. But the words don’t make this +<em>permission</em> to use the GNU system. But the words don’t make this clear, and people often interpret them as saying that copies of GNU should always be distributed at little or no charge. That was never the intent; later on, the manifesto mentions the possibility of companies providing the service of distribution for a profit. Subsequently I have learned to distinguish carefully between -“free” in the sense of freedom and “free” in the sense of +“free” in the sense of freedom and “free” in the sense of price. Free software is software that users have the freedom to distribute and change. Some users may obtain copies at no charge, -while others pay to obtain copies—and if the funds help support +while others pay to obtain copies—and if the funds help support improving the software, so much the better. The important thing is that everyone who has a copy has the freedom to cooperate with others in using it. </p><h3><a name="FOOT13" href="#DOCF13">(13)</a></h3> <p>The expression <a name="index-_0060_0060give-away-software_002c_0027_0027-misleading-use-of-term"></a> -“give away” is another indication that I had not yet clearly +“give away” is another indication that I had not yet clearly separated the issue of price from that of freedom. We now recommend -avoiding this expression when talking about free software. See “Words -to Avoid (or Use with Care)” +avoiding this expression when talking about free software. See “Words +to Avoid (or Use with Care)” </p><h3><a name="FOOT14" href="#DOCF14">(14)</a></h3> <p>Nowadays, for software tasks to work on, see the <a name="index-High-Priority-Projects-list"></a> @@ -691,7 +660,7 @@ help, see <a href="http://gnu.org/help/help.html">http://gnu.org/help/help.html< </p><h3><a name="FOOT15" href="#DOCF15">(15)</a></h3> <p>This is another place I failed to distinguish carefully between the two different meanings of -“free.” The statement as it stands is not false—you can get copies +“free.” The statement as it stands is not false—you can get copies of GNU software at no charge, from your friends or over the net. But it does suggest the wrong idea. </p><h3><a name="FOOT16" href="#DOCF16">(16)</a></h3> @@ -722,22 +691,20 @@ software world. Therefore, I no longer expect that most paid programmers would earn less in a free software world. </p><h3><a name="FOOT20" href="#DOCF20">(20)</a></h3> <p>In the 1980s I had not yet realized how confusing it -was to speak of “the issue” of “intellectual property.” That term +was to speak of “the issue” of “intellectual property.” That term is obviously biased; more subtle is the fact that it lumps together various disparate laws which raise very different issues. Nowadays I -urge people to reject the term “intellectual property” entirely, +urge people to reject the term “intellectual property” entirely, lest it lead others to suppose that those laws form one coherent issue. The way to be clear is to discuss patents, copyrights, and <a name="index-trademarks-and_002for-trademark-law"></a> -trademarks separately. See “Did You Say ‘Intellectual Property’? It’s -a Seductive Mirage”. +trademarks separately. See “Did You Say ‘Intellectual Property’? It’s +a Seductive Mirage”. </p><h3><a name="FOOT21" href="#DOCF21">(21)</a></h3> <p>Subsequently we learned to distinguish between -“free software” and “freeware.” The term “freeware” means +“free software” and “freeware.” The term “freeware” means software you are free to redistribute, but usually you are not free to study and change the source code, so most of it is not free -software. See “Words to Avoid (or Use with Care)”. +software. See “Words to Avoid (or Use with Care)”. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_40.html b/examples/blog/articles/scrap1_40.html index 16c308bc..48edbce4 100644 --- a/src/frontend_blog/articles/scrap1_40.html +++ b/examples/blog/articles/scrap1_40.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.: 40. Computing “Progress”: Good and Bad</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.: 40. Computing “Progress”: Good and Bad"> -<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.: 40. Computing “Progress”: Good and Bad</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.: 40. Computing “Progress”: Good and Bad"><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,17 +43,11 @@ 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="Computing-Progress"></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="Computing-_0060_0060Progress_0027_0027_003a-Good-and-Bad"></a> -<h1 class="chapter"> 40. Computing “Progress”: Good and Bad </h1> +<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="Computing-_0060_0060Progress_0027_0027_003a-Good-and-Bad"></a> +<h1 class="chapter"> 40. Computing “Progress”: Good and Bad </h1> <a name="index-Horowitz_002c-Bradley"></a> <a name="index-UK"></a> @@ -77,32 +59,32 @@ ul.toc {list-style: none} <p>Bradley Horowitz of Yahoo proposed here<a name="DOCF50" href="#FOOT50">(50)</a> that every object in our world have a unique number so that your cell phone could record -everything you do—even which cans you picked up while in the +everything you do—even which cans you picked up while in the supermarket. </p> -<p>If the phone is like today’s phones, it will use proprietary software: +<p>If the phone is like today’s phones, it will use proprietary software: software controlled by the companies that developed it, not by its users. Those companies will ensure that your phone makes the -information it collects about you available to the phone company’s -database (let’s call it Big Brother) and probably to other +information it collects about you available to the phone company’s +database (let’s call it Big Brother) and probably to other companies. </p> <p>In the UK of the future, as New Labour would have it, those companies will surely turn this information over to the police. If your phone reports you bought a wooden stick and a piece of poster board, the -phone company’s system will deduce that you may be planning a protest, +phone company’s system will deduce that you may be planning a protest, and report you automatically to the police so they can accuse you of -“terrorism.” +“terrorism.” </p> -<p>In the UK, it is literally an offense to be suspect—more precisely, -to possess any object in circumstances that create a “reasonable -suspicion” that you might use it in certain criminal ways. Your +<p>In the UK, it is literally an offense to be suspect—more precisely, +to possess any object in circumstances that create a “reasonable +suspicion” that you might use it in certain criminal ways. Your phone will give the police plenty of opportunities to suspect you so they can charge you with having been suspected by them. Similar things will happen in China, where Yahoo has already given the government all the information it needed to imprison a dissident; it subsequently asked for our understanding on the excuse that it was -“just following orders.” +“just following orders.” </p> <a name="index-cell-phones-_0028see-also-both-OpenMoko-and-Apple_0029-1"></a> <p>Horowitz would like cell phones to tag information automatically, @@ -111,13 +93,13 @@ means the phone company will also know precisely whom you meet. That information will also be interesting to governments, such as those of the UK and China, that cut corners on human rights. </p> -<p>I do not much like Horowitz’s vision of total surveillance. Rather, I +<p>I do not much like Horowitz’s vision of total surveillance. Rather, I envision a world in which our computers never collect, or release, any information about us except when we want them to. </p> <a name="index-DRM_002c-call-it-_0060_0060Digital-Restrictions-Management_0027_0027-6"></a> <p>Nonfree software does other nasty things besides spying; it often -implements digital handcuffs—features designed to restrict the users +implements digital handcuffs—features designed to restrict the users (also called DRM, for Digital Restrictions Management). These features control how you can access, copy, or move the files in your own computer. @@ -132,7 +114,7 @@ Google does it, even the <a name="index-DRM_002c-and-BBC-iPlayer"></a> <a name="index-iPlayer_002c-BBC-_0028see-also-DRM_0029"></a> -BBC’s iPlayer does it. Many governments, taking the +BBC’s iPlayer does it. Many governments, taking the side of these companies against the public, have made it illegal to tell others how to escape from the digital handcuffs. As a result, competition does nothing to check the practice: no matter how many @@ -143,30 +125,30 @@ like to restrict what you can access based on your present location. <a name="index-DRM_002c-call-it-_0060_0060Digital-Restrictions-Management_0027_0027-7"></a> </p> <p>My vision of the world is different. I would like to see a world in -which all the software in our computers — in our desktop PCs, our -laptops, our handhelds, our phones — is under our control and +which all the software in our computers — in our desktop PCs, our +laptops, our handhelds, our phones — is under our control and respects our freedom. In other words, a world where all software is <em>free</em> software. </p> <p>Free software, freedom-respecting software, means that every user of -the program is free to get the program’s source code and change the +the program is free to get the program’s source code and change the program to do what she wants, and also free to give away or sell copies, either exact or modified. This means the users are in control. With the users in control of the software, nobody has power to impose nasty features on others. </p> -<p>Even if you don’t exercise this control yourself, you are part of a +<p>Even if you don’t exercise this control yourself, you are part of a society where others do. If you are not a programmer, other users of the program are. They will probably find and remove any nasty features, which might spy on or restrict you, and publish safe -versions. You will have only to elect to use them—and since +versions. You will have only to elect to use them—and since all other users will prefer them, that will usually happen with no effort on your part. </p> <a name="index-Stross_002c-Charles"></a> <p>Charles Stross envisioned computers that permanently record everything that we see and hear.<a name="DOCF51" href="#FOOT51">(51)</a> Those records could be very useful, as long as -Big Brother doesn’t see and hear all of them. Today’s cell phones are +Big Brother doesn’t see and hear all of them. Today’s cell phones are already capable of listening to their users without informing them, at the request of the police, the phone company, or anyone that knows the requisite commands. As long as phones use nonfree software, @@ -176,7 +158,7 @@ resist totalitarian surveillance. <a name="index-cell-phones-_0028see-also-both-OpenMoko-and-Apple_0029-2"></a> </p> <a name="index-Winer_002c-Dave"></a> -<p>Dave Winer’s article<a name="DOCF52" href="#FOOT52">(52)</a> suggested that Mr. +<p>Dave Winer’s article<a name="DOCF52" href="#FOOT52">(52)</a> suggested that Mr. <a name="index-Gates_002c-Bill"></a> Gates should send a copy of <a name="index-Windows_002c-Vista-2"></a> @@ -184,7 +166,7 @@ Gates should send a copy of Windows Vista to <a name="index-Alpha-Centauri"></a> Alpha Centauri. I understand the feeling, but -sending just one won’t solve our problem here on Earth. Windows is +sending just one won’t solve our problem here on Earth. Windows is designed to spy on users and restrict them. We should collect all the copies of <a name="index-DRM_002c-and-Windows"></a> @@ -200,15 +182,12 @@ them. <a name="index-Big-Brother-1"></a> <a name="index-proprietary-software_002c-spying-on-users-3"></a> </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT50" href="#DOCF50">(50)</a></h3> -<p>Bradley Horowitz, “The Tech Lab: Bradley Horowitz,” <cite>BBC News,</cite> 29 June 2007, <a href="http://news.bbc.co.uk/2/hi/technology/6252716.stm">http://news.bbc.co.uk/2/hi/technology/6252716.stm</a>. +<p>Bradley Horowitz, “The Tech Lab: Bradley Horowitz,” <cite>BBC News,</cite> 29 June 2007, <a href="http://news.bbc.co.uk/2/hi/technology/6252716.stm">http://news.bbc.co.uk/2/hi/technology/6252716.stm</a>. </p><h3><a name="FOOT51" href="#DOCF51">(51)</a></h3> -<p>Charles Stross, “The Tech Lab: Charles Stross,” <cite>BBC News,</cite> 10 July 2007, <a href="http://news.bbc.co.uk/2/hi/technology/6287126.stm">http://news.bbc.co.uk/2/hi/technology/6287126.stm</a>. +<p>Charles Stross, “The Tech Lab: Charles Stross,” <cite>BBC News,</cite> 10 July 2007, <a href="http://news.bbc.co.uk/2/hi/technology/6287126.stm">http://news.bbc.co.uk/2/hi/technology/6287126.stm</a>. </p><h3><a name="FOOT52" href="#DOCF52">(52)</a></h3> -<p>Dave Winer, “The Tech Lab: Dave Winer,” <cite>BBC News,</cite> 14 June 2007, <a href="http://news.bbc.co.uk/2/hi/technology/6748103.stm">http://news.bbc.co.uk/2/hi/technology/6748103.stm</a>. +<p>Dave Winer, “The Tech Lab: Dave Winer,” <cite>BBC News,</cite> 14 June 2007, <a href="http://news.bbc.co.uk/2/hi/technology/6748103.stm">http://news.bbc.co.uk/2/hi/technology/6748103.stm</a>. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_41.html b/examples/blog/articles/scrap1_41.html index 219c2993..40cddf0e 100644 --- a/src/frontend_blog/articles/scrap1_41.html +++ b/examples/blog/articles/scrap1_41.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.: 41. Avoiding Ruinous Compromises</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.: 41. Avoiding Ruinous Compromises"> -<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.: 41. Avoiding Ruinous Compromises</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.: 41. Avoiding Ruinous Compromises"><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="Compromise"></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="Avoiding-Ruinous-Compromises"></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="Avoiding-Ruinous-Compromises"></a> <h1 class="chapter"> 41. Avoiding Ruinous Compromises </h1> <a name="index-GNU-_0028see-also-both-software-and-GNU_0029-9"></a> @@ -86,7 +68,7 @@ have different goals. </p> <a name="index-GPL_002c-patent_002dprovisions-compromise"></a> <a name="index-compromises_002c-GPL-patent-provisions"></a> -<p>Thus, the Free Software Foundation makes compromises—even major ones. For instance, we made +<p>Thus, the Free Software Foundation makes compromises—even major ones. For instance, we made compromises in the patent provisions of version 3 of the GNU General Public License (GNU GPL) so that major companies would contribute to and distribute GPLv3-covered software and thus bring some patents @@ -95,7 +77,7 @@ under the effect of these provisions. <a name="index-LGPL_002c-as-compromise"></a> <a name="index-compromises_002c-LGPL-and"></a> <a name="index-libraries-_0028comp_002e_0029_002c-LGPL-and-3"></a> -<p>The Lesser GPL’s purpose is a compromise: we use it on certain chosen +<p>The Lesser GPL’s purpose is a compromise: we use it on certain chosen free libraries to permit their use in nonfree programs because we think that legally prohibiting this would only drive developers to proprietary libraries instead. We accept and install code in @@ -104,7 +86,7 @@ GNU programs to make them work together with common nonfree programs, and we document and publicize this in ways that encourage users of the latter to install the former, but not vice versa. We support specific -campaigns we agree with, even when we don’t fully agree with the +campaigns we agree with, even when we don’t fully agree with the groups behind them. </p> <p>But we reject certain compromises even though many others in our @@ -121,12 +103,12 @@ level of actions. <p>At the level of ideas, ruinous compromises are those that reinforce the premises we seek to change. Our goal is a world in which software users are free, but as yet most computer users do not even recognize -freedom as an issue. They have taken up “consumer” values, which +freedom as an issue. They have taken up “consumer” values, which means they judge any program only on practical characteristics such as price and convenience. </p> <a name="index-Carnegie_002c-Dale"></a> -<p>Dale Carnegie’s classic self-help book, <cite>How to Win Friends and +<p>Dale Carnegie’s classic self-help book, <cite>How to Win Friends and Influence People,</cite> advises that the most effective way to persuade someone to do something is to present arguments that appeal to his values. There are ways we can appeal to the consumer values @@ -140,8 +122,8 @@ are now quite successful. <p>If getting more people to use some free programs is as far as you aim to go, you might decide to keep quiet about the concept of freedom, and focus only on the practical advantages that make sense -in terms of consumer values. That’s what the term “open -source” and its associated rhetoric do. +in terms of consumer values. That’s what the term “open +source” and its associated rhetoric do. </p> <p>That approach can get us only part way to the goal of freedom. People who use free software only because it is convenient will stick with it @@ -149,14 +131,14 @@ only as long as it is convenient. And they will see no reason not to use convenient proprietary programs along with it. </p> <p>The philosophy of open source presupposes and appeals to consumer -values, and this affirms and reinforces them. That’s why we +values, and this affirms and reinforces them. That’s why we do not support open source. </p> <a name="index-citizen-values_002c-convenience-v_002e-6"></a> <p>To establish a free community fully and lastingly, we need to do more than get people to use some free software. We need to spread the -idea of judging software (and other things) on “citizen -values,” based on whether it respects users’ freedom and +idea of judging software (and other things) on “citizen +values,” based on whether it respects users’ freedom and community, not just in terms of convenience. Then people will not fall into the trap of a proprietary program baited by an attractive, convenient feature. @@ -167,21 +149,21 @@ compromise that would influence their actions by endorsing their consumer values. <a name="index-citizen-values_002c-consumer-values-v_002e-1"></a> </p> -<p>This is not to say we cannot cite practical advantage at all—we can +<p>This is not to say we cannot cite practical advantage at all—we can and we do. It becomes a problem only when the practical advantage steals the scene and pushes freedom into the background. Therefore, when we cite the practical advantages of free software, we reiterate frequently that those are just <em>additional, secondary</em> reasons to prefer it. </p> -<p>It’s not enough to make our words accord with our ideals; our +<p>It’s not enough to make our words accord with our ideals; our actions have to accord with them too. So we must also avoid compromises that involve doing or legitimizing the things we aim to stamp out. </p> <p>For instance, experience shows that you can attract some users to GNU/Linux if you include some nonfree programs. This could mean a -cute nonfree application that will catch some user’s eye, or a nonfree +cute nonfree application that will catch some user’s eye, or a nonfree programming platform such as <a name="index-Java-5"></a> Java (formerly) or the Flash runtime @@ -190,8 +172,8 @@ hardware models. </p> <p>These compromises are tempting, but they undermine the goal. If you distribute nonfree software, or steer people towards it, you will find -it hard to say, “Nonfree software is an injustice, a social problem, -and we must put an end to it.” And even if you do continue to say +it hard to say, “Nonfree software is an injustice, a social problem, +and we must put an end to it.” And even if you do continue to say those words, your actions will undermine them. </p> <p>The issue here is not whether people should be <em>able</em> or @@ -220,7 +202,7 @@ wish to keep our values straight. <a name="index-FSF_002c-resources"></a> <a name="index-citizen-values_002c-publicly-upholding"></a> <p>If you want to move to free software without compromising the goal of -freedom, look at the FSF’s resources area. It lists hardware and +freedom, look at the FSF’s resources area. It lists hardware and machine configurations that work with free software, totally free GNU/Linux distros to install, and thousands of free software packages that work in a 100 percent free software environment. If you want to @@ -233,6 +215,4 @@ and argue from them. wrong place. Compromise is essential to achieve an ambitious goal, but beware of compromises that lead away from the goal. <a name="index-compromises_002c-avoiding-ruinous-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_42.html b/examples/blog/articles/scrap1_42.html index 66c30567..02f45f64 100644 --- a/src/frontend_blog/articles/scrap1_42.html +++ b/examples/blog/articles/scrap1_42.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.: 42. Overcoming Social Inertia</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.: 42. Overcoming Social Inertia"> -<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.: 42. Overcoming Social Inertia</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.: 42. Overcoming Social Inertia"><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="Social-Inertia"></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="Overcoming-Social-Inertia"></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="Overcoming-Social-Inertia"></a> <h1 class="chapter"> 42. Overcoming Social Inertia </h1> <a name="index-citizen-values_002c-convenience-v_002e-7"></a> @@ -73,7 +55,7 @@ ul.toc {list-style: none} <p>Almost two decades have passed since the combination of GNU and Linux first made it possible to use a PC in freedom. We have come a long way since then. Now you can even buy a laptop with GNU/Linux preinstalled -from more than one hardware vendor—although the systems they ship +from more than one hardware vendor—although the systems they ship are not entirely free software. So what holds us back from total success? </p> @@ -96,8 +78,8 @@ that then turn out to work only with Internet Explorer. <p>A few years ago, Microsoft ads argued that Windows was cheaper to run than GNU/Linux. Their comparisons were debunked, but it is worth noting the deeper flaw in their argument, the implicit premise which -cites a form of social inertia: “Currently, more technical people -know Windows than GNU/Linux.” People who value their freedom would +cites a form of social inertia: “Currently, more technical people +know Windows than GNU/Linux.” People who value their freedom would not give it up to save money, but many business executives believe ideologically that everything they possess, even their freedom, should be for sale. @@ -116,12 +98,10 @@ by the nose by social inertia, so that they become part of the inertia. </p> <a name="index-call-to-action_002c-talk-about-freedom-1"></a> -<p>To build our community’s strength to resist, we need to talk about -free software and freedom—not merely about the practical benefits +<p>To build our community’s strength to resist, we need to talk about +free software and freedom—not merely about the practical benefits that open source supporters cite. As more people recognize what they need to do to overcome the inertia, we will make more progress. </p> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_43.html b/examples/blog/articles/scrap1_43.html index 0610579e..48d77aad 100644 --- a/src/frontend_blog/articles/scrap1_43.html +++ b/examples/blog/articles/scrap1_43.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.: 43. Freedom or Power?</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.: 43. Freedom or Power?"> -<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.: 43. Freedom or Power?</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.: 43. Freedom or Power?"><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,32 +43,24 @@ 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="Freedom-or-Power"></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="Freedom-or-Power_003f"></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="Freedom-or-Power_003f"></a> <h1 class="chapter"> 43. Freedom or Power? </h1> <p>Written by <a name="index-Kuhn_002c-Bradley-M_002e"></a> -Bradley M. Kuhn and Richard Stallman. -<br> -<em>The love of liberty is the love of others; the love of power is the love of ourselves.</em> +Bradley M. Kuhn and Richard Stallman. +<br><em>The love of liberty is the love of others; the love of power is the love of ourselves.</em> </p><a name="index-Hazlitt_002c-William"></a> -<p align="right">—William Hazlitt -</p><br> -<a name="index-proprietary-software_002c-freedom-or-power_003f"></a> +<p align="right">—William Hazlitt +</p><br><a name="index-proprietary-software_002c-freedom-or-power_003f"></a> <p>In the free software movement, we stand for freedom for the users of software. We formulated our views by looking at what freedoms are necessary for a good way of life, and permit useful programs to foster a community of goodwill, cooperation, and collaboration. Our criteria -for free software specify the freedoms that a program’s users need so +for free software specify the freedoms that a program’s users need so that they can cooperate in a community. </p> <p>We stand for freedom for programmers as well as for other users. @@ -91,8 +71,8 @@ code. We stand for freedom for all users, whether they program often, occasionally, or not at all. </p> <p>However, one so-called freedom that we do not advocate is the -“freedom to choose any license you want for software you -write.” We reject this because it is really a form of power, +“freedom to choose any license you want for software you +write.” We reject this because it is really a form of power, not a freedom. </p> <p>This oft overlooked distinction is crucial. Freedom is being able to make @@ -103,23 +83,23 @@ will fail to uphold real freedom. <a name="index-developers_002c-copyright-law-favors"></a> <p>Making a program proprietary is an exercise of power. Copyright law today grants software developers that power, so they and only they -choose the rules to impose on everyone else—a relatively small +choose the rules to impose on everyone else—a relatively small number of people make the basic software decisions for all users, typically by denying their freedom. When users lack the -freedoms that define free software, they can’t tell what the -software is doing, can’t check for back doors, can’t monitor possible -viruses and worms, can’t find out what personal information is being +freedoms that define free software, they can’t tell what the +software is doing, can’t check for back doors, can’t monitor possible +viruses and worms, can’t find out what personal information is being reported (or stop the reports, even if they do find out). If it breaks, -they can’t fix it; they have to wait for the developer to exercise its -power to do so. If it simply isn’t quite what they need, they are stuck -with it. They can’t help each other improve it. +they can’t fix it; they have to wait for the developer to exercise its +power to do so. If it simply isn’t quite what they need, they are stuck +with it. They can’t help each other improve it. </p> <a name="index-Microsoft_002c-freedom-or-power_003f"></a> <p>Proprietary software developers are often businesses. We in the free software movement are not opposed to business, but we have seen what -happens when a software business has the “freedom” to +happens when a software business has the “freedom” to impose arbitrary rules on the users of software. Microsoft is an -egregious example of how denying users’ freedoms can lead to direct +egregious example of how denying users’ freedoms can lead to direct harm, but it is not the only example. Even when there is no monopoly, proprietary software harms society. A choice of masters is not freedom. @@ -132,23 +112,23 @@ owners of proprietary software businesses. But the entire developed world now needs and uses software, so software developers now control the way it lives, does business, communicates, and is entertained. The ethical and -political issues are not addressed by the slogan of “freedom of -choice (for developers only).” +political issues are not addressed by the slogan of “freedom of +choice (for developers only).” <a name="index-developers_002c-copyright-law-favors-1"></a> </p> -<p>If “code is law,”<a name="DOCF53" href="#FOOT53">(53)</a> +<p>If “code is law,”<a name="DOCF53" href="#FOOT53">(53)</a> then the real question we face is: who should control the code you -use—you, or an elite few? We believe you are entitled to control the +use—you, or an elite few? We believe you are entitled to control the software you use, and giving you that control is the goal of free software. </p> <a name="index-GPL-7"></a> <p>We believe you should decide what to do with the software you use; -however, that is not what today’s law says. Current copyright law +however, that is not what today’s law says. Current copyright law places us in the position of power over users of our code, whether we like it or not. The ethical response to this situation is to proclaim freedom for each user, just as the Bill of Rights was supposed to -exercise government power by guaranteeing each citizen’s +exercise government power by guaranteeing each citizen’s freedoms. That is what the GNU General Public License is for: it puts you in control of your usage of the software while protecting you from others who would like to take control of your decisions. @@ -161,14 +141,11 @@ practical value of the free software we have developed. </p> <div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT53" href="#DOCF53">(53)</a></h3> -<p>William J. Mitchell, <em>City of Bits: Space, Place, and the +<p>William J. Mitchell, <em>City of Bits: Space, Place, and the Infobahn</em> (Cambridge, Mass.: MIT Press, 1995), p. 111, as quoted by Lawrence Lessig in <em>Code and Other Laws of Cyberspace, Version -2.0</em> (New York, NY: Basic Books, 2006), p. 5. +2.0</em> (New York, NY: Basic Books, 2006), p. 5. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_46.html b/examples/blog/articles/scrap1_46.html index 0206a9f2..24de11a6 100644 --- a/src/frontend_blog/articles/scrap1_46.html +++ b/examples/blog/articles/scrap1_46.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.: Appendix A: A Note on Software</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.: Appendix A: A Note on Software"> -<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.: Appendix A: A Note on Software</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.: Appendix A: A Note on Software"><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,22 +43,15 @@ 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="Appendix-A"></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="Freedom-or-Power_003f"></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="Freedom-or-Power_003f"></a> <a name="Appendix-A_003a-A-Note-on-Software"></a> <h1 class="unnumbered"><span class="roman">Appendix A: A Note on Software</span></h1> -<p>Written by Richard E. Buckman and Joshua Gay. -<br> -</p> +<p>Written by Richard E. Buckman and Joshua Gay. +<br></p> <p>This section is intended for people who have little or no knowledge of the technical aspects of computer science. It is not necessary to read this section to understand the essays and speeches presented in this @@ -88,44 +69,36 @@ set of commands is written in a <em>programming language</em> such as C or Java. After that, a tool known as a <em>compiler</em> translates this to a lower-level language known as <em>assembly language</em>. Another tool known as an <em>assembler</em> breaks the assembly code down to the -final stage of <em>machine language</em>—the lowest level—which the +final stage of <em>machine language</em>—the lowest level—which the computer understands <em>natively</em>. </p> -<img src="code.jpg" alt="code"> - -<p>For example, consider the -“hello world” program, a common first program for people learning C, -which (when compiled and executed) prints “Hello World!” on the screen. +<img src="code.jpg" alt="code"><p>For example, consider the +“hello world” program, a common first program for people learning C, +which (when compiled and executed) prints “Hello World!” on the screen. <a name="DOCF54" href="#FOOT54">(54)</a> </p> -<table><tr><td> </td><td><pre class="smallexample">int main(){ +<table><tr><td> </td><td><pre class="smallexample">int main(){ printf(''Hello World!''); return 0; } -</pre></td></tr></table> - -<p>In the Java programming language the same program would +</pre></td></tr></table><p>In the Java programming language the same program would be written like this: </p> -<table><tr><td> </td><td><pre class="smallexample">public class hello { +<table><tr><td> </td><td><pre class="smallexample">public class hello { public static void main(String args[]) { System.out.println(''Hello World!''); } } -</pre></td></tr></table> - -<p>However, in machine language, a small section of it may look similar to +</pre></td></tr></table><p>However, in machine language, a small section of it may look similar to this: </p> -<table><tr><td> </td><td><pre class="smallexample">1100011110111010100101001001001010101110 +<table><tr><td> </td><td><pre class="smallexample">1100011110111010100101001001001010101110 0110101010011000001111001011010101111101 0100111111111110010110110000000010100100 0100100001100101011011000110110001101111 0010000001010111011011110111001001101100 0110010000100001010000100110111101101111 -</pre></td></tr></table> - -<p>The above form of machine language is the most basic representation +</pre></td></tr></table><p>The above form of machine language is the most basic representation known as binary. All data in computers is made up of a series of 0-or-1 values, but a person would have much difficulty understanding the data. To make a simple change to the binary, one would have to @@ -134,22 +107,20 @@ machine language. This could be feasible for small programs like the above examples, but any interesting program would involve an exhausting effort to make simple changes. </p> -<p>As an example, imagine that we wanted to make a change to our “Hello -World” program written in C so that instead of printing “Hello World” +<p>As an example, imagine that we wanted to make a change to our “Hello +World” program written in C so that instead of printing “Hello World” in English it prints it in French. The change would be simple; here is the new program: </p> -<table><tr><td> </td><td><pre class="smallexample">int main() { +<table><tr><td> </td><td><pre class="smallexample">int main() { printf(''Bonjour, monde!''); return 0; } -</pre></td></tr></table> - -<p>It is safe to say that one can easily infer how to change the program +</pre></td></tr></table><p>It is safe to say that one can easily infer how to change the program written in the Java programming language in the same way. However, even many programmers would not know where to begin if they wanted to -change the binary representation. When we say “source code,” we do -not mean machine language that only computers can understand—we are +change the binary representation. When we say “source code,” we do +not mean machine language that only computers can understand—we are speaking of higher-level languages such as C and Java. A few other popular programming languages are C++, Perl, and Python. Some are harder than others to understand and program in, but they are all much @@ -178,28 +149,23 @@ GNU/Linux operating system. change the source code for a given program, or directly use all these tools, it is relatively easy to find someone who can. Therefore, by having the source code to a program you are usually given the power to -change, fix, customize, and learn about a program—this is a power that +change, fix, customize, and learn about a program—this is a power that you do not have if you are not given the source code. Source code is one of the requirements that makes a piece of software <em>free</em>. The other requirements will be found along with the philosophy and ideas behind them in this collection. </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT54" href="#DOCF54">(54)</a></h3> <p>In other programming languages, such as Scheme, the <em>Hello World</em> program is usually not your first program. In Scheme you often start with a program like this: -</p><table><tr><td> </td><td><pre class="smallexample">(define (factorial n) +</p><table><tr><td> </td><td><pre class="smallexample">(define (factorial n) (if (= n 0) 1 (* n (factorial (- n 1))))) -</pre></td></tr></table> - -<p>This computes the factorial of a number; that is, running +</pre></td></tr></table><p>This computes the factorial of a number; that is, running <code>(factorial 5)</code>would output 120, which is computed by doing 5 * 4 * 3 * 2 * 1 * 1. </p></div> -<hr size="6"> -</body> -</html> +<hr size="6"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_47.html b/examples/blog/articles/scrap1_47.html index 5aec6b10..3169a10b 100644 --- a/src/frontend_blog/articles/scrap1_47.html +++ b/examples/blog/articles/scrap1_47.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.: Appendix B: Translations of the Term “Free Software”</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.: Appendix B: Translations of the Term “Free Software”"> -<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.: Appendix B: Translations of the Term “Free Software”</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.: Appendix B: Translations of the Term “Free Software”"><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,74 +43,54 @@ 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="Appendix-B"></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="Freedom-or-Power_003f"></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="Freedom-or-Power_003f"></a> <a name="Appendix-B_003a-Translations-of-the-Term-_0060_0060Free-Software_0027_0027"></a> -<h1 class="unnumbered"><span class="roman">Appendix B: Translations of the Term “Free Software”</span></h1> +<h1 class="unnumbered"><span class="roman">Appendix B: Translations of the Term “Free Software”</span></h1> <a name="index-_0060_0060free-software_002c_0027_0027-unambiguous-translations-of-2"></a> <p>The following is a list of recommended unambiguous translations of -the term “free software” into various languages:<a name="FS-Translations"></a> +the term “free software” into various languages:<a name="FS-Translations"></a> </p> - <ul class="toc"> -<li>- Afrikaans: vrye sagteware -</li><li>- Albanian: software i lirë -</li><li>- Arabic: <img src="arabic.jpg" height="24" alt="arabic"> -</li><li>- Belarusian: <img src="belarusian.jpg" alt="belarusian"> -</li><li>- Bulgarian: <img src="bulgarian.jpg" alt="bulgarian"> -</li><li>- Catalan: programari lliure + <ul class="toc"><li>- Afrikaans: vrye sagteware +</li><li>- Albanian: software i lirë +</li><li>- Arabic: <img src="arabic.jpg" height="24" alt="arabic"></li><li>- Belarusian: <img src="belarusian.jpg" alt="belarusian"></li><li>- Bulgarian: <img src="bulgarian.jpg" alt="bulgarian"></li><li>- Catalan: programari lliure </li><li>- Chinese: <img src="chinese-simplified.jpg" alt="chinese-simplified"> (simplified), <img src="chinese-traditional.jpg" alt="chinese-traditional"> (traditional) -</li><li>- Czech: svobodný software +</li><li>- Czech: svobodný software </li><li>- Croatian/Serbian: slobodni softver </li><li>- Danish: fri software <em>or</em> frit programmel </li><li>- Dutch: vrije software </li><li>- Esperanto: libera programaro </li><li>- Estonian: vaba tarkvara -</li><li>- Farsi: <img src="farsi.jpg" height="20" alt="farsi"> -</li><li>- Finnish: vapaa ohjelmisto +</li><li>- Farsi: <img src="farsi.jpg" height="20" alt="farsi"></li><li>- Finnish: vapaa ohjelmisto </li><li>- French: logiciel libre </li><li>- German: freie Software -</li><li>- Greek: <img src="greek.jpg" alt="greek"> -</li><li>- Hungarian: szabad szoftver -</li><li>- Icelandic: frjáls hugbúna@dh{ur +</li><li>- Greek: <img src="greek.jpg" alt="greek"></li><li>- Hungarian: szabad szoftver +</li><li>- Icelandic: frjáls hugbúna@dh{ur </li><li>- Ido: libera programaro </li><li>- Indonesian: perangkat lunak bebas </li><li>- Interlingua: libere programmage <em>or</em> libere programmario -</li><li>- Irish: bog earraí saoire +</li><li>- Irish: bog earraí saoire </li><li>- Italian: software libero -</li><li>- Japanese: <img src="japanese-kanji.jpg" alt="japanese-kanji"> <em>or</em> <img src="japanese-kana.jpg" alt="japanese-kana"> -</li><li>- Lithuanian: laisva programinė įranga +</li><li>- Japanese: <img src="japanese-kanji.jpg" alt="japanese-kanji"><em>or</em> <img src="japanese-kana.jpg" alt="japanese-kana"></li><li>- Lithuanian: laisva programinė įranga </li><li>- Malay: perisian bebas </li><li>- Norwegian: fri programvare </li><li>- Polish: wolne oprogramowanie </li><li>- Portuguese: software livre </li><li>- Romanian: software liber -</li><li>- Russian: <img src="russian.jpg" alt="russian"> -</li><li>- Sardinian: software liberu -</li><li>- Serbian/Croatian: <img src="serbian-croatian.jpg" alt="serbian-croatian"> -</li><li>- Slovak: slobodný softvér +</li><li>- Russian: <img src="russian.jpg" alt="russian"></li><li>- Sardinian: software liberu +</li><li>- Serbian/Croatian: <img src="serbian-croatian.jpg" alt="serbian-croatian"></li><li>- Slovak: slobodný softvér </li><li>- Slovenian: prosto programje </li><li>- Spanish: software libre </li><li>- Swahili: Programu huru za Kompyuta </li><li>- Swedish: fri programvara, fri mjukvara </li><li>- Tagalog: malayang software -</li><li>- Tamil: <img src="tamil.jpg" height="20" alt="tamil"> -</li><li>- Turkish: özgür yazilim -</li><li>- Ukrainian: <img src="ukrainian.jpg" alt="ukrainian"> -</li><li>- Welsh: meddalwedd rydd +</li><li>- Tamil: <img src="tamil.jpg" height="20" alt="tamil"></li><li>- Turkish: özgür yazilim +</li><li>- Ukrainian: <img src="ukrainian.jpg" alt="ukrainian"></li><li>- Welsh: meddalwedd rydd </li><li>- Zulu: Isoftware Ekhululekile <a name="index-_0060_0060free-software_002c_0027_0027-unambiguous-translations-of-3"></a> -</li></ul> -<hr size="6"> -</body> -</html> +</li></ul><hr size="6"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_5.html b/examples/blog/articles/scrap1_5.html index d9265caf..1ff002c8 100644 --- a/src/frontend_blog/articles/scrap1_5.html +++ b/examples/blog/articles/scrap1_5.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.: 5. Why Software Should Not Have Owners</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.: 5. Why Software Should Not Have Owners"> -<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.: 5. Why Software Should Not Have Owners</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.: 5. Why Software Should Not Have Owners"><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="Why-Free"></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="Why-Software-Should-Not-Have-Owners"></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="Why-Software-Should-Not-Have-Owners"></a> <h1 class="chapter"> 5. Why Software Should Not Have Owners </h1> <a name="index-competition_002c-impact-on-2"></a> @@ -74,12 +56,12 @@ easier to copy and modify information. Computers promise to make this easier for all of us. </p> <p>Not everyone wants it to be easier. The system of copyright gives -software programs “owners,” most of whom aim to withhold -software’s potential benefit from the rest of the public. They would +software programs “owners,” most of whom aim to withhold +software’s potential benefit from the rest of the public. They would like to be the only ones who can copy and modify the software that we use. </p> -<p>The copyright system grew up with printing—a technology for +<p>The copyright system grew up with printing—a technology for mass-production copying. Copyright fit in well with this technology because it restricted only the mass producers of copies. It did not take freedom away from readers of books. An ordinary reader, who did @@ -90,15 +72,14 @@ few readers were sued for that. <p>Digital technology is more flexible than the printing press: when information has digital form, you can easily copy it to share it with others. This very flexibility makes a bad fit with a system like -copyright. That’s the reason for the increasingly nasty and draconian +copyright. That’s the reason for the increasingly nasty and draconian measures now used to enforce software copyright. Consider these four practices of the <a name="index-Software-Publishers-Association-_0028SPA_0029"></a> Software Publishers Association (SPA): </p> <a name="index-copyright_002c-enforcement-measures"></a> -<ul> -<li> +<ul><li> Massive propaganda saying it is wrong to disobey the owners to help your friend. @@ -113,17 +94,14 @@ told they must prove they are innocent of illegal copying. </li><li> Prosecution (by the US government, at the <a name="index-Software-Publishers-Association-_0028SPA_0029-1"></a> -SPA’s request) -of people such as MIT’s +SPA’s request) +of people such as MIT’s <a name="index-LaMacchia_002c-David"></a> David LaMacchia, not for copying software (he is not accused of copying any), but merely for leaving copying facilities unguarded and failing to censor their use.<a name="DOCF22" href="#FOOT22">(22)</a> -</li></ul> - - -<p>All four practices resemble those used in the former +</li></ul><p>All four practices resemble those used in the former <a name="index-Soviet-Union"></a> Soviet Union, where every copying machine had a guard to prevent forbidden copying, @@ -149,29 +127,29 @@ to control how we use information: <a name="index-_0060_0060intellectual-property_002c_0027_0027-bias-and-fallacy-of-term-_0028see-also-ownership_0029-2"></a> <a name="index-_0060_0060theft_002c_0027_0027-erroneous-use-of-term"></a> <a name="index-_0060_0060damage_002c_0027_0027-erroneous-use-of-term"></a> -<p>Owners use smear words such as “piracy” and -“theft,” as well as expert terminology such as -“intellectual property” and “damage,” to -suggest a certain line of thinking to the public—a simplistic +<p>Owners use smear words such as “piracy” and +“theft,” as well as expert terminology such as +“intellectual property” and “damage,” to +suggest a certain line of thinking to the public—a simplistic analogy between programs and physical objects. </p> <p>Our ideas and intuitions about property for material objects are about whether it is right to <em>take an object away</em> from someone else. They -don’t directly apply to <em>making a copy</em> of something. But the owners +don’t directly apply to <em>making a copy</em> of something. But the owners ask us to apply them anyway. </p> <a name="Exaggeration"></a> <h3 class="subheading"> Exaggeration </h3> -<p>Owners say that they suffer “harm” or “economic -loss” when users copy programs themselves. But the copying has +<p>Owners say that they suffer “harm” or “economic +loss” when users copy programs themselves. But the copying has no direct effect on the owner, and it harms no one. The owner can lose only if the person who made the copy would otherwise have paid for one from the owner. </p> <p>A little thought shows that most such people would not have bought -copies. Yet the owners compute their “losses” as if each -and every one would have bought a copy. That is exaggeration—to +copies. Yet the owners compute their “losses” as if each +and every one would have bought a copy. That is exaggeration—to put it kindly. </p> <a name="The-Law"></a> @@ -179,14 +157,14 @@ put it kindly. <p>Owners often describe the current state of the law, and the harsh penalties they can threaten us with. Implicit in this approach is the -suggestion that today’s law reflects an unquestionable view of -morality—yet at the same time, we are urged to regard these -penalties as facts of nature that can’t be blamed on anyone. +suggestion that today’s law reflects an unquestionable view of +morality—yet at the same time, we are urged to regard these +penalties as facts of nature that can’t be blamed on anyone. </p> -<p>This line of persuasion isn’t designed to stand up to critical -thinking; it’s intended to reinforce a habitual mental pathway. +<p>This line of persuasion isn’t designed to stand up to critical +thinking; it’s intended to reinforce a habitual mental pathway. </p> -<p>It’s elementary that laws don’t decide right and wrong. Every American +<p>It’s elementary that laws don’t decide right and wrong. Every American should know that, in the 1950s, it was against the law in many states for a black person to sit in the front of a bus; but only racists would say sitting there was wrong. @@ -199,12 +177,12 @@ racists would say sitting there was wrong. <p>Authors often claim a special connection with programs they have written, and go on to assert that, as a result, their desires and interests concerning the program simply outweigh those of anyone -else—or even those of the whole rest of the world. (Typically +else—or even those of the whole rest of the world. (Typically companies, not authors, hold the copyrights on software, but we are expected to ignore this discrepancy.) </p> -<p>To those who propose this as an ethical axiom—the author is more -important than you—I can only say that I, a notable software +<p>To those who propose this as an ethical axiom—the author is more +important than you—I can only say that I, a notable software author myself, call it bunk. </p> <p>But people in general are only likely to feel any sympathy with the @@ -220,7 +198,7 @@ balance. </p> <p>But whether you run or change a program I wrote affects you directly and me only indirectly. Whether you give a copy to your friend -affects you and your friend much more than it affects me. I shouldn’t +affects you and your friend much more than it affects me. I shouldn’t have the power to tell you not to do these things. No one should. </p> <p>The second reason is that people have been told that natural rights @@ -230,17 +208,17 @@ for authors is the accepted and unquestioned tradition of our society. rights of authors was proposed and decisively rejected when the <a name="index-Constitution_002c-authors_0027-natural-rights-and-US"></a> US -Constitution was drawn up. That’s why the Constitution only +Constitution was drawn up. That’s why the Constitution only <em>permits</em> a system of copyright and does not <em>require</em> -one; that’s why it says that copyright must be temporary. It also -states that the purpose of copyright is to promote progress—not +one; that’s why it says that copyright must be temporary. It also +states that the purpose of copyright is to promote progress—not to reward authors. Copyright does reward authors somewhat, and publishers more, but that is intended as a means of modifying their behavior. </p> <p>The real established tradition of our society is that copyright cuts -into the natural rights of the public—and that this can only be -justified for the public’s sake. +into the natural rights of the public—and that this can only be +justified for the public’s sake. <a name="index-programmers_002c-and-creativity-and-entitlement-3"></a> <a name="index-users_002c-premise-of-author-supremacy-_0028see-also-ownership_0029-1"></a> </p> @@ -251,7 +229,7 @@ justified for the public’s sake. leads to production of more software. </p> <p>Unlike the others, this argument at least takes a legitimate approach -to the subject. It is based on a valid goal—satisfying the +to the subject. It is based on a valid goal—satisfying the users of software. And it is empirically clear that people will produce more of something if they are well paid for doing so. </p> @@ -270,24 +248,23 @@ the same nutritional value, and in either case you can only eat it once. Whether you get the sandwich from an owner or not cannot directly affect anything but the amount of money you have afterwards. </p> -<p>This is true for any kind of material object—whether or not it +<p>This is true for any kind of material object—whether or not it has an owner does not directly affect what it <em>is,</em> or what you can do with it if you acquire it. </p> <p>But if a program has an owner, this very much affects what it is, and what you can do with a copy if you buy one. The difference is not just a matter of money. The system of owners of software encourages -software owners to produce something—but not what society really +software owners to produce something—but not what society really needs. And it causes intangible ethical pollution that affects us all. <a name="index-users_002c-arguments-used-to-justify-control-over-1"></a> <a name="index-ownership_002c-arguments-for-1"></a> </p> -<br> -<p>What does society need? It needs information that is truly available -to its citizens—for example, programs that people can read, fix, +<br><p>What does society need? It needs information that is truly available +to its citizens—for example, programs that people can read, fix, adapt, and improve, not just operate. But what software owners -typically deliver is a black box that we can’t study or change. +typically deliver is a black box that we can’t study or change. </p> <p>Society also needs freedom. When a program has an owner, the users lose freedom to control part of their own lives. @@ -296,8 +273,8 @@ lose freedom to control part of their own lives. <a name="index-_0060_0060piracy_002c_0027_0027-erroneous-use-of-term-3"></a> <p>And, above all, society needs to encourage the spirit of voluntary cooperation in its citizens. When software owners tell us that -helping our neighbors in a natural way is “piracy,” they -pollute our society’s civic spirit. +helping our neighbors in a natural way is “piracy,” they +pollute our society’s civic spirit. </p> <p>This is why we say that free software is a matter of freedom, not price. </p> @@ -309,7 +286,7 @@ than those people write, we need to raise funds. <a name="index-developers_002c-funding-for"></a> <a name="index-programmers_002c-income-for-7"></a> <p>Since the 1980s, free software developers have tried various methods -of finding funds, with some success. There’s no need to make anyone +of finding funds, with some success. There’s no need to make anyone rich; a typical income is plenty of incentive to do many jobs that are less satisfying than programming. </p> @@ -326,7 +303,7 @@ In 1994, <a name="index-Cygnus-Support"></a> Cygnus Support, with around 50 employees, estimated that about 15 percent of its staff activity was free software -development—a respectable percentage for a software company. +development—a respectable percentage for a software company. </p> <p>In the early 1990s, companies including <a name="index-Intel-_0028see-also-_0060_0060trusted-computing_0027_0027_0029"></a> @@ -352,7 +329,7 @@ US Air Force, and continued since then by a company formed specifically for the purpose. </p> <p>The free software movement is still small, but the example of -listener-supported radio in the US shows it’s possible to support a +listener-supported radio in the US shows it’s possible to support a large activity without forcing each user to pay. </p> <a name="index-citizen-values_002c-cooperation-1"></a> @@ -370,12 +347,9 @@ able to hire your favorite programmer to fix it when it breaks. </p> <p>You deserve free software. </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT22" href="#DOCF22">(22)</a></h3> <p>The charges were subsequently dismissed. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_6.html b/examples/blog/articles/scrap1_6.html index 8a58794c..4d5f6ed5 100644 --- a/src/frontend_blog/articles/scrap1_6.html +++ b/examples/blog/articles/scrap1_6.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.: 6. Why Software Should Be Free</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.: 6. Why Software Should Be Free"> -<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.: 6. Why Software Should Be Free</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.: 6. Why Software Should Be Free"><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="Should-Be-Free"></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="Why-Software-Should-Be-Free"></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="Why-Software-Should-Be-Free"></a> <h1 class="chapter"> 6. Why Software Should Be Free </h1> <a name="Introduction"></a> @@ -76,10 +58,10 @@ decisions about its use should be made. For example, suppose one individual who has a copy of a program meets another who would like a copy. It is possible for them to copy the program; who should decide whether this is done? The individuals involved? Or another party, -called the “owner”? +called the “owner”? </p> <p> Software developers typically consider these questions on the -assumption that the criterion for the answer is to maximize developers’ +assumption that the criterion for the answer is to maximize developers’ profits. The political power of business has led to the government adoption of both this criterion and the answer proposed by the developers: that the program has an owner, typically a corporation @@ -88,7 +70,7 @@ associated with its development. <p> I would like to consider the same question using a different criterion: the prosperity and freedom of the public in general. </p> -<p> This answer cannot be decided by current law—the law should +<p> This answer cannot be decided by current law—the law should conform to ethics, not the other way around. Nor does current practice decide this question, although it may suggest possible answers. The only way to judge is to see who is helped and who is @@ -101,7 +83,7 @@ of material goods. show that the results are detrimental. My conclusion is that programmers have the duty to encourage others to share, redistribute, study, and improve the software we write: in other words, to write -“free” software.<a name="DOCF23" href="#FOOT23">(23)</a> +“free” software.<a name="DOCF23" href="#FOOT23">(23)</a> </p> <a name="How-Owners-Justify-Their-Power"></a> <h3 class="subheading"> How Owners Justify Their Power </h3> @@ -112,29 +94,29 @@ offer two arguments in support of their claims to own programs: the emotional argument and the economic argument. </p> -<p> The emotional argument goes like this: “I put my sweat, my +<p> The emotional argument goes like this: “I put my sweat, my heart, my soul into this program. It comes from <em>me,</em> -it’s <em>mine</em>!” +it’s <em>mine</em>!” </p> <p> This argument does not require serious refutation. The feeling of attachment is one that programmers can cultivate when it suits them; it is not inevitable. Consider, for example, how willingly the same programmers usually sign over all rights to a large corporation for a salary; the emotional attachment mysteriously vanishes. By contrast, -consider the great artists and artisans of medieval times, who didn’t +consider the great artists and artisans of medieval times, who didn’t even sign their names to their work. To them, the name of the artist -was not important. What mattered was that the work was done—and +was not important. What mattered was that the work was done—and the purpose it would serve. This view prevailed for hundreds of years. </p> -<p> The economic argument goes like this: “I want to get -rich”—usually described inaccurately as “making a living”—“and -if you don’t allow me to get rich by programming, then I won’t +<p> The economic argument goes like this: “I want to get +rich”—usually described inaccurately as “making a living”—“and +if you don’t allow me to get rich by programming, then I won’t program. Everyone else is like me, so nobody will ever program. And -then you’ll be stuck with no programs at all!” This threat is +then you’ll be stuck with no programs at all!” This threat is usually veiled as friendly advice from the wise. </p> -<p> I’ll explain later why this threat is a bluff. First I want to +<p> I’ll explain later why this threat is a bluff. First I want to address an implicit assumption that is more visible in another formulation of the argument. </p> @@ -142,13 +124,13 @@ formulation of the argument. proprietary program with that of no program, and then concludes that proprietary software development is, on the whole, beneficial, and should be encouraged. The fallacy here is in comparing only two -outcomes—proprietary software versus no software—and assuming +outcomes—proprietary software versus no software—and assuming there are no other possibilities. </p> <a name="index-copyright-_0028see-also-both-copyleft-and-DMCA_0029-2"></a> <p> Given a system of software copyright, software development is usually linked with the existence of an owner who controls the -software’s use. As long as this linkage exists, we are often faced with +software’s use. As long as this linkage exists, we are often faced with the choice of proprietary software or none. However, this linkage is not inherent or inevitable; it is a consequence of the specific social/legal policy decision that we are questioning: the decision to @@ -160,8 +142,8 @@ versus no software is begging the question. <h3 class="subheading"> The Argument against Having Owners </h3> <a name="index-ownership_002c-argument-against"></a> -<p> The question at hand is, “Should development of software be linked -with having owners to restrict the use of it?” +<p> The question at hand is, “Should development of software be linked +with having owners to restrict the use of it?” </p> <p> In order to decide this, we have to judge the effect on society of each of those two activities <em>independently</em>: the effect of developing @@ -180,13 +162,13 @@ that of the same program, available to everyone. This means comparing two possible worlds. </p> <p> This analysis also addresses the simple counterargument sometimes -made that “the benefit to the neighbor of giving him or her a -copy of a program is cancelled by the harm done to the owner.” +made that “the benefit to the neighbor of giving him or her a +copy of a program is cancelled by the harm done to the owner.” This counterargument assumes that the harm and the benefit are equal in magnitude. The analysis involves comparing these magnitudes, and shows that the benefit is much greater. </p> -<p> To elucidate this argument, let’s apply it in another area: road +<p> To elucidate this argument, let’s apply it in another area: road construction. </p> <p> It would be possible to fund the construction of all roads with @@ -194,7 +176,7 @@ tolls. This would entail having toll booths at all street corners. Such a system would provide a great incentive to improve roads. It would also have the virtue of causing the users of any given road to pay for that road. However, a toll booth is an artificial obstruction -to smooth driving—artificial, because it is not a consequence of +to smooth driving—artificial, because it is not a consequence of how roads or cars work. </p> <p> Comparing free roads and toll roads by their usefulness, we find that @@ -220,13 +202,13 @@ our money by buying a free road. </p> <p> I am not saying that a toll road is worse than no road at all. That would be true if the toll were so great that hardly anyone used -the road—but this is an unlikely policy for a toll collector. +the road—but this is an unlikely policy for a toll collector. However, as long as the toll booths cause significant waste and inconvenience, it is better to raise the funds in a less obstructive fashion. </p> <p> To apply the same argument to software development, I will now show -that having “toll booths” for useful software programs +that having “toll booths” for useful software programs costs society dearly: it makes the programs more expensive to construct, more expensive to distribute, and less satisfying and efficient to use. It will follow that program construction should be @@ -252,8 +234,7 @@ only be negative. But how much? And what kind? <a name="index-users_002c-material-harm-to"></a> <p> Three different levels of material harm come from such obstruction: </p> -<ul> -<li> +<ul><li> Fewer people use the program. </li><li> @@ -262,13 +243,11 @@ None of the users can adapt or fix the program. </li><li> Other developers cannot learn from the program, or base new work on it. -</li></ul> - -<a name="index-users_002c-psychosocial-harm-to"></a> +</li></ul><a name="index-users_002c-psychosocial-harm-to"></a> <p> Each level of material harm has a concomitant form of psychosocial -harm. This refers to the effect that people’s decisions have on their +harm. This refers to the effect that people’s decisions have on their subsequent feelings, attitudes, and predispositions. These changes in -people’s ways of thinking will then have a further effect on their +people’s ways of thinking will then have a further effect on their relationships with their fellow citizens, and can have material consequences. </p> @@ -311,13 +290,13 @@ delivered user satisfaction per hour of work, is reduced. cars, chairs, or sandwiches. There is no copying machine for material objects outside of science fiction. But programs are easy to copy; anyone can produce as many copies as are wanted, with very little -effort. This isn’t true for material objects because matter is +effort. This isn’t true for material objects because matter is conserved: each new copy has to be built from raw materials in the same way that the first copy was built. </p> <p> With material objects, a disincentive to use them makes sense, because fewer objects bought means less raw material and work needed -to make them. It’s true that there is usually also a startup cost, a +to make them. It’s true that there is usually also a startup cost, a development cost, which is spread over the production run. But as long as the marginal cost of production is significant, adding a share of the development cost does not make a qualitative difference. And it does @@ -327,7 +306,7 @@ not require restrictions on the freedom of ordinary users. is a qualitative change. A centrally imposed fee for software distribution becomes a powerful disincentive. </p> -<p> What’s more, central production as now practiced is inefficient even +<p> What’s more, central production as now practiced is inefficient even as a means of delivering copies of software. This system involves enclosing physical disks or tapes in superfluous packaging, shipping large numbers of them around the world, and storing them for sale. This @@ -350,10 +329,10 @@ restraining the other, is divisive; neither you nor your neighbor should find it acceptable. </p> <p> Signing a typical software license agreement means betraying your -neighbor: “I promise to deprive my neighbor of this program so -that I can have a copy for myself.” People who make such choices +neighbor: “I promise to deprive my neighbor of this program so +that I can have a copy for myself.” People who make such choices feel internal psychological pressure to justify them, by downgrading -the importance of helping one’s neighbors—thus public spirit +the importance of helping one’s neighbors—thus public spirit suffers. This is psychosocial harm associated with the material harm of discouraging use of the program. </p> @@ -369,8 +348,8 @@ and laws have no moral force. <p> Programmers also suffer psychosocial harm knowing that many users will not be allowed to use their work. This leads to an attitude of cynicism or denial. A programmer may describe enthusiastically the -work that he finds technically exciting; then when asked, “Will I be -permitted to use it?” his face falls, and he admits the answer is no. +work that he finds technically exciting; then when asked, “Will I be +permitted to use it?” his face falls, and he admits the answer is no. To avoid feeling discouraged, he either ignores this fact most of the time or adopts a cynical stance designed to minimize the importance of it. @@ -389,27 +368,27 @@ expense of the latter. <a name="index-ownership_002c-and-material-harm-2"></a> <p> The second level of material harm is the inability to adapt programs. The ease of modification of software is one of its great advantages over -older technology. But most commercially available software isn’t -available for modification, even after you buy it. It’s available for -you to take it or leave it, as a black box—that is all. +older technology. But most commercially available software isn’t +available for modification, even after you buy it. It’s available for +you to take it or leave it, as a black box—that is all. </p> <p> A program that you can run consists of a series of numbers whose meaning is obscure. No one, not even a good programmer, can easily change the numbers to make the program do something different. </p> -<p> Programmers normally work with the “source code” for a +<p> Programmers normally work with the “source code” for a program, which is written in a programming language such as <a name="index-Fortran"></a> Fortran or <a name="index-C-1"></a> C. It uses names to designate the data being used and the parts of the program, and it represents operations with symbols such as -‘+’ for addition and ‘-’ for subtraction. It +‘+’ for addition and ‘-’ for subtraction. It is designed to help programmers read and change programs. Here is an example; a program to calculate the distance between two points in a plane: </p> -<table><tr><td> </td><td><pre class="smallexample"> float +<table><tr><td> </td><td><pre class="smallexample"> float distance (p0, p1) struct point p0, p1; { @@ -417,27 +396,23 @@ plane: float ydist = p1.y - p0.y; return sqrt (xdist * xdist + ydist * ydist); } -</pre></td></tr></table> - -<p>Precisely what that source code means is not the point; the point is +</pre></td></tr></table><p>Precisely what that source code means is not the point; the point is that it looks like algebra, and a person who knows this programming language will find it meaningful and clear. By contrast, here is same program in executable form, on the computer I normally used when I wrote this: </p> -<table><tr><td> </td><td><pre class="smallexample"> 1314258944 -232267772 -231844864 1634862 +<table><tr><td> </td><td><pre class="smallexample"> 1314258944 -232267772 -231844864 1634862 1411907592 -231844736 2159150 1420296208 -234880989 -234879837 -234879966 -232295424 1644167167 -3214848 1090581031 1962942495 572518958 -803143692 1314803317 -</pre></td></tr></table> - -<p> Source code is useful (at least potentially) to every user of a +</pre></td></tr></table><p> Source code is useful (at least potentially) to every user of a program. But most users are not allowed to have copies of the source code. Usually the source code for a proprietary program is kept secret by the owner, lest anybody else learn something from it. Users receive only the files of incomprehensible numbers that the computer will -execute. This means that only the program’s owner can change the +execute. This means that only the program’s owner can change the program. </p> <a name="index-programmers_002c-psychosocial-harm-to-1"></a> @@ -447,7 +422,7 @@ about six months, writing a program similar to something that was commercially available. She believed that if she could have gotten source code for that commercially available program, it could easily have been adapted to their needs. The bank was willing to pay for -this, but was not permitted to—the source code was a secret. So +this, but was not permitted to—the source code was a secret. So she had to do six months of make-work, work that counts in the GNP but was actually waste. </p> @@ -464,7 +439,7 @@ queued. These features facilitated smooth operation. </p> <p> Later Xerox gave the AI Lab a newer, faster printer, one of the first laser printers. It was driven by proprietary software that ran in a -separate dedicated computer, so we couldn’t add any of our favorite +separate dedicated computer, so we couldn’t add any of our favorite features. We could arrange to send a notification when a print job was sent to the dedicated computer, but not when the job was actually printed (and the delay was usually considerable). There was no way to @@ -481,28 +456,28 @@ were forced to accept the problems. They were never fixed. could afford to solve the problem by writing a new program from scratch, but a typical user, no matter how skilled, can only give up. </p> -<p> Giving up causes psychosocial harm—to the spirit of +<p> Giving up causes psychosocial harm—to the spirit of self-reliance. It is demoralizing to live in a house that you cannot rearrange to suit your needs. It leads to resignation and -discouragement, which can spread to affect other aspects of one’s +discouragement, which can spread to affect other aspects of one’s life. People who feel this way are unhappy and do not do good work. </p> <p> Imagine what it would be like if recipes were hoarded in the same -fashion as software. You might say, “How do I change this -recipe to take out the salt?” and the great chef would respond, -“How dare you insult my recipe, the child of my brain and my -palate, by trying to tamper with it? You don’t have the judgment to -change my recipe and make it work right!” +fashion as software. You might say, “How do I change this +recipe to take out the salt?” and the great chef would respond, +“How dare you insult my recipe, the child of my brain and my +palate, by trying to tamper with it? You don’t have the judgment to +change my recipe and make it work right!” </p> -<p> “But my doctor says I’m not supposed to eat salt! What can I -do? Will you take out the salt for me?” +<p> “But my doctor says I’m not supposed to eat salt! What can I +do? Will you take out the salt for me?” </p> -<p> “I would be glad to do that; my fee is only $50,000.” +<p> “I would be glad to do that; my fee is only $50,000.” Since the owner has a monopoly on changes, the fee tends to be large. -“However, right now I don’t have time. I am busy with a -commission to design a new recipe for ship’s biscuit for the Navy -Department. I might get around to you in about two years.” +“However, right now I don’t have time. I am busy with a +commission to design a new recipe for ship’s biscuit for the Navy +Department. I might get around to you in about two years.” <a name="index-development_002c-custom-adaptation-1"></a> </p> <a name="Obstructing-Software-Development"></a> @@ -515,7 +490,7 @@ person would take an existing program and rewrite parts of it for one new feature, and then another person would rewrite parts to add another feature; in some cases, this continued over a period of 20 years. Meanwhile, parts of the program would be -“cannibalized” to form the beginnings of other +“cannibalized” to form the beginnings of other programs. </p> <p> The existence of owners prevents this kind of evolution, making it @@ -525,13 +500,13 @@ useful techniques or even how large programs can be structured. </p> <p> Owners also obstruct education. I have met bright students in computer science who have never seen the source code of a large -program. They may be good at writing small programs, but they can’t -begin to learn the different skills of writing large ones if they can’t +program. They may be good at writing small programs, but they can’t +begin to learn the different skills of writing large ones if they can’t see how others have done it. </p> <p>In any intellectual field, one can reach greater heights by standing on the shoulders of others. But that is no longer generally -allowed in the software field—you can only stand on the +allowed in the software field—you can only stand on the shoulders of the other people <em>in your own company.</em> </p> <p>The associated psychosocial harm affects the spirit of scientific @@ -542,7 +517,7 @@ carefully preserved their work for the invading U.S. Marines, and left a note asking them to take good care of it. </p> <p>Conflict for profit has destroyed what international conflict spared. -Nowadays scientists in many fields don’t publish enough in their papers +Nowadays scientists in many fields don’t publish enough in their papers to enable others to replicate the experiment. They publish only enough to let readers marvel at how much they were able to do. This is certainly true in computer science, where the source code for the @@ -555,7 +530,7 @@ programs reported on is usually secret. <a name="index-copyright-_0028see-also-both-copyleft-and-DMCA_0029-3"></a> <p>I have been discussing the effects of preventing people from copying, changing, and building on a program. I have not specified how this -obstruction is carried out, because that doesn’t affect the +obstruction is carried out, because that doesn’t affect the conclusion. Whether it is done by copy protection, or copyright, or licenses, or encryption, or ROM cards, or hardware serial numbers, if it <em>succeeds</em> in preventing use, it does harm. @@ -568,9 +543,9 @@ objective. <h4 class="subsubheading"> Software Should Be Free </h4> <a name="index-programmers_002c-psychosocial-harm-to-2"></a> -<p>I have shown how ownership of a program—the power to restrict -changing or copying it—is obstructive. Its negative effects are -widespread and important. It follows that society shouldn’t have +<p>I have shown how ownership of a program—the power to restrict +changing or copying it—is obstructive. Its negative effects are +widespread and important. It follows that society shouldn’t have owners for programs. </p> <p>Another way to understand this is that what society needs is free @@ -578,8 +553,8 @@ software, and proprietary software is a poor substitute. Encouraging the substitute is not a rational way to get what we need. </p> <a name="index-Havel_002c-Vaclav"></a> -<p>Vaclav Havel has advised us to “Work for something because it is -good, not just because it stands a chance to succeed.” A business +<p>Vaclav Havel has advised us to “Work for something because it is +good, not just because it stands a chance to succeed.” A business making proprietary software stands a chance of success in its own narrow terms, but it is not what is good for society. </p> @@ -622,7 +597,7 @@ special privileges, powers, and monopolies as necessary to do so. </p> <p>This change happened in the field of computer programming in the 1980s. In the 1970s, there were articles on -“computer addiction”: users were “onlining” +“computer addiction”: users were “onlining” and had hundred-dollar-a-week habits. It was generally understood that people frequently loved programming enough to break up their marriages. Today, it is generally understood that no one would @@ -636,8 +611,8 @@ take away the possibility of great wealth, then after a while, when the people have readjusted their attitudes, they will once again be eager to work in the field for the joy of accomplishment. </p> -<p>The question “How can we pay programmers?” becomes an -easier question when we realize that it’s not a matter of paying them +<p>The question “How can we pay programmers?” becomes an +easier question when we realize that it’s not a matter of paying them a fortune. A mere living is easier to raise. <a name="index-programmers_002c-incentive-for-4"></a> </p> @@ -666,9 +641,9 @@ development. </p> <p>It is common today for university researchers to get grants to develop a system, develop it nearly to the point of completion and -call that “finished,” and then start companies where they +call that “finished,” and then start companies where they really finish the project and make it usable. Sometimes they declare -the unfinished version “free”; if they are thoroughly +the unfinished version “free”; if they are thoroughly corrupt, they instead get an exclusive license from the university. This is not a secret; it is openly admitted by everyone concerned. Yet if the researchers were not exposed to the temptation to do these @@ -690,7 +665,7 @@ am paid. growing corporation which does no other kind of work. Several other companies also provide commercial support for the free software of the GNU system. This is the beginning of the independent software support -industry—an industry that could become quite large if free +industry—an industry that could become quite large if free software becomes prevalent. It provides users with an option generally unavailable for proprietary software, except to the very wealthy. @@ -698,10 +673,10 @@ wealthy. <a name="index-FSF_002c-how-you-can-help-1"></a> <a name="index-FSF_002c-programmers"></a> <p>Institutions such as the Free Software Foundation can also fund -programmers. Most of the Foundation’s funds come from users buying +programmers. Most of the Foundation’s funds come from users buying tapes through the mail. The software on the tapes is free, which means that every user has the freedom to copy it and change it, but many -nonetheless pay to get copies. (Recall that “free software” refers +nonetheless pay to get copies. (Recall that “free software” refers to freedom, not to price.) Some users who already have a copy order tapes as a way of making a contribution they feel we deserve. The Foundation also receives sizable donations from computer @@ -724,7 +699,7 @@ have begun to volunteer.) <a name="index-FSF_002c-programmers-1"></a> </p> <p>This confirms that programming is among the most fascinating of all -fields, along with music and art. We don’t have to fear that no one +fields, along with music and art. We don’t have to fear that no one will want to program. <a name="index-programmers_002c-income-for-9"></a> <a name="index-development_002c-funding-for-5"></a> @@ -737,7 +712,7 @@ will want to program. <a name="index-users_002c-obligations-to-developers"></a> <p>There is a good reason for users of software to feel a moral obligation to contribute to its support. Developers of free software -are contributing to the users’ activities, and it is both fair and in +are contributing to the users’ activities, and it is both fair and in the long-term interest of the users to give them funds to continue. </p> <p>However, this does not apply to proprietary software developers, @@ -770,8 +745,7 @@ this improved productivity. Free software would require far fewer programmers to satisfy the demand, because of increased software productivity at all levels: </p> -<ul> -<li> +<ul><li> Wider use of each program that is developed. </li><li> @@ -782,20 +756,18 @@ Better education of programmers. </li><li> The elimination of duplicate development effort. -</li></ul> - -<p>Those who object to cooperation claiming it would result in the +</li></ul><p>Those who object to cooperation claiming it would result in the employment of fewer programmers are actually objecting to increased productivity. Yet these people usually accept the widely held belief that the software industry needs increased productivity. How is this? </p> -<p>“Software productivity” can mean two different things: the overall +<p>“Software productivity” can mean two different things: the overall productivity of all software development, or the productivity of individual projects. Overall productivity is what society would like to improve, and the most straightforward way to do this is to eliminate the artificial obstacles to cooperation which reduce it. But -researchers who study the field of “software productivity” focus +researchers who study the field of “software productivity” focus only on the second, limited, sense of the term, where improvement requires difficult technological advances. <a name="index-productivity_002c-software-1"></a> @@ -813,7 +785,7 @@ harmful; the harmful thing is <em>combat.</em> <p>There are many ways to compete. Competition can consist of trying to achieve ever more, to outdo what others have done. For example, in the old days, there was competition among programming -wizards—competition for who could make the computer do the most +wizards—competition for who could make the computer do the most amazing thing, or for who could make the shortest or fastest program for a given task. This kind of competition can benefit everyone, <em>as long as</em> the spirit of good sportsmanship is @@ -827,9 +799,9 @@ desert islands. They are content to let the best person win. </p> <a name="index-citizen-values_002c-proprietary-software-and-1"></a> <p>Competition becomes combat when the competitors begin trying to -impede each other instead of advancing themselves—when -“Let the best person win” gives way to “Let me win, -best or not.” Proprietary software is harmful, not because it is +impede each other instead of advancing themselves—when +“Let the best person win” gives way to “Let me win, +best or not.” Proprietary software is harmful, not because it is a form of competition, but because it is a form of combat among the citizens of our society. </p> @@ -846,11 +818,11 @@ combat the competition. Some forms of combat have been banned with antitrust laws, truth in advertising laws, and so on, but rather than generalizing this to a principled rejection of combat in general, executives invent other forms of combat which are not specifically -prohibited. Society’s resources are squandered on the economic +prohibited. Society’s resources are squandered on the economic equivalent of factional civil war. </p> <a name="g_t_0060_0060Why-Don_0027t-You-Move-to-Russia_003f_0027_0027"></a> -<h3 class="subheading"> “Why Don’t You Move to Russia?” </h3> +<h3 class="subheading"> “Why Don’t You Move to Russia?” </h3> <a name="index-Russia"></a> <a name="index-communism"></a> @@ -892,15 +864,15 @@ Communism, it is the software owners who are the Communists. <a name="index-users_002c-premise-of-author-supremacy-_0028see-also-ownership_0029-2"></a> <a name="index-Constitution_002c-premise-of-author-supremacy-and-US"></a> <p>I make the assumption in this paper that a user of software is no -less important than an author, or even an author’s employer. In other +less important than an author, or even an author’s employer. In other words, their interests and needs have equal weight, when we decide which course of action is best. </p> <p>This premise is not universally accepted. Many maintain that an -author’s employer is fundamentally more important than anyone else. +author’s employer is fundamentally more important than anyone else. They say, for example, that the purpose of having owners of software -is to give the author’s employer the advantage he -deserves—regardless of how this may affect the public. +is to give the author’s employer the advantage he +deserves—regardless of how this may affect the public. </p> <p>It is no use trying to prove or disprove these premises. Proof requires shared premises. So most of what I have to say is addressed @@ -918,13 +890,13 @@ challenging the basis of society. part of our legal tradition. It never has been. </p> <p>Thus, the Constitution says that the purpose of copyright is to -“promote the Progress of Science and the useful Arts.” The Supreme +“promote the Progress of Science and the useful Arts.” The Supreme Court has elaborated on this, stating in <cite>Fox Film v. Doyal</cite><a name="DOCF26" href="#FOOT26">(26)</a> that <a name="index-copyright_002c-monopoly"></a> -“The sole interest of the United States and the primary object +“The sole interest of the United States and the primary object in conferring the [copyright] monopoly lie in the general benefits -derived by the public from the labors of authors.” +derived by the public from the labors of authors.” </p> <p>We are not required to agree with the Constitution or the <a name="index-Supreme-Court_002c-US"></a> @@ -959,7 +931,7 @@ not help us, the more it seems futile to help them. Thus society decays into a jungle. </p> <a name="index-citizen-values_002c-cooperation-4"></a> -<p>If we don’t want to live in a jungle, we must change our +<p>If we don’t want to live in a jungle, we must change our attitudes. We must start sending the message that a good citizen is one who cooperates when appropriate, not one who is successful at taking from others. I hope that the free software movement will @@ -967,10 +939,9 @@ contribute to this: at least in one area, we will replace the jungle with a more efficient system which encourages and runs on voluntary cooperation. </p><div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT23" href="#DOCF23">(23)</a></h3> -<p>The word “free” in “free software” refers to freedom, not to price; the price paid for a copy of a free +<p>The word “free” in “free software” refers to freedom, not to price; the price paid for a copy of a free program may be zero, or small, or (rarely) quite large. </p><h3><a name="FOOT24" href="#DOCF24">(24)</a></h3> <p>The issues of pollution and traffic congestion do not @@ -989,6 +960,4 @@ Lotus Marketplace database of personal information, which was withdrawn from sal <a name="index-Fox-Film-Corp_002e-v_002e-Doyal"></a> <p><cite>Fox Film Corp. v. Doyal,</cite> 286 US 123, 1932. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_7.html b/examples/blog/articles/scrap1_7.html index 20f1b32e..5dd41c36 100644 --- a/src/frontend_blog/articles/scrap1_7.html +++ b/examples/blog/articles/scrap1_7.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.: 7. Why Schools Should Exclusively Use Free Software</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.: 7. Why Schools Should Exclusively Use Free Software"> -<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.: 7. Why Schools Should Exclusively Use Free Software</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.: 7. Why Schools Should Exclusively Use Free Software"><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,17 +43,11 @@ 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="Schools"></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="Why-Schools-Should-Exclusively-Use-Free-Software"></a> -<h1 class="chapter"> 7. Why Schools Should Exclusively Use Free Software </h1> +<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="Why-Schools-Should-Exclusively-Use-Free-Software"></a> +<h1 class="chapter"> 7. Why Schools Should Exclusively Use Free Software </h1> <a name="index-education_002c-free-software-in-1"></a> <a name="index-schools_002c-free-software-in-1"></a> @@ -73,7 +55,7 @@ ul.toc {list-style: none} <a name="index-users_002c-benefit-to-2"></a> <p>There are general reasons why all computer users should insist on free software: it gives users the freedom to control their own -computers—with proprietary software, the computer does what the +computers—with proprietary software, the computer does what the software <a name="index-ownership_002c-and-users_0027-freedom-1"></a> owner wants it to do, not what the user wants it to @@ -94,7 +76,7 @@ divide. <p>This obvious reason, while important in practical terms, is rather shallow. And proprietary software developers can eliminate this reason by donating copies to the schools. (Warning: a school that accepts -such an offer may have to pay for upgrades later.) So let’s look at +such an offer may have to pay for upgrades later.) So let’s look at the deeper reasons. </p> <a name="index-citizen-values_002c-schools_0027-social-mission"></a> @@ -110,7 +92,7 @@ megacorporations. corporations offer free samples to schools for the same reason tobacco companies distribute free cigarettes to minors: to get children addicted.<a name="DOCF27" href="#FOOT27">(27)</a> -They will not give discounts to these students once they’ve grown up +They will not give discounts to these students once they’ve grown up and graduated. </p> @@ -123,9 +105,9 @@ and write lots of code. They need to read and understand real programs that people really use. Only free software permits this. </p> <p>Proprietary software rejects their thirst for knowledge: it says, -“The knowledge you want is a secret—learning is -forbidden!” Free software encourages everyone to learn. The free -software community rejects the “priesthood of technology,” +“The knowledge you want is a secret—learning is +forbidden!” Free software encourages everyone to learn. The free +software community rejects the “priesthood of technology,” which keeps the general public in ignorance of how technology works; we encourage students of any age and situation to read the source code and learn as much as they want to know. Schools that use free software @@ -137,9 +119,9 @@ skills, but that is not their whole job. The most fundamental job of schools is to teach good citizenship, which includes the habit of helping others. In the area of computing, this means teaching people to share software. Schools, starting from nursery school, should tell -their pupils, “If you bring software to school, you must share +their pupils, “If you bring software to school, you must share it with the other students. And you must show the source code to the -class, in case someone wants to learn.” +class, in case someone wants to learn.” </p> <p>Of course, the school must practice what it preaches: all the software installed by the school should be available for students to @@ -154,14 +136,11 @@ tycoons. All levels of school should use free software. <a name="index-users_002c-benefit-to-3"></a> </p> <div class="footnote"> -<hr> -<h3>Footnotes</h3> +<hr><h3>Footnotes</h3> <h3><a name="FOOT27" href="#DOCF27">(27)</a></h3> <a name="index-RJ-Reynolds-Tobacco-Company"></a> <p>RJ Reynolds Tobacco Company was fined $15m in 2002 for handing out free samples of cigarettes at events attended by children. See <a href="http://www.bbc.co.uk/worldservice/sci_tech/features/health/tobaccotrial/usa.htm">http://www.bbc.co.uk/worldservice/sci_tech/features/health/tobaccotrial/usa.htm</a>. </p></div> -<hr size="2"> -</body> -</html> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_8.html b/examples/blog/articles/scrap1_8.html index 0a8e77aa..09730baa 100644 --- a/src/frontend_blog/articles/scrap1_8.html +++ b/examples/blog/articles/scrap1_8.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.: 8. Releasing Free Software If You Work at a University</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.: 8. Releasing Free Software If You Work at a University"> -<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.: 8. Releasing Free Software If You Work at a University</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.: 8. Releasing Free Software If You Work at a University"><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,24 +43,18 @@ 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="University"></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="Releasing-Free-Software-If-You-Work-at-a-University"></a> -<h1 class="chapter"> 8. Releasing Free Software If You Work at a University </h1> +<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="Releasing-Free-Software-If-You-Work-at-a-University"></a> +<h1 class="chapter"> 8. Releasing Free Software If You Work at a University </h1> <a name="index-universities_002c-releasing-free-software-at-1"></a> <a name="index-call-to-action_002c-release-free-software"></a> <a name="index-developers_002c-universities"></a> <p>In the free software movement, we believe computer users should have the freedom to change and redistribute the software that they use. -The “free” in “free software” refers to freedom: it means +The “free” in “free software” refers to freedom: it means users have the freedom to run, modify and redistribute the software. Free software contributes to human knowledge, while nonfree software does not. Universities should therefore encourage free software for @@ -93,8 +75,8 @@ MIT. I did this specifically so that the MIT licensing office would be unable to interfere with releasing GNU as free software. I had planned an approach for licensing the programs in GNU that would ensure -that all modified versions must be free software as well—an approach -that developed into the GNU General Public License (GNU GPL)—and I did not want to have to beg the MIT administration to let me use it. +that all modified versions must be free software as well—an approach +that developed into the GNU General Public License (GNU GPL)—and I did not want to have to beg the MIT administration to let me use it. </p> <p>Over the years, university affiliates have often come to the <a name="index-FSF_002c-universities"></a> @@ -105,9 +87,9 @@ even for specifically funded projects, is to base your work on an existing program that was released under the <a name="index-GPL_002c-universities-and"></a> GNU GPL. Then you can -tell the administrators, “We’re not allowed to release the -modified version except under the GNU GPL—any other way would -be copyright infringement.” After the dollar signs fade from +tell the administrators, “We’re not allowed to release the +modified version except under the GNU GPL—any other way would +be copyright infringement.” After the dollar signs fade from their eyes, they will usually consent to releasing it as free software. </p> @@ -127,7 +109,7 @@ open to renegotiation. They would rather have a contract to develop free software than no contract at all, so they will most likely go along. </p> -<p>Whatever you do, raise the issue early—well before the +<p>Whatever you do, raise the issue early—well before the program is half finished. At this point, the university still needs you, so you can play hardball: tell the administration you will finish the program, make it usable, if they agree in writing to make it @@ -161,8 +143,8 @@ knowledge, or is its sole purpose to perpetuate itself? <p>Whatever approach you use, it helps to approach the issue with determination and based on an ethical perspective, as we do in the free software movement. To treat -the public ethically, the software should be free—as in -freedom—for the whole public. +the public ethically, the software should be free—as in +freedom—for the whole public. </p> <a name="index-developers_002c-solid-values-for-free-software"></a> <p>Many developers of free software profess narrowly practical reasons @@ -173,12 +155,12 @@ and thank you for your contribution. But those values do not give you a good footing to stand firm when university administrators pressure or tempt you to make the program nonfree. </p> -<p>For instance, they may argue that “We could make it even more -powerful and reliable with all the money we can get.” This claim +<p>For instance, they may argue that “We could make it even more +powerful and reliable with all the money we can get.” This claim may or may not come true in the end, but it is hard to disprove in -advance. They may suggest a license to offer copies “free of -charge, for academic use only,” which would tell the general -public they don’t deserve freedom, and argue that this will obtain the +advance. They may suggest a license to offer copies “free of +charge, for academic use only,” which would tell the general +public they don’t deserve freedom, and argue that this will obtain the cooperation of academia, which is all (they say) you need. </p> <a name="index-citizen-values_002c-convenience-v_002e-2"></a> @@ -186,17 +168,15 @@ cooperation of academia, which is all (they say) you need. good case for rejecting these dead-end proposals, but you can do it easily if you base your stand on ethical and political values. What good is it to make a program powerful and reliable at the expense of -users’ freedom? Shouldn’t freedom apply outside academia as well as +users’ freedom? Shouldn’t freedom apply outside academia as well as within it? The answers are obvious if freedom and community are among -your goals. Free software respects the users’ freedom, while nonfree +your goals. Free software respects the users’ freedom, while nonfree software negates it. </p> -<p>Nothing strengthens your resolve like knowing that the community’s +<p>Nothing strengthens your resolve like knowing that the community’s freedom depends, in one instance, on you. <a name="index-universities_002c-releasing-free-software-at-2"></a> <a name="index-education_002c-free-software-in-2"></a> <a name="index-call-to-action_002c-release-free-software-1"></a> <a name="index-developers_002c-universities-1"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_9.html b/examples/blog/articles/scrap1_9.html index 686a242b..37099c70 100644 --- a/src/frontend_blog/articles/scrap1_9.html +++ b/examples/blog/articles/scrap1_9.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.: 9. Why Free Software Needs Free Documentation</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.: 9. Why Free Software Needs Free Documentation"> -<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.: 9. Why Free Software Needs Free Documentation</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.: 9. Why Free Software Needs Free Documentation"><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,22 +43,16 @@ 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="Free-Doc"></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="Why-Free-Software-Needs-Free-Documentation"></a> -<h1 class="chapter"> 9. Why Free Software Needs Free Documentation </h1> +<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="Why-Free-Software-Needs-Free-Documentation"></a> +<h1 class="chapter"> 9. Why Free Software Needs Free Documentation </h1> <a name="index-documentation-_0028see-also-both-FDL-and-manuals_0029-2"></a> <a name="index-manuals-_0028see-also-manuals_002c-FDL_002c-and-documentation_0029-1"></a> <p>The biggest deficiency in free operating systems is not in the -software—it is the lack of good free manuals that we can include +software—it is the lack of good free manuals that we can include in these systems. Many of our most important programs do not come with full manuals. Documentation is an essential part of any software package; when an important free software package does not come with a @@ -80,23 +62,23 @@ free manual, that is a major gap. We have many such gaps today. <p>Once upon a time, many years ago, I thought I would learn Perl. I got a copy of a free manual, but I found it hard to read. When I asked Perl users about alternatives, they told me that there were better -introductory manuals—but those were not free. +introductory manuals—but those were not free. </p> <p>Why was this? The authors of the good manuals had written them for <a name="index-O_0027Reilly-Associates"></a> -O’Reilly Associates, which published them with restrictive -terms—no copying, no modification, source files not -available—which exclude them from the free software +O’Reilly Associates, which published them with restrictive +terms—no copying, no modification, source files not +available—which exclude them from the free software community. </p> -<p>That wasn’t the first time this sort of thing has happened, and (to -our community’s great loss) it was far from the last. Proprietary +<p>That wasn’t the first time this sort of thing has happened, and (to +our community’s great loss) it was far from the last. Proprietary manual publishers have enticed a great many authors to restrict their manuals since then. Many times I have heard a GNU user eagerly tell me about a manual that he is writing, with which he expects to help the <a name="index-GNU_002c-GNU-Project-3"></a> -GNU Project—and then had my hopes dashed, as he proceeded to +GNU Project—and then had my hopes dashed, as he proceeded to explain that he had signed a contract with a publisher that would restrict it so that we cannot use it. </p> @@ -104,8 +86,8 @@ restrict it so that we cannot use it. can ill afford to lose manuals this way. </p> <p>Free documentation, like free software, is a matter of freedom, not -price. The problem with these manuals was not that O’Reilly -Associates charged a price for printed copies—that in itself is +price. The problem with these manuals was not that O’Reilly +Associates charged a price for printed copies—that in itself is fine. (The <a name="index-FSF_002c-and-selling-GNU-manuals"></a> <a name="index-manuals_002c-GNU"></a> @@ -122,25 +104,25 @@ Redistribution (including commercial redistribution) must be permitted, so that the manual can accompany every copy of the program, on line or on paper. Permission for modification is crucial too. </p> -<p>As a general rule, I don’t believe that it is essential for people to +<p>As a general rule, I don’t believe that it is essential for people to have permission to modify all sorts of articles and books. The issues for writings are not necessarily the same as those for software. For -example, I don’t think you or I are obliged to give permission to +example, I don’t think you or I are obliged to give permission to modify articles like this one, which describe our actions and our views. </p> <p>But there is a particular reason why the freedom to modify is crucial for documentation for free software. When people exercise their right to modify the software, and add or change its features, if they are -conscientious they will change the manual too—so they can provide +conscientious they will change the manual too—so they can provide accurate and usable documentation with the modified program. A manual which forbids programmers from being conscientious and finishing the job, or more precisely requires them to write a new manual from scratch if -they change the program, does not fill our community’s needs. +they change the program, does not fill our community’s needs. </p> <p>While a blanket prohibition on modification is unacceptable, some kinds of limits on the method of modification pose no problem. For -example, requirements to preserve the original author’s copyright +example, requirements to preserve the original author’s copyright notice, the distribution terms, or the list of authors, are OK. It is also no problem to require modified versions to include notice that they were modified, even to have entire sections that may not be @@ -148,8 +130,8 @@ deleted or changed, as long as these sections deal with nontechnical topics. (Some GNU manuals have them.) </p> <p>These kinds of restrictions are not a problem because, as a practical -matter, they don’t stop the conscientious programmer from adapting the -manual to fit the modified program. In other words, they don’t block +matter, they don’t stop the conscientious programmer from adapting the +manual to fit the modified program. In other words, they don’t block the free software community from making full use of the manual. </p> <p>However, it must be possible to modify all the <em>technical</em> @@ -160,8 +142,8 @@ manual. </p> <p>Unfortunately, it is often hard to find someone to write another manual when a proprietary manual exists. The obstacle is that many -users think that a proprietary manual is good enough—so they -don’t see the need to write a free manual. They do not see that the +users think that a proprietary manual is good enough—so they +don’t see the need to write a free manual. They do not see that the free operating system has a gap that needs filling. </p> <p>Why do users think that proprietary manuals are good enough? Some @@ -192,6 +174,4 @@ prefer copylefted manuals to noncopylefted ones. We maintain a page that lists free books available from other publishers. <a name="index-documentation-_0028see-also-both-FDL-and-manuals_0029-3"></a> <a name="index-manuals-_0028see-also-manuals_002c-FDL_002c-and-documentation_0029-2"></a> -</p><hr size="2"> -</body> -</html> +</p><hr size="2"></section></body></html> diff --git a/examples/blog/articles/scrap1_U.0.html b/examples/blog/articles/scrap1_U.0.html new file mode 100644 index 00000000..1d8771df --- /dev/null +++ b/examples/blog/articles/scrap1_U.0.html @@ -0,0 +1,113 @@ +<!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. + +Free Software Foundation + +51 Franklin Street, Fifth Floor + +Boston, MA 02110-1335 +Copyright C 2002, 2010 Free Software Foundation, Inc. +Verbatim copying and distribution of this entire book are permitted +worldwide, without royalty, in any medium, provided this notice is +preserved. Permission is granted to copy and distribute translations +of this book from the original English into another language provided +the translation has been approved by the Free Software Foundation and +the copyright notice and this permission notice are preserved on all +copies. + +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 +texi2html was written by: + Lionel Cons <Lionel.Cons@cern.ch> (original author) + Karl Berry <karl@freefriends.org> + Olaf Bachmann <obachman@mathematik.uni-kl.de> + 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.: Foreword</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.: Foreword"><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} +pre.display {font-family: serif} +pre.format {font-family: serif} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +pre.smalldisplay {font-family: serif; font-size: smaller} +pre.smallexample {font-size: smaller} +pre.smallformat {font-family: serif; font-size: smaller} +pre.smalllisp {font-size: smaller} +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"> + +<a name="Foreword"></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="Foreword-1"></a> +<h1 class="unnumbered"> Foreword </h1> + +<p>Every generation has its philosopher—a writer or an artist who captures the imagination of a time. Sometimes these philosophers are recognized as such; often it takes generations before the connection is made real. But recognized or not, a time gets marked by the people who speak its ideals, whether in the whisper of a poem, or the blast of a political movement. +</p> +<a name="index-Stallman_002c-Richard"></a> +<p>Our generation has a philosopher. He is not an artist, or a professional writer. He is a programmer. Richard Stallman began his work in the labs of +<a name="index-MIT"></a> +MIT, as a programmer and architect building operating system software. He has built his career on a stage of public life, as a programmer and an architect founding a movement for freedom in a world increasingly defined by “code.” +</p> +<p>“Code” is the technology that makes computers run. Whether inscribed in software or burned in hardware, it is the collection of instructions, first written in words, that directs the functionality of machines. These machines—computers—increasingly define and control our life. They determine how phones connect, and what runs on TV. They decide whether video can be streamed across a broadband link to a computer. They control what a computer reports back to its manufacturer. These machines run us. Code runs these machines. +</p> +<p>What control should we have over this code? What understanding? What freedom should there be to match the control it enables? What power? +</p> +<p>These questions have been the challenge of Stallman’s life. Through his works and his words, he has pushed us to see the importance of keeping code “free.” Not free in the sense that code writers don’t get paid, but free in the sense that the control coders build be transparent to all, and that anyone have the right to take that control, and modify it as he or she sees fit. This is “free software”; “free software” is one answer to a world built in code. +</p> +<p>“Free.” Stallman laments the ambiguity in his own term. There’s nothing to lament. Puzzles force people to think, and this term “free” does this puzzling work quite well. To modern American ears, “free software” sounds utopian, impossible. Nothing, not even lunch, is free. How could the most important words running the most critical machines running the world be “free.” How could a sane society aspire to such an ideal? +</p> +<p>Yet the odd clink of the word “free” is a function of us, not of the term. “Free” has different senses, only one of which refers to “price.” A much more fundamental sense of “free” is the “free,” Stallman says, in the term “free speech,” or perhaps better in the term “free labor.” Not free as in costless, but free as in limited in its control by others. Free software is control that is transparent, and open to change, just as free laws, or the laws of a “free society,” are free when they make their control knowable, and open to change. The aim of Stallman’s “free software movement” is to make as much code as it can transparent, and subject to change, by rendering it “free.” +</p> +<a name="index-copyleft-_0028see-also-copyright_0029"></a> +<p>The mechanism of this rendering is an extraordinarily clever device called “copyleft” implemented through a license called +<a name="index-GPL_002c-introduction-to"></a> +GPL. Using the power of copyright law, “free software” not only assures that it remains open, and subject to change, but that other software that takes and uses “free software” (and that technically counts as a “derivative”) must also itself be free. If you use and adapt a free software program, and then release that adapted version to the public, the released version must be as free as the version it was adapted from. It must, or the law of copyright will be violated. +</p> +<a name="index-Microsoft_002c-war-on-GPL"></a> +<p>“Free software,” like free societies, has its enemies. Microsoft has waged a war against the GPL, warning whoever will listen that the GPL is a “dangerous” license. The dangers it names, however, are largely illusory. Others object to the “coercion” in GPL’s insistence that modified versions are also free. But a condition is not coercion. If it is not coercion for Microsoft to refuse to permit users to distribute modified versions of its product Office without paying it (presumably) millions, then it is not coercion when the GPL insists that modified versions of free software be free too. +</p> +<p>And then there are those who call Stallman’s message too extreme. But extreme it is not. Indeed, in an obvious sense, Stallman’s work is a simple translation of the freedoms that our tradition crafted in the world before code. “Free software” would assure that the world governed by code is as “free” as our tradition that built the world before code. +</p> +<p>For example: A “free society” is regulated by law. But there are limits that any free society places on this regulation through law: No society that kept its laws secret could ever be called free. No government that hid its regulations from the regulated could ever stand in our tradition. Law controls. But it does so justly only when visibly. And law is visible only when its terms are knowable and controllable by those it regulates, or by the agents of those it regulates (lawyers, legislatures). +</p> +<p>This condition on law extends beyond the work of a legislature. Think about the practice of law in American courts. Lawyers are hired by their clients to advance their clients’ interests. Sometimes that interest is advanced through litigation. In the course of this litigation, lawyers write briefs. These briefs in turn affect opinions written by judges. These opinions decide who wins a particular case, or whether a certain law can stand consistently with a constitution. +</p> +<p>All the material in this process is free in the sense that Stallman means. Legal briefs are open and free for others to use. The arguments are transparent (which is different from saying they are good) and the reasoning can be taken without the permission of the original lawyers. The opinions they produce can be quoted in later briefs. They can be copied and integrated into another brief or opinion. The “source code” for American law is by design, and by principle, open and free for anyone to take. And take lawyers do—for it is a measure of a great brief that it achieves its creativity through the reuse of what happened before. The source is free; creativity and an economy is built upon it. +</p> +<p>This economy of free code (and here I mean free legal code) doesn’t starve lawyers. Law firms have enough incentive to produce great briefs even though the stuff they build can be taken and copied by anyone else. The lawyer is a craftsman; his or her product is public. Yet the crafting is not charity. Lawyers get paid; the public doesn’t demand such work without price. Instead this economy flourishes, with later work added to the earlier. +</p> +<p>We could imagine a legal practice that was different—briefs and arguments that were kept secret; rulings that announced a result but not the reasoning. Laws that were kept by the police but published to no one else. Regulation that operated without explaining its rule. +</p> +<p>We could imagine this society, but we could not imagine calling it “free.” Whether or not the incentives in such a society would be better or more efficiently allocated, such a society could not be known as free. The ideals of freedom, of life within a free society, demand more than efficient application. Instead, openness and transparency are the constraints within which a legal system gets built, not options to be added if convenient to the leaders. Life governed by software code should be no less. +</p> +<p>Code writing is not litigation. It is better, richer, more productive. But the law is an obvious instance of how creativity and incentives do not depend upon perfect control over the products created. Like jazz, or novels, or architecture, the law gets built upon the work that went before. This adding and changing is what creativity always is. And a free society is one that assures that its most important resources remain free in just this sense. +</p> +<p>This book collects the writing of Richard Stallman in a manner that will make its subtlety and power clear. The essays span a wide range, from copyright to the history of the free software movement. They include many arguments not well known, and among these, an especially insightful account of the changed circumstances that render copyright in the digital world suspect. They will serve as a resource for those who seek to understand the thought of this most powerful man—powerful in his ideas, his passion, and his integrity, even if powerless in every other way. They will inspire others who would take these ideas, and build upon them. +</p> +<p>I don’t know Stallman well. I know him well enough to know he is a hard man to like. He is driven, often impatient. His anger can flare at friend as easily as foe. He is uncompromising and persistent; patient in both. +</p> +<p>Yet when our world finally comes to understand the power and danger of code—when it finally sees that code, like laws, or like government, must be transparent to be free—then we will look back at this uncompromising and persistent programmer and recognize the vision he has fought to make real: the vision of a world where freedom and knowledge survives the compiler. And we will come to see that no man, through his deeds or words, has done as much to make possible the freedom that this next society could have. +</p> +<p>We have not earned that freedom yet. We may well fail in securing it. But whether we succeed or fail, in these essays is a picture of what that freedom could be. And in the life that produced these words and works, there is inspiration for anyone who would, like Stallman, fight to create this freedom. +</p> +<a name="index-Lessig_002c-Lawrence"></a> +<p align="right"><small>LAWRENCE LESSIG</small> +</p> +<p> +Lawrence Lessig is a Professor of Law at Harvard Law +School, the director of the<br> Edmond J. Safra Foundation Center +for Ethics, and the founder of Stanford Law<br> School’s Center for +Internet and Society. For much of his career, he focused his<br> work on +law and technology, especially as it affects copyright. He is the +author of numerous books and has served as a board member of many +organizations,<br> including the Free Software Foundation. +</p> +<hr size="2"></section></body></html> diff --git a/src/frontend_blog/articles/scrap1_U.1.html b/examples/blog/articles/scrap1_U.1.html index 13c847ff..b7886268 100644 --- a/src/frontend_blog/articles/scrap1_U.1.html +++ b/examples/blog/articles/scrap1_U.1.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.: Preface to the Second Edition</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.: Preface to the Second Edition"> -<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.: Preface to the Second Edition</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.: Preface to the Second Edition"><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="Preface"></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="Preface-to-the-Second-Edition"></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="Preface-to-the-Second-Edition"></a> <h1 class="unnumbered"> Preface to the Second Edition </h1> <p>The second edition of <cite>Free Software, Free Society</cite> holds updated @@ -85,7 +67,7 @@ upgrade to version 3 of the GNU General Public License. describe an issue affects how people think about it. </p> <p>The last two sections describe some of the traps free software -developers and users face—new ways to lose your freedom, and how to +developers and users face—new ways to lose your freedom, and how to avoid them. </p> <p>We have also added an index, to complement the appendix on software. @@ -96,5 +78,4 @@ Karl Berry for technical assistance with Texinfo, Brett Smith for all other technical help and for valuable feedback, and Rob Myers for formatting the cover. </p> -</body> -</html> +</section></body></html> diff --git a/src/frontend_blog/articles/serbian-croatian.jpg b/examples/blog/articles/serbian-croatian.jpg Binary files differindex 8066d55d..8066d55d 100644 --- a/src/frontend_blog/articles/serbian-croatian.jpg +++ b/examples/blog/articles/serbian-croatian.jpg diff --git a/src/frontend_blog/articles/song-book-jutta-scrunch-crop.jpg b/examples/blog/articles/song-book-jutta-scrunch-crop.jpg Binary files differindex 0147631a..0147631a 100644 --- a/src/frontend_blog/articles/song-book-jutta-scrunch-crop.jpg +++ b/examples/blog/articles/song-book-jutta-scrunch-crop.jpg diff --git a/src/frontend_blog/articles/tamil.jpg b/examples/blog/articles/tamil.jpg Binary files differindex ca5dde39..ca5dde39 100644 --- a/src/frontend_blog/articles/tamil.jpg +++ b/examples/blog/articles/tamil.jpg diff --git a/src/frontend_blog/articles/ukrainian.jpg b/examples/blog/articles/ukrainian.jpg Binary files differindex 79c9112d..79c9112d 100644 --- a/src/frontend_blog/articles/ukrainian.jpg +++ b/examples/blog/articles/ukrainian.jpg diff --git a/examples/blog/blog_lib.php b/examples/blog/blog_lib.php new file mode 100644 index 00000000..d7e6c513 --- /dev/null +++ b/examples/blog/blog_lib.php @@ -0,0 +1,37 @@ +<?php + /** + * Take a (article's) filename and return its + * teaser. It has the articles folder hardcoded + */ + function get_title($name){ + $content = file_get_contents("articles/$name.html"); + $doc = new DOMDocument(); + $doc->loadHTML($content); + $finder = new DOMXPath($doc); + $query_set = $finder->query("//h1[@class='chapter' or @class='unnumbered']"); + if (1 != $query_set->length) + return "No title for this item"; + // assuming all the articles are well-formed.. + return $query_set->item(0)->nodeValue; + } + + /** + * Take a (article's) filename and return its + * DOM. It has the articles folder hardcoded + */ + function get_article($name){ + $raw_content = file_get_contents("articles/$name.html"); + return $raw_content; + } + + /** + * Fetch the page $page and return its + * DOM. + */ + function get_page($page){ + $content = file_get_contents($page); + $doc = new DOMDocument(); + $doc->loadHTML($content); + return $doc; + } +?> diff --git a/examples/blog/essay_cc-form.html b/examples/blog/essay_cc-form.html new file mode 100644 index 00000000..beadceaa --- /dev/null +++ b/examples/blog/essay_cc-form.html @@ -0,0 +1,87 @@ +<html> + <head> + <link rel="stylesheet" type="text/css" href="../style.css"> + </head> + <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> + <header> + <div id="logo"><a href="/"><img src="../gnu.svg" height="100" width="100"/></a></div> + <h1>Credit card payment</h1> + </header> + <section id="main"> + <em>This page only <u>simulates</u> a credit card payment, in order to make + the blog demo more realistic. Therefore <u>no data</u> will be sent when + submitting the form</em> + <h1>Enter your details</h1> + <p>We need a few details before proceeding with credit card payment</p> + <form> + First name<br> <input type="text"></input><br> + Family name<br> <input type="text"></input><br> + Age<br> <input type="text"></input><br> + Nationality<br> <input type="text"></input><br> + Gender<br> <input type="radio" name"gender">Male</input> + <input type="radio" name="gender">Female</input><br> + </form> + <form method="post" action="essay_cc-fulfillment.php?article={article}"> + <input type="submit"></input> + </form> + </section> + <script type="application/javascript"> + function handle_contract(json_contract) { + var cEvent = new CustomEvent('taler-contract', + {detail: json_contract}); + document.dispatchEvent(cEvent); + }; + + function get_contract(article) { + var contract_request = new XMLHttpRequest(); + contract_request.open("GET", + "essay_contract.php?article=" + article, + true); + contract_request.onload = function (e) { + if (contract_request.readyState == 4) { + if (contract_request.status == 200) { + console.log("response text:", + contract_request.responseText); + handle_contract(contract_request.responseText); + } else { + alert("Failure to download contract from merchant " + + "(" + contract_request.status + "):\n" + + contract_request.responseText); + } + } + }; + contract_request.onerror = function (e) { + alert("Failure requesting the contract:\n" + + contract_request.statusText); + }; + contract_request.send(); + } + + function has_taler_wallet_cb(aEvent){ + {jscode} + }; + + document.addEventListener("taler-wallet-present", + has_taler_wallet_cb, + false); + + // Register event to be triggered by the wallet when it gets enabled while + // the user is on the payment page + document.addEventListener("taler-load", + signal_taler_wallet_onload, + false); + + function executePayment(H_contract, pay_url, offering_url) { + var detail = { + H_contract: H_contract, + pay_url: pay_url, + offering_url: offering_url + }; + var eve = new CustomEvent('taler-execute-payment', {detail: detail}); + document.dispatchEvent(eve); + } + + </script> + <script type="application/javascript" src="taler-presence.js"></script> + </body> +</html> diff --git a/examples/blog/essay_cc-fulfillment.php b/examples/blog/essay_cc-fulfillment.php new file mode 100644 index 00000000..5890c03d --- /dev/null +++ b/examples/blog/essay_cc-fulfillment.php @@ -0,0 +1,18 @@ +<?php + include '../../copylib/util.php'; + include './blog_lib.php'; + + $article = get($_GET['article']); + if (null == $article){ + http_response_code(400); + echo "Bad request (no article specified)"; + return; + } + + session_start(); + $payments = &pull($_SESSION, "payments", array()); + $payments[$article] = array("ispayed" => true); + $fulfillment_url = url_rel("essay_fulfillment.php"); + header("Location: $fulfillment_url"); + die(); +?> diff --git a/examples/blog/essay_contract.php b/examples/blog/essay_contract.php new file mode 100644 index 00000000..f84dd7ba --- /dev/null +++ b/examples/blog/essay_contract.php @@ -0,0 +1,82 @@ +<?php +/* + This file is part of GNU TALER. + Copyright (C) 2014, 2015 GNUnet e.V. + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU Lesser General Public License as published by the Free Software + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along with + TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> +*/ + + include("../../copylib/merchants.php"); + include("../../copylib/util.php"); + include("../../copylib/config.php"); + include("./blog_lib.php"); + $article = get($_GET['article']); + if (null == $article){ + echo message_from_missing_param("article", "/"); + die(); + } + // send contract + $transaction_id = rand(0, 1001); + $now = new DateTime('now'); + $teaser = get_title($article); + $amount_value = 0; + $amount_fraction = 50000; + $teatax = array (); + $transaction_id = rand(0, 1001); + $fulfillment_url = url_rel("essay_fulfillment.php") + . '×tamp=' . $now->getTimestamp() + . '&tid=' . $transaction_id; + +/* $contract_json = generate_contract($amount_value, + $amount_fraction, + $MERCHANT_CURRENCY, + $transaction_id, + trim($teaser), + $article, + $article, + $teatax, + $now, + $fulfillment_url);*/ + + $contract_json = _generate_contract(array("amount_value" => $amount_value, + "amount_fraction" => $amount_fraction, + "currency" => $MERCHANT_CURRENCY, + "refund_delta" => $REFUND_DELTA, + "transaction_id" => $transaction_id, + "description" => trim($teaser), + "merchant_name" => "Free Software Foundation (demo)", + "product_id" => $article, + "correlation_id" => $article, + "taxes" => $teatax, + "now" => $now, + "fulfillment_url" => $fulfillment_url)); + $resp = give_to_backend($_SERVER['HTTP_HOST'], + "backend/contract", + $contract_json); + $status_code = $resp->getResponseCode(); + http_response_code ($status_code); + if ($status_code != 200){ + echo json_encode(array( + 'error' => "internal error", + 'hint' => "backend indicated error", + 'detail' => $resp->body->toString() + ), JSON_PRETTY_PRINT); + } + else { + $got_json = json_decode($resp->body->toString(), true); + $hc = $got_json["H_contract"]; + session_start(); + $payments = &pull($_SESSION, "payments", array()); + $payments[$article] = array("ispayed" => false); + echo $resp->body->toString(); + } +?> diff --git a/examples/blog/essay_fulfillment.php b/examples/blog/essay_fulfillment.php new file mode 100644 index 00000000..c5cdfbcc --- /dev/null +++ b/examples/blog/essay_fulfillment.php @@ -0,0 +1,101 @@ +<?php +/* + This file is part of GNU TALER. + Copyright (C) 2014, 2015 GNUnet e.V. + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU Lesser General Public License as published by the Free Software + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along with + TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> +*/ + include '../../copylib/util.php'; + include '../../copylib/merchants.php'; + include '../../copylib/config.php'; + include './blog_lib.php'; + + $article = get($_GET['article']); + if (null == $article){ + http_response_code(400); + echo message_from_missing_param("article", "/"); + return; + } + session_start(); + + $payments = &pull($_SESSION, 'payments', array()); + $my_payment = &pull($payments, $article, false); + + $pay_url = url_rel("essay_pay.php"); + $offering_url = url_rel("essay_fulfillment.php", true); + $offering_url .= "?article=$article"; + + // In PHP false == null + if (null == get($payments[$article]['ispayed']) || false == $my_payment){ + $tid = get($_GET['tid']); + $timestamp = get($_GET['timestamp']); + // 1st time + if (null == $tid || null == $timestamp){ + $js_code = "get_contract(\"$article\");"; + $cc_page = template("./essay_cc-form.html", array('article' => $article, 'jscode' => $js_code)); + echo $cc_page; + log_string("cnt blog"); + return; + } + log_string("restoring blog"); + //log_string("state: " . print_r($_SESSION, true)); + // restore contract + $now = new DateTime(); + $now->setTimestamp(intval($timestamp)); + + $contract_rec = _generate_contract(array("amount_value" => 0, + "amount_fraction" => 50000, + "currency" => $MERCHANT_CURRENCY, + "refund_delta" => $REFUND_DELTA, + "merchant_name" => "Free Software Foundation (demo)", + "transaction_id" => intval($tid), + "description" => trim(get_title($article)), + "product_id" => $article, + "correlation_id" => $article, + "taxes" => array(), + "now" => $now, + "fulfillment_url" => get_full_uri())); + /* + $contract_rec = generate_contract(0, + 50000, + $MERCHANT_CURRENCY, + intval($tid), + trim(get_title($article)), + $article, + $article, + array(), + $now, + get_full_uri());*/ + $resp = give_to_backend($_SERVER['HTTP_HOST'], + "backend/contract", + $contract_rec); + if ($resp->getResponseCode() != 200){ + echo json_encode(array( + 'error' => "internal error", + 'hint' => "non hashable contract", + 'detail' => $resp->body->toString() + ), JSON_PRETTY_PRINT); + die(); + } + $hc = json_decode($resp->body->toString(), true)['H_contract']; + $my_payment['hc'] = $hc; + log_string("sending payment event"); + $js_code = "executePayment(\"$hc\", \"$pay_url\", \"$offering_url\");"; + $cc_page = template("./essay_cc-form.html", array('article' => $article, 'jscode' => $js_code)); + echo $cc_page; + return; + } + // control here == article payed + log_string("arti blog"); + $article = get_article($article); + echo $article; +?> diff --git a/examples/blog/essay_pay.php b/examples/blog/essay_pay.php new file mode 100644 index 00000000..e5aecb1c --- /dev/null +++ b/examples/blog/essay_pay.php @@ -0,0 +1,79 @@ +<?php +/* + This file is part of GNU TALER. + Copyright (C) 2014, 2015 GNUnet e.V. + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU Lesser General Public License as published by the Free Software + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along with + TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> +*/ + + include("../../copylib/merchants.php"); + include("../../copylib/util.php"); + include("./blog_lib.php"); + + log_string("paying"); + + $article = get($_GET["article"]); + if (empty($article)){ + http_response_code(400); + echo json_encode(array( + "error" => "missing parameter", + "parameter" => "article" + )); + return; + } + $deposit_permission = file_get_contents('php://input'); + // FIXME check here if the deposit permission is associated + session_start(); + if (!isset($_SESSION["payments"])) { + $json = json_encode( + array( + "error" => "no payments ongoing", + "status" => 500, + "detail" => "the shop has no state for any article" + ) + ); + echo $json; + die(); + } + $payments = &pull($_SESSION, "payments", array()); + $dec_dep_perm = json_decode($deposit_permission, true); + if ($dec_dep_perm['H_contract'] != $payments[$article]['hc']){ + $json = json_encode( + array( + "error" => "ill behaved wallet", + "status" => 400, + "detail" => "article payed differs from article to be shown" + ) + ); + echo $json; + die(); + } + // FIXME put some control below + + // with the article that's going to be payed + $resp = give_to_backend($_SERVER['HTTP_HOST'], + "backend/pay", + $deposit_permission); + $status_code = $resp->getResponseCode(); + http_response_code ($status_code); + if ($status_code != 200) + { + $json = json_encode( + array( + "error" => "backend error", + "status" => $status_code, + "detail" => $resp->body->toString())); + echo $json; + die(); + } + $payments[$article]['ispayed'] = true; +?> diff --git a/src/frontend_blog/gnu.svg b/examples/blog/gnu.svg index 06403cb7..06403cb7 100644 --- a/src/frontend_blog/gnu.svg +++ b/examples/blog/gnu.svg diff --git a/examples/blog/index.html b/examples/blog/index.html new file mode 100644 index 00000000..a91a67b0 --- /dev/null +++ b/examples/blog/index.html @@ -0,0 +1,151 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <title>Richard M. Stallman: Free Software, Free Society</title> + <link rel="stylesheet" type="text/css" href="style.css"> + <meta http-equiv="content-type" content="text/html;CHARSET=utf-8"> +</head> + +<body onload="signal_taler_wallet_onload()"> + <header> + <div id="logo"> + <a href="/"> + <img src="gnu.svg" height=100 width=100 alt="GNU logo"> + </a> + </div> + <h1>Richard M. Stallman: Free Software, Free Society</h1> + </header> + + <aside class="sidebar" id="left"> + </aside> + + <section id="main"> + <h1>About</h1> + <p>This "blog" simulates how a website selling articles using + Taler should work. + We illustrate the use of Taler using articles from + Richard Stallman's book "Free Software, Free Society", + which is also + <a href="http://shop.fsf.org/product/free-software-free-society-2/">published by the FSF</a> + and available gratis at <a href="http://www.gnu.org/">gnu.org</a>. + </p> + + <!-- TODO: hide this section if Taler wallet is present! --> + <h2>Taler wallet required for payment</h2> + This site requires a Taler wallet to pay for articles. + Please visit <a href="https://demo.taler.net">demo.taler.net</a> + to install a wallet (and to withdraw digital coins). + + <h2>Free Software, Free Society</h2> + + <p>This is the second edition of <cite>Free Software, Free Society: Selected Essays of Richard M. Stallman.</cite><br> +Free Software Foundation<br> +51 Franklin Street, Fifth Floor<br> +Boston, MA 02110-1335 +<br> +Copyright © 2002, 2010 Free Software Foundation, Inc. +</p><blockquote><p>Verbatim copying and distribution of this entire book are permitted +worldwide, without royalty, in any medium, provided this notice is +preserved. Permission is granted to copy and distribute translations +of this book from the original English into another language provided +the translation has been approved by the Free Software Foundation and +the copyright notice and this permission notice are preserved on all +copies. +</p></blockquote> +<p>ISBN 978-0-9831592-0-9 +<br> +<br> +</p> +<p> +<em>Richard Stallman is the prophet of the free software movement. +He understood the dangers of software patents years ago. Now that +this has become a crucial issue in the world, buy this book and read +what he said.</em><br> —<strong>Tim Berners-Lee,</strong> inventor of the World +Wide Web +<br> +<br> +<em>Richard Stallman is the philosopher king of software. He +single-handedly ignited what has become a world-wide movement to +create software that is Free, with a capital F. He has toiled for +years at a project that many once considered a fool’s errand, and now +that is widely seen as “inevitable.”</em><br> —<strong>Simon L. +Garfinkel,</strong> computer science author and columnist +<br> +<br> +<em>By his hugely successful efforts to establish the idea of “Free +Software,” Stallman has made a massive contribution to the human +condition. His contribution combines elements that have technical, +social, political, and economic consequences.</em><br> —<strong>Gerald Jay +Sussman,</strong> Matsushita Professor of Electrical Engineering, MIT +<br> +<br> +<em>RMS is the leading philosopher of software. You may dislike +some of his attitudes, but you cannot avoid his ideas. This slim +volume will make those ideas readily accessible to those who are +confused by the buzzwords of rampant commercialism. This book needs +to be widely circulated and widely read.</em><br> —<strong>Peter Salus,</strong> +computer science writer, book reviewer, and UNIX historian +<br> +<br> +<em>Richard is the leading force of the free software movement. +This book is very important to spread the key concepts of free +software world-wide, so everyone can understand it. Free software +gives people freedom to use their creativity.</em><br> —<strong>Masayuki +Ida,</strong> professor, Graduate School of International Management, Aoyama +Gakuin University +</p> + <h2>Chapters</h2> + <!-- TODO: show this section ONLY if Taler wallet is present! --> + <ul style="list-style-type:none"> + <li><a name="stoc-Foreword-1" href="/essay_fulfillment.php?article=scrap1_U.0"><h3>Foreword</h3></a><div class="teasers_item"><p>Every generation has its philosopher—a writer or an artist who captures the imagination of a time. Sometimes these philosophers are recognized as such; often it takes generations before the connection is made real. But recognized or not, a time gets marked by the people who speak its ideals, whether in the whisper of a poem, or the blast of a political movement. </p></div></li> + <li><a name="stoc-Preface-to-the-Second-Edition" href="/essay_fulfillment.php?article=scrap1_U.1"><h3>Preface to the Second Edition</h3></a><div class="teasers_item"><p>The second edition of Free Software, Free Society holds updated versions of most of the essays from the first edition, as well as many new essays published since the first edition.</p></div></li> + <li><a name="stoc-The-Free-Software-Definition" href="/essay_fulfillment.php?article=scrap1_1"><h3>1. The Free Software Definition</h3></a><div class="teasers_item"><p>“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”</p></div></li> + <li><a name="stoc-The-GNU-Project" href="/essay_fulfillment.php?article=scrap1_2"><h3>2. The GNU Project</h3></a><div class="teasers_item"><p>When I started working at the MIT Artificial Intelligence Lab in 1971, I became part of a software-sharing community that had existed for many years. Sharing of software was not limited to our particular community; it is as old as computers, just as sharing of recipes is as old as cooking. But we did it more than most. </p></div></li> + <li><a name="stoc-The-Initial-Announcement-of-the-GNU-Operating-System" href="/essay_fulfillment.php?article=scrap1_3"><h3>3. The Initial Announcement of the GNU Operating System</h3></a><div class="teasers_item"><p>This is the original announcement of the GNU Project, posted by Richard Stallman on 27 September 1983. + +</p></div></li> + <li><a name="stoc-The-GNU-Manifesto" href="/essay_fulfillment.php?article=scrap1_4"><h3>4. The GNU Manifesto</h3></a><div class="teasers_item"><p>The GNU Manifesto was written by Richard Stallman at the beginning of the GNU Project, to ask for participation and support. For the first few years, it was updated in minor ways to account for developments, but now it seems best to leave it unchanged as most people have seen it.</p></div></li> + <li><a name="stoc-Why-Software-Should-Not-Have-Owners" href="/essay_fulfillment.php?article=scrap1_5"><h3>5. Why Software Should Not Have Owners</h3></a><div class="teasers_item"><p>Digital information technology contributes to the world by making it easier to copy and modify information. Computers promise to make this easier for all of us. </p></div></li> + <li><a name="stoc-Why-Software-Should-Be-Free" href="/essay_fulfillment.php?article=scrap1_6"><h3>6. Why Software Should Be Free</h3></a><div class="teasers_item"><p>The existence of software inevitably raises the question of how decisions about its use should be made. For example, suppose one individual who has a copy of a program meets another who would like a copy. It is possible for them to copy the program; who should decide whether this is done? The individuals involved? Or another party, called the “owner”? </p></div></li> + <li><a name="stoc-Why-Schools-Should-Exclusively-Use-Free-Software" href="/essay_fulfillment.php?article=scrap1_7"><h3>7. Why Schools Should Exclusively Use Free Software</h3></a><div class="teasers_item"><p>There are general reasons why all computer users should insist on free software: it gives users the freedom to control their own computers—with proprietary software, the computer does what the software owner wants it to do, not what the user wants it to do. Free software also gives users the freedom to cooperate with each other, to lead an upright life. These reasons apply to schools as they do to everyone. </p></div></li> + <li><a name="stoc-Releasing-Free-Software-If-You-Work-at-a-University" href="/essay_fulfillment.php?article=scrap1_8"><h3>8. Releasing Free Software If You Work at a University</h3></a><div class="teasers_item"><p>In the free software movement, we believe computer users should have the freedom to change and redistribute the software that they use. The “free” in “free software” refers to freedom: it means users have the freedom to run, modify and redistribute the software. Free software contributes to human knowledge, while nonfree software does not. Universities should therefore encourage free software for the sake of advancing human knowledge, just as they should encourage scientists and other scholars to publish their work.</p></div></li> + <li><a name="stoc-Why-Free-Software-Needs-Free-Documentation" href="/essay_fulfillment.php?article=scrap1_9"><h3>9. Why Free Software Needs Free Documentation</h3></a><div class="teasers_item"><p>The biggest deficiency in free operating systems is not in the software—it is the lack of good free manuals that we can include in these systems. Many of our most important programs do not come with full manuals. Documentation is an essential part of any software package; when an important free software package does not come with a free manual, that is a major gap. We have many such gaps today. </p></div></li> + <li><a name="stoc-Selling-Free-Software" href="/essay_fulfillment.php?article=scrap1_10"><h3>10. Selling Free Software</h3></a><div class="teasers_item"><p>Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible—just enough to cover the cost. This is a misunderstanding.</p></div></li> + <li><a name="stoc-The-Free-Software-Song" href="/essay_fulfillment.php?article=scrap1_11"><h3>11. The Free Software Song</h3></a><div class="teasers_item"><p>The lyrics of “The Free Software Song” are sung to the melody of the Bulgarian folk song “Sadi moma bela loza.”</p></div></li> + <li><a name="stoc-What_0027s-in-a-Name_003f" href="/essay_fulfillment.php?article=scrap1_12"><h3>12. What’s in a Name?</h3></a><div class="teasers_item"><p>Names convey meanings; our choice of names determines the meaning of what we say. An inappropriate name gives people the wrong idea. A rose by any other name would smell as sweet—but if you call it a pen, people will be rather disappointed when they try to write with it. And if you call pens “roses,” people may not realize what they are good for. If you call our operating system Linux, that conveys a mistaken idea of the system’s origin, history, and purpose. If you call it GNU/Linux, that conveys (though not in detail) an accurate idea. </p></div></li> + <li><a name="stoc-Categories-of-Free-and-Nonfree-Software" href="/essay_fulfillment.php?article=scrap1_13"><h3>13. Categories of Free and Nonfree Software</h3></a><div class="teasers_item"><p>Free software is software that comes with permission for anyone to use, copy, and/or distribute, either verbatim or with modifications, either gratis or for a fee. In particular, this means that source code must be available. “If it’s not source, it’s not software.”</p></div></li> + <li><a name="stoc-Why-Open-Source-Misses-the-Point-of-Free-Software" href="/essay_fulfillment.php?article=scrap1_14"><h3>14. Why Open Source Misses the Point of Free Software</h3></a><div class="teasers_item"><p>When we call software “free,” we mean that it respects the users’ essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of freedom, not price, so think of “free speech,” not “free beer.” </p></div></li> + <li><a name="stoc-Did-You-Say-_0060_0060Intellectual-Property_0027_0027_003f_0040entrybreak_007b_007dIt_0027s-a-Seductive-Mirage" href="/essay_fulfillment.php?article=scrap1_15"><h3>15. Did You Say “Intellectual Property”? It’s a Seductive Mirage</h3></a><div class="teasers_item"><p></p></div></li> + <li><a name="stoc-Words-to-Avoid-_0028or-Use-with-Care_0029--Because-They-Are-Loaded-or-Confusing" href="/essay_fulfillment.php?article=scrap1_16"><h3>16. Words to Avoid (or Use with Care) <br>Because They Are Loaded or Confusing</h3></a><div class="teasers_item"><p>There are a number of words and phrases that we recommend avoiding, or avoiding in certain contexts and usages. Some are ambiguous or misleading; others presuppose a viewpoint that we hope you disagree with. </p></div></li> + <li><a name="stoc-The-Right-to-Read_003a-A-Dystopian-Short-Story" href="/essay_fulfillment.php?article=scrap1_17"><h3>17. The Right to Read: A Dystopian Short Story</h3></a><div class="teasers_item"><p>For Dan Halbert, the road to Tycho began in college—when Lissa Lenz asked to borrow his computer. Hers had broken down, and unless she could borrow another, she would fail her midterm project. There was no one she dared ask, except Dan. </p></div></li> + <li><a name="stoc-Misinterpreting-Copyright_002d_002d_002dA-Series-of-Errors" href="/essay_fulfillment.php?article=scrap1_18"><h3>18. Misinterpreting Copyright—A Series of Errors</h3></a><div class="teasers_item"><p>Something strange and dangerous is happening in copyright law. Under the US Constitution, copyright exists to benefit users—those who read books, listen to music, watch movies, or run software—not for the sake of publishers or authors. Yet even as people tend increasingly to reject and disobey the copyright restrictions imposed on them “for their own benefit,” the US government is adding more restrictions, and trying to frighten the public into obedience with harsh new penalties.</p></div></li> + <li><a name="stoc-Science-Must-Push-Copyright-Aside" href="/essay_fulfillment.php?article=scrap1_19"><h3>19. Science Must Push Copyright Aside</h3></a><div class="teasers_item"><p>It should be a truism that the scientific literature exists to disseminate scientific knowledge, and that scientific journals exist to facilitate the process. It therefore follows that rules for use of the scientific literature should be designed to help achieve that goal. </p></div></li> + <li><a name="stoc-Freedom_002d_002d_002dor-Copyright" href="/essay_fulfillment.php?article=scrap1_20"><h3>20. Freedom—or Copyright</h3></a><div class="teasers_item"><p>Copyright was established in the age of the printing press as an industrial regulation on the business of writing and publishing. The aim was to encourage the publication of a diversity of written works. The means was to require publishers to get the author’s permission to publish recent writings. This enabled authors to get income from publishers, which facilitated and encouraged writing. The general reading public received the benefit of this, while losing little: copyright restricted only publication, not the things an ordinary reader could do. That made copyright arguably a beneficial system for the public, and therefore arguably legitimate. </p></div></li> + <li><a name="stoc-What-Is-Copyleft_003f" href="/essay_fulfillment.php?article=scrap1_21"><h3>21. What Is Copyleft?</h3></a><div class="teasers_item"><p>Copyleft is a general method for making a program (or other work) free, and requiring all modified and extended versions of the program to be free as well.</p></div></li> + <li><a name="stoc-Copyleft_003a-Pragmatic-Idealism" href="/essay_fulfillment.php?article=scrap1_22"><h3>22. Copyleft: Pragmatic Idealism</h3></a><div class="teasers_item"><p>Every decision a person makes stems from the person’s values and goals. People can have many different goals and values; fame, profit, love, survival, fun, and freedom, are just some of the goals that a good person might have. When the goal is a matter of principle, we call that idealism.</p></div></li> + <li><a name="stoc-Anatomy-of-a-Trivial-Patent" href="/essay_fulfillment.php?article=scrap1_23"><h3>23. Anatomy of a Trivial Patent</h3></a><div class="teasers_item"><p>Programmers are well aware that many of the existing software patents cover laughably obvious ideas. Yet the patent system’s defenders often argue that these ideas are nontrivial, obvious only in hindsight. And it is surprisingly difficult to defeat them in debate. Why is that? </p></div></li> + <li><a name="stoc-Software-Patents-and-Literary-Patents" href="/essay_fulfillment.php?article=scrap1_24"><h3>24. Software Patents and Literary Patents</h3></a><div class="teasers_item"><p>When politicians consider the question of software patents, they are usually voting blind; not being programmers, they don’t understand what software patents really do. They often think patents are similar to copyright law (“except for some details”)—which is not the case. For instance, when I publicly asked Patrick Devedjian, then Minister for Industry in France, how France would vote on the issue of software patents, Devedjian responded with an impassioned defense of copyright law, praising Victor Hugo for his role in the adoption of copyright. (The misleading term “intellectual property” promotes this confusion—one of the reasons it should never be used.) </p></div></li> + <li><a name="stoc-The-Danger-of-Software-Patents" href="/essay_fulfillment.php?article=scrap1_25"><h3>25. The Danger of Software Patents</h3></a><div class="teasers_item"><p>I’m most known for starting the free software movement and leading development of the GNU operating system—although most of the people who use the system mistakenly believe it’s Linux and think it was started by somebody else a decade later. But I’m not going to be speaking about any of that today. I’m here to talk about a legal danger to all software developers, distributors, and users: the danger of patents—on computational ideas, computational techniques, an idea for something you can do on a computer. </p></div></li> + <li><a name="stoc-Microsoft_0027s-New-Monopoly" href="/essay_fulfillment.php?article=scrap1_26"><h3>26. Microsoft’s New Monopoly</h3></a><div class="teasers_item"><p>European legislators who endorse software patents frequently claim that those wouldn’t affect free software (or “open source”). Microsoft’s lawyers are determined to prove they are mistaken. </p></div></li> + <li><a name="stoc-Introduction-to-the-Licenses" href="/essay_fulfillment.php?article=scrap1_27"><h3>27. Introduction to the Licenses</h3></a><div class="teasers_item"><p>This part contains the text of the latest versions of the primary GNU licenses: the GNU General Public License (GNU GPL), the GNU Lesser General Public License (LGPL), and the GNU Free Documentation License (FDL). Though they are legal documents, they belong in this book of essays because they are concrete expressions of the ideals of free software. </p></div></li> + <li><a name="stoc-The-GNU-General-Public-License" href="/essay_fulfillment.php?article=scrap1_28"><h3>28. The GNU General Public License</h3></a><div class="teasers_item"><p>The GNU General Public License is a free, copyleft license for software and other kinds of works. </p></div></li> + <li><a name="stoc-Why-Upgrade-to-GPLv3" href="/essay_fulfillment.php?article=scrap1_29"><h3>29. Why Upgrade to GPLv3</h3></a><div class="teasers_item"><p>Version 3 of the GNU General Public License (GNU GPL) has been released, enabling free software packages to upgrade from GPL version 2. This article explains why upgrading the license is important. </p></div></li> + <li><a name="stoc-The-GNU-Lesser-General-Public-License" href="/essay_fulfillment.php?article=scrap1_30"><h3>30. The GNU Lesser General Public License</h3></a><div class="teasers_item"><p>This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below.</p></div></li> + <li><a name="stoc-GNU-Free-Documentation-License" href="/essay_fulfillment.php?article=scrap1_31"><h3>31. GNU Free Documentation License</h3></a><div class="teasers_item"><p>The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. </p></div></li> + <li><a name="stoc-Can-You-Trust-Your-Computer_003f" href="/essay_fulfillment.php?article=scrap1_32"><h3>32. Can You Trust Your Computer?</h3></a><div class="teasers_item"><p>Who should your computer take its orders from? Most people think their computers should obey them, not obey someone else. With a plan they call “trusted computing,” large media corporations (including the movie companies and record companies), together with computer companies such as Microsoft and Intel, are planning to make your computer obey them instead of you. (Microsoft’s version of this scheme is called Palladium.) Proprietary programs have included malicious features before, but this plan would make it universal.</p></div></li> + <li><a name="stoc-Who-Does-That-Server-Really-Serve_003f" href="/essay_fulfillment.php?article=scrap1_33"><h3>33. Who Does That Server Really Serve?</h3></a><div class="teasers_item"><p>Digital technology can give you freedom; it can also take your freedom away. The first threat to our control over our computing came from proprietary software: software that the users cannot control because the owner (a company such as Apple or Microsoft) controls it. The owner often takes advantage of this unjust power by inserting malicious features such as spyware, back doors, and Digital Restrictions Management (DRM) (referred to as “Digital Rights Management” in their propaganda). </p></div></li> + <li><a name="stoc-Free-but-Shackled_003a-The-Java-Trap" href="/essay_fulfillment.php?article=scrap1_34"><h3>34. Free but Shackled: The Java Trap</h3></a><div class="teasers_item"><p>If your program is free software, it is basically ethical—but there is a trap you must be on guard for. Your program, though in itself free, may be restricted by nonfree software that it depends on. Since the problem is most prominent today for Java programs, we call it the Java Trap. </p></div></li> + <li><a name="stoc-The-JavaScript-Trap" href="/essay_fulfillment.php?article=scrap1_35"><h3>35. The JavaScript Trap</h3></a><div class="teasers_item"><p>In the free software community, the idea that nonfree programs mistreat their users is familiar. Some of us refuse entirely to install proprietary software, and many others consider nonfreedom a 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></div></li> + <li><a name="stoc-The-X-Window-System-Trap" href="/essay_fulfillment.php?article=scrap1_36"><h3>36. The X Window System Trap</h3></a><div class="teasers_item"><p>To copyleft or not to copyleft? That is one of the major controversies in the free software community. The idea of copyleft is that we should fight fire with fire—that we should use copyright to make sure our code stays free. The GNU General Public License (GNU GPL) is one example of a copyleft license.</p></div></li> + <li><a name="stoc-The-Problem-Is-Software-Controlled-by-Its-Developer" href="/essay_fulfillment.php?article=scrap1_37"><h3>37. The Problem Is Software Controlled by Its Developer</h3></a><div class="teasers_item"><p>I fully agree with Jonathan Zittrain’s conclusion that we should not abandon general-purpose computers. Alas, I disagree completely with the path that led him to it. He presents serious security problems as an intolerable crisis, but I’m not convinced. Then he forecasts that users will panic in response and stampede toward restricted computers (which he calls “appliances”), but there is no sign of this happening. </p></div></li> + <li><a name="stoc-We-Can-Put-an-End-to-Word-Attachments" href="/essay_fulfillment.php?article=scrap1_38"><h3>38. We Can Put an End to Word Attachments</h3></a><div class="teasers_item"><p>Don’t you just hate receiving Word documents in email messages? Word attachments are annoying, but, worse than that, they impede people from switching to free software. Maybe we can stop this practice with a simple collective effort. All we have to do is ask each person who sends us a Word file to reconsider that way of doing things.</p></div></li> + <li><a name="stoc-Thank-You_002c-Larry-McVoy" href="/essay_fulfillment.php?article=scrap1_39"><h3>39. Thank You, Larry McVoy</h3></a><div class="teasers_item"><p>For the first time in my life, I want to thank Larry McVoy. He recently eliminated a major weakness of the free software community, by announcing the end of his campaign to entice free software projects to use and promote his nonfree software. Soon, Linux development will no longer use this program, and no longer spread the message that nonfree software is a good thing if it’s convenient. </p></div></li> + <li><a name="stoc-Computing-_0060_0060Progress_0027_0027_003a-Good-and-Bad" href="/essay_fulfillment.php?article=scrap1_40"><h3>40. Computing “Progress”: Good and Bad</h3></a><div class="teasers_item"><p>Bradley Horowitz of Yahoo proposed here that every object in our world have a unique number so that your cell phone could record everything you do—even which cans you picked up while in the supermarket.</p></div></li> + <li><a name="stoc-Avoiding-Ruinous-Compromises" href="/essay_fulfillment.php?article=scrap1_41"><h3>41. Avoiding Ruinous Compromises</h3></a><div class="teasers_item"><p>The free software movement aims for a social change: to make all software free so that all software users are free and can be part of a community of cooperation. Every nonfree program gives its developer unjust power over the users. Our goal is to put an end to that injustice. </p></div></li> + <li><a name="stoc-Overcoming-Social-Inertia" href="/essay_fulfillment.php?article=scrap1_42"><h3>42. Overcoming Social Inertia</h3></a><div class="teasers_item"><p>Almost two decades have passed since the combination of GNU and Linux first made it possible to use a PC in freedom. We have come a long way since then. Now you can even buy a laptop with GNU/Linux preinstalled from more than one hardware vendor—although the systems they ship are not entirely free software. So what holds us back from total success? </p></div></li> + <li><a name="stoc-Freedom-or-Power_003f" href="/essay_fulfillment.php?article=scrap1_43"><h3>43. Freedom or Power?</h3></a><div class="teasers_item"><p>In the free software movement, we stand for freedom for the users of software. We formulated our views by looking at what freedoms are necessary for a good way of life, and permit useful programs to foster a community of goodwill, cooperation, and collaboration. Our criteria for free software specify the freedoms that a program’s users need so that they can cooperate in a community. </p></div></li> + <li><a name="stoc-Appendix-A_003a-A-Note-on-Software" href="/essay_fulfillment.php?article=scrap1_46"><h3><span class="roman">Appendix A: A Note on Software</span></h3></a><div class="teasers_item"><p>This section is intended for people who have little or no knowledge of the technical aspects of computer science. It is not necessary to read this section to understand the essays and speeches presented in this book; however, it may be helpful to those readers not familiar with some of the jargon that comes with programming and computer science. </p></div></li> + <li><a name="stoc-Appendix-B_003a-Translations-of-the-Term-_0060_0060Free-Software_0027_0027" href="/essay_fulfillment.php?article=scrap1_47"><span class="roman"><h3>Appendix B: Translations of the Term “Free Software”</span></h3></a><div class="teasers_item"><p>The following is a list of recommended unambiguous translations of the term “free software” into various languages.</p></div></li> + </section> +</body> +</html> diff --git a/src/frontend_blog/style.css b/examples/blog/style.css index c2cc51ee..21e2d97c 100644 --- a/src/frontend_blog/style.css +++ b/examples/blog/style.css @@ -8,15 +8,13 @@ body { header { width: 100%; height: 100px; - margin: 0; padding: 0; border-bottom: 1px solid black; } header h1 { font-size: 200%; - margin: 0; - padding: 0 0 0 120px; + margin: 0 0 0 120px; position: relative; top: 50%; transform: translateY(-50%); diff --git a/examples/blog/taler-presence.js b/examples/blog/taler-presence.js new file mode 100644 index 00000000..2562238b --- /dev/null +++ b/examples/blog/taler-presence.js @@ -0,0 +1,61 @@ +/* @licstart The following is the entire license notice for the + JavaScript code in this page. + + Copyright (C) 2016 GNUnet e.V. + + The JavaScript code in this page is free software: you can + redistribute it and/or modify it under the terms of the GNU + Lesser General Public License (GNU LGPL) as published by the Free Software + Foundation, either version 2.1 of the License, or (at your option) + any later version. The code is distributed WITHOUT ANY WARRANTY; + without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU LGPL for more details. + + As additional permission under GNU LGPL version 2.1 section 7, you + may distribute non-source (e.g., minimized or compacted) forms of + that code without the copy of the GNU LGPL normally required by + section 4, provided you include this license notice and a URL + through which recipients can access the Corresponding Source. + + @licend The above is the entire license notice + for the JavaScript code in this page. +*/ + +function handleInstall() { + var show = document.getElementsByClassName("taler-installed-show"); + var hide = document.getElementsByClassName("taler-installed-hide"); + for (var i = 0; i < show.length; i++) { + show[i].style.display = ""; + } + for (var i = 0; i < hide.length; i++) { + hide[i].style.display = "none"; + } +}; + +function handleUninstall() { + var show = document.getElementsByClassName("taler-installed-show"); + var hide = document.getElementsByClassName("taler-installed-hide"); + for (var i = 0; i < show.length; i++) { + show[i].style.display = "none"; + } + for (var i = 0; i < hide.length; i++) { + hide[i].style.display = ""; + } +}; + +function probeTaler() { + var eve = new Event("taler-probe"); + console.log("probing taler"); + document.dispatchEvent(eve); +} + +document.addEventListener("taler-wallet-present", handleInstall, false); +document.addEventListener("taler-unload", handleUninstall, false); +document.addEventListener("taler-load", handleInstall, false); + +function initTaler() { + handleUninstall(); + probeTaler(); +} + +window.addEventListener("load", initTaler, false); diff --git a/src/frontend/README b/examples/shop/README index 8cfb490f..8cfb490f 100644 --- a/src/frontend/README +++ b/examples/shop/README diff --git a/src/frontend/checkout.php b/examples/shop/checkout.php index 16c4a69c..16c4a69c 100644 --- a/src/frontend/checkout.php +++ b/examples/shop/checkout.php diff --git a/src/frontend/config.php b/examples/shop/config.php index 1680a9b5..1680a9b5 100644 --- a/src/frontend/config.php +++ b/examples/shop/config.php diff --git a/src/frontend/fulfillment.php b/examples/shop/fulfillment.php index f781ffcb..c7e0f97c 100644 --- a/src/frontend/fulfillment.php +++ b/examples/shop/fulfillment.php @@ -51,7 +51,7 @@ TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> */ -include '../frontend_lib/util.php'; +include '../../copylib/util.php'; $hc = get($_GET["uuid"]); diff --git a/src/frontend/generate_taler_contract.php b/examples/shop/generate_taler_contract.php index 1fa6e52d..fd241d41 100644 --- a/src/frontend/generate_taler_contract.php +++ b/examples/shop/generate_taler_contract.php @@ -15,8 +15,9 @@ TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> */ -include '../frontend_lib/util.php'; -include "../frontend_lib/config.php"; +include '../../copylib/util.php'; +include "../../copylib/config.php"; +include "../../copylib/merchants.php"; session_start(); @@ -35,7 +36,7 @@ $currency = $_SESSION['currency']; // In production context, we might want to // record this value somewhere together // with the rest of the contract data. -$transaction_id = rand(0, 1001); +$transaction_id = rand(0, 2<<40); // Human-readable description of this deal $desc = "Donation to " . $receiver; @@ -53,7 +54,24 @@ $fulfillment_url = url_rel("fulfillment.php") . '&acurr=' . urlencode($currency) . '&tid=' . $transaction_id; + + $contract = _generate_contract(array("amount_value" => $amount_value, + "amount_fraction" => $amount_fraction, + "currency" => $currency, + "refund_delta" => 'P3M', + "transaction_id" => $transaction_id, + "description" => $desc, + "product_id" => $p_id, + "correlation_id" => "", + "merchant_name" => "Kudos Inc.", + "taxes" => array(), + "now" => $now, + "fulfillment_url" => $fulfillment_url)); + + // pack the JSON for the contract + +/* $contract = array( 'fulfillment_url' => $fulfillment_url, 'amount' => array( @@ -86,6 +104,7 @@ $contract = array( 'name' => 'Kudos Inc.' ) ); +*/ $json = json_encode(array( 'contract' => $contract @@ -97,7 +116,7 @@ $req = new http\Client\Request("POST", $url, array ("Content-Type" => "application/json")); -$req->getBody()->append($json); +$req->getBody()->append($contract); // Execute the HTTP request $client = new http\Client; diff --git a/examples/shop/index.php b/examples/shop/index.php new file mode 100644 index 00000000..184ed9e8 --- /dev/null +++ b/examples/shop/index.php @@ -0,0 +1,126 @@ +<!DOCTYPE html> +<?php +require_once "../../copylib/config.php"; +?> +<html lang="en"> +<head> + <title>Taler Donation Demo</title> + <link rel="stylesheet" type="text/css" href="style.css"> + <script src="taler-presence.js" type="text/javascript"></script> +<script type="text/javascript"> +<?php +echo "\tvar shop_currency = '$MERCHANT_CURRENCY';\n"; +?> + + function addOption(value, label) { + var s = document.getElementById("taler-donation"); + var e = document.createElement("option"); + e.textContent = label ? label : ("".concat(value, " ", shop_currency)); + e.value = value; + s.appendChild(e); + } + + function init() { + var e = document.getElementById("currency-input"); + e.value = shop_currency; + addOption("0.1"); + addOption("1.0"); + addOption("6.0", "".concat(5, " ", shop_currency)); + addOption("10"); + } + + document.addEventListener("DOMContentLoaded", init); + +</script> +</head> + +<body> + <header> + <div id="logo"> + <svg height="100" width="100"> + <circle cx="50" cy="50" r="40" stroke="darkcyan" stroke-width="6" fill="white" /> + <text x="19" y="82" font-family="Verdana" font-size="90" fill="darkcyan">S</text> + </svg> + </div> + + <h1>Toy "Store" - Taler Demo</h1> + </header> + + <aside class="sidebar" id="left"> + </aside> + + <section id="main"> + <article> + <h1>Welcome to the Taler Donation "Shop" Demo</h1> + + <p>This "toy" website provides you with the ability to + experience using the + <a href="https://www.taler.net/">GNU Taler</a> + payment system without using + valuable currency. Instead, for the demonstrator we + will be using a "toy" currency, KUDOS. However, please remember that + Taler is designed to work with ordinary currencies, such + as Dollars or Euros, not just toy currencies. + <br> + This page, <tt>shop.demo.taler.net</tt> models the behavior of a + typical Web shop supporting Taler. The other pages of the demo, + <tt>mint.demo.taler.net</tt> and + <tt>bank.demo.taler.net</tt>, correspond to a Taler mint + and bank with tight Taler integration respectively. You + may also enjoy visiting the <tt>blog.demo.taler.net</tt>. + </p> + </article> + </section> + + <div class="taler-installed-hide"> + <h2>Installing the Taler wallet</h2> + First, you need to install the Taler wallet browser extension. + Install the wallet + <span id="install-done" style="visibility: hidden">(done)</span> + <ul> + <li>from the app store for <a href="https://chrome.google.com/webstore/detail/gnu-taler-wallet/millncjiddlpgdmkklmhfadpacifaonc">Google + Chrome and Chromium</a> + </li> + <li>via inline install: + <button onclick="installWallet()" id="install-button"> + Add to Chrome + </button> + </li> + </ul> + Wallets for other browsers will be provided in the near future. + </div> + + <div class="taler-installed-show"> + <p>Please choose a project and the amount of KUDOS you + wish to donate:</p> + + <form name="tform" action="checkout.php" method="POST"> + <div class="participation" id="fake-shop"> + <br> + <input type="radio" name="donation_receiver" value="Taler" checked="true">GNU Taler</input> + <br> + <input type="radio" name="donation_receiver" value="Tor">Tor</input> + <br> + <input type="radio" name="donation_receiver" value="GNUnet">GNUnet</input> + <br> + <select id="taler-donation" name="donation_amount"> + <!-- options will be added dynamically --> + </select> + <input id="currency-input" type="hidden" name="donation_currency"/> + <input type="submit" name="keyName" value="Donate!"/> + <br> + <br> + </div> + </form> + <p> + (*) To make it a bit more fun, the 5 KUDOS option + is deliberately implemented with a fault: the merchant will try to + make you donate 6 KUDOS instead of the 5 KUDOS you got to see. But do + not worry, you will be given the opportunity to review the + final offer from the merchant in a window secured + by the Taler extension. That way, you can spot the + error before committing to an incorrect contract. + </p> + </div> +</body> +</html> diff --git a/src/frontend/pay.php b/examples/shop/pay.php index be4c25bc..cd95714e 100644 --- a/src/frontend/pay.php +++ b/examples/shop/pay.php @@ -16,7 +16,7 @@ */ -include '../frontend_lib/util.php'; +include '../../copylib/util.php'; $hc = get($_GET["uuid"]); if (empty($hc)) diff --git a/src/frontend/style.css b/examples/shop/style.css index c2cc51ee..c2cc51ee 100644 --- a/src/frontend/style.css +++ b/examples/shop/style.css diff --git a/examples/shop/taler-presence.js b/examples/shop/taler-presence.js new file mode 100644 index 00000000..2562238b --- /dev/null +++ b/examples/shop/taler-presence.js @@ -0,0 +1,61 @@ +/* @licstart The following is the entire license notice for the + JavaScript code in this page. + + Copyright (C) 2016 GNUnet e.V. + + The JavaScript code in this page is free software: you can + redistribute it and/or modify it under the terms of the GNU + Lesser General Public License (GNU LGPL) as published by the Free Software + Foundation, either version 2.1 of the License, or (at your option) + any later version. The code is distributed WITHOUT ANY WARRANTY; + without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU LGPL for more details. + + As additional permission under GNU LGPL version 2.1 section 7, you + may distribute non-source (e.g., minimized or compacted) forms of + that code without the copy of the GNU LGPL normally required by + section 4, provided you include this license notice and a URL + through which recipients can access the Corresponding Source. + + @licend The above is the entire license notice + for the JavaScript code in this page. +*/ + +function handleInstall() { + var show = document.getElementsByClassName("taler-installed-show"); + var hide = document.getElementsByClassName("taler-installed-hide"); + for (var i = 0; i < show.length; i++) { + show[i].style.display = ""; + } + for (var i = 0; i < hide.length; i++) { + hide[i].style.display = "none"; + } +}; + +function handleUninstall() { + var show = document.getElementsByClassName("taler-installed-show"); + var hide = document.getElementsByClassName("taler-installed-hide"); + for (var i = 0; i < show.length; i++) { + show[i].style.display = "none"; + } + for (var i = 0; i < hide.length; i++) { + hide[i].style.display = ""; + } +}; + +function probeTaler() { + var eve = new Event("taler-probe"); + console.log("probing taler"); + document.dispatchEvent(eve); +} + +document.addEventListener("taler-wallet-present", handleInstall, false); +document.addEventListener("taler-unload", handleUninstall, false); +document.addEventListener("taler-load", handleInstall, false); + +function initTaler() { + handleUninstall(); + probeTaler(); +} + +window.addEventListener("load", initTaler, false); diff --git a/src/frontend/index.php b/src/frontend/index.php deleted file mode 100644 index eb2f50bb..00000000 --- a/src/frontend/index.php +++ /dev/null @@ -1,156 +0,0 @@ -<!DOCTYPE html> -<?php -require_once "../frontend_lib/config.php"; -?> -<html lang="en"> -<head> - <title>Taler Donation Demo</title> - <link rel="stylesheet" type="text/css" href="style.css"> - <script src="taler-presence.js" type="text/javascript"></script> -<script type="text/javascript"> -<?php -echo "\tvar shop_currency = '$MERCHANT_CURRENCY';\n"; -?> - - function addOption(value, label) { - var s = document.getElementById("taler-donation"); - var e = document.createElement("option"); - e.textContent = label ? label : ("".concat(value, " ", shop_currency)); - e.value = value; - s.appendChild(e); - } - - function init() { - var e = document.getElementById("currency-input"); - e.value = shop_currency; - addOption("0.1"); - addOption("1.0"); - addOption("6.0", "".concat(5, " ", shop_currency)); - addOption("10"); - } - - document.addEventListener("DOMContentLoaded", init); - -</script> -</head> - -<body> - <header> - <div id="logo"> - <svg height="100" width="100"> - <circle cx="50" cy="50" r="40" stroke="darkcyan" stroke-width="6" fill="white" /> - <text x="19" y="82" font-family="Verdana" font-size="90" fill="darkcyan">S</text> - </svg> - </div> - - <h1>Toy "Store" - Taler Demo</h1> - </header> - - <aside class="sidebar" id="left"> - </aside> - - <section id="main"> - <article> - <h1>Welcome to the Taler Donation Demo</h1> - - <p>This "toy" website provides you with the ability to - experience using the - <a href="https://www.taler.net/">GNU Taler</a> - payment system without using - valuable currency. Instead, for the demonstrator we - will be using a "toy" currency, KUDOS. However, please remember that - Taler is designed to work with ordinary currencies, such - as Dollars or Euros, not just toy currencies. - <br> - This page, <tt>shop.demo.taler.net</tt> models the behavior of a - typical Web shop supporting Taler. The other pages of the demo, - <tt>mint.demo.taler.net</tt> and - <tt>bank.demo.taler.net</tt>, correspond to a Taler mint - and bank with tight Taler integration respectively. - </p> - </article> - - <section> - - <article> - <h2>Step 1: Installing the Taler wallet</h2> - <p class="taler-installed-hide"> - First, you need to <a href="http://demo.taler.net/">install</a> - the Taler wallet browser extension. - </p> - <p class="taler-installed-show"> - Congratulations, you have installed the Taler wallet correctly. - You can now proceed with the next steps. - </p> - </article> - - <article class="taler-installed-show"> - <h2>Step 2: Withdraw coins <sup>(occasionally)</sup></h2> - - <p>The next step is to withdraw coins, after all you cannot - pay with an empty wallet. To be allowed to withdraw - coins from a mint, you first need to transfer currency to the mint - using the normal banking system, for example by using a - wire transfer. If the bank offers a tight integration with Taler, it - may also support this directly over the home banking online interface. - <br> - For the demonstration, we have created a "bank" that - allows you to "wire" funds (in KUDOS) to the mint simply by - filling in the desired amount into a form. Naturally, when - using a real bank with real money, you would have to authenticate - and authorize the transfer. - <br> - Note that you would not do this step for each purchase or each shop. - Payment with Taler is like paying - with cash: you withdraw currency at the bank (or an ATM) and then - pay at many merchants without having to authenticate each time. - <br> - So, unless you have already done so, please go ahead and withdraw - KUDOS at the - <a href="http://bank.demo.taler.net/" target="_blank">Demo bank</a> - (opens in a new tab).</p> - </article> - - <article class="taler-installed-show"> - <h2>Step 3: Shop! <sup>(as long as you have KUDOS left)</sup></h2> - - <p>Now it is time to spend your hard earned KUDOS. - Note that we cannot really tell if you got any yet, - as your Taler wallet balance is visible to you, but - of course is hidden entirely from the shop.</p> - <p>The form that follows corresponds to the shopping - cart of a real Web shop; however, we kept it - very simple for the demonstration.</p> - <p>So, please choose a project and the amount of KUDOS you - wish to donate:</p> - - <form name="tform" action="checkout.php" method="POST"> - <div class="participation" id="fake-shop"> - <br> - <input type="radio" name="donation_receiver" value="Taler" checked="true">GNU Taler</input> - <br> - <input type="radio" name="donation_receiver" value="Tor">Tor</input> - <br> - <input type="radio" name="donation_receiver" value="GNUnet">GNUnet</input> - <br> - <select id="taler-donation" name="donation_amount"> - <!-- options will be added dynamically --> - </select> - <input id="currency-input" type="hidden" name="donation_currency"/> - <input type="submit" name="keyName" value="Donate!"/> - <br> - <br> - </div> - </form> - <p>(*) To make it a bit more fun, the 5 KUDOS option - is deliberately implemented with a fault: the merchant will try to - make you donate 6 KUDOS instead of the 5 KUDOS you got to see. But do - not worry, you will be given the opportunity to review the - final offer from the merchant in a window secured - by the Taler extension. That way, you can spot the - error before committing to an incorrect contract.</p> - </article> - </section> - </section> -</body> -</html> diff --git a/src/frontend_blog/articles/scrap1_U.0.html b/src/frontend_blog/articles/scrap1_U.0.html deleted file mode 100644 index 8eed2140..00000000 --- a/src/frontend_blog/articles/scrap1_U.0.html +++ /dev/null @@ -1,133 +0,0 @@ -<!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. - -Free Software Foundation - -51 Franklin Street, Fifth Floor - -Boston, MA 02110-1335 -Copyright C 2002, 2010 Free Software Foundation, Inc. -Verbatim copying and distribution of this entire book are permitted -worldwide, without royalty, in any medium, provided this notice is -preserved. Permission is granted to copy and distribute translations -of this book from the original English into another language provided -the translation has been approved by the Free Software Foundation and -the copyright notice and this permission notice are preserved on all -copies. - -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 -texi2html was written by: - Lionel Cons <Lionel.Cons@cern.ch> (original author) - Karl Berry <karl@freefriends.org> - Olaf Bachmann <obachman@mathematik.uni-kl.de> - 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.: Foreword</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.: Foreword"> -<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} -pre.display {font-family: serif} -pre.format {font-family: serif} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: serif; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: serif; font-size: smaller} -pre.smalllisp {font-size: smaller} -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"> - -<a name="Foreword"></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="Foreword-1"></a> -<h1 class="unnumbered"> Foreword </h1> - -<p>Every generation has its philosopher—a writer or an artist who captures the imagination of a time. Sometimes these philosophers are recognized as such; often it takes generations before the connection is made real. But recognized or not, a time gets marked by the people who speak its ideals, whether in the whisper of a poem, or the blast of a political movement. -</p> -<a name="index-Stallman_002c-Richard"></a> -<p>Our generation has a philosopher. He is not an artist, or a professional writer. He is a programmer. Richard Stallman began his work in the labs of -<a name="index-MIT"></a> -MIT, as a programmer and architect building operating system software. He has built his career on a stage of public life, as a programmer and an architect founding a movement for freedom in a world increasingly defined by “code.” -</p> -<p>“Code” is the technology that makes computers run. Whether inscribed in software or burned in hardware, it is the collection of instructions, first written in words, that directs the functionality of machines. These machines—computers—increasingly define and control our life. They determine how phones connect, and what runs on TV. They decide whether video can be streamed across a broadband link to a computer. They control what a computer reports back to its manufacturer. These machines run us. Code runs these machines. -</p> -<p>What control should we have over this code? What understanding? What freedom should there be to match the control it enables? What power? -</p> -<p>These questions have been the challenge of Stallman’s life. Through his works and his words, he has pushed us to see the importance of keeping code “free.” Not free in the sense that code writers don’t get paid, but free in the sense that the control coders build be transparent to all, and that anyone have the right to take that control, and modify it as he or she sees fit. This is “free software”; “free software” is one answer to a world built in code. -</p> -<p>“Free.” Stallman laments the ambiguity in his own term. There’s nothing to lament. Puzzles force people to think, and this term “free” does this puzzling work quite well. To modern American ears, “free software” sounds utopian, impossible. Nothing, not even lunch, is free. How could the most important words running the most critical machines running the world be “free.” How could a sane society aspire to such an ideal? -</p> -<p>Yet the odd clink of the word “free” is a function of us, not of the term. “Free” has different senses, only one of which refers to “price.” A much more fundamental sense of “free” is the “free,” Stallman says, in the term “free speech,” or perhaps better in the term “free labor.” Not free as in costless, but free as in limited in its control by others. Free software is control that is transparent, and open to change, just as free laws, or the laws of a “free society,” are free when they make their control knowable, and open to change. The aim of Stallman’s “free software movement” is to make as much code as it can transparent, and subject to change, by rendering it “free.” -</p> -<a name="index-copyleft-_0028see-also-copyright_0029"></a> -<p>The mechanism of this rendering is an extraordinarily clever device called “copyleft” implemented through a license called -<a name="index-GPL_002c-introduction-to"></a> -GPL. Using the power of copyright law, “free software” not only assures that it remains open, and subject to change, but that other software that takes and uses “free software” (and that technically counts as a “derivative”) must also itself be free. If you use and adapt a free software program, and then release that adapted version to the public, the released version must be as free as the version it was adapted from. It must, or the law of copyright will be violated. -</p> -<a name="index-Microsoft_002c-war-on-GPL"></a> -<p>“Free software,” like free societies, has its enemies. Microsoft has waged a war against the GPL, warning whoever will listen that the GPL is a “dangerous” license. The dangers it names, however, are largely illusory. Others object to the “coercion” in GPL’s insistence that modified versions are also free. But a condition is not coercion. If it is not coercion for Microsoft to refuse to permit users to distribute modified versions of its product Office without paying it (presumably) millions, then it is not coercion when the GPL insists that modified versions of free software be free too. -</p> -<p>And then there are those who call Stallman’s message too extreme. But extreme it is not. Indeed, in an obvious sense, Stallman’s work is a simple translation of the freedoms that our tradition crafted in the world before code. “Free software” would assure that the world governed by code is as “free” as our tradition that built the world before code. -</p> -<p>For example: A “free society” is regulated by law. But there are limits that any free society places on this regulation through law: No society that kept its laws secret could ever be called free. No government that hid its regulations from the regulated could ever stand in our tradition. Law controls. But it does so justly only when visibly. And law is visible only when its terms are knowable and controllable by those it regulates, or by the agents of those it regulates (lawyers, legislatures). -</p> -<p>This condition on law extends beyond the work of a legislature. Think about the practice of law in American courts. Lawyers are hired by their clients to advance their clients’ interests. Sometimes that interest is advanced through litigation. In the course of this litigation, lawyers write briefs. These briefs in turn affect opinions written by judges. These opinions decide who wins a particular case, or whether a certain law can stand consistently with a constitution. -</p> -<p>All the material in this process is free in the sense that Stallman means. Legal briefs are open and free for others to use. The arguments are transparent (which is different from saying they are good) and the reasoning can be taken without the permission of the original lawyers. The opinions they produce can be quoted in later briefs. They can be copied and integrated into another brief or opinion. The “source code” for American law is by design, and by principle, open and free for anyone to take. And take lawyers do—for it is a measure of a great brief that it achieves its creativity through the reuse of what happened before. The source is free; creativity and an economy is built upon it. -</p> -<p>This economy of free code (and here I mean free legal code) doesn’t starve lawyers. Law firms have enough incentive to produce great briefs even though the stuff they build can be taken and copied by anyone else. The lawyer is a craftsman; his or her product is public. Yet the crafting is not charity. Lawyers get paid; the public doesn’t demand such work without price. Instead this economy flourishes, with later work added to the earlier. -</p> -<p>We could imagine a legal practice that was different—briefs and arguments that were kept secret; rulings that announced a result but not the reasoning. Laws that were kept by the police but published to no one else. Regulation that operated without explaining its rule. -</p> -<p>We could imagine this society, but we could not imagine calling it “free.” Whether or not the incentives in such a society would be better or more efficiently allocated, such a society could not be known as free. The ideals of freedom, of life within a free society, demand more than efficient application. Instead, openness and transparency are the constraints within which a legal system gets built, not options to be added if convenient to the leaders. Life governed by software code should be no less. -</p> -<p>Code writing is not litigation. It is better, richer, more productive. But the law is an obvious instance of how creativity and incentives do not depend upon perfect control over the products created. Like jazz, or novels, or architecture, the law gets built upon the work that went before. This adding and changing is what creativity always is. And a free society is one that assures that its most important resources remain free in just this sense. -</p> -<p>This book collects the writing of Richard Stallman in a manner that will make its subtlety and power clear. The essays span a wide range, from copyright to the history of the free software movement. They include many arguments not well known, and among these, an especially insightful account of the changed circumstances that render copyright in the digital world suspect. They will serve as a resource for those who seek to understand the thought of this most powerful man—powerful in his ideas, his passion, and his integrity, even if powerless in every other way. They will inspire others who would take these ideas, and build upon them. -</p> -<p>I don’t know Stallman well. I know him well enough to know he is a hard man to like. He is driven, often impatient. His anger can flare at friend as easily as foe. He is uncompromising and persistent; patient in both. -</p> -<p>Yet when our world finally comes to understand the power and danger of code—when it finally sees that code, like laws, or like government, must be transparent to be free—then we will look back at this uncompromising and persistent programmer and recognize the vision he has fought to make real: the vision of a world where freedom and knowledge survives the compiler. And we will come to see that no man, through his deeds or words, has done as much to make possible the freedom that this next society could have. -</p> -<p>We have not earned that freedom yet. We may well fail in securing it. But whether we succeed or fail, in these essays is a picture of what that freedom could be. And in the life that produced these words and works, there is inspiration for anyone who would, like Stallman, fight to create this freedom. -</p> -<a name="index-Lessig_002c-Lawrence"></a> -<p align="right"><small>LAWRENCE LESSIG</small> -</p> -<p> -Lawrence Lessig is a Professor of Law at Harvard Law -School, the director of the<br> Edmond J. Safra Foundation Center -for Ethics, and the founder of Stanford Law<br> School’s Center for -Internet and Society. For much of his career, he focused his<br> work on -law and technology, especially as it affects copyright. He is the -author of numerous books and has served as a board member of many -organizations,<br> including the Free Software Foundation. -</p> -<hr size="2"> -</body> -</html> diff --git a/src/frontend_blog/blog_lib.php b/src/frontend_blog/blog_lib.php deleted file mode 100644 index 39415d9d..00000000 --- a/src/frontend_blog/blog_lib.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php - -/** - * Take a (article's) filename and return its - * teaser. It has the articles folder hardcoded - */ -function get_teaser($name){ - $content = file_get_contents("articles/$name.html"); - $doc = new DOMDocument(); - $doc->loadHTML($content); - $teaser = $doc->getElementById("teaser"); - return $teaser; -} - -/** - * Take a (article's) filename and return its - * DOM. It has the articles folder hardcoded - */ -function get_article($name){ - $content = file_get_contents("articles/$name.html"); - $doc = new DOMDocument(); - $doc->loadHTML($content); - return $doc; -} - -/** - * Fetch the page $page and return its - * DOM. - */ -function get_page($page){ - $content = file_get_contents($page); - $doc = new DOMDocument(); - $doc->loadHTML($content); - return $doc; -} - -?> diff --git a/src/frontend_blog/essay_cc-fulfillment.php b/src/frontend_blog/essay_cc-fulfillment.php deleted file mode 100644 index 5026c2a9..00000000 --- a/src/frontend_blog/essay_cc-fulfillment.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php - -include '../frontend_lib/util.php'; -include './blog_lib.php'; - -session_start(); -if (!$_SESSION['cc_payment']) -{ - echo "No session active"; - die(); -} -$article = get($_GET['article']); -if (null == $article) -{ - http_response_code(400); - echo "Bad request (no article specified)"; - return; -} -$article_doc = get_article($article); -echo $article_doc->saveHTML(); - -?> diff --git a/src/frontend_blog/essay_cc-payment.html b/src/frontend_blog/essay_cc-payment.html deleted file mode 100644 index d9cbd7c9..00000000 --- a/src/frontend_blog/essay_cc-payment.html +++ /dev/null @@ -1,41 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <title>Enter your details</title> - <link rel="stylesheet" type="text/css" href="style.css"> -</head> -<body> - <header> - <div id="logo"> - <svg height="100" width="100"> - <circle cx="50" cy="50" r="40" stroke="darkcyan" stroke-width="6" fill="white" /> - <text x="19" y="82" font-family="Verdana" font-size="90" fill="darkcyan">B</text> - </svg> - </div> - - <h1>Blog site demonstration</h1> - </header> - - <aside class="sidebar" id="left"> - </aside> - - <section id="main"> - <article> - <h1>Enter your details</h1> - <p>We need a few details before proceeding with credit card payment</p> - <form> - First name<br> <input type="text"></input><br> - Family name<br> <input type="text"></input><br> - Age<br> <input type="text"></input><br> - Nationality<br> <input type="text"></input><br> - Gender<br> <input type="radio" name"gender">Male</input> - <input type="radio" name="gender">Female</input><br> - <input id='article-name' type="hidden" value="{article}"></input> - </form> - <form method="post" action="essay_cc-fulfillment.php?article={article}"> - <input type="submit"></input> - </form> - </article> - </section> -</body> -</html> diff --git a/src/frontend_blog/essay_contract.php b/src/frontend_blog/essay_contract.php deleted file mode 100644 index d4a2e990..00000000 --- a/src/frontend_blog/essay_contract.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php -/* - This file is part of GNU TALER. - Copyright (C) 2014, 2015 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> -*/ - -include("../frontend_lib/merchants.php"); -include("../frontend_lib/util.php"); -include("../frontend_lib/config.php"); -include("./blog_lib.php"); - -$article = get($_GET['article']); -if (null == $article){ - echo "Please land here just to buy articles"; - die(); - } - -// send contract -$transaction_id = rand(0, 1001); -//$p_id = hexdec(substr(sha1($article), -5)); -file_put_contents('/tmp/yyy', "bogus"); -file_put_contents('/tmp/yyy', $MERCHANT_CURRENCY); -$now = new DateTime('now'); -$teaser = get_teaser($article); -$amount_value = 0; -$amount_fraction = 50000; -$teatax = array (); -$transaction_id = rand(0, 1001); - -$fulfillment_url = url_rel("essay_fulfillment.php") - . '&uuid=${H_contract}' - . '×tamp=' . $now->getTimestamp() - . '&tid=' . $transaction_id; - -file_put_contents("/tmp/ffil", $fulfillment_url); -$contract_json = generate_contract($amount_value, - $amount_fraction, - $MERCHANT_CURRENCY, - $transaction_id, - trim($teaser->nodeValue), - $article, - $article, - $teatax, - $now, - $fulfillment_url); -$resp = give_to_backend($_SERVER["HTTP_HOST"], - "backend/contract", - $contract_json); - -// Our response code is the same we got from the backend: -$status_code = $resp->getResponseCode(); -http_response_code ($status_code); - -// Now generate our body -if ($status_code != 200) -{ - echo json_encode(array( - 'error' => "internal error", - 'hint' => "backend indicated error", - 'detail' => $resp->body->toString() - ), JSON_PRETTY_PRINT); -} -else -{ - $got_json = json_decode($resp->body->toString(), true); - $hc = $got_json["H_contract"]; - session_start(); - $payments = &pull($_SESSION, "payments", array()); - $payments[$hc] = array( - 'article' => $article, - ); - echo $resp->body->toString(); -} -?> diff --git a/src/frontend_blog/essay_fulfillment.php b/src/frontend_blog/essay_fulfillment.php deleted file mode 100644 index 0e87357c..00000000 --- a/src/frontend_blog/essay_fulfillment.php +++ /dev/null @@ -1,106 +0,0 @@ -<!DOCTYPE html> -<!-- - This file is part of GNU TALER. - Copyright (C) 2014, 2015 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> ---> -<html lang="en"> -<head> - <title>Taler's "Demo" Shop</title> - <link rel="stylesheet" type="text/css" href="style.css"> - <script type="application/javascript" src="taler-presence.js"></script> - <script type="application/javascript"> - function executePayment(H_contract, pay_url, offering_url) { - var detail = { - H_contract: H_contract, - pay_url: pay_url, - offering_url: offering_url - }; - var eve = new CustomEvent('taler-execute-payment', {detail: detail}); - document.dispatchEvent(eve); - } - </script> -</head> -<body> - - <header> - <div id="logo"> - <svg height="100" width="100"> - <circle cx="50" cy="50" r="40" stroke="darkcyan" stroke-width="6" fill="white" /> - <text x="19" y="82" font-family="Verdana" font-size="90" fill="darkcyan">S</text> - </svg> - </div> - - <h3>Toy Store - Product Page</h3> - </header> - - <aside class="sidebar" id="left"> - </aside> - - <section id="main"> - <article> -<?php -// TODO return a mock CC payment page if no wallet in place -include '../frontend_lib/util.php'; -include './blog_lib.php'; -file_put_contents("/tmp/essayffil.dbg", "called"); -$article = get($_GET["article"]); -if (null == $article){ - http_response_code(400); - echo "<p>Bad request (article missing)</p>"; - return; -} - -session_start(); - -$payments = get($_SESSION['payments'], array()); -$my_payment = get($payments[$hc]); - -$pay_url = url_rel("essay_pay.php"); -$offering_url = url_rel("essay_offer.php", true); -$offering_url .= "?article=$article"; -file_put_contents("/tmp/ffilproc", $offering_url); - -if (true !== get($my_payment["is_payed"], false) || null === $my_payment) - -{ - $tid = get('tid'); - $timestamp = get('timestamp'); - // FIXME article name should be "melted" in the hash - // TODO reconstruct *here* the contract, hash it, and save it in the state - - if (null == $tid || null == $timestamp){ - // CC case - $_SESSION['cc_payment'] = true; - $cc_page = template("./essay_cc-payment.html", array('article' => $article)); - echo $cc_page; - die(); - - } - echo "<p>Paying ... at $pay_url </p>"; - echo "<script>executePayment('$hc', '$pay_url', '$offering_url');</script>"; - return; -} - -// control here == article payed - -$article = $my_payment["article"]; - -$article_doc = get_article($article); -echo $article_doc->saveHTML(); - -?> - </article> - </section> -</body> -</html> diff --git a/src/frontend_blog/essay_offer.php b/src/frontend_blog/essay_offer.php deleted file mode 100644 index 03ba6101..00000000 --- a/src/frontend_blog/essay_offer.php +++ /dev/null @@ -1,75 +0,0 @@ -<!DOCTYPE html> -<html> -<body onload="signal_taler_wallet_onload()"> -<?php - - include("../frontend_lib/merchants.php"); - include("../frontend_lib/util.php"); - include("./blog_lib.php"); - $article = get($_GET['article']); - if (null == $article){ - echo "Please land here just to buy articles"; - die(); - } - $cc_page = template("./essay_cc-payment.html", array('article' => $article)); - echo $cc_page; -?> -</body> -<script type="text/javascript"> - - function handle_contract(json_contract) { - var cEvent = new CustomEvent('taler-contract', - {detail: json_contract}); - document.dispatchEvent(cEvent); - }; - - function get_contract(article) { - var contract_request = new XMLHttpRequest(); - - contract_request.open("GET", - "essay_contract.php?article=" + article, - true); - contract_request.onload = function (e) { - if (contract_request.readyState == 4) { - if (contract_request.status == 200) { - console.log("response text:", - contract_request.responseText); - handle_contract(contract_request.responseText); - } else { - alert("Failure to download contract from merchant " + - "(" + contract_request.status + "):\n" + - contract_request.responseText); - } - } - }; - contract_request.onerror = function (e) { - alert("Failure requesting the contract:\n" - + contract_request.statusText); - }; - contract_request.send(); - } - - function has_taler_wallet_cb(aEvent) - { - var article = document.getElementById('article-name'); - get_contract(article.value); - }; - - function signal_taler_wallet_onload() - { - var eve = new Event('taler-probe'); - document.dispatchEvent(eve); - }; - - document.addEventListener("taler-wallet-present", - has_taler_wallet_cb, - false); - - // Register event to be triggered by the wallet when it gets enabled while - // the user is on the payment page - document.addEventListener("taler-load", - signal_taler_wallet_onload, - false); - -</script> -</html> diff --git a/src/frontend_blog/essay_pay.php b/src/frontend_blog/essay_pay.php deleted file mode 100644 index e84e3597..00000000 --- a/src/frontend_blog/essay_pay.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php -/* - This file is part of GNU TALER. - Copyright (C) 2014, 2015 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> -*/ - -/** - * TODO check the hashed contract in the state against the hashed contract - * actually bundled in the deposit permission - */ -include("../frontend_lib/merchants.php"); -include("../frontend_lib/util.php"); -include("./blog_lib.php"); - -$hc = get($_GET["uuid"]); -if (empty($hc)) -{ - http_response_code(400); - echo json_encode(array( - "error" => "missing parameter", - "parameter" => "uuid" - )); - return; -} - -$article = get($_GET["article"]); -if (empty($article)) -{ - http_response_code(400); - echo json_encode(array( - "error" => "missing parameter", - "parameter" => "article" - )); - return; -} - -$deposit_permission = file_get_contents('php://input'); -file_put_contents('/tmp/pay.dbg', 'about to pay\n', FILE_APPEND); -$resp = give_to_backend($_SERVER['HTTP_HOST'], - "backend/pay", - $deposit_permission); -file_put_contents('/tmp/pay.dbg', 'backend respd\n', FILE_APPEND); -$status_code = $resp->getResponseCode(); - -// Our response code is the same we got from the backend: -http_response_code ($status_code); -// Now generate our body -if ($status_code != 200) -{ - $json = json_encode( - array( - "error" => "backend error", - "status" => $status_code, - "detail" => $resp->body->toString())); - echo $json; - die(); -} - -session_start(); - -$payments = &pull($_SESSION, "payments", array()); -$payments[$hc] = array( - 'article' => $article, - 'is_payed' => true -); -?> diff --git a/src/frontend_blog/index.html b/src/frontend_blog/index.html deleted file mode 100644 index aa19b732..00000000 --- a/src/frontend_blog/index.html +++ /dev/null @@ -1,150 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <title>Richard M. Stallman: Free Software, Free Society</title> - <link rel="stylesheet" type="text/css" href="style.css"> - <meta http-equiv="content-type" content="text/html;CHARSET=utf-8"> -</head> - -<body onload="signal_taler_wallet_onload()"> - <header> - <div id="logo"> - <img src="gnu.svg" height=100 width=100 alt="GNU logo"> - </div> - - <h1>Richard M. Stallman: Free Software, Free Society</h1> - </header> - - <aside class="sidebar" id="left"> - </aside> - - <section id="main"> - <h1>About</h1> - <p>This "blog" simulates how a website selling articles using - Taler should work. - We illustrate the use of Taler using articles from - Richard Stallman's book "Free Software, Free Society", - which is also - <a href="http://shop.fsf.org/product/free-software-free-society-2/">published by the FSF</a>. - </p> - - <!-- TODO: hide this section if Taler wallet is present! --> - <h2>Taler wallet required for payment</h2> - This site requires a Taler wallet to pay for articles. - Please visit <a href="https://demo.taler.net">demo.taler.net</a> - to install a wallet (and to withdraw digital coins). - - <h2>Free Software, Free Society</h2> - - <p>This is the second edition of <cite>Free Software, Free Society: Selected Essays of Richard M. Stallman.</cite><br> -Free Software Foundation<br> -51 Franklin Street, Fifth Floor<br> -Boston, MA 02110-1335 -<br> -Copyright © 2002, 2010 Free Software Foundation, Inc. -</p><blockquote><p>Verbatim copying and distribution of this entire book are permitted -worldwide, without royalty, in any medium, provided this notice is -preserved. Permission is granted to copy and distribute translations -of this book from the original English into another language provided -the translation has been approved by the Free Software Foundation and -the copyright notice and this permission notice are preserved on all -copies. -</p></blockquote> -<p>ISBN 978-0-9831592-0-9 -<br> -<br> -</p> -<p> -<em>Richard Stallman is the prophet of the free software movement. -He understood the dangers of software patents years ago. Now that -this has become a crucial issue in the world, buy this book and read -what he said.</em><br> —<strong>Tim Berners-Lee,</strong> inventor of the World -Wide Web -<br> -<br> -<em>Richard Stallman is the philosopher king of software. He -single-handedly ignited what has become a world-wide movement to -create software that is Free, with a capital F. He has toiled for -years at a project that many once considered a fool’s errand, and now -that is widely seen as “inevitable.”</em><br> —<strong>Simon L. -Garfinkel,</strong> computer science author and columnist -<br> -<br> -<em>By his hugely successful efforts to establish the idea of “Free -Software,” Stallman has made a massive contribution to the human -condition. His contribution combines elements that have technical, -social, political, and economic consequences.</em><br> —<strong>Gerald Jay -Sussman,</strong> Matsushita Professor of Electrical Engineering, MIT -<br> -<br> -<em>RMS is the leading philosopher of software. You may dislike -some of his attitudes, but you cannot avoid his ideas. This slim -volume will make those ideas readily accessible to those who are -confused by the buzzwords of rampant commercialism. This book needs -to be widely circulated and widely read.</em><br> —<strong>Peter Salus,</strong> -computer science writer, book reviewer, and UNIX historian -<br> -<br> -<em>Richard is the leading force of the free software movement. -This book is very important to spread the key concepts of free -software world-wide, so everyone can understand it. Free software -gives people freedom to use their creativity.</em><br> —<strong>Masayuki -Ida,</strong> professor, Graduate School of International Management, Aoyama -Gakuin University -</p> - <h2>Chapters</h2> - <!-- TODO: show this section ONLY if Taler wallet is present! --> - <ul style="list-style-type:none"> - <li><a name="stoc-Foreword-1" href="/essay_offer.php?article=scrap1_U.0"><h3>Foreword</h3></a><div class="teasers_item"><p>Every generation has its philosopher—a writer or an artist who captures the imagination of a time. Sometimes these philosophers are recognized as such; often it takes generations before the connection is made real. But recognized or not, a time gets marked by the people who speak its ideals, whether in the whisper of a poem, or the blast of a political movement. </p></div></li> - <li><a name="stoc-Preface-to-the-Second-Edition" href="/essay_offer.php?article=scrap1_U.1"><h3>Preface to the Second Edition</h3></a><div class="teasers_item"><p>The second edition of Free Software, Free Society holds updated versions of most of the essays from the first edition, as well as many new essays published since the first edition.</p></div></li> - <li><a name="stoc-The-Free-Software-Definition" href="/essay_offer.php?article=scrap1_1"><h3>1. The Free Software Definition</h3></a><div class="teasers_item"><p>“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”</p></div></li> - <li><a name="stoc-The-GNU-Project" href="/essay_offer.php?article=scrap1_2"><h3>2. The GNU Project</h3></a><div class="teasers_item"><p>When I started working at the MIT Artificial Intelligence Lab in 1971, I became part of a software-sharing community that had existed for many years. Sharing of software was not limited to our particular community; it is as old as computers, just as sharing of recipes is as old as cooking. But we did it more than most. </p></div></li> - <li><a name="stoc-The-Initial-Announcement-of-the-GNU-Operating-System" href="/essay_offer.php?article=scrap1_3"><h3>3. The Initial Announcement of the GNU Operating System</h3></a><div class="teasers_item"><p>This is the original announcement of the GNU Project, posted by Richard Stallman on 27 September 1983. - -</p></div></li> - <li><a name="stoc-The-GNU-Manifesto" href="/essay_offer.php?article=scrap1_4"><h3>4. The GNU Manifesto</h3></a><div class="teasers_item"><p>The GNU Manifesto was written by Richard Stallman at the beginning of the GNU Project, to ask for participation and support. For the first few years, it was updated in minor ways to account for developments, but now it seems best to leave it unchanged as most people have seen it.</p></div></li> - <li><a name="stoc-Why-Software-Should-Not-Have-Owners" href="/essay_offer.php?article=scrap1_5"><h3>5. Why Software Should Not Have Owners</h3></a><div class="teasers_item"><p>Digital information technology contributes to the world by making it easier to copy and modify information. Computers promise to make this easier for all of us. </p></div></li> - <li><a name="stoc-Why-Software-Should-Be-Free" href="/essay_offer.php?article=scrap1_6"><h3>6. Why Software Should Be Free</h3></a><div class="teasers_item"><p>The existence of software inevitably raises the question of how decisions about its use should be made. For example, suppose one individual who has a copy of a program meets another who would like a copy. It is possible for them to copy the program; who should decide whether this is done? The individuals involved? Or another party, called the “owner”? </p></div></li> - <li><a name="stoc-Why-Schools-Should-Exclusively-Use-Free-Software" href="/essay_offer.php?article=scrap1_7"><h3>7. Why Schools Should Exclusively Use Free Software</h3></a><div class="teasers_item"><p>There are general reasons why all computer users should insist on free software: it gives users the freedom to control their own computers—with proprietary software, the computer does what the software owner wants it to do, not what the user wants it to do. Free software also gives users the freedom to cooperate with each other, to lead an upright life. These reasons apply to schools as they do to everyone. </p></div></li> - <li><a name="stoc-Releasing-Free-Software-If-You-Work-at-a-University" href="/essay_offer.php?article=scrap1_8"><h3>8. Releasing Free Software If You Work at a University</h3></a><div class="teasers_item"><p>In the free software movement, we believe computer users should have the freedom to change and redistribute the software that they use. The “free” in “free software” refers to freedom: it means users have the freedom to run, modify and redistribute the software. Free software contributes to human knowledge, while nonfree software does not. Universities should therefore encourage free software for the sake of advancing human knowledge, just as they should encourage scientists and other scholars to publish their work.</p></div></li> - <li><a name="stoc-Why-Free-Software-Needs-Free-Documentation" href="/essay_offer.php?article=scrap1_9"><h3>9. Why Free Software Needs Free Documentation</h3></a><div class="teasers_item"><p>The biggest deficiency in free operating systems is not in the software—it is the lack of good free manuals that we can include in these systems. Many of our most important programs do not come with full manuals. Documentation is an essential part of any software package; when an important free software package does not come with a free manual, that is a major gap. We have many such gaps today. </p></div></li> - <li><a name="stoc-Selling-Free-Software" href="/essay_offer.php?article=scrap1_10"><h3>10. Selling Free Software</h3></a><div class="teasers_item"><p>Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible—just enough to cover the cost. This is a misunderstanding.</p></div></li> - <li><a name="stoc-The-Free-Software-Song" href="/essay_offer.php?article=scrap1_11"><h3>11. The Free Software Song</h3></a><div class="teasers_item"><p>The lyrics of “The Free Software Song” are sung to the melody of the Bulgarian folk song “Sadi moma bela loza.”</p></div></li> - <li><a name="stoc-What_0027s-in-a-Name_003f" href="/essay_offer.php?article=scrap1_12"><h3>12. What’s in a Name?</h3></a><div class="teasers_item"><p>Names convey meanings; our choice of names determines the meaning of what we say. An inappropriate name gives people the wrong idea. A rose by any other name would smell as sweet—but if you call it a pen, people will be rather disappointed when they try to write with it. And if you call pens “roses,” people may not realize what they are good for. If you call our operating system Linux, that conveys a mistaken idea of the system’s origin, history, and purpose. If you call it GNU/Linux, that conveys (though not in detail) an accurate idea. </p></div></li> - <li><a name="stoc-Categories-of-Free-and-Nonfree-Software" href="/essay_offer.php?article=scrap1_13"><h3>13. Categories of Free and Nonfree Software</h3></a><div class="teasers_item"><p>Free software is software that comes with permission for anyone to use, copy, and/or distribute, either verbatim or with modifications, either gratis or for a fee. In particular, this means that source code must be available. “If it’s not source, it’s not software.”</p></div></li> - <li><a name="stoc-Why-Open-Source-Misses-the-Point-of-Free-Software" href="/essay_offer.php?article=scrap1_14"><h3>14. Why Open Source Misses the Point of Free Software</h3></a><div class="teasers_item"><p>When we call software “free,” we mean that it respects the users’ essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of freedom, not price, so think of “free speech,” not “free beer.” </p></div></li> - <li><a name="stoc-Did-You-Say-_0060_0060Intellectual-Property_0027_0027_003f_0040entrybreak_007b_007dIt_0027s-a-Seductive-Mirage" href="/essay_offer.php?article=scrap1_15"><h3>15. Did You Say “Intellectual Property”? It’s a Seductive Mirage</h3></a><div class="teasers_item"><p></p></div></li> - <li><a name="stoc-Words-to-Avoid-_0028or-Use-with-Care_0029--Because-They-Are-Loaded-or-Confusing" href="/essay_offer.php?article=scrap1_16"><h3>16. Words to Avoid (or Use with Care) <br>Because They Are Loaded or Confusing</h3></a><div class="teasers_item"><p>There are a number of words and phrases that we recommend avoiding, or avoiding in certain contexts and usages. Some are ambiguous or misleading; others presuppose a viewpoint that we hope you disagree with. </p></div></li> - <li><a name="stoc-The-Right-to-Read_003a-A-Dystopian-Short-Story" href="/essay_offer.php?article=scrap1_17"><h3>17. The Right to Read: A Dystopian Short Story</h3></a><div class="teasers_item"><p>For Dan Halbert, the road to Tycho began in college—when Lissa Lenz asked to borrow his computer. Hers had broken down, and unless she could borrow another, she would fail her midterm project. There was no one she dared ask, except Dan. </p></div></li> - <li><a name="stoc-Misinterpreting-Copyright_002d_002d_002dA-Series-of-Errors" href="/essay_offer.php?article=scrap1_18"><h3>18. Misinterpreting Copyright—A Series of Errors</h3></a><div class="teasers_item"><p>Something strange and dangerous is happening in copyright law. Under the US Constitution, copyright exists to benefit users—those who read books, listen to music, watch movies, or run software—not for the sake of publishers or authors. Yet even as people tend increasingly to reject and disobey the copyright restrictions imposed on them “for their own benefit,” the US government is adding more restrictions, and trying to frighten the public into obedience with harsh new penalties.</p></div></li> - <li><a name="stoc-Science-Must-Push-Copyright-Aside" href="/essay_offer.php?article=scrap1_19"><h3>19. Science Must Push Copyright Aside</h3></a><div class="teasers_item"><p>It should be a truism that the scientific literature exists to disseminate scientific knowledge, and that scientific journals exist to facilitate the process. It therefore follows that rules for use of the scientific literature should be designed to help achieve that goal. </p></div></li> - <li><a name="stoc-Freedom_002d_002d_002dor-Copyright" href="/essay_offer.php?article=scrap1_20"><h3>20. Freedom—or Copyright</h3></a><div class="teasers_item"><p>Copyright was established in the age of the printing press as an industrial regulation on the business of writing and publishing. The aim was to encourage the publication of a diversity of written works. The means was to require publishers to get the author’s permission to publish recent writings. This enabled authors to get income from publishers, which facilitated and encouraged writing. The general reading public received the benefit of this, while losing little: copyright restricted only publication, not the things an ordinary reader could do. That made copyright arguably a beneficial system for the public, and therefore arguably legitimate. </p></div></li> - <li><a name="stoc-What-Is-Copyleft_003f" href="/essay_offer.php?article=scrap1_21"><h3>21. What Is Copyleft?</h3></a><div class="teasers_item"><p>Copyleft is a general method for making a program (or other work) free, and requiring all modified and extended versions of the program to be free as well.</p></div></li> - <li><a name="stoc-Copyleft_003a-Pragmatic-Idealism" href="/essay_offer.php?article=scrap1_22"><h3>22. Copyleft: Pragmatic Idealism</h3></a><div class="teasers_item"><p>Every decision a person makes stems from the person’s values and goals. People can have many different goals and values; fame, profit, love, survival, fun, and freedom, are just some of the goals that a good person might have. When the goal is a matter of principle, we call that idealism.</p></div></li> - <li><a name="stoc-Anatomy-of-a-Trivial-Patent" href="/essay_offer.php?article=scrap1_23"><h3>23. Anatomy of a Trivial Patent</h3></a><div class="teasers_item"><p>Programmers are well aware that many of the existing software patents cover laughably obvious ideas. Yet the patent system’s defenders often argue that these ideas are nontrivial, obvious only in hindsight. And it is surprisingly difficult to defeat them in debate. Why is that? </p></div></li> - <li><a name="stoc-Software-Patents-and-Literary-Patents" href="/essay_offer.php?article=scrap1_24"><h3>24. Software Patents and Literary Patents</h3></a><div class="teasers_item"><p>When politicians consider the question of software patents, they are usually voting blind; not being programmers, they don’t understand what software patents really do. They often think patents are similar to copyright law (“except for some details”)—which is not the case. For instance, when I publicly asked Patrick Devedjian, then Minister for Industry in France, how France would vote on the issue of software patents, Devedjian responded with an impassioned defense of copyright law, praising Victor Hugo for his role in the adoption of copyright. (The misleading term “intellectual property” promotes this confusion—one of the reasons it should never be used.) </p></div></li> - <li><a name="stoc-The-Danger-of-Software-Patents" href="/essay_offer.php?article=scrap1_25"><h3>25. The Danger of Software Patents</h3></a><div class="teasers_item"><p>I’m most known for starting the free software movement and leading development of the GNU operating system—although most of the people who use the system mistakenly believe it’s Linux and think it was started by somebody else a decade later. But I’m not going to be speaking about any of that today. I’m here to talk about a legal danger to all software developers, distributors, and users: the danger of patents—on computational ideas, computational techniques, an idea for something you can do on a computer. </p></div></li> - <li><a name="stoc-Microsoft_0027s-New-Monopoly" href="/essay_offer.php?article=scrap1_26"><h3>26. Microsoft’s New Monopoly</h3></a><div class="teasers_item"><p>European legislators who endorse software patents frequently claim that those wouldn’t affect free software (or “open source”). Microsoft’s lawyers are determined to prove they are mistaken. </p></div></li> - <li><a name="stoc-Introduction-to-the-Licenses" href="/essay_offer.php?article=scrap1_27"><h3>27. Introduction to the Licenses</h3></a><div class="teasers_item"><p>This part contains the text of the latest versions of the primary GNU licenses: the GNU General Public License (GNU GPL), the GNU Lesser General Public License (LGPL), and the GNU Free Documentation License (FDL). Though they are legal documents, they belong in this book of essays because they are concrete expressions of the ideals of free software. </p></div></li> - <li><a name="stoc-The-GNU-General-Public-License" href="/essay_offer.php?article=scrap1_28"><h3>28. The GNU General Public License</h3></a><div class="teasers_item"><p>The GNU General Public License is a free, copyleft license for software and other kinds of works. </p></div></li> - <li><a name="stoc-Why-Upgrade-to-GPLv3" href="/essay_offer.php?article=scrap1_29"><h3>29. Why Upgrade to GPLv3</h3></a><div class="teasers_item"><p>Version 3 of the GNU General Public License (GNU GPL) has been released, enabling free software packages to upgrade from GPL version 2. This article explains why upgrading the license is important. </p></div></li> - <li><a name="stoc-The-GNU-Lesser-General-Public-License" href="/essay_offer.php?article=scrap1_30"><h3>30. The GNU Lesser General Public License</h3></a><div class="teasers_item"><p>This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below.</p></div></li> - <li><a name="stoc-GNU-Free-Documentation-License" href="/essay_offer.php?article=scrap1_31"><h3>31. GNU Free Documentation License</h3></a><div class="teasers_item"><p>The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. </p></div></li> - <li><a name="stoc-Can-You-Trust-Your-Computer_003f" href="/essay_offer.php?article=scrap1_32"><h3>32. Can You Trust Your Computer?</h3></a><div class="teasers_item"><p>Who should your computer take its orders from? Most people think their computers should obey them, not obey someone else. With a plan they call “trusted computing,” large media corporations (including the movie companies and record companies), together with computer companies such as Microsoft and Intel, are planning to make your computer obey them instead of you. (Microsoft’s version of this scheme is called Palladium.) Proprietary programs have included malicious features before, but this plan would make it universal.</p></div></li> - <li><a name="stoc-Who-Does-That-Server-Really-Serve_003f" href="/essay_offer.php?article=scrap1_33"><h3>33. Who Does That Server Really Serve?</h3></a><div class="teasers_item"><p>Digital technology can give you freedom; it can also take your freedom away. The first threat to our control over our computing came from proprietary software: software that the users cannot control because the owner (a company such as Apple or Microsoft) controls it. The owner often takes advantage of this unjust power by inserting malicious features such as spyware, back doors, and Digital Restrictions Management (DRM) (referred to as “Digital Rights Management” in their propaganda). </p></div></li> - <li><a name="stoc-Free-but-Shackled_003a-The-Java-Trap" href="/essay_offer.php?article=scrap1_34"><h3>34. Free but Shackled: The Java Trap</h3></a><div class="teasers_item"><p>If your program is free software, it is basically ethical—but there is a trap you must be on guard for. Your program, though in itself free, may be restricted by nonfree software that it depends on. Since the problem is most prominent today for Java programs, we call it the Java Trap. </p></div></li> - <li><a name="stoc-The-JavaScript-Trap" href="/essay_offer.php?article=scrap1_35"><h3>35. The JavaScript Trap</h3></a><div class="teasers_item"><p>In the free software community, the idea that nonfree programs mistreat their users is familiar. Some of us refuse entirely to install proprietary software, and many others consider nonfreedom a 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></div></li> - <li><a name="stoc-The-X-Window-System-Trap" href="/essay_offer.php?article=scrap1_36"><h3>36. The X Window System Trap</h3></a><div class="teasers_item"><p>To copyleft or not to copyleft? That is one of the major controversies in the free software community. The idea of copyleft is that we should fight fire with fire—that we should use copyright to make sure our code stays free. The GNU General Public License (GNU GPL) is one example of a copyleft license.</p></div></li> - <li><a name="stoc-The-Problem-Is-Software-Controlled-by-Its-Developer" href="/essay_offer.php?article=scrap1_37"><h3>37. The Problem Is Software Controlled by Its Developer</h3></a><div class="teasers_item"><p>I fully agree with Jonathan Zittrain’s conclusion that we should not abandon general-purpose computers. Alas, I disagree completely with the path that led him to it. He presents serious security problems as an intolerable crisis, but I’m not convinced. Then he forecasts that users will panic in response and stampede toward restricted computers (which he calls “appliances”), but there is no sign of this happening. </p></div></li> - <li><a name="stoc-We-Can-Put-an-End-to-Word-Attachments" href="/essay_offer.php?article=scrap1_38"><h3>38. We Can Put an End to Word Attachments</h3></a><div class="teasers_item"><p>Don’t you just hate receiving Word documents in email messages? Word attachments are annoying, but, worse than that, they impede people from switching to free software. Maybe we can stop this practice with a simple collective effort. All we have to do is ask each person who sends us a Word file to reconsider that way of doing things.</p></div></li> - <li><a name="stoc-Thank-You_002c-Larry-McVoy" href="/essay_offer.php?article=scrap1_39"><h3>39. Thank You, Larry McVoy</h3></a><div class="teasers_item"><p>For the first time in my life, I want to thank Larry McVoy. He recently eliminated a major weakness of the free software community, by announcing the end of his campaign to entice free software projects to use and promote his nonfree software. Soon, Linux development will no longer use this program, and no longer spread the message that nonfree software is a good thing if it’s convenient. </p></div></li> - <li><a name="stoc-Computing-_0060_0060Progress_0027_0027_003a-Good-and-Bad" href="/essay_offer.php?article=scrap1_40"><h3>40. Computing “Progress”: Good and Bad</h3></a><div class="teasers_item"><p>Bradley Horowitz of Yahoo proposed here that every object in our world have a unique number so that your cell phone could record everything you do—even which cans you picked up while in the supermarket.</p></div></li> - <li><a name="stoc-Avoiding-Ruinous-Compromises" href="/essay_offer.php?article=scrap1_41"><h3>41. Avoiding Ruinous Compromises</h3></a><div class="teasers_item"><p>The free software movement aims for a social change: to make all software free so that all software users are free and can be part of a community of cooperation. Every nonfree program gives its developer unjust power over the users. Our goal is to put an end to that injustice. </p></div></li> - <li><a name="stoc-Overcoming-Social-Inertia" href="/essay_offer.php?article=scrap1_42"><h3>42. Overcoming Social Inertia</h3></a><div class="teasers_item"><p>Almost two decades have passed since the combination of GNU and Linux first made it possible to use a PC in freedom. We have come a long way since then. Now you can even buy a laptop with GNU/Linux preinstalled from more than one hardware vendor—although the systems they ship are not entirely free software. So what holds us back from total success? </p></div></li> - <li><a name="stoc-Freedom-or-Power_003f" href="/essay_offer.php?article=scrap1_43"><h3>43. Freedom or Power?</h3></a><div class="teasers_item"><p>In the free software movement, we stand for freedom for the users of software. We formulated our views by looking at what freedoms are necessary for a good way of life, and permit useful programs to foster a community of goodwill, cooperation, and collaboration. Our criteria for free software specify the freedoms that a program’s users need so that they can cooperate in a community. </p></div></li> - <li><a name="stoc-Appendix-A_003a-A-Note-on-Software" href="/essay_offer.php?article=scrap1_46"><h3><span class="roman">Appendix A: A Note on Software</span></h3></a><div class="teasers_item"><p>This section is intended for people who have little or no knowledge of the technical aspects of computer science. It is not necessary to read this section to understand the essays and speeches presented in this book; however, it may be helpful to those readers not familiar with some of the jargon that comes with programming and computer science. </p></div></li> - <li><a name="stoc-Appendix-B_003a-Translations-of-the-Term-_0060_0060Free-Software_0027_0027" href="/essay_offer.php?article=scrap1_47"><span class="roman"><h3>Appendix B: Translations of the Term “Free Software”</span></h3></a><div class="teasers_item"><p>The following is a list of recommended unambiguous translations of the term “free software” into various languages.</p></div></li> - </ul> - </section> -</body> -</html> |