javascript-trap.html - en to ru translation catalogue (46 entries)

note: type: Content of: <title>
en: The JavaScript Trap - GNU Project - Free Software Foundation
ru: Западня JavaScript - Проект GNU - Фонд свободного программного обеспечения

note: type: Content of: <div><h2>
en: The JavaScript Trap
ru: Западня JavaScript

note: type: Content of: <div><address>
en: by <a href="https://www.stallman.org/">Richard Stallman</a>
ru: <a href="https://www.stallman.org/">Ричард Столмен</a>

note: type: Content of: <div><div><p>
en: There are two kinds of moral wrongs a web page can do.  This page describes the wrong of sending nonfree programs to run in your computer.  There is also the wrong we call SaaSS, &ldquo;Service as a Software Substitute&rdquo; where the page invites you to <a href="/philosophy/who-does-that-server-really-serve.html">send your data</a> so it can do computing on it in the server&mdash;computing which is unjust because you have no control over what computing is done.
ru: Есть два вида несправедливостей, которые могут выполняться страницей сайта. Эта страница описывает несправедливость отправки несвободных программ для выполнения в вашем компьютере. Есть также несправедливость, которую мы называем услугой-заменой программ, когда страница приглашает вас <a href="/philosophy/who-does-that-server-really-serve.html">высылать свои данные</a>, чтобы она могла проводить над ними вычисления на сервере&nbsp;&mdash; вычисления, которые несправедливы, поскольку у вас нет контроля над тем, какие вычисления проводятся.

note: type: Content of: <div><p>
en: <strong>You may be running nonfree programs on your computer every day without realizing it&mdash;through your web browser.</strong>
ru: <strong>Не исключено, что вы запускаете несвободные программы на своем 
    компьютере каждый день, даже не осознавая этого&nbsp;&mdash; 
    из вашего браузера.</strong>

note: type: Content of: <div><div><p>
en: Webmasters: there are <a href="/software/librejs/free-your-javascript.html">several ways</a> to indicate the license of JavaScript programs in a web site.
ru: Вебмастеры: есть <a href="/software/librejs/free-your-javascript.html">несколько способов указать лицензию программ на JavaScript</a> на сайте.

note: type: Content of: <div><p>
en: In the free software community, the idea that <a href="/philosophy/free-software-even-more-important.html"> any nonfree program mistreats its users</a> is familiar.  Some of us defend our freedom by rejecting all proprietary software on our computers.  Many others recognize nonfreeness as a strike against the program.
ru: Сообщество свободного программного обеспечения хорошо знакомо с идеей, что <a href="/philosophy/free-software-even-more-important.html">любая несвободная программа несправедлива по отношению к пользователям</a>. Некоторые из нас защищают нашу свободу, отвергая всякие несвободные программы на наших компьютерах. Многие другие считают несвободность программы серьезным недостатком.

note: type: Content of: <div><p>
en: Many users are aware that this issue applies to the plug-ins that browsers offer to install, since they can be free or nonfree.  But browsers run other nonfree programs which they don't ask you about, or even tell you about&mdash;programs that web pages contain or link to.  These programs are most often written in JavaScript, though other languages are also used.
ru: Многим пользователям известно, что этот вопрос касается модулей, которые браузеры предлагают установить, поскольку они могут быть свободными или несвободными. Но существуют другие несвободные программы, которые браузеры выполняют, не спрашивая вас и даже не говоря вам об этом&nbsp;&mdash; это программы, на которые ссылаются или которые содержат страницы сайта. Эти программы чаще всего написаны на языке JavaScript, хотя используются и другие языки.

note: type: Content of: <div><p>
en: JavaScript (officially called ECMAScript, but few use that name)  was once used for minor frills in web pages, such as cute but inessential navigation and display features.  It was acceptable to consider these as mere extensions of HTML markup, rather than as true software, and disregard the issue.
ru: JavaScript (официально называемый &ldquo;ECMAScript&rdquo;, но мало кто употребляет это название) когда-то применяли для мелких излишеств на страницах Интернета, таких как занятные, но несущественные детали отображения и навигации. Было допустимо рассматривать их просто как дополнения к разметке HTML, а не как настоящие программы, и не задаваться этим вопросом.

note: type: Content of: <div><p>
en: Some sites still use JavaScript that way, but many use it for major programs that do large jobs.  For instance, Google Docs tries to install into your browser a JavaScript program which measures half a megabyte, in a compacted form that we could call Obfuscript.  This compacted form is made from the source code, by deleting the extra spaces that make the code readable and the explanatory remarks that make it comprehensible, and replacing each meaningful name in the code with an arbitrary short name so we can't tell what it is supposed to mean.
ru: Некоторые сайты до сих пор используют JavaScript таким же образом, но многие применяют его для крупных программ, которые решают серьезные задачи. Например, &ldquo;Google Docs&rdquo; пытается установить в вашем браузере программу на JavaScript, занимающую полмегабайта, в сжатом виде, который мы называем &ldquo;Obfuscript&rdquo; (запутанный сценарий). Это программа в сжатом виде, полученная из исходного текста удалением избыточных пробелов, без которых программу невозможно читать, а также пояснительных замечаний, которые позволяют понять программу, и заменой всех значащих идентификаторов в программе на произвольные краткие идентификаторы, так что невозможно понять, что это должно означать.

note: type: Content of: <div><p>
en: Part of the <a href="/philosophy/free-sw.html">meaning of free software</a> is that users have access to the program's source code (its plan).  The source code of a program means the preferred form for programmers to modify&mdash;including helpful spacing, explanatory remarks, and meaningful names.  Compacted code is a bogus, useless substitute for source code; the real source code of these programs is not available to the users, so users cannot understand it; therefore the programs are nonfree.
ru: Часть <a href="/philosophy/free-sw.html">представления о свободных программах</a> заключается в том, что у пользователей есть доступ к исходному тексту программы (ее плану). Исходный текст программы&nbsp;&mdash; это форма, предпочтительная для внесения программистами изменений&nbsp;&mdash; она содержит полезное форматирование, пояснительные заметки, а также осмысленные идентификаторы. Сжатая программа в качестве исходного текста никуда не годится; настоящий исходный текст этих программ пользователям не доступен, так что пользователи не могут разбираться в них; таким образом, программы несвободны.

note: type: Content of: <div><p>
en: In addition to being nonfree, many of these programs are <em>malware</em> because they <a href="https://github.com/w3c/fingerprinting-guidance/issues/8">snoop on the user</a>.  Even nastier, some sites use services which record <a href="https://freedom-to-tinker.com/2017/11/15/no-boundaries-exfiltration-of-personal-data-by-session-replay-scripts/">all the user's actions while looking at the page</a>.  The services supposedly &ldquo;redact&rdquo; the recordings to exclude some sensitive data that the web site shouldn't get.  But even if that works reliably, the whole purpose of these services is to give the web site other personal data that it shouldn't get.
ru: Кроме того, что они несвободны, многие из этих программ <em>вредоносны</em>, потому что они <a href="https://github.com/w3c/fingerprinting-guidance/issues/8">шпионят за пользователем</a>.  Что еще более гадко, некоторые сайты пользуются службами, которые <a href="https://freedom-to-tinker.com/2017/11/15/no-boundaries-exfiltration-of-personal-data-by-session-replay-scripts/">записывают все действия пользователя при просмотре страницы</a>. Предположительно службы &ldquo;урезают&rdquo; записи, чтобы исключить какие-то конфиденциальные данные, которые сайт получать не должен. Но даже если это работает надежно, само назначение этих служб состоит в том, чтобы дать сайту персональные данные, которых он получать не должен.

note: type: Content of: <div><p>
en: Browsers don't normally tell you when they load JavaScript programs.  Some browsers have a way to turn off JavaScript entirely, but even if you're aware of this issue, it would take you considerable trouble to identify the nontrivial nonfree programs and block them.  However, even in the free software community most users are not aware of this issue; the browsers' silence tends to conceal it.
ru: Браузеры обычно не сообщают вам о том, что они загружают программы на JavaScript. В некоторых браузерах есть способ полностью выключить JavaScript, но даже если вы знакомы с этой проблемой, вам было бы достаточно трудно распознать содержательные несвободные программы и заблокировать их. Однако даже в сообществе свободного программного обеспечения большинство пользователей не знает об этой проблеме; молчание браузеров не выставляет ее напоказ.

note: type: Content of: <div><p>
en: To be clear, the language JavaScript is not inherently better or worse for users' freedom than any other language.  It is possible to release a JavaScript program as free software, by distributing the source code under a free software license.  If the program is self-contained&mdash;if its functioning and purpose are independent of the page it came in&mdash;that is fine; you can copy it to a file on your machine, modify it, and visit that file with a browser to run it.  It's even possible to package it for installation just like other free programs and invocation with a shell command.  These programs present no special moral issue different from those of C programs.
ru: Для ясности: язык JavaScript сам по себе не лучше и не хуже для свободы пользователей, чем любой другой язык. Можно сделать программу на JavaScript свободной, распространяя исходный текст по лицензии свободных программ. Если программа самостоятельна&nbsp;&mdash; если ее работа и назначение не зависят от страницы, на которой она используется&nbsp;&mdash; прекрасно; вы можете сохранить ее на своей машине, изменить ее и открыть в браузере, чтобы работать с ней. Можно даже упаковать ее для установки точно так же, как другие свободные программы, и вызова из командной оболочки. Эти программы не представляют никаких особых нравственных проблем по сравнению с программами на Си.

note: type: Content of: <div><p>
en: The issue of the JavaScript trap applies when the JavaScript program comes along with a web page that users visit.  Those JavaScript programs are written to work with a particular page or site, and the page or site depends on them to function.
ru: Проблема западни JavaScript возникает, когда программа на JavaScript загружается со страницей сайта, который посещает пользователь. Эти программы на JavaScript написаны для работы с конкретной страницей или сайтом, и они нужны, чтобы страница или сайт работали.

note: type: Content of: <div><p>
en: Suppose you copy and modify the page's JavaScript code.  Then another problem arises: even if the program's source is available, browsers do not offer a way to run your modified version instead of the original when visiting that page or site.  The effect is comparable to tivoization, although in principle not quite so hard to overcome.
ru: Предположем, вы копируете и модифицируете программу JavaScript данной страницы. Тогда встает другая проблема: даже если исходный текст программы доступен, браузеры не предлагают способа работать с измененной вами версией вместо исходной, когда вы посещаете этот сайт. Этот эффект сравним с тивоизацией, хотя его в принципе не так трудно преодолеть.

note: type: Content of: <div><p>
en: JavaScript is not the only language web sites use for programs sent to the user.  Flash supported programming through an extended variant of JavaScript, but that is a thing of the past.  Microsoft Silverlight seems likely to create a problem similar to Flash, except worse, since Microsoft uses it as a platform for nonfree codecs.  A free replacement for Silverlight does not do the job adequately for the free world unless it normally comes with free replacement codecs.
ru: JavaScript&nbsp;&mdash; не единственный язык, на котором написаны программы, передаваемые с сайтов пользователю. Flash поддерживал программирование с помощью расширенного варианта языка JavaScript, но это все в прошлом. Microsoft Silverlight, кажется, создает проблемы, сходные с Flash, только еще хуже, поскольку Microsoft применяет его как базу для несвободных кодеков. Свободная замена Silverlight не решит адекватно проблему для свободного мира, если вместе с ней не будут поставляться свободные замены кодеков.

note: type: Content of: <div><p>
en: Java applets also run in the browser, and raise similar issues.  In general, any sort of applet system poses this sort of problem.  Having a free execution environment for an applet only brings us far enough to encounter the problem.
ru: Апплеты на языке Java тоже выполняются в браузере и приводят к 
    похожим проблемам. Вообще говоря, любая система апплетов 
    приводит к проблемам этого рода. Наличие свободной среды 
    для выполнения апплетов приводит нас только к 
    постановке этого вопроса.

note: type: Content of: <div><p>
en: It is theoretically possible to program in HTML and CSS, but in practice this capability is limited and inconvenient; merely to make it do something is an impressive hack.  Such programs ought to be free, but CSS is not a serious problem for users' freedom as of 2019.
ru: Теоретически возможно программировать на HTML и CSS, но на практике эти возможности ограничены, это неудобно; для каждой малости требуется незаурядное мастерство. Такие программы должны быть свободны, но на&nbsp;2019&nbsp;год CSS не представляет серьезной проблемы для пользователей.

note: type: Content of: <div><p>
en: A strong movement has developed that calls for web sites to communicate only through formats and protocols that are free (some say &ldquo;open&rdquo;); that is to say, whose documentation is published and which anyone is free to implement.  However, the presence of JavaScript programs in web pages makes that criterion insufficient.  The JavaScript language 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 can be bad&mdash;if the JavaScript program is nonfree.  When the site transmits a program to the user, it is not enough for the program to be written in a documented and unencumbered language; that program must be free, too.  &ldquo;Transmits only free programs to the user&rdquo; must become part of the criterion for an ethical web site.
ru: Возникло мощное движение, которое призывает применять на сайтах только форматы и протоколы, которые свободны (некоторые говорят &ldquo;открыты&rdquo;); другими словами, те, документация на которые опубликована и которые каждый волен реализовать. Однако наличие программ на JavaScript на страницах сайтов делает это условие недостаточным. Сам по себе JavaScript свободен как формат, и когда его применяют на сайте, это не обязательно плохо. Однако, как мы видели выше, это может быть нехорошо&nbsp;&mdash; если программа на JavaScript несвободна. Когда сайт передает программу пользователю, недостаточно, чтобы программа была написана на документированном и не вызывающем затруднений языке&nbsp;&mdash; эта программа тоже должна быть свободна. Условие &ldquo;пользователю передаются только свободные программы&rdquo; должно стать частью критерия этичного поведения сайтов.

note: type: Content of: <div><p>
en: Silently loading and running nonfree programs is one among several issues raised by &ldquo;web applications.&rdquo; The term &ldquo;web application&rdquo; was designed to disregard the fundamental distinction between software delivered to users and software running on a 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.
ru: Молчаливая загрузка и выполнение несвободных программ&nbsp;&mdash; один из нескольких вопросов, поднимаемых &ldquo;веб-приложениями&rdquo;. Термин &ldquo;веб-приложение&rdquo; был создан, чтобы стереть принципиальное различие между программами, которые передают пользователям, и программами, которые работают на сервере. Он может обозначать особую клиентскую программу, которую выполняет браузер; он может обозначать особую серверную программу; он может обозначать особую клиентскую программу, которая работает рука об руку с особой серверной программой. Клиентская и серверная стороны затрагивают разные этические вопросы, даже если они так тесно связаны, что можно утверждать, что они представляют собой части одной программы. Эта статья рассматривает только вопрос программ на клиентской стороне. Вопрос серверной стороны мы рассматриваем отдельно.

note: type: Content of: <div><p>
en: In practical terms, how can we deal with the problem of nontrivial nonfree JavaScript programs in web sites? The first step is to avoid running it.
ru: Как на практике мы можем решать проблему нетривиальных несвободных программ на языке JavaScript на сайтах? Первый шаг&nbsp;&mdash; избегать выполнения их.

note: type: Content of: <div><p>
en: What do we mean by &ldquo;nontrivial&rdquo;? It is a matter of degree, so this is a matter of designing a simple criterion that gives good results, rather than finding the one correct answer.
ru: Что мы подразумеваем под &ldquo;нетривиальным&rdquo;? Это понятие растяжимое, так что это вопрос создания простого критерия, дающего хорошие результаты, а не поиска единственно верного ответа.

note: type: Content of: <div><p>
en: Our current criterion is to consider a JavaScript program nontrivial if any of these conditions is met:
ru: В настоящее время мы пользуемся правилом, согласно которому программа на JavaScript нетривиальна, если выполняется любое из условий:

note: type: Content of: <div><ul><li>
en: it is referred to as an external script (from another page).
ru: на нее ссылаются как на внешний сценарий (с другой страницы);

note: type: Content of: <div><ul><li>
en: it declares an array more than 50 elements long.
ru: в ней объявляется массив длиной более 50 элементов;

note: type: Content of: <div><ul><li>
en: it defines a named entity (function or method) that calls anything other than a primitive.
ru: в ней определяется именованный объект (функция или метод), который вызывает что-либо кроме примитива;

note: type: Content of: <div><ul><li>
en: it defines a named entity with more than three conditional constructs and loop construction.
ru: в ней определяется именованный объект с более чем тремя условными конструкциями или циклами;

note: type: Content of: <div><ul><li>
en: code outside of named definitions calls anything but primitives and functions defined further up in the page.
ru: программы вне именованных определений вызывают что-либо кроме примитивов и функций, определенных далее на этой странице;

note: type: Content of: <div><ul><li>
en: code outside of named definitions contains more than three conditional constructs and loop construction, total.
ru: программы вне именованных определений содержат более чем три условных конструкции и цикла (всего);

note: type: Content of: <div><ul><li>
en: it calls <b>eval</b>.
ru: в ней вызывается <b>eval</b>;

note: type: Content of: <div><ul><li>
en: it does Ajax calls.
ru: в ней делаются вызовы Ajax;

note: type: Content of: <div><ul><li>
en: it uses bracket notation for dynamic object property access, which looks like <b><em>object</em>[<em>property</em>]</b>.
ru: в ней применяется нотация квадратных скобок для доступа к свойствам динамического объекта, что выглядит как <b><em>объект</em>[<em>свойство</em>]</b>.

note: type: Content of: <div><ul><li>
en: it alters the DOM.
ru: в ней изменяется DOM;

note: type: Content of: <div><ul><li>
en: it uses dynamic JavaScript constructs that are difficult to analyze without interpreting the program, or is loaded along with scripts that use such constructs.  Specifically, using any other construct than a string literal with certain methods (<b>Obj.write</b>, <b>Obj.createElement</b>, and others).
ru: она применяет динамические конструкции, которые трудно анализировать без интерпретации программы или загружается с программами, которые применяют такие конструкции. А именно, применение любых конструкций, кроме литерала строки с определенными методами (<b>Obj.write</b>, <b>Obj.createElement</b> и другие).

note: type: Content of: <div><p>
en: How do we tell whether the JavaScript code is free? In a <a href="/licenses/javascript-labels.html">separate article</a>, we propose a method 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.
ru: Как мы узнаем, свободны ли программы на JavaScript? <a href="/licenses/javascript-labels.html">В отдельной статье мы предлагаем метод</a>, которым нетривиальная программа на языке JavaScript на странице сайта может указать адрес, по которому находится ее исходный текст, а также может указать и лицензию с помощью стилизованных комментариев.

note: type: Content of: <div><p>
en: Finally, we need to change free browsers to detect and block nontrivial nonfree JavaScript in web pages.  The program <a href="/software/librejs/">LibreJS</a> detects nonfree, nontrivial JavaScript in pages you visit, and blocks it.  LibreJS is included in IceCat, and available as an add-on for Firefox.
ru: Наконец, нам нужно изменить свободные браузеры так, чтобы они обнаруживали и блокировали несвободные нетривиальные программы на языке JavaScript на страницах сайтов. Программа <a href="/software/librejs/">LibreJS</a> обнаруживает несвободные нетривиальные программы на JavaScript на страницах, которые вы посещаете, и блокирует их. LibreJS входит в состав IceCat и доступен в качестве дополнения для Firefox.

note: type: Content of: <div><p>
en: Browser users also need a convenient facility to specify JavaScript code to use <em>instead</em> 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.
ru: Пользователям браузера нужен также удобный механизм для указания 
    программ, которые нужно использовать <em>вместо</em> программ 
    на определенной странице. (Указанные программы могут быть 
    полной заменой или только измененной версией свободных программ 
    с той страницы.) Greasemonkey приближается к этому, 
    но не совсем, потому что не гарантирует, что 
    программа со страницы будет изменена перед тем, как эта программа 
    начинает выполняться. Можно использовать локальный прокси-сервер, 
    но это слишком непрактично для реального решения. 
    Нам нужно построить решение, которое будет 
    надежным и удобным, так же как и сайты для обмена модификациями. 
    Проект GNU хотел бы рекомендовать сайты, выделенные только для 
    свободных изменений.

note: type: Content of: <div><p>
en: These features will make it possible for a JavaScript program included in a web page to be free in a real and practical sense.  JavaScript will no longer be a particular obstacle to our freedom&mdash;no more than 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.
ru: Эти особенности будут позволять программе на JavaScript 
    со страницы сайта быть по-настоящему свободной в практическом смысле. 
    JavaScript больше не будет особенным препятствием на пути к нашей 
    свободе&nbsp;&mdash; не более, чем C и Java сейчас. 
    Мы сможем отвергать и даже заменять несвободные нетривиальные 
    программы на языке JavaScript точно так же, как мы отвергаем 
    и заменяем несвободные пакеты, предлагаемые для установки 
    обычным образом. Тогда мы сможем начать кампанию по освобождению 
    JavaScript на сайтах.

note: type: Content of: <div><p>
en: In the mean time, there's one case where it is acceptable to run a nonfree JavaScript program: to send a complaint to the website operators saying they should free or remove the JavaScript code in the site.  Please don't hesitate to enable JavaScript temporarily to do that&mdash;but remember to disable it again afterwards.
ru: А пока выполнять несвободную программу на JavaScript допустимо в одном случае: если это нужно, чтобы послать жалобу операторам сайта и сообщить им, что им следует освободить или удалить программы на JavaScript с этого сайта. Пожалуйста, смело включайте временно JavaScript, чтобы сделать это&nbsp;&mdash; но не забудьте выключить его после этого.

note: type: Content of: <div><p>
en: <strong>Acknowledgements:</strong> I thank <a href="/people/people.html#mattlee">Matt Lee</a> and <a href="https://johnresig.com/">John Resig</a> for their help in defining our proposed criterion, and David Parunakian for bringing the problem to my attention.
ru: <strong>Благодарности:</strong> Я благодарю <a href="/people/people.html#mattlee">Мэтта Ли</a> и <a href="https://ejohn.org">Джона Резига</a> за их помощь в определении предлагаемого нами критерия, и Давида Парунакяна за то, что он обратил мое внимание на эту проблему.

note: type: Content of: <div><div><p>
en: Please send general FSF &amp; GNU inquiries to <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.  There are also <a href="/contact/">other ways to contact</a> the FSF.  Broken links and other corrections or suggestions can be sent to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.
ru: Пожалуйста, присылайте общие запросы фонду и GNU по адресу <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Есть также <a href="/contact/">другие способы связаться</a> с фондом. Отчеты о неработающих ссылках и другие поправки или предложения можно присылать по адресу <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.

note: TRANSLATORS: Ignore the original text in this paragraph, replace it with the translation of these two: We work hard and do our best to provide accurate, good quality translations.  However, we are not exempt from imperfection. Please send your comments and general suggestions in this regard to <a hr
en: Please see the <a href="/server/standards/README.translations.html">Translations README</a> for information on coordinating and contributing translations of this article.
ru: Мы старались сделать этот перевод точным и качественным, но исключить возможность ошибки мы не можем. Присылайте, пожалуйста, свои замечания и предложения по переводу по адресу <a href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>. </p><p>Сведения по координации и предложениям переводов наших статей см. в <a href="/server/standards/README.translations.html">&ldquo;Руководстве по переводам&rdquo;</a>.

note: type: Content of: <div><p>
en: Copyright &copy; 2009-2013, 2016-2019, 2021, 2023, 2024 Richard Stallman
ru: Copyright &copy; 2009-2013, 2016-2019, 2021, 2023, 2024 Richard Stallman<br />Copyright &copy; 2009, 2010, 2011, 2012, 2013, 2016, 2017, 2018, 2019, 2021, 2023, 2024 Free Software Foundation, Inc. (translation)

note: type: Content of: <div><p>
en: This page is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons Attribution-NoDerivatives 4.0 International License</a>.
ru: Это произведение доступно по <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/deed.ru">лицензии Creative Commons Attribution-NoDerivs (<em>Атрибуция&nbsp;&mdash; Без производных произведений</em>) 4.0 Всемирная</a>.

note: timestamp start type: Content of: <div><p>
en: Updated:
ru: Обновлено:
