taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

java-trap.html (15126B)


      1 <!--#set var="PO_FILE"
      2  value='<a href="/philosophy/po/java-trap.pl.po">
      3  https://www.gnu.org/philosophy/po/java-trap.pl.po</a>'
      4  --><!--#set var="ORIGINAL_FILE" value="/philosophy/java-trap.html"
      5  --><!--#set var="DIFF_FILE" value="/philosophy/po/java-trap.pl-diff.html"
      6  --><!--#set var="OUTDATED_SINCE" value="2015-10-03" -->
      7 
      8 <!--#include virtual="/server/header.pl.html" -->
      9 <!-- Parent-Version: 1.77 -->
     10 
     11 <!-- This file is automatically generated by GNUnited Nations! -->
     12 <title>Wolne, lecz&nbsp;w okowach - pułapka Javy - Projekt GNU - Fundacja Wolnego
     13 Oprogramowania (FSF)</title>
     14 
     15 <!--#include virtual="/philosophy/po/java-trap.translist" -->
     16 <!--#include virtual="/server/banner.pl.html" -->
     17 <!--#include virtual="/server/outdated.pl.html" -->
     18 <h2>Wolne, lecz&nbsp;w okowach - pułapka Javy</h2>
     19 
     20 <p><a href="http://www.stallman.org/">Richard Stallman</a></p>
     21 
     22 
     23 <div class="announcement"><blockquote><h3>Konspekt</h3>
     24 <p>Od&nbsp;czasu gdy ten artykuł został opublikowany po&nbsp;raz pierwszy Sun
     25 <a href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">zmienił
     26 licencję</a> swojej implementacji platformy Java na&nbsp;Powszechną
     27 Publiczną Licencję GNU i&nbsp;istnieje teraz wolne środowisko
     28 programistyczne dla Javy. Z&nbsp;tego względu język Java nie jest już
     29 pułapką.</p>
     30 
     31 <p>Należy jednak&nbsp;być ostrożnym, nie każda platforma Java jest wolna. Sun
     32 nadal rozpowszechnia środowisko uruchomieniowe Java, które jest
     33 niewolne. Inne firmy też to robią.</p>
     34 
     35 <p>Wolne środowisko dla Java nazywa się IcedTea i&nbsp;zawiera kod źródłowy,
     36 który uwolnił Sun. Właśnie tego powinno sie używać. Wiele dystrybucji
     37 GNU/Linux zawiera IcedTea, ale&nbsp;niektóre nadal posługują się niewolnymi.</p>
     38 
     39 <p>Aby&nbsp;być pewnym, że&nbsp;Twoje programy napisane w&nbsp;Java będą dobrze
     40 działać w&nbsp;wolnym środowisku należy tworzyć je za&nbsp;pomocą
     41 IcedTea. Teoretycznie wszystkie platformy powinny być kompatybilne,
     42 ale&nbsp;nie jest tak w&nbsp;100 procentach.</p>
     43 
     44 <p>Co więcej, istnieją niewolne programy zawierające &bdquo;Java&rdquo;
     45 w&nbsp;nazwie, takie jak JavaFX, a&nbsp;także niewolne pakiety Java, które
     46 mogą być kuszące, ale&nbsp;należy je odrzucić. Sprawdzaj więc&nbsp;licencję
     47 każdego pakietu, którego planujesz używać. Jeśli używasz Swing upewnij się,
     48 że&nbsp;jest to wolna wersja, która dołączona jest do&nbsp;IcedTea.</p>
     49 
     50 <p>Odkładając na&nbsp;bok konkretną sprawę Java, ogólny problem opisany tutaj
     51 pozostaje istotny, ponieważ&nbsp;każda niewolna biblioteka
     52 czy&nbsp;platforma programowa spowoduje ten sam problem. Musimy wyciągnąć
     53 naukę z&nbsp;historii Java abyśmy mogli uniknąć podobnych pułapek
     54 w&nbsp;przyszłości.</p>
     55 
     56 <p>Zobaczcie też: <a href="/philosophy/javascript-trap.html">Pułapka
     57 JavaScript</a>.</p>
     58 </blockquote>
     59 </div>
     60 
     61 <p>12 kwietnia 2004</p>
     62 
     63 <p>
     64   Jeśli Wasz program jest wolnym oprogramowaniem, to zasadniczo jest dobry
     65 etycznie&nbsp;&ndash; ale&nbsp;istnieje pułapka, której musicie się
     66 strzec. Wasz program, choć&nbsp;sam w&nbsp;sobie wolny, być może ograniczany
     67 jest przez niewolne oprogramowanie, od&nbsp;którego
     68 zależy. Ponieważ&nbsp;problem ten najbardziej widoczny jest obecnie
     69 w&nbsp;przypadku programów napisanych w&nbsp;Javie, nazywamy go Pułapką
     70 Javy.
     71 </p>
     72 
     73 <p>
     74   Program jest wolny, kiedy jego użytkownicy mają pewne kluczowe
     75 swobody. Z&nbsp;grubsza rzecz ujmując, są to: wolność uruchamiania programu,
     76 wolność studiowania go i&nbsp;zmiany jego kodu źródłowego, wolność
     77 redystrybucji źródeł i&nbsp;binariów oraz&nbsp;wolność publikowania
     78 poprawionych wersji (zob. <a
     79 href="http://www.gnu.org/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>).
     80 To, czy&nbsp;dany program jest wolnym oprogramowaniem, zależy wyłącznie
     81 od&nbsp;jego licencji.
     82 </p>
     83 
     84 <p>
     85   To, czy&nbsp;program może być używany w&nbsp;Wolnym Świecie, przez ludzi,
     86 którzy zamierzają żyć w&nbsp;wolności, jest pytaniem bardziej złożonym. Nie
     87 decyduje o&nbsp;tym licencja samego programu, gdyż żaden program nie działa
     88 w&nbsp;odosobnieniu. Każdy program zależy od&nbsp;innych programów. Musi
     89 na&nbsp;przykład zostać skompilowany lub&nbsp;zinterpretowany,
     90 więc&nbsp;zależy od&nbsp;kompilatora czy&nbsp;interpretera. Jeśli jest
     91 kompilowany do&nbsp;kodu bajtowego, zależy od&nbsp;interpretera tego
     92 kodu. Ponadto, do&nbsp;działania potrzebuje bibliotek, a&nbsp;może też
     93 wywoływać inne odrębne programy działające jako osobne procesy. Dany program
     94 może zależeć od&nbsp;innych, żeby w&nbsp;ogóle działać lub&nbsp;wymagać ich
     95 tylko dla pewnych funkcji. Tak czy&nbsp;owak, cały program lub&nbsp;jego
     96 część nie mogą funkcjonować bez&nbsp;oprogramowania, od&nbsp;którego są
     97 zależne. 
     98 </p>
     99 
    100 <p>
    101   Jeżeli&nbsp;niektóre z&nbsp;wymaganych przez program elementów nie są wolne,
    102 to znaczy, że&nbsp;całość lub&nbsp;część programu nie dadzą się uruchomić
    103 w&nbsp;całkowicie wolnym systemie&nbsp;&ndash; nie nadaje się on
    104 do&nbsp;używania w&nbsp;Wolnym Świecie. Jasne, możemy rozprowadzać ten
    105 program i&nbsp;trzymać kopie w&nbsp;swoich komputerach, ale&nbsp;niewiele
    106 z&nbsp;tego pożytku, jeśli nie będzie działał. Taki program jest wolnym
    107 oprogramowaniem, lecz&nbsp;w&nbsp;praktyce został spętany przez niewolne
    108 oprogramowanie, od&nbsp;którego jest uzależniony.
    109 </p>
    110 
    111 <p>
    112   Ten kłopot może się pojawić w&nbsp;każdego rodzaju oprogramowaniu,
    113 w&nbsp;dowolnym języku. Na&nbsp;przykład, wolny program działający tylko
    114 w&nbsp;Microsoft Windows jest ewidentnie bezużyteczny w&nbsp;Wolnym
    115 Świecie. Ale&nbsp;program działający na&nbsp;GNU/Linuksie także może być
    116 bezużyteczny, jeśli zależy od&nbsp;innego niewolnego
    117 oprogramowania. W&nbsp;przeszłości główną przyczyną takich kłopotów były
    118 Motif (zanim powstał LessTif) oraz&nbsp;Qt (zanim twórcy tej biblioteki
    119 uczynili ją wolnym oprogramowaniem). Większość kart graficznych 3D
    120 wykorzystuje w&nbsp;pełni swoje możliwości tylko z&nbsp;niewolnymi
    121 sterownikami, co także powoduje tego rodzaju problemy. Ale&nbsp;głównym
    122 źródłem tego problemu jest obecnie Java, gdyż osoby piszące wolne
    123 oprogramowanie często uważają, że&nbsp;Java jest sexy. Zaślepieni przez
    124 swoje zafascynowanie językiem, przeoczają kwestię zależności i&nbsp; wpadają
    125 w&nbsp;Pułapkę Javy. 
    126 </p>
    127 
    128 <p>
    129   Wykonana przez firmę Sun implementacja Javy nie jest wolna. Blackdown także
    130 nie jest wolne, jest przeróbką zastrzeżonego kodu Suna. Standardowe
    131 biblioteki Javy też nie są wolne. Mamy wolne implementacje Javy, takie jak
    132 <a href="http://gcc.gnu.org/java/">GNU Compiler for Java</a> (GCJ) i&nbsp;<a
    133 href="/software/classpath">GNU Classpath</a>, ale&nbsp;nie udostępniają one
    134 jeszcze wszystkich funkcji. Nadal to nadganiamy.
    135 </p>
    136 
    137 <p>
    138   Gdy piszecie program w&nbsp;Javie na&nbsp;platformie Javy oferowanej przez
    139 Suna, jesteście podatni na&nbsp;nieświadome wykorzystywanie funkcji
    140 występujących tylko w&nbsp;implementacji Suna. Kiedy się zorientujecie, może
    141 się okazać, że&nbsp;korzystacie z&nbsp;nich od&nbsp;miesięcy, a&nbsp;ponowne
    142 wykonanie pracy zajęłoby kolejne miesiące. Moglibyście wtedy powiedzieć:
    143 &bdquo;To za&nbsp;dużo roboty, żeby zaczynać
    144 od&nbsp;początku&rdquo;. Wówczas Wasz program wpadnie w&nbsp;Pułapkę Javy,
    145 stanie się nieużywalny w&nbsp;Wolnym Świecie.
    146 </p>
    147 
    148 <p>
    149   Niezawodną metodą uniknięcia Pułapki Javy jest posiadanie w&nbsp;systemie
    150 wyłącznie wolnej implementacji Javy. Wtedy, jeśli skorzystacie
    151 z&nbsp;jakiejś cechy Javy lub&nbsp;biblioteki, której wolne oprogramowanie
    152 jeszcze nie obsługuje, zorientujecie się od&nbsp;razu i&nbsp;natychmiast
    153 będziecie mogli przepisać kod. 
    154 </p>
    155 
    156 <p>
    157   Sun nadal rozwija dodatkowe &bdquo;standardowe&rdquo; biblioteki Javy,
    158 a&nbsp;niemal wszystkie z&nbsp;nich są niewolne. W&nbsp;wielu przypadkach
    159 nawet specyfikacja biblioteki jest tajemnicą handlową. Zaś&nbsp;ostatnia
    160 licencja Suna dotycząca specyfikacji bibliotek zakazuje wydawania
    161 implementacji częściowych, czegokolwiek mniej niż pełna implementacja
    162 specyfikacji. (Zob. np. <a
    163 href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a>
    164 oraz&nbsp;<a
    165 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>)
    166 </p>
    167 
    168 <p>
    169   Na&nbsp;szczęście, ta licencja pozwala na&nbsp;wydanie implementacji jako
    170 wolnego oprogramowania&nbsp;&ndash; temu, kto otrzyma taką bibliotekę, wolno
    171 ją zmienić i&nbsp;nie musi się trzymać specyfikacji. Jednak&nbsp;efektem tej
    172 klauzuli jest zakaz korzystania z&nbsp;modelu wspólnej pracy
    173 nad&nbsp;projektem do&nbsp;wytworzenia wolnej implementacji. Zastosowanie
    174 tego modelu pociągałoby za&nbsp;sobą publikowanie niekompletnych wersji,
    175 czego nie wolno robić tym, którzy przeczytali specyfikację. 
    176 </p>
    177 
    178 <p>
    179   W&nbsp;pionierskim okresie ruchu wolnego oprogramowania uniknięcie
    180 zależności od&nbsp;niewolnych programów było niemożliwe. Zanim mieliśmy
    181 do&nbsp;dyspozycji kompilator GNU C, każdy program napisany w&nbsp;C (wolny
    182 czy&nbsp;nie) zależał od&nbsp;niewolnego kompilatora&nbsp;C. Zanim
    183 dysponowaliśmy biblioteką GNU&nbsp;C, każdy program zależał
    184 od&nbsp;niewolnej biblioteki&nbsp;C. Zanim mieliśmy Linuksa, pierwsze wolne
    185 jądro, każdy program zależał od&nbsp;niewolnego jądra. Zanim mieliśmy BASH,
    186 każdy skrypt powłoki musiał być interpretowany przez niewolną powłokę. To,
    187 że&nbsp;nasze pierwsze programy początkowo były skrępowane przez owe
    188 zależności, było nie do&nbsp;uniknięcia, ale&nbsp;zaakceptowaliśmy to, gdyż
    189 planowaliśmy stopniowe ich uwalnianie. Nasz ostateczny cel, samodzielny
    190 system operacyjny GNU, mieścił w&nbsp;sobie wolne zamienniki dla wszystkich
    191 tych zależności. Jeśli osiągnęlibyśmy ten cel, oswobodzilibyśmy wszystkie
    192 nasze programy. I&nbsp;tak się stało: mając system GNU/Linux, możemy teraz
    193 uruchamiać je na&nbsp;wolnych platformach. 
    194 </p>
    195 
    196 <p>
    197   Obecnie sytuacja wygląda inaczej. Mamy potężne wolne systemy operacyjne
    198 i&nbsp;wiele wolnych narzędzi programistycznych. Każde zadanie, jakie
    199 chcecie wykonać, możecie wykonać na&nbsp;wolnej platformie&nbsp;&ndash;
    200 bez&nbsp;konieczności akceptowania choćby tymczasowej zależności
    201 od&nbsp;niewolnego oprogramowania. Główną przyczyną tego, że&nbsp;obecnie
    202 ludzie wpadają w&nbsp;pułapkę, jest to, że&nbsp;się nad&nbsp;tym nie
    203 zastanawiają. Najłatwiej rozwiązać problem Pułapki Javy ucząc ludzi, żeby
    204 do&nbsp;niej nie wpadali. 
    205 </p>
    206 
    207 <p>
    208   Żeby uchronić swój napisany w&nbsp;Javie kod przed Pułapką Javy,
    209 zainstalujcie wolne środowisko programistyczne Javy i&nbsp;używajcie
    210 go. Ogólnie rzecz biorąc: jakiegokolwiek języka programowania używacie,
    211 miejcie oczy otwarte i&nbsp;sprawdzajcie status programów, od&nbsp;których
    212 zależy Wasz kod. Najprostszym sposobem zweryfikowania, czy&nbsp;dany program
    213 jest wolny jest poszukanie go w&nbsp;Katalogu Wolnego Oprogramowania  (<a
    214 href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>).
    215 Jeżeli&nbsp;nie ma go w&nbsp;katalogu, możecie porównać jego licencję
    216 z&nbsp;listą licencji wolnego oprogramowania (<a
    217 href="http://www.gnu.org/licenses/license-list.html">http://www.gnu.org/licenses/license-list.html</a>).
    218 </p>
    219 
    220 <p>
    221   Próbujemy oswobodzić schwytane w&nbsp;pułapkę programy Javy, więc&nbsp;jeśli
    222 lubicie język Java, zachęcamy Was do&nbsp;pomocy w&nbsp;rozwijaniu zbioru
    223 bibliotek GNU Classpath. Wypróbowanie działania swoich programów
    224 z&nbsp;kompilatorem GCJ i&nbsp;GNU Classpath i&nbsp;zgłoszenie kłopotów
    225 z&nbsp;klasami już zaimplementowanymi, też jest pomocne. Niemniej jednak,
    226 zbudowanie GNU Classpath wymaga czasu; jeśli wciąż dodawane będą kolejne
    227 niewolne biblioteki, to pewnie nigdy nie będziemy mieć wszystkich
    228 najnowszych. Dlatego, prosimy, nie nakładajcie swoim wolnym programom
    229 kajdan. Kiedy piszecie dziś jakiś program użytkowy, napiszcie go tak,
    230 aby&nbsp;od początku działał korzystając z&nbsp;wolnego oprogramowania
    231 wspomagającego.
    232 </p>
    233 
    234 <h3>Zobacz też:</h3>
    235 <p><a href="/philosophy/sun-in-night-time.html">Dziwny przypadek Suna nocną
    236 porą</a></p>
    237 
    238 <div class="translators-notes">
    239 
    240 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
    241  </div>
    242 </div>
    243 
    244 <!-- for id="content", starts in the include above -->
    245 <!--#include virtual="/server/footer.pl.html" -->
    246 <div id="footer">
    247 <div class="unprintable">
    248 
    249 <p>Pytania dotyczące GNU i&nbsp;FSF prosimy kierować na&nbsp;adres <a
    250 href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Istnieją także <a
    251 href="/contact/contact.html">inne sposoby skontaktowania się</a>
    252 z&nbsp;FSF. <br /> Informacje o niedziałających odnośnikach oraz&nbsp;inne
    253 poprawki (lub propozycje) prosimy wysyłać na&nbsp;adres <a
    254 href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.</p>
    255 
    256 <p>
    257 <!-- TRANSLATORS: Ignore the original text in this paragraph,
    258         replace it with the translation of these two:
    259 
    260         We work hard and do our best to provide accurate, good quality
    261         translations.  However, we are not exempt from imperfection.
    262         Please send your comments and general suggestions in this regard
    263         to <a href="mailto:web-translators@gnu.org">
    264 
    265         &lt;web-translators@gnu.org&gt;</a>.</p>
    266 
    267         <p>For information on coordinating and submitting translations of
    268         our web pages, see <a
    269         href="/server/standards/README.translations.html">Translations
    270         README</a>. -->
    271 Staramy się, aby&nbsp;tłumaczenia były wierne i&nbsp;wysokiej jakości,
    272 ale&nbsp;nie jesteśmy zwolnieni z&nbsp;niedoskonałości. Komentarze odnośnie
    273 tłumaczenia polskiego oraz&nbsp;zgłoszenia dotyczące chęci współpracy
    274 w&nbsp;tłumaczeniu prosimy kierować na&nbsp;adres <a
    275 href="mailto:www-pl-trans@gnu.org">www-pl-trans@gnu.org</a>. <br />
    276 Aby&nbsp;zapoznać się z&nbsp;informacjami dotyczącymi tłumaczenia
    277 i&nbsp;koordynowania tłumaczeń artykułów, proszę odwiedzić stronę <a
    278 href="/server/standards/README.translations.html">tłumaczeń</a>.</p>
    279 </div>
    280 
    281 <p>Copyright &copy; 2004, 2010 Richard Stallman</p>
    282 
    283 <p>Ten utwór objęty jest licencją Creative Commons Uznanie autorstwa-Bez
    284 utworów zależnych 3.0 Stany Zjednoczone. Aby&nbsp;zobaczyć kopię niniejszej
    285 licencji przejdź na&nbsp;stronę <a rel="license"
    286 href="http://creativecommons.org/licenses/by-nd/3.0/us/">http://creativecommons.org/licenses/by-nd/3.0/us/</a>
    287 lub&nbsp;napisz do&nbsp;Creative Commons, 171 Second Street, Suite 300, San
    288 Francisco, California 94105, USA.</p>
    289 
    290 <!--#include virtual="/server/bottom-notes.pl.html" -->
    291 <div class="translators-credits">
    292 
    293 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
    294 Tłumaczenie: Wojciech Kotwica 2005, 2006, 2007, Daniel Oźminkowski 2010;
    295 poprawki: Jan Owoc 2012, 2013.</div>
    296 
    297 <p class="unprintable"><!-- timestamp start -->
    298 Aktualizowane:
    299 
    300 $Date: 2021/07/18 10:02:30 $
    301 
    302 <!-- timestamp end -->
    303 </p>
    304 </div>
    305 </div>
    306 </body>
    307 </html>