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

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.

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 all the features yet. We are still catching up.

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; it will be unusable in the Free World.

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.

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 http://jcp.org/aboutJava/communityprocess/JSPA2.pdf and http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html for examples.)

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.

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.

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.

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 (http://fsf.org/directory). If a program is not in the directory, you can check its license(s) against the list of free software licenses (http://gnu.org/licenses/license-list.html).

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

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

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

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

Мори Терри

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

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

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

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

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

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

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

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

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

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