java-trap.html - en to ru translation catalogue (34 entries)

note: type: Content of: <h2>
en: Free but Shackled - The Java Trap
ru: Свободны, но в кандалах — Западня Java

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

note: type: Content of: <div><h3>
en: Headnote
ru: Вводное замечание

note: type: Content of: <div><p>
en: Since this article was first published, Sun has <a href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">relicensed</a> 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.
ru: С тех пор, как была написана эта статья, компания Sun <a href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">перевыпустила</a> почти всю свою эталонную реализацию платформы Java под Стандартной общественной лицензией GNU, и свободная среда разработки для Java теперь есть. Таким образом, язык Java как таковой больше не западня.

note: type: Content of: <div><p>
en: 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.
ru: Однако вы должны быть осторожны, поскольку не всякая платформа Java свободна. Sun продолжает распространять в исполняемом виде платформу Java, которая не свободна, и другие компании тоже так поступают.

note: type: Content of: <div><p>
en: 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.
ru: Свободная среда для Java называется IcedTea; она включает в себя исходный текст, освобожденный компанией Sun. Так что это та реализация, которой вам следует пользоваться. Многие дистрибутивы GNU/Linux поставляются с IcedTea, но некоторые включают в себя несвободные платформы Java.

note: type: Content of: <div><p>
en: 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.
ru: Чтобы надежно гарантировать, что ваши программы на Java будут прекрасно выполняться в свободной среде, вам нужно разрабатывать их с помощью IcedTea. Теоретически платформы Java должны быть совместимы, но они совместимы не на сто процентов.

note: type: Content of: <div><p>
en: In addition, there are nonfree programs with &ldquo;Java&rdquo; 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.
ru: Кроме того, есть несвободные программы, в названии которых есть слово &ldquo;Java&rdquo;, такие, как JavaFX, и есть несвободные пакеты Java, которые вы, возможно, сочли бы заманчивыми, но должны отвергнуть. Так что проверяйте лицензии всех пакетов, какими только вы планируете воспользоваться. Если вы пользуетесь Swing, убедитесь, вы пользуетесь свободной версией&nbsp;&mdash; той, что входит в состав IcedTea.

note: type: Content of: <div><p>
en: 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.
ru: Не считая этих деталей, связанных с Java, общая проблема, описанная здесь, остается важной, потому что несвободная библиотека или платформа программирования может создать подобную же проблему. Из истории Java мы должны извлечь урок, чтобы в будущем избежать других ловушек.

note: type: Content of: <div><p>
en: Please also see: <a href="javascript-trap.html">The Javascript Trap</a>.
ru: См. также <a href="javascript-trap.html">Западня Javascript</a>.

note: type: Content of: <p>
en: April 12, 2004
ru: 12 апреля 2004&nbsp;года

note: type: Content of: <p>
en: If your program is free software, it is basically ethical&mdash;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.
ru: Если ваша программа свободна, она в основном этична&nbsp;&mdash; но есть западня, которой вы должны остерегаться. Ваша программа, даже если она сама по себе свободна, может быть ограничена несвободными программами, от которых она зависит. Поскольку наиболее ярко эта проблема выражена сегодня для программ на Java, мы называем это западней Java.

note: type: Content of: <p>
en: A program is free software if its users have certain crucial 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 <a href="/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>.)  Whether any given program in source form is free software depends solely on the meaning of its license.
ru: Программа свободна, если у ее пользователей есть определенные жизненно важные свободы. Грубо говоря, это свобода выполнять программу, свобода изучать и править исходный текст, свобода перераспространять исходный текст и двоичные файлы, а также свобода публиковать улучшенные версии.  (См. <a href="/philosophy/free-sw.html"> http://www.gnu.org/philosophy/free-sw.html</a>.) Является ли данная программа в виде исходного текста свободной, полностью определяется смыслом ее лицензии.

note: type: Content of: <p>
en: 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 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 on a byte-code interpreter. Moreover, it needs libraries in order to run, and it may also invoke other separate programs that run in other processes. All of these programs are dependencies.  Dependencies may 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.
ru: Может ли программа применяться в мире свободы&nbsp;&mdash; применяться людьми, которые намереваются жить свободно,&mdash; более сложный вопрос. Это определяется не только собственной лицензией программы, потому что никакая программа не работает изолированно. Всякая программа зависит от других программ. Например, программу нужно скомпилировать или интерпретировать, так что она зависит от компилятора или интерпретатора. Если она компилируется в промежуточный псевдокод, то она зависит от интерпретатора псевдокода. Более того, чтобы выполняться, ей нужны библиотеки, и она может вызывать другие самостоятельные программы, которые выполняются в других процессах. Все эти программы&nbsp;&mdash; зависимости. Зависимости могут быть необходимы для того, чтобы программа могла хоть как-то выполняться, или только для доступа к определенным возможностям. Как бы то ни было, вся программа или ее часть не может функционировать без зависимостей.

note: type: Content of: <p>
en: 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&mdash;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.
ru: Если какая-то из зависимостей программы несвободна, это значит, что вся или часть программы не сможет выполняться в полностью свободной системе&nbsp;&mdash; ее нельзя использовать в мире свободы. Разумеется, мы могли бы перераспространять эту программу и копировать ее на свои машины, но пользы от этого не много, потому что она не станет работать. Эта программа свободна, но фактически она скована несвободными зависимостями.

note: type: Content of: <p>
en: This problem can occur in any kind of software, in any language. For instance, a free program that only runs on Microsoft Windows is clearly useless in the Free World. But software that runs on GNU/Linux can also be useless if it depends on other nonfree software. In the past, Motif (before we had LessTif) and Qt (before its developers made it free software) were major causes of this problem. Most 3D video cards work fully only with nonfree drivers, which also cause this problem. But the major source of this problem today is Java, because people who write free software often feel Java is sexy. Blinded by their attraction to the language, they overlook the issue of dependencies and fall into the Java Trap.
ru: Эта проблема может возникнуть в программах любого рода, на любом языке. Например, свободная программа, которая выполняется только под Microsoft Windows, явно бесполезна для мира свободы. Но программа, которая выполняется на GNU/Linux, тоже может быть бесполезна, если она зависит от других несвободных программ. В прошлом Motif (до того, как у нас появился Lesstif) и Qt (до того, как его разработчики сделали его свободным) были серьезными источниками этой проблемы. Большинство видеоплат с трехмерной графикой полноценно работают только с несвободными драйверами, что тоже создает эту проблему. Но сегодня серьезнейший источник этой проблемы&nbsp;&mdash; Java, потому что люди, которые пишут свободные программы, часто испытывают влечение к Java. Ослепленные притягательностью языка, они закрывают глаза на проблему зависимостей и попадают в западню Java.

note: type: Content of: <p>
en: Sun's implementation of Java is nonfree. The standard Java libraries are nonfree also. We do have free implementations of Java, such as the <a href="http://gcc.gnu.org/java/">GNU Compiler for Java</a> (GCJ) and <a href="/software/classpath">GNU Classpath</a>, but they don't support all the features yet. We are still catching up.
ru: Реализация Java компании Sun несвободна. Стандартные библиотеки Java тоже несвободны. Свободные реализации Java у нас есть&nbsp;&mdash; такие, как <a href="http://gcc.gnu.org/java/">компилятор GNU языка Java</a> (GCJ) <a href="/software/classpath">GNU Classpath</a>,&mdash; но они поддерживают еще не все возможности. Мы пока только догоняем.

note: type: Content of: <p>
en: 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, &ldquo;It's too much work to start over.&rdquo; Then your program will have fallen into the Java Trap; it will be unusable in the Free World.
ru: Если вы разрабатываете программу на Java с помощью платформы Java компании Sun, вы, скорее всего, будете пользоваться возможностями, доступными только для платформы Sun, даже не замечая этого. К тому времени, как вы обнаружите это, вы, возможно, будете пользоваться ими уже многие месяцы, и на переделку тоже уйдут месяцы. Может оказаться, что вы скажете: &ldquo;Это слишком большая работа, чтобы начинать ее заново&rdquo;. Тогда ваша программа провалится в западню Java; ею нельзя будет пользоваться в мире свободы.

note: type: Content of: <p>
en: The reliable way to avoid the Java Trap is to have only a free 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.
ru: Надежный способ избежать западни Java&nbsp;&mdash; устанавливать в своей системе только свободную реализацию Java. Тогда, если вы воспользуетесь особенностью языка или библиотеки, которую свободные программы пока не поддерживают, вы сразу же это обнаружите, и вы сможете немедленно переписать эту часть программы.

note: type: Content of: <p>
en: Sun continues to develop additional &ldquo;standard&rdquo; 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> and <a href="http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html">http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html</a> for examples.)
ru: Sun продолжает разрабатывать дополнительные &ldquo;стандартные&rdquo; библиотеки Java, и почти все они несвободны; во многих случаях даже спецификации библиотеки являются коммерческой тайной, и последняя лицензия Sun на эти спецификации запрещает выпуск чего бы то ни было, кроме полной реализации спецификаций. (См., например, <a href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf"> http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a> и <a href="http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html"> http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html</a>

note: type: Content of: <p>
en: Fortunately, that specification license does permit releasing an implementation as free software; others who receive the library can be allowed to change it and are not required to adhere to the specification.  But the requirement has the effect of prohibiting the use of a collaborative development model to produce the free implementation. Use of that model would entail publishing incomplete versions, something those who have read the spec are not allowed to do.
ru: К счастью, эта лицензия на спецификации все-таки позволяет выпускать реализацию в качестве пакета свободных программ; другим, тем, кто получит библиотеку, можно позволить изменять ее, и от них не требуется следовать спецификации. Но это требование фактически запрещает применять схемы сотрудничества для выработки свободной реализации. Применение такой схемы подразумевало бы публикацию неполных версий, а это не позволено тем, кто прочел спецификации.

note: type: Content of: <p>
en: In the early days of the free software movement, it was impossible to avoid depending on nonfree programs. Before we had the GNU C compiler, every C program (free or not) depended on a nonfree C compiler. Before we had the GNU C library, every program depended on a nonfree C library. Before we had Linux, the first free kernel, every program depended on a nonfree kernel.  Before we had BASH, every shell script had to be interpreted by a nonfree shell. It was inevitable that our first programs would initially be hampered by these dependencies, but we accepted this because our plan included rescuing them subsequently. Our overall goal, a self-hosting GNU operating system, included free replacements for all those dependencies; if we reached the goal, all our programs would be rescued. Thus it happened: with the GNU/Linux system, we can now run these programs on free platforms.
ru: На заре движения за свободное программное обеспечение было невозможно избежать зависимости от несвободных программ. До того, как у нас появился компилятор Си GNU, каждая программа на Си зависела от несвободного компилятора Си. До того, как у нас появилась библиотека Си GNU, каждая программа зависела от несвободной библиотеки Си. До появления у нас Linux, первого свободного ядра, каждая программа зависела от несвободного ядра. До того, как у нас появился BASH, каждую программу для командного интерпретатора приходилось выполнять в несвободном командном интерпретаторе. Наши первые программы изначально были опутаны этими зависимостями, это было неизбежно; но мы пошли на это, потому что в наш план входило последующее избавление наших программ.  Наша высшая цель&nbsp;&mdash; самодостаточная операционная система GNU&nbsp;&mdash; содержала свободные замены всех этих зависимостей; если бы мы достигли цели, все наши программы были бы спасены. Так и случилось: благодаря системе GNU/Linux сейчас мы можем выполнять эти программы на свободных платформах.

note: type: Content of: <p>
en: The situation is different today. We now have powerful free operating systems and many free programming tools. Whatever job you want to do, you can do it on a free platform; there is no need to accept a nonfree dependency even temporarily. The main reason people fall into the trap today is because they are not thinking about it. The easiest solution to the problem is to teach people to recognize it and not fall into it.
ru: Сегодня ситуация другая. Теперь у нас есть мощные свободные операционные системы и большое количество свободных средств разработки. Какую бы работу вы ни хотели выполнить, вы можете делать это на свободной платформе; нет необходимости соглашаться даже на временную несвободную зависимость. Главная причина, по которой люди попадают сегодня в западню&nbsp;&mdash; то, что они не думают об этом. Проще всего эту проблему решить, приучая людей ее распознавать и не попадать в нее.

note: type: Content of: <p>
en: To keep your Java code safe from the Java Trap, install a free Java development environment and use it. More generally, whatever language you use, keep your eyes open, and check the free status of programs your code depends on. The easiest way to verify that a program is free is by looking for it in the Free Software Directory (<a href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>).  If a program is not in the directory, you can check its license(s)  against the list of free software licenses (<a href="/licenses/license-list.html">http://www.gnu.org/licenses/license-list.html</a>).
ru: Чтобы предохранить ваши программы на Java от этой западни, установите свободную среду разработки Java и пользуйтесь ею. Вообще, каким бы языком вы ни пользовались, смотрите в оба и проверяйте, свободны ли пакеты, от которых зависят ваши программы. Самый простой способ проверить, является ли программа свободной&nbsp;&mdash; поискать ее в Каталоге свободных программ (<a href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>). Если программы в каталоге нет, можно проверить, перечислены ли ее лицензии в списке лицензий свободных программ (<a href="/licenses/license-list.html"> http://www.gnu.org/licenses/license-list.html</a>).

note: type: Content of: <p>
en: We are trying to rescue the trapped Java programs, so if you like the Java language, we invite you to help in developing GNU 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 in shackles. When you write an application program today, write it to run on free facilities from the start.
ru: Мы пытаемся спасти завязнувшие программы на Java, так что если вам нравится этот язык, мы приглашаем вас помочь в разработке GNU Classpath. Если вы испытаете свои программы с компилятором GCJ и GNU Classpath и расскажете о любых проблемах, с которыми вы столкнетесь в уже реализованных классах, это тоже будет полезно. Однако до конца разработки GNU Classpath пройдет какое-то время; если несвободные библиотеки будут по-прежнему добавляться, у нас, может быть, никогда не будет самых последних из них. Так что, пожалуйста, не сажайте свои свободные программы в кандалы. Когда сегодня вы будете писать прикладную программу, пишите ее так, чтобы она с самого начала выполнялась на свободных средствах.

note: type: Content of: <h3>
en: See also:
ru: См. также:

note: type: Content of: <p>
en: <a href="/philosophy/sun-in-night-time.html">The Curious Incident of Sun in the Night-Time</a>
ru: <a href="/philosophy/sun-in-night-time.html">Забавный инцидент с солнцем в ночную пору</a>

note: type: Content of: <div><p>
en: Please send FSF &amp; GNU inquiries to <a href="mailto:gnu@gnu.org"><em>gnu@gnu.org</em></a>.  There are also <a href="/contact/">other ways to contact</a> the FSF.
ru: Пожалуйста, присылайте запросы фонду и GNU по адресу <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Есть также <a href="/contact/">другие способы связаться</a> с фондом.

note: type: Content of: <div><p>
en: Please send broken links and other corrections or suggestions to <a href="mailto:webmasters@gnu.org"><em>webmasters@gnu.org</em></a>.
ru: Пожалуйста, присылайте отчеты о неработающих ссылках и другие поправки или предложения по адресу <a href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.

note: type: Content of: <div><p>
en: Please see the <a href="/server/standards/README.translations.html">Translations README</a> for information on coordinating and submitting translations of this article.
ru: Сведения по координации и предложениям переводов этой статьи см. в <a href="/server/standards/README.translations.html">&ldquo;Руководстве по переводам&rdquo;</a>.

note: type: Content of: <div><p>
en: Copyright &copy; 2004, 2010 Richard Stallman
ru: Copyright &copy; 2004, 2010 Richard Stallman</p><p>Copyright &copy; 2012 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/3.0/us/">Creative Commons Attribution-NoDerivs 3.0 United States License</a>.
ru: Это произведение доступно по <a rel="license" href="http://creativecommons.org/licenses/by-nd/3.0/us/deed.ru">лицензии Creative Commons Attribution-NoDerivs (<em>Атрибуция&nbsp;&mdash; Без производных произведений</em>) 3.0 США</a>.

note: TRANSLATORS: Use space (SPC) as msgstr if you don't want credits. type: Content of: <div><div>
en: *GNUN-SLOT: TRANSLATOR'S CREDITS*
ru: <em>Внимание! В подготовке этого перевода участвовал только один человек. Вы можете существенно улучшить перевод, если проверите его и расскажете о найденных ошибках в <a href="http://savannah.gnu.org/projects/www-ru">русской группе переводов gnu.org</a>.</em>

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