diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/pl/javascript-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/pl/javascript-trap.html | 375 |
1 files changed, 375 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/pl/javascript-trap.html b/talermerchantdemos/blog/articles/pl/javascript-trap.html new file mode 100644 index 0000000..08711c4 --- /dev/null +++ b/talermerchantdemos/blog/articles/pl/javascript-trap.html @@ -0,0 +1,375 @@ +<!--#set var="PO_FILE" + value='<a href="/philosophy/po/javascript-trap.pl.po"> + https://www.gnu.org/philosophy/po/javascript-trap.pl.po</a>' + --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html" + --><!--#set var="DIFF_FILE" value="/philosophy/po/javascript-trap.pl-diff.html" + --><!--#set var="OUTDATED_SINCE" value="2016-03-27" --> + +<!--#include virtual="/server/header.pl.html" --> +<!-- Parent-Version: 1.77 --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>Pułapka JavaScript'u</title> + +<!--#include virtual="/philosophy/po/javascript-trap.translist" --> +<!--#include virtual="/server/banner.pl.html" --> +<!--#include virtual="/server/outdated.pl.html" --> +<h2>Pułapka JavaScript'u</h2> + +<p><a href="http://www.stallman.org/">Richard Stallman</a></p> + +<p><strong>Możliwe, że korzystasz z niewolnych programów +na swoim komputerze każdego dnia — przez przeglądarkę +internetową</strong></p> + +<p>W społeczności wolnego oprogramowania, znana jest idea tego, +że niewolne programy źle traktują użytkowników. Niektórzy z nas +całkowicie odmawiają instalacji prawnie zastrzeżonego oprogramowania, +a wielu innych fakt bycia niewolnym uważa za wadę programu. Wielu +użytkowników jest świadomych tego, że kwestia ta ma zastosowanie +do wtyczek oferowanych do instalacji przez przeglądarki, jako +że mogą one być wolne bądź niewolne.</p> + +<p>Jednak przeglądarki uruchamiają inne niewolne programy, o co nie pytają +użytkowników ani nawet ich o tym nie informują — programy zawarte +bezpośrednio bądź przez odnośnik na stronach internetowych. Te +programy najczęściej napisane są w JavaScript, choć wykorzystywane +są także i inne języki.</p> + +<p>JavaScript (oficjalnie nazywany ECMAScript, choć niewielu korzysta +z tej nazwy) był dawniej wykorzystywany do drobnych upiększeń +na stronach internetowych, takich jak ładne, lecz nieistotne +elementy nawigacji bądź wyświetlania. Dopuszczalnym było traktowanie +ich jedynie jako rozszerzenia znaczników HTML, raczej niż prawdziwe +oprogramowanie; nie stanowiły one znaczącej kwestii.</p> + +<p>Wiele stron korzysta z JavaScript w ten sposób, +jednak niektóre wykorzystują go do większych programów +wykonujących duże zadania. Przykładowo, Google Docs próbuje pobrać +na maszynę użytkownika program JavaScript o objętości pół megabajta, +upakowany w formie, którą nazwać można Obfuscriptem (celowo +nieczytelnie napisany kod) ponieważ nie posiada żadnych komentarzy +i prawie żadnych białych znaków, a nazwy metod są +jednoliterowe. Kod źródłowy programu jest preferowaną formą do jego +modyfikacji; upakowany kod nie jest kodem źródłowym, +natomiast prawdziwy kod źródłowy tego programu nie jest dostępny dla +użytkownika.</p> + +<p>Przeglądarki normalnie nie informują użytkownika kiedy ładują programy +JavaScript. Niektóre przeglądarki ma możliwość by wyłączyć JavaScript +całkowicie, jednak nawet jeśli o tym wiesz, jest nieoczywiste jak +rozróżnić nietrywialne niewolne oprogramowanie i je zablokować. Jednak, +nawet w społeczności wolnego oprogramowania, większość użytkowników nie +jest świadoma tej kwestii; milczenie przeglądarek sprzyja zaś zatajaniu +tego.</p> + +<p>Jest możliwym wydanie programu JavaScript jako wolnego oprogramowania, przez +dystrybucję kodu objętego licencją wolnego oprogramowania. Jeśli program +jest samowystarczalny – jeśli jego funkcja czy cel są +niezależne od strony na której jest – to jest +w porządku; możecie skopiować program do pliku na komputerze, +zmodyfikować go i odwiedzić w przeglądarce aby go +uruchomić. Ale to nietypowy przypadek.</p> + +<p>Zwykle programy JavaScript są zaprojektowane aby działać +z konkretną stroną czy witryną i strona czy witryna +wymaga ich do funkcjonowania. Wtedy jest dodatkowy problem: nawet jeśli +jest kod źródłowy programu, przeglądarki nie oferują udogodnień +umożliwiających uruchomienie własnej zmodyfikowanej wersji zamiast tej +dostarczanej na stronie. Efekt jest porównywalny do tivoizacji +(ang. tivoization - od urządzenia TiVo), jednak nie jest on aż tak +trudny do obejścia.</p> + +<p>JavaScript nie jest jedynym językiem w którym strony przesyłają +programy. Flash umożliwia programowanie poprzez rozszerzony wariant +JavaScript; jeśli kiedykolwiek będziemy mieli wystarczająco kompletny, +wolny, program do odtwarzania Flash, będziemy musieli się uporać +z niewolnymi programami Flash. Silverlight wydaje się stwarzać problemy +podobne do Flasha, jedynie gorsze, skoro Microsoft używa go jako +platformy do niewolnych kodeków. Wolne zastępstwo Silverlight nie +byłoby wystarczające dla wolnego świata chyba, że standardowo zawiera +wolne zastępcze kodeki.</p> + +<p>Aplety Java także są uruchamiane w przeglądarce i wzbudzają +podobne kłopoty. Ogólnie rzecz biorąc, każdy typ systemu apletów stanowi +tego typu zagrożenie. Posiadanie wolnego środowiska wykonawczego dla apletu +jedynie przybliża nas aby bezpośrednio zetknąć się z sednem +sprawy.</p> + +<p>Teoretycznie jest możliwe aby programować w HTML i CSS, +ale w praktyce jest to ograniczone i niewygodne; +aby cokolwiek zrobiło to już dobre przedsięwzięcie. Takie programy +powinny być wolne, ale CSS nie jest poważnym problemem dla wolności +użytkowników w roku 2016.</p> + +<p>Powstał silny ruch który domaga się od stron internetowych by +komunikowały się jedynie przez formaty i protokoły, które są wolne +(niektórzy powiedzą „otwarte”); a więc takich, których +dokumentacja została opublikowana i które każdy może +zaimplementować. Z obecnością programów na stronach internetowych, +takie kryterium jest konieczne, lecz nie wystarczające. JavaScript sam +w sobie, jako format, jest wolny, a wykorzystanie JavaScript +w na stronie internetowej samo w sobie nie jest złe. Jednak, jak +widać po powyższych przykładach, nie jest to automatycznie +w porządku. Kiedy strona przesyła program do użytkowanika, nie +jest wystarczającym by program był napisany w udokumentowanym +i nieobciążonym języku; taki program musi być także +wolny. „Jedynie wolne programy przesyłane do użytkownika” +mogą stać się częścią kryterium dla poprawnego zachowania się stron +internetowych.</p> + +<p>Ciche ładowanie i uruchamianie niewolnych programów jest jedną +z wielu kwestii wnoszonych przez „aplikacje +sieciowe”. Termin „aplikacji sieciowych” został +zaprojektowany by ignorować fundamentalne różnice między oprogramowaniem +dostarczonym do użytkowników, a oprogramowaniem działającym +na serwerze. Może się on odnosić do wyspecjalizowanego programu +uruchamianego bezpośrednio w przeglądarce; może się on odnosić +do wyspecjalizowanego oprogramowania serwera; może się on odnosić +do wyspecjalizowanego programu w przeglądarce działającego +wspólnie z wyspecjalizowanym oprogramowaniem serwera. Strony klienta +i serwera podnoszą różne kwestie etyczne, nawet jeśli są tak mocno +zintegrowane, że w efekcie tworzą części jednego programu. To +opracowanie dotyczy tylko oprogramowanie po stronie +klienta. Oprogramowanie na serwerach omawiamy osobno.</p> + +<p>W kwestiach praktycznych, jak możemy sobie radzić z problemem +niewolnych programów JavaScript na stronach internetowych? Pierwszym +krokiem jest aby go nie uruchamiać.</p> + +<p>Po pierwsze, co mamy na myśli przez „nietrywialne”? +Skoro pojęcie „nietrywialności” jest stopniowane, jest kwestią +zaprojektowania prostego kryterium dającego dobre rezultaty, raczej niż +ustalania jednej poprawnej odpowiedzi.</p> +<p> +Nasza wstępna zasada jest aby program JavaScript był nietrywialny +jeśli:</p> + +<ul> + <li>robi żądania AJAX lub jest ładowany ze skryptami, które robią żądania +AJAX,</li> + + <li>ładuje dynamicznie zewnętrzne skrypty lub jest ładowany razem ze +skryptami, które to robią,</li> + + <li>definiuje funkcje i albo ładuje zewnętrzny skrypt (z wnętrza html) +lub jest ładowany jako taki,</li> + + <li>używa dynamiczne struktury JavaScript, które są trudne do analizowania +bez uruchamiania programu, lub jest ładowany razem ze skryptami, +które używają takich struktur. Te struktury to: + <ul> + <li>używanie funkcji eval,</li> + <li>wywoływanie funkcji za pomocą kwadratowych nawiasów,</li> + <li>Używanie konstrukcji innych niż ciąg znaków z niektórymi funkcjami +(Obj.write, Obj.createElement, ...).</li> + </ul> + </li> +</ul> + +<p>Jak rozróżnić czy dany kod JavaScript jest wolny? Na zakończenie +tego artykułu proponujemy konwencję, według której nietrywialne programy +JavaScript na stronie internetowej mogłyby podać URL pod którym +znajduje się ich kod źródłowy, a także przy wykorzystaniu stylizowanych +komentarzy określać swoją licencję.</p> + +<p>W końcu musimy zmienić wolne przeglądarki aby rozpoznawały +i blokowały nietrywialny JavaScript na stronach +internetowych. Program <a href="/software/librejs/">LibreJS</a> wykrywa +niewolny, nietrywialny JavaScript na stronach, które odwiedzacie +i go blokuje. LibreJS jest dodatkiem dla IceCat i IceWeasel (i dla +Firefoksa).</p> + +<p>Użytkownicy przeglądarek potrzebują wygodnej metody określenia kodu +JavaScript, którego chcą użyć <em>zamiast</em> JavaScript na wybranej +stronie. (Określony kod może być całkowitym zastąpieniem, +bądź zmodyfikowaną wersją wolnego programu JavaScript obecnego +na wybranej stronie.) Greasemonkey jest bliskie umożliwienia tego, +jednak nie do końca, gdyż nie gwarantuje modyfikacji kodu +JavaScript na stronie zanim ten zacznie się wykonywać. Wykorzystanie +lokalnego proxy działa, jednak jest zbyt niedogodne by być realnym +rozwiązaniem. Potrzebujemy rozwiązania, które jest niezawodne +i wygodne, jak i witryny gdzie można się dzielić zmianami. Projekt +GNU zarekomenduje strony, które są dedykowane jedynie wolnym zmianom.</p> + +<p>Takie możliwości umożliwią programom JavaScript zawartym na stronach +internetowych bycie wolnymi w rzeczywistym i praktycznym +sensie. JavaScript nie będzie nadal szczególną przeszkodą do naszej +wolnośći — nie bardziej niż C i Java są nimi teraz. Będziemy +mogli odrzucić a nawet podmienić niewolne, nietrywialne programy +JavaScript, tak samo jak możemy podmienić niewolne pakiety normalnie +oferowane nam do instalacji. Nasza kampania dla stron internetowych by +uwolnić ich JavaScript może się wtedy zacząć.</p> + +<p>W międzyczasie jest jeden przypadek gdzie jest dopuszczalne uruchamiać +niewolny program JavaScript: aby wysłać zażalenie do operatorów +witryn internetowych, że powinni uwolnić lub usunąć JavaScript ze +stron. Nie wahajcie się włączyć JavaScript tymczasowo aby to zrobić, +ale pamiętajcie go potem wyłączyć.</p> + +<p><strong>Podziękowania dla <a href="/people/people.html#mattlee">Matta +Lee</a> i <a href="http://ejohn.org">Johna Resiga</a> za ich pomoc +w definiowaniu naszej propozycji kryterium, oraz dla Davida +Parunakiana za pomoc w uświadomieniu mi problemu.</strong></p> + +<h3 id="AppendixA">Załącznik A: konwencja dla wypuszczania wolnych programów JavaScript.</h3> + +<p>Odnośniki do kodu źródłowego proponujemy oznaczać</p> +<pre dir="ltr"> + + // @source: + +</pre> + +<p>a następnie URL. To spełnia wymóg GNU GPL aby rozprowadzać kod +źródłowy. Jeśli kod jest na innej stronie, musicie zwrócić uwagę +aby <a href="/licenses/gpl-faq.html#SourceAndBinaryOnDifferentSites">o +to właściwie zadbać</a>. Kod źródłowy jest konieczny aby program był +wolny. +</p> + +<p>By wskazać licencję kodu JavaScript zawartego na stronie, proponujemy +umieszczenie licencji między dwoma komentarzami w tej formie:</p> +<pre dir="ltr"> +<!--TRANSLATORS: Do not translate these license notices. The <pre> + + elements have dir="ltr" explicitly set to cater for RTL languages.--> + + @licstart The following is the entire license notice for the + JavaScript code in this page. + ... + @licend The above is the entire license notice + for the JavaScript code in this page. +</pre> +<p>Oczywiście, wszystko to powinno być zawarte w wielowierszowym +komentarzu.</p> + +<p><a href="/licenses/gpl.html">GNU GPL</a>, tak jak wiele innych licencji +wolnego oprogramowania wymaga dystrybucji kopii licencji zarówno +z kodem jak i binariami programu. Jednakże, GNU GPL jest +na tyle długie, że załączanie go do strony zawierającej +JavaScript może być uciążliwe. Można pominąć to wymaganie, dla kodu +do którego posiada się prawa autorskie, taką notatką licencyjną:</p> +<pre dir="ltr"> + + Copyright (C) YYYY Developer + + Kod JavaScript na tej stronie jest wolnym oprogramowaniem: można + go rozprowadzać oraz modyfikować go zgodnie z warunkami GNU + General Public License (GNU GPL) opublikowanym przez Free Software + Foundation, licencji w wersji 3, bądź (opcjonalnie) każdą późniejszą wersją + Kod dystrybuowany jest BEZ JAKIEJKOLWIEK GWARANCJI; + nawet bez domniemanej gwarancji ZDATNOŚCI DO HANDLU + czy ZDATNOŚCI DO OKREŚLONEGO CELU. Proszę odwołać się + do GNU GPL po szczegóły. + + Jako dodatkowe zezwolenie zgodne z GNU GPL wersji 3 sekcji 7, + można dystrybuować nie-źródłowe (np., zminimalizowane bądź upakowane) + formy tego kodu bez kopii GNU GPL normalnie wymaganej + w sekcji 4, pod warunkiem załączenia tej notatki licencyjnej i URL + przez które odbiorcy mogą dotrzeć do Właściwego Źródła + +</pre> + +<p>Dziękuje Jaffarowi Rumithowi za zwrócenie mojej uwagi na tę +kwestię.</p> + +<h3 id="AppendixB">Załącznik B: konwencja dla wypuszczania wolnych programów JavaScript.</h3> + +<p>Jeśli jesteście webmasterem rozprowadzającym wolne oprogramowanie JavaScript +na Waszej stronie, to jasne i konsekwentne umieszczanie informacji +o licencjach i kodzie źródłowym pomaga odwiedzającym upewnić się, +że uruchamiają wolne oprogramowanie i pomogą Wam przestrzegać +warunki licencji.</p> + +<p>Jedną z metod przedstawiania licencji jest ta opisana wyżej w <a +href="#AppendixA">Dodatku A</a>. Druga metoda, <a +href="/licenses/javascript-labels.html">JavaScript license web labels</a>, +może być wygodniejsza dla bibliotek z-minifi-owanym kodem JavaScript, +szczególnie gdy to nie Wy go napisaliście.</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>Wszelkie pytania dotyczące GNU i FSF prosimy kierować na adres <a +href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. Inne metody kontaktu +z FSF można znaleźć na stronie <a +href="/contact/contact.html">kontakt</a> <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 /> Więcej +informacji na temat koordynacji oraz zgłaszania propozycji +tłumaczeń artykułów znajdziecie na <a +href="/server/standards/README.translations.html">stronie tłumaczeń</a>.</p> +</div> + +<!-- Regarding copyright, in general, standalone pages (as opposed to + files generated as part of manuals) on the GNU web server should + be under CC BY-ND 4.0. Please do NOT change or remove this + without talking with the webmasters or licensing team first. + Please make sure the copyright date is consistent with the + document. For web pages, it is ok to list just the latest year the + document was modified, or published. + + If you wish to list earlier years, that is ok too. + Either "2001, 2002, 2003" or "2001-2003" are ok for specifying + years, as long as each year in the range is in fact a copyrightable + year, i.e., a year in which the document was published (including + being publicly visible on the web or in a revision control system). + + There is more detail about copyright years in the GNU Maintainers + Information document, www.gnu.org/prep/maintain. --> +<p>Copyright © 2009-2013, 2016 Richard Stallman</p> + +<p>Ta strona jest dostępna na <a rel="license" +href="http://creativecommons.org/licenses/by-nd/4.0/deed.pl">licencji +Creative Commons Uznanie autorstwa – Bez utworów zależnych +4.0 Międzynarodowe</a>.</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: Jan Owoc 2012, 2016, Jan Wieremjewicz 2010, 2012; poprawki Jan +Owoc 2010, 2011, 2013.</div> + +<p class="unprintable"><!-- timestamp start --> +Aktualizowane: + +$Date: 2016/11/18 07:32:45 $ + +<!-- timestamp end --> +</p> +</div> +</div> +</body> +</html> |