summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/bg/java-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/bg/java-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/bg/java-trap.html266
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">&lt;gnu@gnu.org&gt;</a>. Има и други начини за <a
+href="/contact/">връзка</a> с ФСС. Моля, изпращайте доклади за счупени
+хипервръзки и други корекции (или предложения) на е-поща: <a
+href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</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">
+
+ &lt;web-translators@gnu.org&gt;</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">&lt;web-translators@gnu.org&gt;</a>.</p>
+<p>Вижте <a href="/server/standards/README.translations.html">Документацията
+за преводачи</a> за информация за координирането и подаването на преводи на
+тази статия.</p>
+</div>
+
+<p>Copyright &copy; 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">&lt;kaloian@doganov.org&gt;</a>, 2006 г.</div>
+
+<p class="unprintable"><!-- timestamp start -->
+Последно обновяване:
+
+$Date: 2017/03/24 12:24:01 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>