taler-merchant-demos

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

javascript-trap.html (19003B)


      1 <!--#set var="PO_FILE"
      2  value='<a href="/philosophy/po/javascript-trap.pl.po">
      3  https://www.gnu.org/philosophy/po/javascript-trap.pl.po</a>'
      4  --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html"
      5  --><!--#set var="DIFF_FILE" value="/philosophy/po/javascript-trap.pl-diff.html"
      6  --><!--#set var="OUTDATED_SINCE" value="2016-03-27" -->
      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>Pułapka JavaScript'u</title>
     13 
     14 <!--#include virtual="/philosophy/po/javascript-trap.translist" -->
     15 <!--#include virtual="/server/banner.pl.html" -->
     16 <!--#include virtual="/server/outdated.pl.html" -->
     17 <h2>Pułapka JavaScript'u</h2>
     18 
     19 <p><a href="http://www.stallman.org/">Richard Stallman</a></p>
     20 
     21 <p><strong>Możliwe, że&nbsp;korzystasz z&nbsp;niewolnych programów
     22 na&nbsp;swoim komputerze każdego dnia &mdash; przez przeglądarkę
     23 internetową</strong></p>
     24 
     25 <p>W&nbsp;społeczności wolnego oprogramowania, znana jest idea tego,
     26 że&nbsp;niewolne programy źle traktują użytkowników. Niektórzy z&nbsp;nas
     27 całkowicie odmawiają instalacji prawnie zastrzeżonego oprogramowania,
     28 a&nbsp;wielu innych fakt bycia niewolnym uważa za&nbsp;wadę programu. Wielu
     29 użytkowników jest świadomych tego, że&nbsp;kwestia ta ma zastosowanie
     30 do&nbsp;wtyczek oferowanych do&nbsp;instalacji przez przeglądarki, jako
     31 że&nbsp;mogą one być wolne bądź&nbsp;niewolne.</p>
     32 
     33 <p>Jednak&nbsp;przeglądarki uruchamiają inne niewolne programy, o co nie pytają
     34 użytkowników ani&nbsp;nawet ich o tym nie informują &mdash; programy zawarte
     35 bezpośrednio bądź&nbsp;przez odnośnik na&nbsp;stronach internetowych. Te
     36 programy najczęściej napisane są w&nbsp;JavaScript, choć&nbsp;wykorzystywane
     37 są także i&nbsp;inne języki.</p>
     38 
     39 <p>JavaScript (oficjalnie nazywany ECMAScript, choć&nbsp;niewielu korzysta
     40 z&nbsp;tej nazwy) był dawniej wykorzystywany do&nbsp;drobnych upiększeń
     41 na&nbsp;stronach internetowych, takich jak ładne, lecz&nbsp;nieistotne
     42 elementy nawigacji bądź&nbsp;wyświetlania. Dopuszczalnym było traktowanie
     43 ich jedynie jako rozszerzenia znaczników HTML, raczej niż prawdziwe
     44 oprogramowanie; nie stanowiły one znaczącej kwestii.</p>
     45 
     46 <p>Wiele stron korzysta z&nbsp;JavaScript w&nbsp;ten sposób,
     47 jednak&nbsp;niektóre wykorzystują go do&nbsp;większych programów
     48 wykonujących duże zadania. Przykładowo, Google Docs próbuje pobrać
     49 na&nbsp;maszynę użytkownika program JavaScript o objętości pół megabajta,
     50 upakowany w&nbsp;formie, którą nazwać można Obfuscriptem (celowo
     51 nieczytelnie napisany kod) ponieważ&nbsp;nie posiada żadnych komentarzy
     52 i&nbsp;prawie żadnych białych znaków, a&nbsp;nazwy metod są
     53 jednoliterowe. Kod źródłowy programu jest preferowaną formą do&nbsp;jego
     54 modyfikacji; upakowany kod nie jest kodem źródłowym,
     55 natomiast&nbsp;prawdziwy kod źródłowy tego programu nie jest dostępny dla
     56 użytkownika.</p>
     57 
     58 <p>Przeglądarki normalnie nie informują użytkownika kiedy ładują programy
     59 JavaScript. Niektóre przeglądarki ma możliwość by wyłączyć JavaScript
     60 całkowicie, jednak&nbsp;nawet jeśli o tym wiesz, jest nieoczywiste jak
     61 rozróżnić nietrywialne niewolne oprogramowanie i&nbsp;je zablokować. Jednak,
     62 nawet w&nbsp;społeczności wolnego oprogramowania, większość użytkowników nie
     63 jest świadoma tej kwestii; milczenie przeglądarek sprzyja zaś&nbsp;zatajaniu
     64 tego.</p>
     65 
     66 <p>Jest możliwym wydanie programu JavaScript jako wolnego oprogramowania, przez
     67 dystrybucję kodu objętego licencją wolnego oprogramowania. Jeśli program
     68 jest samowystarczalny&nbsp;&ndash; jeśli jego funkcja czy&nbsp;cel są
     69 niezależne od&nbsp;strony na&nbsp;której jest&nbsp;&ndash; to jest
     70 w&nbsp;porządku; możecie skopiować program do&nbsp;pliku na&nbsp;komputerze,
     71 zmodyfikować go i&nbsp;odwiedzić w&nbsp;przeglądarce aby&nbsp;go
     72 uruchomić. Ale&nbsp;to nietypowy przypadek.</p>
     73 
     74 <p>Zwykle programy JavaScript są zaprojektowane aby&nbsp;działać
     75 z&nbsp;konkretną stroną czy&nbsp;witryną i&nbsp;strona czy&nbsp;witryna
     76 wymaga ich do&nbsp;funkcjonowania. Wtedy jest dodatkowy problem: nawet jeśli
     77 jest kod źródłowy programu, przeglądarki nie oferują udogodnień
     78 umożliwiających uruchomienie własnej zmodyfikowanej wersji zamiast tej
     79 dostarczanej na&nbsp;stronie. Efekt jest porównywalny do&nbsp;tivoizacji
     80 (ang. tivoization - od&nbsp;urządzenia TiVo), jednak&nbsp;nie jest on aż tak
     81 trudny do&nbsp;obejścia.</p>
     82 
     83 <p>JavaScript nie jest jedynym językiem w&nbsp;którym strony przesyłają
     84 programy. Flash umożliwia programowanie poprzez&nbsp;rozszerzony wariant
     85 JavaScript; jeśli kiedykolwiek będziemy mieli wystarczająco kompletny,
     86 wolny, program do&nbsp;odtwarzania Flash, będziemy musieli się uporać
     87 z&nbsp;niewolnymi programami Flash. Silverlight wydaje się stwarzać problemy
     88 podobne do&nbsp;Flasha, jedynie gorsze, skoro Microsoft używa go jako
     89 platformy do&nbsp;niewolnych kodeków. Wolne zastępstwo Silverlight nie
     90 byłoby wystarczające dla wolnego świata chyba, że&nbsp;standardowo zawiera
     91 wolne zastępcze kodeki.</p>
     92 
     93 <p>Aplety Java także są uruchamiane w&nbsp;przeglądarce i&nbsp;wzbudzają
     94 podobne kłopoty. Ogólnie rzecz biorąc, każdy typ systemu apletów stanowi
     95 tego typu zagrożenie. Posiadanie wolnego środowiska wykonawczego dla apletu
     96 jedynie przybliża nas aby&nbsp;bezpośrednio zetknąć się z&nbsp;sednem
     97 sprawy.</p>
     98 
     99 <p>Teoretycznie jest możliwe aby&nbsp;programować w&nbsp;HTML i&nbsp;CSS,
    100 ale&nbsp;w praktyce jest to ograniczone i&nbsp;niewygodne;
    101 aby&nbsp;cokolwiek zrobiło to już dobre przedsięwzięcie. Takie programy
    102 powinny być wolne, ale&nbsp;CSS nie jest poważnym problemem dla wolności
    103 użytkowników w&nbsp;roku 2016.</p>
    104 
    105 <p>Powstał silny ruch który domaga się od&nbsp;stron internetowych by
    106 komunikowały się jedynie przez formaty i&nbsp;protokoły, które są wolne
    107 (niektórzy powiedzą &bdquo;otwarte&rdquo;); a&nbsp;więc takich, których
    108 dokumentacja została opublikowana i&nbsp;które każdy może
    109 zaimplementować. Z&nbsp;obecnością programów na&nbsp;stronach internetowych,
    110 takie kryterium jest konieczne, lecz&nbsp;nie wystarczające. JavaScript sam
    111 w&nbsp;sobie, jako format, jest wolny, a&nbsp;wykorzystanie JavaScript
    112 w&nbsp;na stronie internetowej samo w&nbsp;sobie nie jest złe. Jednak, jak
    113 widać po&nbsp;powyższych przykładach, nie jest to automatycznie
    114 w&nbsp;porządku. Kiedy strona przesyła program do&nbsp;użytkowanika, nie
    115 jest wystarczającym by program był napisany w&nbsp;udokumentowanym
    116 i&nbsp;nieobciążonym języku; taki program musi być także
    117 wolny. &bdquo;Jedynie wolne programy przesyłane do&nbsp;użytkownika&rdquo;
    118 mogą stać się częścią kryterium dla poprawnego zachowania się stron
    119 internetowych.</p>
    120 
    121 <p>Ciche ładowanie i&nbsp;uruchamianie niewolnych programów jest jedną
    122 z&nbsp;wielu kwestii wnoszonych przez &bdquo;aplikacje
    123 sieciowe&rdquo;. Termin &bdquo;aplikacji sieciowych&rdquo; został
    124 zaprojektowany by ignorować fundamentalne różnice między oprogramowaniem
    125 dostarczonym do&nbsp;użytkowników, a&nbsp;oprogramowaniem działającym
    126 na&nbsp;serwerze. Może się on odnosić do&nbsp;wyspecjalizowanego programu
    127 uruchamianego bezpośrednio w&nbsp;przeglądarce; może się on odnosić
    128 do&nbsp;wyspecjalizowanego oprogramowania serwera; może się on odnosić
    129 do&nbsp;wyspecjalizowanego programu w&nbsp;przeglądarce działającego
    130 wspólnie z&nbsp;wyspecjalizowanym oprogramowaniem serwera. Strony klienta
    131 i&nbsp;serwera podnoszą różne kwestie etyczne, nawet jeśli są tak mocno
    132 zintegrowane, że&nbsp;w efekcie tworzą części jednego programu. To
    133 opracowanie dotyczy tylko oprogramowanie po&nbsp;stronie
    134 klienta. Oprogramowanie na&nbsp;serwerach omawiamy osobno.</p>
    135 
    136 <p>W&nbsp;kwestiach praktycznych, jak możemy sobie radzić z&nbsp;problemem
    137 niewolnych programów JavaScript na&nbsp;stronach internetowych? Pierwszym
    138 krokiem jest aby&nbsp;go nie uruchamiać.</p>
    139 
    140 <p>Po&nbsp;pierwsze, co mamy na&nbsp;myśli przez &bdquo;nietrywialne&rdquo;?
    141 Skoro pojęcie &bdquo;nietrywialności&rdquo; jest stopniowane, jest kwestią
    142 zaprojektowania prostego kryterium dającego dobre rezultaty, raczej niż
    143 ustalania jednej poprawnej odpowiedzi.</p>
    144 <p>
    145 Nasza wstępna zasada jest aby&nbsp;program JavaScript był nietrywialny
    146 jeśli:</p>
    147 
    148 <ul>
    149   <li>robi żądania AJAX lub&nbsp;jest ładowany ze skryptami, które robią żądania
    150 AJAX,</li>
    151 
    152   <li>ładuje dynamicznie zewnętrzne skrypty lub&nbsp;jest ładowany razem ze
    153 skryptami, które to robią,</li>
    154 
    155   <li>definiuje funkcje i&nbsp;albo ładuje zewnętrzny skrypt (z wnętrza html)
    156 lub&nbsp;jest ładowany jako taki,</li>
    157   
    158   <li>używa dynamiczne struktury JavaScript, które są trudne do&nbsp;analizowania
    159 bez&nbsp;uruchamiania programu, lub&nbsp;jest ładowany razem ze skryptami,
    160 które używają takich struktur. Te struktury to:
    161     <ul>
    162       <li>używanie funkcji eval,</li>
    163       <li>wywoływanie funkcji za&nbsp;pomocą kwadratowych nawiasów,</li>
    164       <li>Używanie konstrukcji innych niż ciąg znaków z&nbsp;niektórymi funkcjami
    165 (Obj.write, Obj.createElement, ...).</li>
    166     </ul>
    167   </li>
    168 </ul>
    169 
    170 <p>Jak rozróżnić czy&nbsp;dany kod JavaScript jest wolny? Na&nbsp;zakończenie
    171 tego artykułu proponujemy konwencję, według której nietrywialne programy
    172 JavaScript na&nbsp;stronie internetowej mogłyby podać URL pod&nbsp;którym
    173 znajduje się ich kod źródłowy, a&nbsp;także przy wykorzystaniu stylizowanych
    174 komentarzy określać swoją licencję.</p>
    175 
    176 <p>W&nbsp;końcu musimy zmienić wolne przeglądarki aby&nbsp;rozpoznawały
    177 i&nbsp;blokowały nietrywialny JavaScript na&nbsp;stronach
    178 internetowych. Program <a href="/software/librejs/">LibreJS</a> wykrywa
    179 niewolny, nietrywialny JavaScript na&nbsp;stronach, które odwiedzacie
    180 i&nbsp;go blokuje. LibreJS jest dodatkiem dla IceCat i&nbsp;IceWeasel (i dla
    181 Firefoksa).</p>
    182 
    183 <p>Użytkownicy przeglądarek potrzebują wygodnej metody określenia kodu
    184 JavaScript, którego chcą użyć <em>zamiast</em> JavaScript na&nbsp;wybranej
    185 stronie. (Określony kod może być całkowitym zastąpieniem,
    186 bądź&nbsp;zmodyfikowaną wersją wolnego programu JavaScript obecnego
    187 na&nbsp;wybranej stronie.) Greasemonkey jest bliskie umożliwienia tego,
    188 jednak&nbsp;nie do&nbsp;końca, gdyż nie gwarantuje modyfikacji kodu
    189 JavaScript na&nbsp;stronie zanim ten zacznie się wykonywać. Wykorzystanie
    190 lokalnego proxy działa, jednak&nbsp;jest zbyt niedogodne by być realnym
    191 rozwiązaniem. Potrzebujemy rozwiązania, które jest niezawodne
    192 i&nbsp;wygodne, jak i&nbsp;witryny gdzie można się dzielić zmianami. Projekt
    193 GNU zarekomenduje strony, które są dedykowane jedynie wolnym zmianom.</p>
    194 
    195 <p>Takie możliwości umożliwią programom JavaScript zawartym na&nbsp;stronach
    196 internetowych bycie wolnymi w&nbsp;rzeczywistym i&nbsp;praktycznym
    197 sensie. JavaScript nie będzie nadal szczególną przeszkodą do&nbsp;naszej
    198 wolnośći &mdash; nie bardziej niż C i&nbsp;Java są nimi teraz. Będziemy
    199 mogli odrzucić a&nbsp;nawet podmienić niewolne, nietrywialne programy
    200 JavaScript, tak samo jak możemy podmienić niewolne pakiety normalnie
    201 oferowane nam do&nbsp;instalacji. Nasza kampania dla stron internetowych by
    202 uwolnić ich JavaScript może się wtedy zacząć.</p>
    203 
    204 <p>W&nbsp;międzyczasie jest jeden przypadek gdzie jest dopuszczalne uruchamiać
    205 niewolny program JavaScript: aby&nbsp;wysłać zażalenie do&nbsp;operatorów
    206 witryn internetowych, że&nbsp;powinni uwolnić lub&nbsp;usunąć JavaScript ze
    207 stron. Nie wahajcie się włączyć JavaScript tymczasowo aby&nbsp;to zrobić,
    208 ale&nbsp;pamiętajcie go potem wyłączyć.</p>
    209 
    210 <p><strong>Podziękowania dla <a href="/people/people.html#mattlee">Matta
    211 Lee</a> i&nbsp;<a href="http://ejohn.org">Johna Resiga</a> za&nbsp;ich pomoc
    212 w&nbsp;definiowaniu naszej propozycji kryterium, oraz&nbsp;dla Davida
    213 Parunakiana za&nbsp;pomoc w&nbsp;uświadomieniu mi problemu.</strong></p>
    214 
    215 <h3 id="AppendixA">Załącznik A: konwencja dla wypuszczania wolnych programów JavaScript.</h3>
    216 
    217 <p>Odnośniki do&nbsp;kodu źródłowego proponujemy oznaczać</p>
    218 <pre dir="ltr">
    219 
    220     // @source:
    221 
    222 </pre>
    223 
    224 <p>a&nbsp;następnie URL. To spełnia wymóg GNU GPL aby&nbsp;rozprowadzać kod
    225 źródłowy. Jeśli kod jest na&nbsp;innej stronie, musicie zwrócić uwagę
    226 aby&nbsp;<a href="/licenses/gpl-faq.html#SourceAndBinaryOnDifferentSites">o
    227 to właściwie zadbać</a>. Kod źródłowy jest konieczny aby&nbsp;program był
    228 wolny.
    229 </p>
    230 
    231 <p>By wskazać licencję kodu JavaScript zawartego na&nbsp;stronie, proponujemy
    232 umieszczenie licencji między dwoma komentarzami w&nbsp;tej formie:</p>
    233 <pre dir="ltr">
    234 <!--TRANSLATORS: Do not translate these license notices.  The <pre>
    235 
    236     elements have dir="ltr" explicitly set to cater for RTL languages.-->
    237 
    238     @licstart  The following is the entire license notice for the 
    239     JavaScript code in this page.
    240     ...
    241     @licend  The above is the entire license notice
    242     for the JavaScript code in this page.
    243 </pre>
    244 <p>Oczywiście, wszystko to powinno być zawarte w&nbsp;wielowierszowym
    245 komentarzu.</p>
    246 
    247 <p><a href="/licenses/gpl.html">GNU GPL</a>, tak jak wiele innych licencji
    248 wolnego oprogramowania wymaga dystrybucji kopii licencji zarówno
    249 z&nbsp;kodem jak i&nbsp;binariami programu. Jednakże, GNU GPL jest
    250 na&nbsp;tyle długie, że&nbsp;załączanie go do&nbsp;strony zawierającej
    251 JavaScript może być uciążliwe. Można pominąć to wymaganie, dla kodu
    252 do&nbsp;którego posiada się prawa autorskie, taką notatką licencyjną:</p>
    253 <pre dir="ltr">
    254 
    255     Copyright (C) YYYY  Developer
    256 
    257     Kod JavaScript na&nbsp;tej stronie jest wolnym oprogramowaniem: można
    258     go rozprowadzać oraz&nbsp;modyfikować go zgodnie z&nbsp;warunkami GNU
    259     General Public License (GNU GPL) opublikowanym przez Free Software
    260     Foundation, licencji w&nbsp;wersji 3, bądź&nbsp;(opcjonalnie) każdą późniejszą wersją
    261     Kod dystrybuowany jest BEZ&nbsp;JAKIEJKOLWIEK GWARANCJI;
    262     nawet bez&nbsp;domniemanej gwarancji ZDATNOŚCI DO&nbsp;HANDLU
    263     czy&nbsp;ZDATNOŚCI DO&nbsp;OKREŚLONEGO CELU. Proszę odwołać się
    264     do&nbsp;GNU GPL po&nbsp;szczegóły.
    265 
    266     Jako dodatkowe zezwolenie zgodne z&nbsp;GNU GPL wersji 3 sekcji 7,
    267     można dystrybuować nie-źródłowe (np., zminimalizowane bądź&nbsp;    upakowane)
    268     formy tego kodu bez&nbsp;kopii GNU GPL normalnie wymaganej
    269     w&nbsp;sekcji 4, pod&nbsp;warunkiem załączenia tej notatki licencyjnej i&nbsp;URL
    270     przez które odbiorcy mogą dotrzeć do&nbsp;Właściwego Źródła
    271 
    272 </pre>
    273 
    274 <p>Dziękuje Jaffarowi Rumithowi za&nbsp;zwrócenie mojej uwagi na&nbsp;tę
    275 kwestię.</p>
    276 
    277 <h3 id="AppendixB">Załącznik B: konwencja dla wypuszczania wolnych programów JavaScript.</h3>
    278 
    279 <p>Jeśli jesteście webmasterem rozprowadzającym wolne oprogramowanie JavaScript
    280 na&nbsp;Waszej stronie, to jasne i&nbsp;konsekwentne umieszczanie informacji
    281 o licencjach i&nbsp;kodzie źródłowym pomaga odwiedzającym upewnić się,
    282 że&nbsp;uruchamiają wolne oprogramowanie i&nbsp;pomogą Wam przestrzegać
    283 warunki licencji.</p>
    284 
    285 <p>Jedną z&nbsp;metod przedstawiania licencji jest ta opisana wyżej w&nbsp;<a
    286 href="#AppendixA">Dodatku A</a>. Druga metoda, <a
    287 href="/licenses/javascript-labels.html">JavaScript license web labels</a>,
    288 może być wygodniejsza dla bibliotek z-minifi-owanym kodem JavaScript,
    289 szczególnie gdy to nie Wy go napisaliście.</p>
    290 
    291 <div class="translators-notes">
    292 
    293 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
    294  </div>
    295 </div>
    296 
    297 <!-- for id="content", starts in the include above -->
    298 <!--#include virtual="/server/footer.pl.html" -->
    299 <div id="footer">
    300 <div class="unprintable">
    301 
    302 <p>Wszelkie pytania dotyczące GNU i&nbsp;FSF prosimy kierować na&nbsp;adres <a
    303 href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Inne metody kontaktu
    304 z&nbsp;FSF można znaleźć na&nbsp;stronie <a
    305 href="/contact/contact.html">kontakt</a> <br /> Informacje o niedziałających
    306 odnośnikach oraz&nbsp;inne poprawki (lub propozycje) prosimy wysyłać
    307 na&nbsp;adres <a
    308 href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.</p>
    309 
    310 <p>
    311 <!-- TRANSLATORS: Ignore the original text in this paragraph,
    312         replace it with the translation of these two:
    313 
    314         We work hard and do our best to provide accurate, good quality
    315         translations.  However, we are not exempt from imperfection.
    316         Please send your comments and general suggestions in this regard
    317         to <a href="mailto:web-translators@gnu.org">
    318 
    319         &lt;web-translators@gnu.org&gt;</a>.</p>
    320 
    321         <p>For information on coordinating and submitting translations of
    322         our web pages, see <a
    323         href="/server/standards/README.translations.html">Translations
    324         README</a>. -->
    325 Staramy się, aby&nbsp;tłumaczenia były wierne i&nbsp;wysokiej jakości,
    326 ale&nbsp;nie jesteśmy zwolnieni z&nbsp;niedoskonałości. Komentarze odnośnie
    327 tłumaczenia polskiego oraz&nbsp;zgłoszenia dotyczące chęci współpracy
    328 w&nbsp;tłumaczeniu prosimy kierować na&nbsp;adres <a
    329 href="mailto:www-pl-trans@gnu.org">www-pl-trans@gnu.org</a>. <br /> Więcej
    330 informacji na&nbsp;temat koordynacji oraz&nbsp;zgłaszania propozycji
    331 tłumaczeń artykułów znajdziecie na&nbsp;<a
    332 href="/server/standards/README.translations.html">stronie tłumaczeń</a>.</p>
    333 </div>
    334 
    335 <!-- Regarding copyright, in general, standalone pages (as opposed to
    336      files generated as part of manuals) on the GNU web server should
    337      be under CC BY-ND 4.0.  Please do NOT change or remove this
    338      without talking with the webmasters or licensing team first.
    339      Please make sure the copyright date is consistent with the
    340      document.  For web pages, it is ok to list just the latest year the
    341      document was modified, or published.
    342      
    343      If you wish to list earlier years, that is ok too.
    344      Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
    345      years, as long as each year in the range is in fact a copyrightable
    346      year, i.e., a year in which the document was published (including
    347      being publicly visible on the web or in a revision control system).
    348      
    349      There is more detail about copyright years in the GNU Maintainers
    350      Information document, www.gnu.org/prep/maintain. -->
    351 <p>Copyright &copy; 2009-2013, 2016 Richard Stallman</p>
    352 
    353 <p>Ta strona jest dostępna na&nbsp;<a rel="license"
    354 href="http://creativecommons.org/licenses/by-nd/4.0/deed.pl">licencji
    355 Creative Commons Uznanie autorstwa&nbsp;&ndash; Bez&nbsp;utworów zależnych
    356 4.0 Międzynarodowe</a>.</p>
    357 
    358 <!--#include virtual="/server/bottom-notes.pl.html" -->
    359 <div class="translators-credits">
    360 
    361 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
    362 Tłumaczenie: Jan Owoc 2012, 2016, Jan Wieremjewicz 2010, 2012; poprawki Jan
    363 Owoc 2010, 2011, 2013.</div>
    364 
    365 <p class="unprintable"><!-- timestamp start -->
    366 Aktualizowane:
    367 
    368 $Date: 2016/11/18 07:32:45 $
    369 
    370 <!-- timestamp end -->
    371 </p>
    372 </div>
    373 </div>
    374 </body>
    375 </html>