Читаем Free Software, Free Society: selected essays of Richard M. Stallman. 2nd edition. полностью

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 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 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 for proper behavior by web sites.

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 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 refer to a specialized client program that works hand in hand with specialized server software. The client and server sides raise different ethical issues, even if they are so closely integrated that they arguably form parts of a single program. This article addresses only the issue of the client-side software. We are addressing the server issue separately.

In practical terms, how can we deal with the problem of nonfree JavaScript programs in web sites? Here’s a plan of action.

First, we need a practical criterion for nontrivial JavaScript 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.

Our proposal is to consider a JavaScript program nontrivial if it makes an AJAX request, and consider it nontrivial if it defines methods and either loads an external script or is loaded as one.

At the end of this article we propose a convention by which a nontrivial JavaScript program in a web page can state the URL where its source code is located, and can state its license too, using stylized comments.

Finally, we need to change free browsers to support freedom for users of pages with JavaScript. First of all, browsers should be able to tell the user about nontrivial nonfree JavaScript programs, rather than running them. Perhaps NoScript could be adapted to do this.

Browser users also need a convenient facility to specify JavaScript code to use instead of the JavaScript in a certain page. (The specified code might be total replacement, or a modified version of the free JavaScript program in that page.) Greasemonkey comes close 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 convenient, as well as sites for sharing changes. The GNU Project would like to recommend sites which are dedicated to free changes only.

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 C and Java are now. We will be able to reject and even replace the nonfree nontrivial JavaScript programs, just as we reject and replace nonfree packages that are offered for installation in the usual way. Our campaign for web sites to free their JavaScript can then begin.

Thank you to Matt Lee and John Resig for their help in defining our proposed criterion, and to David Parunakian and Jaffar Rumith for bringing this issue to my attention.

Appendix: A Convention for Releasing Free JavaScript Programs

For references to corresponding source code, we recommend

// @source:

followed by the URL.

To indicate the license of the JavaScript code embedded in a page, we recommend putting the license notice between two notes of this form:

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

Of course, all of this should be contained in a multiline comment.

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:

Перейти на страницу:

Похожие книги

Абсолютное зло: поиски Сыновей Сэма
Абсолютное зло: поиски Сыновей Сэма

Кто приказывал Дэвиду Берковицу убивать? Черный лабрадор или кто-то другой? Он точно действовал один? Сын Сэма или Сыновья Сэма?..10 августа 1977 года полиция Нью-Йорка арестовала Дэвида Берковица – Убийцу с 44-м калибром, более известного как Сын Сэма. Берковиц признался, что стрелял в пятнадцать человек, убив при этом шестерых. На допросе он сделал шокирующее заявление – убивать ему приказывала собака-демон. Дело было официально закрыто.Журналист Мори Терри с подозрением отнесся к признанию Берковица. Вдохновленный противоречивыми показаниями свидетелей и уликами, упущенными из виду в ходе расследования, Терри был убежден, что Сын Сэма действовал не один. Тщательно собирая доказательства в течение десяти лет, он опубликовал свои выводы в первом издании «Абсолютного зла» в 1987 году. Терри предположил, что нападения Сына Сэма были организованы культом в Йонкерсе, который мог быть связан с Церковью Процесса Последнего суда и ответственен за другие ритуальные убийства по всей стране. С Церковью Процесса в свое время также связывали Чарльза Мэнсона и его секту «Семья».В формате PDF A4 сохранен издательский макет книги.

Мори Терри

Публицистика / Документальное
1917. Разгадка «русской» революции
1917. Разгадка «русской» революции

Гибель Российской империи в 1917 году не была случайностью, как не случайно рассыпался и Советский Союз. В обоих случаях мощная внешняя сила инициировала распад России, используя подлецов и дураков, которые за деньги или красивые обещания в итоге разрушили свою собственную страну.История этой величайшей катастрофы до сих пор во многом загадочна, и вопросов здесь куда больше, чем ответов. Германия, на которую до сих пор возлагают вину, была не более чем орудием, а потом точно так же стала жертвой уже своей революции. Февраль 1917-го — это начало русской катастрофы XX века, последствия которой были преодолены слишком дорогой ценой. Но когда мы забыли, как геополитические враги России разрушили нашу страну, — ситуация распада и хаоса повторилась вновь. И в том и в другом случае эта сила прикрывалась фальшивыми одеждами «союзничества» и «общечеловеческих ценностей». Вот и сегодня их «идейные» потомки, обильно финансируемые из-за рубежа, вновь готовы спровоцировать в России революцию.Из книги вы узнаете: почему Николай II и его брат так легко отреклись от трона? кто и как организовал проезд Ленина в «пломбированном» вагоне в Россию? зачем английский разведчик Освальд Рейнер сделал «контрольный выстрел» в лоб Григорию Распутину? почему германский Генштаб даже не подозревал, что у него есть шпион по фамилии Ульянов? зачем Временное правительство оплатило проезд на родину революционерам, которые ехали его свергать? почему Александр Керенский вместо борьбы с большевиками играл с ними в поддавки и старался передать власть Ленину?Керенский = Горбачев = Ельцин =.?.. Довольно!Никогда больше в России не должна случиться революция!

Николай Викторович Стариков

Публицистика
10 мифов о 1941 годе
10 мифов о 1941 годе

Трагедия 1941 года стала главным козырем «либеральных» ревизионистов, профессиональных обличителей и осквернителей советского прошлого, которые ради достижения своих целей не брезгуют ничем — ни подтасовками, ни передергиванием фактов, ни прямой ложью: в их «сенсационных» сочинениях события сознательно искажаются, потери завышаются многократно, слухи и сплетни выдаются за истину в последней инстанции, антисоветские мифы плодятся, как навозные мухи в выгребной яме…Эта книга — лучшее противоядие от «либеральной» лжи. Ведущий отечественный историк, автор бестселлеров «Берия — лучший менеджер XX века» и «Зачем убили Сталина?», не только опровергает самые злобные и бесстыжие антисоветские мифы, не только выводит на чистую воду кликуш и клеветников, но и предлагает собственную убедительную версию причин и обстоятельств трагедии 1941 года.

Сергей Кремлёв

Публицистика / История / Образование и наука
188 дней и ночей
188 дней и ночей

«188 дней и ночей» представляют для Вишневского, автора поразительных международных бестселлеров «Повторение судьбы» и «Одиночество в Сети», сборников «Любовница», «Мартина» и «Постель», очередной смелый эксперимент: книга написана в соавторстве, на два голоса. Он — популярный писатель, она — главный редактор женского журнала. Они пишут друг другу письма по электронной почте. Комментируя жизнь за окном, они обсуждают массу тем, она — как воинствующая феминистка, он — как мужчина, превозносящий женщин. Любовь, Бог, верность, старость, пластическая хирургия, гомосексуальность, виагра, порнография, литература, музыка — ничто не ускользает от их цепкого взгляда…

Малгожата Домагалик , Януш Вишневский , Януш Леон Вишневский

Публицистика / Семейные отношения, секс / Дом и досуг / Документальное / Образовательная литература