diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/bg/java-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/bg/java-trap.html | 266 |
1 files changed, 266 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/bg/java-trap.html b/talermerchantdemos/blog/articles/bg/java-trap.html new file mode 100644 index 0000000..1b8953d --- /dev/null +++ b/talermerchantdemos/blog/articles/bg/java-trap.html @@ -0,0 +1,266 @@ +<!--#set var="PO_FILE" + value='<a href="/philosophy/po/java-trap.bg.po"> + https://www.gnu.org/philosophy/po/java-trap.bg.po</a>' + --><!--#set var="ORIGINAL_FILE" value="/philosophy/java-trap.html" + --><!--#set var="DIFF_FILE" value="" + --><!--#set var="OUTDATED_SINCE" value="2010-04-04" --> + +<!--#include virtual="/server/header.bg.html" --> +<!-- Parent-Version: 1.77 --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>Свободен, но в окови - „клопката на Джава“ - Проектът GNU - Фондация за +свободен софтуер</title> + +<!--#include virtual="/philosophy/po/java-trap.translist" --> +<!--#include virtual="/server/banner.bg.html" --> +<!--#include virtual="/server/outdated.bg.html" --> +<h2>Свободен, но в окови – „клопката на Джава“</h2> + +<p>от <a href="http://www.stallman.org/">Ричард Столман</a></p> + +<div class="announcement"><blockquote><h3>Встъпителна бележка</h3> +<p>През декември 2006 г., „Сън“ вече са започнали да <a +href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">преиздават своята +платформа на Джава под GNU GPL</a>. Очакваме, че когато тази промяна на +лиценза завърши, Джава вече няма да представлява клопка. Въпреки това, като +цяло, описаният тук въпрос ще остане важен, защото всяка несвободна +библиотека или платформа за програмиране може да причини подобен проблем. +Трябва да си вземем поука от историята на Джава, така че да избягваме други +клопки за в бъдеще.</p> + +<p>Вижте също и <a href="/philosophy/javascript-trap.html">Клопката на +JavaScript</a>.</p> +</blockquote> +</div> + +<p>12 април 2004 г.</p> + +<p> + Ако програмата ви е свободен софтуер, то тя по същество е етична. +Съществува обаче една клопка, за която трябва да бъдете нащрек. Въпреки че +сама по себе си е свободна, програмата ви може да бъде ограничена от +несвободния софтуер, от който зависи. Тъй като този проблем днес е най-ярко +изразен при програмите на Джава, наричаме го „клопката на Джава“. +</p> + +<p> + Една програма е свободен софтуер, ако потребителите ѝ притежават определени +съществени свободи. Грубо казано, те са: свободата да изпълняват +програмата, свободата да изучават и променят изходния код, свободата да +разпространяват изходния и двоичния код, и свободата да публикуват подобрени +версии. (Вижте <a +href="/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>.) +Дали дадена програма е свободен софтуер зависи изцяло от волята, заложена в +лиценза ѝ. +</p> + +<p> + Дали обаче програмата може да бъде използвана в Свободния свят, дали може да +бъде използвана от хора, които са решени да живеят в свобода, е по-сложен +въпрос. Това не се определя само от лиценза на програмата, понеже нито една +програма не работи в изолация. Всяка програма зависи от други програми. +Например, ако дадена програма има нужда да бъде компилирана или +интерпретирана, то тя зависи от компилатор или интерпретатор. Ако е +компилирана до байткод, то тя зависи от интерпретатор на байткод. Освен +това, за да бъде изпълнявана, програмата се нуждае и от библиотеки. Също +така програмата би могла да извиква други самостоятелни програми, които се +изпълняват като отделни процеси. Всички тези програми са зависимости. +Зависимостите може да са необходими, за да бъде изобщо изпълнена програмата, +но може и да са нужни само за да функционират някои нейни възможности. Така +или иначе, цялата програма или част от нея не може да работи без +зависимостите. +</p> + +<p> + Ако някои от зависимостите на програмата са несвободни, то това означава, че +цялата програма или част от нея не може да бъде изпълнена върху напълно +свободна система — тя е безполезна в Свободния свят. Разбира се, ние можем +да разпространяваме програмата и да притежаваме нейни копия върху машините +си, но от това няма голяма полза, щом не можем да я изпълняваме. Тази +програма е свободен софтуер, но на практика е окована от своите несвободни +зависимости. +</p> + +<p> + Този проблем може да възникне с всеки вид софтуер, на какъвто и да е език за +програмиране. Например, една свободна програма, която се изпълнява само +върху Майкрософт Уиндоус, е очевидно безполезна в Свободния свят. Но +софтуерът, който се изпълнява върху GNU/Линукс също може да бъде безполезен, +ако зависи от друг несвободен софтуер. В миналото, Мотиф (преди да имаме +ЛесТиф) и библиотеката „Кю ти“ (преди разработчиците ѝ да я направят +свободен софтуер) бяха основните причини за този проблем. Повечето +видеокарти с тримерно ускорение работят пълнофункционално само с несвободни +драйвери, което също води до този проблем. Но днес основният източник на +проблема е Джава, защото хората, които пишат свободен софтуер, често +чувстват, че Джава е секси. Заслепени от привличането си към езика, те +пренебрегват въпроса със зависимостите и така попадат в „клопката на Джава“. +</p> + +<p> + Реализацията на Джава от „Сън“ е несвободна. Стандартните библиотеки на +Джава също са несвободни. Ние разполагаме със свободни реализации на Джава, +като например <a href="http://gcc.gnu.org/java/"> компилатора на GNU за +Джава</a> (GCJ) и <a href="/software/classpath">GNU Класпат</a> (GNU +Classpath), но те все още не поддържат напълно всички възможности. Все още +наваксваме. +</p> + +<p> + Ако разработвате програма на Джава върху платформата на Джава от „Сън“, +съществува опасност да използвате възможности, специфични само за „Сън“, без +дори да забележите. След време, когато откриете това, може да са минали +месеци, а пренаписването на тези части от програмата може да отнеме още +месеци. Бихте могли да кажете: „Това е твърде много работа, за да се +започне отначало.“ В този момент програмата ви ще е попаднала в „клопката +на Джава“. Програмата ви ще е безполезна в Свободния свят. +</p> + +<p> + Сигурният начин да избегнете „клопката на Джава“ е да разполагате само със +свободна реализация на Джава върху системата си. Тогава, ако използвате +възможност на Джава или библиотека, която свободния софтуер все още не +поддържа, ще откриете това незабавно и ще можете веднага да пренапишете кода +си. +</p> + +<p> + „Сън“ продължава да разработва допълнителни „стандартни“ библиотеки на Джава +и почти всички те са несвободни. В много случаи, дори спецификацията на +библиотеката представлява търговска тайна, а последният лиценз на „Сън“ за +тези спецификации забранява издаването на непълни реализации на +спецификацията. (Вижте например <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>). +</p> + +<p> + За щастие, този лиценз на спецификацията позволява издаването на нейна +реализация като свободен софтуер. Така на трети лица, получили +библиотеката, им е разрешено да я променят и не са задължени да се придържат +към спецификацията. Но изискването води до забрана на използването на +съвместен модел на разработка при произвеждането на свободна реализация. +Използването на такъв модел би довело до публикуване на незавършени версии, +което не е разрешено на тези, които са чели спецификацията. +</p> + +<p> + В зората на движението за свободен софтуер беше невъзможно да се избегнат +зависимостите от несвободни програми. Преди да имаме компилатора на GNU за +Си, всяка програма на Си (свободна или не) зависеше от несвободен компилатор +за Си. Преди да имаме библиотеката на GNU за Си, всяка програма зависеше от +несвободна библиотека за Си. Преди да имаме Линукс, първото свободно ядро, +всяка програма зависеше от несвободно ядро. Преди да имаме Bash, всеки +скрипт на обвивката трябваше да бъде интерпретиран от несвободна обвивка. +Бе неизбежно първите ни програми да бъдат обременени от тези зависимости, но +ние приехме това, понеже последващото отърваване на тези програми бе част от +нашия план. Нашата голяма цел — самостоятелна операционна система GNU — +включваше свободни заместители на всички тези зависимости. Ако постигнехме +целта си, тогава всички програми биха били отървани. Така и стана — със +системата GNU/Линукс вече можем да изпълняваме тези програми върху свободни +платформи. +</p> + +<p> + Ситуацията днес е различна. Сега разполагаме с мощни свободни операционни +системи и много свободни средства за програмиране. Каквато и задача да +захванете, можете да я извършите върху свободна платформа — няма нужда да +приемате несвободна зависимост, даже дори временно. Днес основната причина, +поради която хората попадат в клопката е, че не мислят за нея. Най-лесното +решение на проблема е да се обясни на хората да не попадат в клопката. +</p> + +<p> + За да предпазите кода си от „клопката на Джава“, инсталирайте свободна среда +за разработване на Джава и я използвайте. По-общо казано, какъвто и език да +използвате, отваряйте си очите на четири и проверявайте дали са свободни +програмите, от които зависи кода ви. Най-лесният начин да проверите дали +дадена програма е свободна е да погледнете за нея в Указателя на свободен +софтуер (<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>). +</p> + +<p> + Опитваме се да отървем програмите на Джава, които са хванати в капана. Така +че, ако харесвате езика Джава, каним ви да помогнете при разработването на +GNU Класпат. Също би било полезно изпробването на програмите ви с +компилатора GCJ и GNU Класпат и докладването на всякакви проблеми, на които +сте се натъкнали при вече реализираните класове. Все пак, завършването на +GNU Класпат ще отнеме време — ако постоянно продължават да се добавят +несвободни библиотеки, може винаги да ни липсват последните от тях. Така +че, моля ви, не оковавайте свободния си софтуер. Днес, когато пишете +свободна приложна програма, пишете я така, че от самото начало да се +изпълнява върху свободни средства. +</p> + +<h3>Вижте още:</h3> +<p><a href="/philosophy/sun-in-night-time.html">Любопитният инцидент със „Сън“ +в късна доба</a></p> + +<div class="translators-notes"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.--> + </div> +</div> + +<!-- for id="content", starts in the include above --> +<!--#include virtual="/server/footer.bg.html" --> +<div id="footer"> +<div class="unprintable"> + +<p>Моля, отправяйте въпроси относно ФСС и GNU по е-поща: <a +href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. Има и други начини за <a +href="/contact/">връзка</a> с ФСС. Моля, изпращайте доклади за счупени +хипервръзки и други корекции (или предложения) на е-поща: <a +href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> + +<p> +<!-- 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 href="mailto:web-translators@gnu.org"> + + <web-translators@gnu.org></a>.</p> + + <p>For information on coordinating and submitting translations of + our web pages, see <a + href="/server/standards/README.translations.html">Translations + README</a>. --> +Моля, докладвайте грешки и предложения относно българския превод чрез <a +href="mailto:web-translators@gnu.org"><web-translators@gnu.org></a>.</p> +<p>Вижте <a href="/server/standards/README.translations.html">Документацията +за преводачи</a> за информация за координирането и подаването на преводи на +тази статия.</p> +</div> + +<p>Copyright © 2004 Ричард Столман</p> + +<p>Може да копирате и разпространявате тази статия според условията на <a +rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/">Криейтив +Комънс „Признание-Без производни произведения“ 4.0</a>.</p> + +<!--#include virtual="/server/bottom-notes.bg.html" --> +<div class="translators-credits"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> +<b>Превод</b>: Калоян Доганов <a +href="mailto:kaloian@doganov.org"><kaloian@doganov.org></a>, 2006 г.</div> + +<p class="unprintable"><!-- timestamp start --> +Последно обновяване: + +$Date: 2017/03/24 12:24:01 $ + +<!-- timestamp end --> +</p> +</div> +</div> +</body> +</html> |