diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/pl/java-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/pl/java-trap.html | 307 |
1 files changed, 307 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/pl/java-trap.html b/talermerchantdemos/blog/articles/pl/java-trap.html new file mode 100644 index 0000000..29ef2c5 --- /dev/null +++ b/talermerchantdemos/blog/articles/pl/java-trap.html @@ -0,0 +1,307 @@ +<!--#set var="PO_FILE" + value='<a href="/philosophy/po/java-trap.pl.po"> + http://www.gnu.org/philosophy/po/java-trap.pl.po</a>' + --><!--#set var="ORIGINAL_FILE" value="/philosophy/java-trap.html" + --><!--#set var="DIFF_FILE" value="/philosophy/po/java-trap.pl-diff.html" + --><!--#set var="OUTDATED_SINCE" value="2015-10-03" --> + +<!--#include virtual="/server/header.pl.html" --> +<!-- Parent-Version: 1.77 --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>Wolne, lecz w okowach - pułapka Javy - Projekt GNU - Fundacja Wolnego +Oprogramowania (FSF)</title> + +<!--#include virtual="/philosophy/po/java-trap.translist" --> +<!--#include virtual="/server/banner.pl.html" --> +<!--#include virtual="/server/outdated.pl.html" --> +<h2>Wolne, lecz w okowach - pułapka Javy</h2> + +<p><a href="http://www.stallman.org/">Richard Stallman</a></p> + + +<div class="announcement"><blockquote><h3>Konspekt</h3> +<p>Od czasu gdy ten artykuł został opublikowany po raz pierwszy Sun +<a href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">zmienił +licencję</a> swojej implementacji platformy Java na Powszechną +Publiczną Licencję GNU i istnieje teraz wolne środowisko +programistyczne dla Javy. Z tego względu język Java nie jest już +pułapką.</p> + +<p>Należy jednak być ostrożnym, nie każda platforma Java jest wolna. Sun +nadal rozpowszechnia środowisko uruchomieniowe Java, które jest +niewolne. Inne firmy też to robią.</p> + +<p>Wolne środowisko dla Java nazywa się IcedTea i zawiera kod źródłowy, +który uwolnił Sun. Właśnie tego powinno sie używać. Wiele dystrybucji +GNU/Linux zawiera IcedTea, ale niektóre nadal posługują się niewolnymi.</p> + +<p>Aby być pewnym, że Twoje programy napisane w Java będą dobrze +działać w wolnym środowisku należy tworzyć je za pomocą +IcedTea. Teoretycznie wszystkie platformy powinny być kompatybilne, +ale nie jest tak w 100 procentach.</p> + +<p>Co więcej, istnieją niewolne programy zawierające „Java” +w nazwie, takie jak JavaFX, a także niewolne pakiety Java, które +mogą być kuszące, ale należy je odrzucić. Sprawdzaj więc licencję +każdego pakietu, którego planujesz używać. Jeśli używasz Swing upewnij się, +że jest to wolna wersja, która dołączona jest do IcedTea.</p> + +<p>Odkładając na bok konkretną sprawę Java, ogólny problem opisany tutaj +pozostaje istotny, ponieważ każda niewolna biblioteka +czy platforma programowa spowoduje ten sam problem. Musimy wyciągnąć +naukę z historii Java abyśmy mogli uniknąć podobnych pułapek +w przyszłości.</p> + +<p>Zobaczcie też: <a href="/philosophy/javascript-trap.html">Pułapka +JavaScript</a>.</p> +</blockquote> +</div> + +<p>12 kwietnia 2004</p> + +<p> + Jeśli Wasz program jest wolnym oprogramowaniem, to zasadniczo jest dobry +etycznie – ale istnieje pułapka, której musicie się +strzec. Wasz program, choć sam w sobie wolny, być może ograniczany +jest przez niewolne oprogramowanie, od którego +zależy. Ponieważ problem ten najbardziej widoczny jest obecnie +w przypadku programów napisanych w Javie, nazywamy go Pułapką +Javy. +</p> + +<p> + Program jest wolny, kiedy jego użytkownicy mają pewne kluczowe +swobody. Z grubsza rzecz ujmując, są to: wolność uruchamiania programu, +wolność studiowania go i zmiany jego kodu źródłowego, wolność +redystrybucji źródeł i binariów oraz wolność publikowania +poprawionych wersji (zob. <a +href="http://www.gnu.org/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>). +To, czy dany program jest wolnym oprogramowaniem, zależy wyłącznie +od jego licencji. +</p> + +<p> + To, czy program może być używany w Wolnym Świecie, przez ludzi, +którzy zamierzają żyć w wolności, jest pytaniem bardziej złożonym. Nie +decyduje o tym licencja samego programu, gdyż żaden program nie działa +w odosobnieniu. Każdy program zależy od innych programów. Musi +na przykład zostać skompilowany lub zinterpretowany, +więc zależy od kompilatora czy interpretera. Jeśli jest +kompilowany do kodu bajtowego, zależy od interpretera tego +kodu. Ponadto, do działania potrzebuje bibliotek, a może też +wywoływać inne odrębne programy działające jako osobne procesy. Dany program +może zależeć od innych, żeby w ogóle działać lub wymagać ich +tylko dla pewnych funkcji. Tak czy owak, cały program lub jego +część nie mogą funkcjonować bez oprogramowania, od którego są +zależne. +</p> + +<p> + Jeżeli niektóre z wymaganych przez program elementów nie są wolne, +to znaczy, że całość lub część programu nie dadzą się uruchomić +w całkowicie wolnym systemie – nie nadaje się on +do używania w Wolnym Świecie. Jasne, możemy rozprowadzać ten +program i trzymać kopie w swoich komputerach, ale niewiele +z tego pożytku, jeśli nie będzie działał. Taki program jest wolnym +oprogramowaniem, lecz w praktyce został spętany przez niewolne +oprogramowanie, od którego jest uzależniony. +</p> + +<p> + Ten kłopot może się pojawić w każdego rodzaju oprogramowaniu, +w dowolnym języku. Na przykład, wolny program działający tylko +w Microsoft Windows jest ewidentnie bezużyteczny w Wolnym +Świecie. Ale program działający na GNU/Linuksie także może być +bezużyteczny, jeśli zależy od innego niewolnego +oprogramowania. W przeszłości główną przyczyną takich kłopotów były +Motif (zanim powstał LessTif) oraz Qt (zanim twórcy tej biblioteki +uczynili ją wolnym oprogramowaniem). Większość kart graficznych 3D +wykorzystuje w pełni swoje możliwości tylko z niewolnymi +sterownikami, co także powoduje tego rodzaju problemy. Ale głównym +źródłem tego problemu jest obecnie Java, gdyż osoby piszące wolne +oprogramowanie często uważają, że Java jest sexy. Zaślepieni przez +swoje zafascynowanie językiem, przeoczają kwestię zależności i wpadają +w Pułapkę Javy. +</p> + +<p> + Wykonana przez firmę Sun implementacja Javy nie jest wolna. Blackdown także +nie jest wolne, jest przeróbką zastrzeżonego kodu Suna. Standardowe +biblioteki Javy też nie są wolne. Mamy wolne implementacje Javy, takie jak +<a href="http://gcc.gnu.org/java/">GNU Compiler for Java</a> (GCJ) i <a +href="/software/classpath">GNU Classpath</a>, ale nie udostępniają one +jeszcze wszystkich funkcji. Nadal to nadganiamy. +</p> + +<p> + Gdy piszecie program w Javie na platformie Javy oferowanej przez +Suna, jesteście podatni na nieświadome wykorzystywanie funkcji +występujących tylko w implementacji Suna. Kiedy się zorientujecie, może +się okazać, że korzystacie z nich od miesięcy, a ponowne +wykonanie pracy zajęłoby kolejne miesiące. Moglibyście wtedy powiedzieć: +„To za dużo roboty, żeby zaczynać +od początku”. Wówczas Wasz program wpadnie w Pułapkę Javy, +stanie się nieużywalny w Wolnym Świecie. +</p> + +<p> + Niezawodną metodą uniknięcia Pułapki Javy jest posiadanie w systemie +wyłącznie wolnej implementacji Javy. Wtedy, jeśli skorzystacie +z jakiejś cechy Javy lub biblioteki, której wolne oprogramowanie +jeszcze nie obsługuje, zorientujecie się od razu i natychmiast +będziecie mogli przepisać kod. +</p> + +<p> + Sun nadal rozwija dodatkowe „standardowe” biblioteki Javy, +a niemal wszystkie z nich są niewolne. W wielu przypadkach +nawet specyfikacja biblioteki jest tajemnicą handlową. Zaś ostatnia +licencja Suna dotycząca specyfikacji bibliotek zakazuje wydawania +implementacji częściowych, czegokolwiek mniej niż pełna implementacja +specyfikacji. (Zob. np. <a +href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a> +oraz <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> + Na szczęście, ta licencja pozwala na wydanie implementacji jako +wolnego oprogramowania – temu, kto otrzyma taką bibliotekę, wolno +ją zmienić i nie musi się trzymać specyfikacji. Jednak efektem tej +klauzuli jest zakaz korzystania z modelu wspólnej pracy +nad projektem do wytworzenia wolnej implementacji. Zastosowanie +tego modelu pociągałoby za sobą publikowanie niekompletnych wersji, +czego nie wolno robić tym, którzy przeczytali specyfikację. +</p> + +<p> + W pionierskim okresie ruchu wolnego oprogramowania uniknięcie +zależności od niewolnych programów było niemożliwe. Zanim mieliśmy +do dyspozycji kompilator GNU C, każdy program napisany w C (wolny +czy nie) zależał od niewolnego kompilatora C. Zanim +dysponowaliśmy biblioteką GNU C, każdy program zależał +od niewolnej biblioteki C. Zanim mieliśmy Linuksa, pierwsze wolne +jądro, każdy program zależał od niewolnego jądra. Zanim mieliśmy BASH, +każdy skrypt powłoki musiał być interpretowany przez niewolną powłokę. To, +że nasze pierwsze programy początkowo były skrępowane przez owe +zależności, było nie do uniknięcia, ale zaakceptowaliśmy to, gdyż +planowaliśmy stopniowe ich uwalnianie. Nasz ostateczny cel, samodzielny +system operacyjny GNU, mieścił w sobie wolne zamienniki dla wszystkich +tych zależności. Jeśli osiągnęlibyśmy ten cel, oswobodzilibyśmy wszystkie +nasze programy. I tak się stało: mając system GNU/Linux, możemy teraz +uruchamiać je na wolnych platformach. +</p> + +<p> + Obecnie sytuacja wygląda inaczej. Mamy potężne wolne systemy operacyjne +i wiele wolnych narzędzi programistycznych. Każde zadanie, jakie +chcecie wykonać, możecie wykonać na wolnej platformie – +bez konieczności akceptowania choćby tymczasowej zależności +od niewolnego oprogramowania. Główną przyczyną tego, że obecnie +ludzie wpadają w pułapkę, jest to, że się nad tym nie +zastanawiają. Najłatwiej rozwiązać problem Pułapki Javy ucząc ludzi, żeby +do niej nie wpadali. +</p> + +<p> + Żeby uchronić swój napisany w Javie kod przed Pułapką Javy, +zainstalujcie wolne środowisko programistyczne Javy i używajcie +go. Ogólnie rzecz biorąc: jakiegokolwiek języka programowania używacie, +miejcie oczy otwarte i sprawdzajcie status programów, od których +zależy Wasz kod. Najprostszym sposobem zweryfikowania, czy dany program +jest wolny jest poszukanie go w Katalogu Wolnego Oprogramowania (<a +href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>). +Jeżeli nie ma go w katalogu, możecie porównać jego licencję +z listą licencji wolnego oprogramowania (<a +href="http://www.gnu.org/licenses/license-list.html">http://www.gnu.org/licenses/license-list.html</a>). +</p> + +<p> + Próbujemy oswobodzić schwytane w pułapkę programy Javy, więc jeśli +lubicie język Java, zachęcamy Was do pomocy w rozwijaniu zbioru +bibliotek GNU Classpath. Wypróbowanie działania swoich programów +z kompilatorem GCJ i GNU Classpath i zgłoszenie kłopotów +z klasami już zaimplementowanymi, też jest pomocne. Niemniej jednak, +zbudowanie GNU Classpath wymaga czasu; jeśli wciąż dodawane będą kolejne +niewolne biblioteki, to pewnie nigdy nie będziemy mieć wszystkich +najnowszych. Dlatego, prosimy, nie nakładajcie swoim wolnym programom +kajdan. Kiedy piszecie dziś jakiś program użytkowy, napiszcie go tak, +aby od początku działał korzystając z wolnego oprogramowania +wspomagającego. +</p> + +<h3>Zobacz też:</h3> +<p><a href="/philosophy/sun-in-night-time.html">Dziwny przypadek Suna nocną +porą</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.pl.html" --> +<div id="footer"> +<div class="unprintable"> + +<p>Pytania dotyczące GNU i FSF prosimy kierować na adres <a +href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. Istnieją także <a +href="/contact/contact.html">inne sposoby skontaktowania się</a> +z FSF. <br /> Informacje o niedziałających odnośnikach oraz inne +poprawki (lub propozycje) prosimy wysyłać na adres <a +href="mailto:web-translators@gnu.org"><web-translators@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>. --> +Staramy się, aby tłumaczenia były wierne i wysokiej jakości, +ale nie jesteśmy zwolnieni z niedoskonałości. Komentarze odnośnie +tłumaczenia polskiego oraz zgłoszenia dotyczące chęci współpracy +w tłumaczeniu prosimy kierować na adres <a +href="mailto:www-pl-trans@gnu.org">www-pl-trans@gnu.org</a>. <br /> +Aby zapoznać się z informacjami dotyczącymi tłumaczenia +i koordynowania tłumaczeń artykułów, proszę odwiedzić stronę <a +href="/server/standards/README.translations.html">tłumaczeń</a>.</p> +</div> + +<p>Copyright © 2004, 2010 Richard Stallman</p> + +<p>Ten utwór objęty jest licencją Creative Commons Uznanie autorstwa-Bez +utworów zależnych 3.0 Stany Zjednoczone. Aby zobaczyć kopię niniejszej +licencji przejdź na stronę <a rel="license" +href="http://creativecommons.org/licenses/by-nd/3.0/us/">http://creativecommons.org/licenses/by-nd/3.0/us/</a> +lub napisz do Creative Commons, 171 Second Street, Suite 300, San +Francisco, California 94105, USA.</p> + +<!--#include virtual="/server/bottom-notes.pl.html" --> +<div class="translators-credits"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> +Tłumaczenie: Wojciech Kotwica 2005, 2006, 2007, Daniel Oźminkowski 2010; +poprawki: Jan Owoc 2012, 2013.</div> + +<p class="unprintable"><!-- timestamp start --> +Aktualizowane: + +$Date: 2016/01/13 21:35:41 $ + +<!-- timestamp end --> +</p> +</div> +</div> +</body> +</html> |