java-trap.html (18782B)
1 <!--#set var="PO_FILE" 2 value='<a href="/philosophy/po/java-trap.sr.po"> 3 https://www.gnu.org/philosophy/po/java-trap.sr.po</a>' 4 --><!--#set var="ORIGINAL_FILE" value="/philosophy/java-trap.html" 5 --><!--#set var="DIFF_FILE" value="" 6 --><!--#set var="OUTDATED_SINCE" value="2009-12-15" --> 7 8 <!--#include virtual="/server/header.sr.html" --> 9 <!-- Parent-Version: 1.77 --> 10 11 <!-- This file is automatically generated by GNUnited Nations! --> 12 <title>Слобода у оковима – замка језика Јава — Пројекат ГНУ — Задужбина за слободни 13 софтвер</title> 14 15 <!--#include virtual="/philosophy/po/java-trap.translist" --> 16 <!--#include virtual="/server/banner.sr.html" --> 17 <!--#include virtual="/server/outdated.sr.html" --> 18 <h2>Слобода у оковима – замка језика Јава</h2> 19 20 <p>од <a href="http://www.stallman.org/">Ричарда Сталмана</a></p> 21 22 <div class="announcement"><blockquote><h3>Напомена</h3> 23 <p>Од децембра 2006., у току је <a 24 href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">поновно 25 објављивање платформе за Јаву под ГНУ-овом ОЈЛ</a> од стране фирме Сан. Када 26 ова промена лиценце буде завршена, надамо се да Јава више неће представљати 27 замку. Ипак, општи принцип који је овде описан и даље важи, јер и било која 28 друга неслободна библиотека или програмерска платформа може произвести 29 сличан проблем. Морамо да научимо лекцију из Јавине историје, како бисмо 30 убудуће избегли друге замке.</p> 31 32 <p>Погледајте и: <a href="/philosophy/javascript-trap.html">Замка ЈаваСписа</a></p> 33 </blockquote> 34 </div> 35 36 <p>12. април 2004.</p> 37 38 <p> 39 Ако је ваш програм слободан софтвер, он је у основи етичан, али се морате 40 чувати извесне замке. Иако је сам по себи слободан, ваш програм може бити 41 ограничен неслободним софтвером од кога зависи. Пошто је тренутно овај 42 проблем највише изражен у случају програма писаних у Јави, називамо га 43 замком језика Јава. 44 </p> 45 46 <p> 47 Програм је слободан софтвер ако су његовим корисницима пружене извесне 48 основне слободе. Укратко, то су: слобода покретања програма, слобода 49 проучавања и измене изворног кода, слобода поновног расподељивања изворног 50 кода и бинарног облика, и слобода објављивања побољшаних верзија. (Видети <a 51 href="/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>.) 52 Слобода било ког програма зависи искључиво од смисла његове лиценце. 53 </p> 54 55 <p> 56 Али, компликованије питање је да ли се програм може користити у слободном 57 свету, да ли га могу користити људи који желе да живе слободно. То није 58 одређено лиценцом самог програма, јер ниједан програм не ради 59 самостално. Сваки програм зависи од осталих програма. На пример, програм 60 мора да буде преведен или интерпретиран, па стога зависи од преводиоца или 61 интерпретатора. Ако се програм преводи у бајткод, онда он зависи од 62 интерпретатора бајткода. Штавише, њему су потребне библиотеке како би могао 63 да се извршава, а он може и позивати друге програме који се извршавају у 64 засебним процесима. Сви ти програми су предуслови за његово 65 функционисање. Предуслови могу бити неопходни да би се програм уопште 66 покренуо или могу бити неопходни само за одређене одлике. У сваком случају, 67 цео програм или његов део не могу да функционишу без предуслова. 68 </p> 69 70 <p> 71 Ако су неки од предуслова програма неслободни, то значи да цео програм или 72 неки његов део не могу да се извршавају на потпуно слободном систему, па тај 73 програм не може да се употребљава у слободном свету. Наравно, могли бисмо да 74 поново расподељујемо програм и да држимо његове примерке на нашим машинама, 75 али нам то није од користи ако он не може да се покрене. Тај програм је 76 слободан софтвер, али је ефективно спутан својим неслободним предусловима. 77 </p> 78 79 <p> 80 Овај проблем се може јавити у свим врстама софтвера, у било ком програмском 81 језику. На пример, слободни програм који се може извршавати само под 82 Микрософтовим Виндовсом је очито бескористан у слободном свету. Али, и 83 софтвер који се извршава под ГНУ-ом са Линуксом такође може бити бескористан 84 уколико зависи од другог неслободног софтвера. У прошлости су главни узроци 85 овог проблема били Мотиф (пре него што смо имали Лестиф – <em>LessTif</em>) 86 и Куте – <em>Qt</em> (пре него што су га његови градитељи учинили слободним 87 софтвером). Већина 3Д видео картица ради само са неслободним управљачким 88 програмима, што такође изазива овај проблем. Међутим, тренутно је највећи 89 извор овог проблема Јава, јер је људима који пишу слободни софтвер Јава 90 привлачна. Заслепљени својом привученошћу овим језиком, они занемарују 91 питање предуслова и падају у замку језика Јава. 92 </p> 93 94 <p> 95 Саново остварење Јаве је неслободно. Блекдаун (<em>Blackdown</em>) је такође 96 неслободан; он је адаптација Сановог власничког кода. Стандардне Јавине 97 библиотеке су такође неслободне. Ми имамо слободна остварења Јаве, као што 98 је <a href="http://gcc.gnu.org/java/">ГНУ-ов преводилац за Јаву – ГПЈ</a> 99 (<em>GNU Compiler for Java – GCJ</em>) и <a 100 href="/software/classpath">ГНУ-ов Класпат</a> (<em>GNU Classpath</em>), али 101 они још не подржавају све одлике. Још увек заостајемо. 102 </p> 103 104 <p> 105 Ако изграђујете програм у језику Јава под Сановом платформом за Јаву, 106 користићете одлике које су специфичне за Сан а да то и не приметите. Могли 107 бисте месецима да их користите док тога не постанете свесни, а поновно 108 писање кода вам може однети још месеци. Највероватније ћете рећи: „поновни 109 почетак је превише напоран“. Тада ће ваш програм упасти у замку језика Јава 110 и биће бескористан за слободни свет. 111 </p> 112 113 <p> 114 Поуздан начин да избегнете замку језика Јава је да користите само слободна 115 остварења Јаве на вашем систему. На тај начин ћете одмах открити да ли 116 користите одлику или библиотеку коју слободни софтвер још не подржава, па 117 одмах можете да напишете тај део кода изнова. 118 </p> 119 120 <p> 121 Сан наставља да изграђује додатне „стандардне“ Јавине библиотеке, које су 122 скоро све неслободне. Често је чак и спецификација библиотеке трговинска 123 тајна, а најновија Санова лиценца за те спецификације забрањује објављивање 124 било чега што је мање од пуног остварења спецификације. (Примера ради, 125 погледајте <a 126 href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a> 127 и <a 128 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>). 129 </p> 130 131 <p> 132 Срећом, та лиценца спецификације дозвољава издавање остварења у виду 133 слободног софтвера. Другима који приме библиотеку може бити дозвољено да 134 мењају то остварење и да не буду приморани да следе спецификацију. Међутим, 135 тај услов производи ефекат забране коришћења модела изградње који се заснива 136 на сарадњи за производњу слободног остварења. Употреба тог модела би 137 захтевала објављивање непотпуних верзија, што онима који су прочитали 138 спецификацију није дозвољено. 139 </p> 140 141 <p> 142 У прво време Покрета за слободни софтвер је било немогуће избећи зависност 143 од неслободних програма. Пре него што смо имали ГНУ-ов преводилац за Це, 144 сваки програм у језику Це (било да је слободан или не) је зависио од 145 неслободног преводиоца за Це. Пре него што смо имали ГНУ-ову библиотеку за 146 Це, сваки програм је зависио од неслободне библиотеке за Це. Пре него што 147 смо имали Линукс, прво слободно језгро, сваки програм је зависио од 148 неслободног језгра. Пре него што смо имали Баш, сваки спис љуске је морао да 149 буде интерпретиран од стране неслободне љуске. Није се могло избећи да у 150 почетку наши први програми буду спутани овим зависностима, али смо то 151 прихватили јер је наш план укључивао и њихово касније спасавање. Наш 152 свеобухватни циљ, самостални оперативни систем ГНУ, је укључио слободне 153 замене за све те предуслове. У случају постизања тог циља, сви наши програми 154 би били спасени. То се и десило. Са системом ГНУ са Линуксом сада можемо да 155 покрећемо те програме на слободним платформама. 156 </p> 157 158 <p> 159 Данас је ситуација другачија. Сада имамо моћне слободне оперативне системе и 160 много слободних програмерских алата. Можете обављати све ваше послове на 161 слободној платформи. Нема потребе да прихватате неслободни предуслов чак ни 162 привремено. Главни разлог због кога људи данас падају у замку је што не 163 мисле о њој. Најлакше решење проблема замке језика Јава је научити људе да 164 не упадну у ту замку. 165 </p> 166 167 <p> 168 Да бисте сачували ваш код у Јави од замке језика Јава, инсталирајте и 169 користите слободно окружење за изградњу програма у Јави. Уопште, без обзира 170 на то који језик користите, отворите четворе очи и проверите да ли су 171 програми од којих зависи ваш код слободни. Најлакши начин да проверите да ли 172 је програм слободан је да га потражите у каталогу слободног софтвера (<a 173 href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>). Ако 174 програм није у каталогу, можете проверити да ли је његова лиценца (или 175 његове лиценце) наведена у списку слободних софтверских лиценци (<a 176 href="http://www.gnu.org/licenses/license-list.html">http://www.gnu.org/licenses/license-list.html</a>). 177 </p> 178 179 <p> 180 Ми покушавамо да спасемо заробљене програме у језику Јава, па вас позивамо 181 да, уколико вам се свиђа програмски језик Јава, помогнете да се изгради 182 ГНУ-ов Класпат. Користиће нам и испробавање ваших програма у ГНУ-овом 183 Класпату и пријављивање евентуалних проблема у класама које су већ 184 остварене. Међутим, завршавање ГНУ-овог Класпата ће потрајати. Ако 185 неслободне библиотеке буду и даље додаване, можда никада нећемо имати све 186 најновије библиотеке. Зато вас молимо да не окивате ваш слободни 187 софтвер. Када будете писали апликативни програм, од почетка га напишите тако 188 да се извршава под слободним механизмима. 189 </p> 190 191 <h3>Погледајте и:</h3> 192 <p><a href="/philosophy/sun-in-night-time.html">Чудновата згода о Сану (Сунцу) 193 у глуво доба</a></p> 194 195 <div class="translators-notes"> 196 197 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.--> 198 </div> 199 </div> 200 201 <!-- for id="content", starts in the include above --> 202 <!--#include virtual="/server/footer.sr.html" --> 203 <div id="footer"> 204 <div class="unprintable"> 205 206 <p>Молимо вас да шаљете питања у вези са ЗСС-ом и ГНУ-ом на адресу <a 207 href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. Постоје и <a 208 href="/contact/">други начини да се обратите</a> ЗСС-у. Молимо вас да шаљете 209 неисправне везе и друге исправке (или предлоге) на адресу <a 210 href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> 211 212 <p> 213 <!-- TRANSLATORS: Ignore the original text in this paragraph, 214 replace it with the translation of these two: 215 216 We work hard and do our best to provide accurate, good quality 217 translations. However, we are not exempt from imperfection. 218 Please send your comments and general suggestions in this regard 219 to <a href="mailto:web-translators@gnu.org"> 220 221 <web-translators@gnu.org></a>.</p> 222 223 <p>For information on coordinating and submitting translations of 224 our web pages, see <a 225 href="/server/standards/README.translations.html">Translations 226 README</a>. --> 227 Молимо да погледате <a 228 href="/server/standards/README.translations.html">ПРОЧИТАЈМЕ за преводе</a> 229 за више информација о координисању и слању превода овог чланка. (За допринос 230 српском преводу, корисно је да погледате и <a 231 href="http://alas.matf.bg.ac.rs/~mr99164/uput/kakoda-prevodim-gnu-ov-veb.html"> 232 КАКОДА прeводим ГНУ-ов веб</a>.)</p> 233 </div> 234 235 <p><b>Ауторска права:</b><br />Copyright © 2004 Richard Stallman</p> 236 237 <p>Ова страна је лиценцирана под условима лиценце <a rel="license" 238 href="http://creativecommons.org/licenses/by-nd/4.0/deed.sr">Creative 239 Commons Ауторство-Без прерада 4.0</a>.</p> 240 241 <!--#include virtual="/server/bottom-notes.sr.html" --> 242 <div class="translators-credits"> 243 244 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> 245 <b>Превод:</b> 246 <a href="http://alas.matf.bg.ac.rs/~mr99164/index.php">Страхиња Радић</a>, 247 <a href="http://alas.matf.bg.ac.rs/~mr99164/posta.php"><em>vilinkamen</em> 248 на серверу <em>mail.ru</em></a>, 2008-2009.</div> 249 250 <p class="unprintable"><!-- timestamp start --> 251 Ажурирано: 252 253 $Date: 2017/03/11 10:17:43 $ 254 255 <!-- timestamp end --> 256 </p> 257 </div> 258 </div> 259 </body> 260 </html>