12 lipca odbyło się spotkanie Klubu Informatyka, zorganizowane przez Polskie Towarzystwo Informatyczne oraz Internet Society Poland. Jednym z punktów spotkania było moje wystąpienie poświęcone próbie ustalenia jak daleko może i powinien sięgać zakres klauzuli “copyleft”. Po krótkim przedstawieniu przeze mnie uwarunkowań prawnych (zakres ochrony programów komputerowych na podstawie polskiego prawa autorskiego, postanowienia GPL), technicznych (przykładowe techniki “code reuse”) oraz innych (takich jak podniesione w wywiadzie z Raymondem) rozpoczęła się żywa dyskusja.
Najwięcej kontrowersji wzbudziła analiza art. 29 prawa autorskiego, regulującego między innymi “dozwolony cytat z programu komputerowego”.
Art. 29 ust. 1 zezwala na przytaczanie w utworach stanowiących samoistną całość urywków rozpowszechnionych utworów lub drobnych utworów w całości, w zakresie uzasadnionym wyjaśnianiem, analizą krytyczną, nauczaniem lub prawami gatunku twórczości. W literaturze podniesiono, że przepis ten może stanowić uzasadnienie dla przytaczania cudzych programów w programach nowo tworzonych (K. Golat i R. Golat, Prawo komputerowe (Zagadnienia podstawowe), 41, Wydawnictwo Prawnicze, Warszawa 1998). W moim wystąpieniu przyjąłem założenie, że skoro korzystanie z programu komputerowego w sposób objęty zakresem tego przepisu nie wymaga zgody twórcy, nie jest także możliwe aby to korzystanie było objęte zakresem “copyleft”. Oznacza to, że twórca takiego nowego programu nie ma obowiązku uczynienia go wolnym oprogramowaniem gdy zdecyduje się go rozpowszechniać, nawet jeżeli program źródłowy udostępniany jest na GPL
Problem w tym, że zakres dopuszczalnego cytowania nie jest jasno określony, czego dowodem następujący… cytat:
Ocena dozwolonego zakresu zapożyczania z cudzego dzieła w postaci cytatu może być zawsze dokonana jedynie indywidualnie w odniesieniu do konkretnego przypadku. Nie jest zatem możliwe posłużenie się generalnymi kryteriami ilościowymi, wyrażającymi dopuszczalny procent cytatu w stosunku do reszty dzieła, z którego pochodzi, i w odniesieniu do dzieła posługującego się cytatem. Kryterium decydującym o dozwolonym rozmiarze jest wyłącznie cel cytowania, natomiast wielkość przejmowanego fragmentu w stosunku do każdego z utworów może stanowić jedynie pomocniczą wskazówkę. (E. Traple, Komentarz do art. 29… w: J. Barta, et. al., Ustawa o prawie autorskim i prawach pokrewnych. Komentarz, teza 6 do art. 29, Dom Wydawniczy ABC, 2001 wyd. II).
Kolejnym utrudnieniem jest to, że przepis ten posługuje się sformułowaniami ogólnymi, których zastosowanie do programów komputerowych wprost budzi dodatkowe wątpliwości.
Moim zdaniem, zakres art. 29 na pewno nie jest aż tak szeroki, aby umożliwić całkowite obejście klauzuli “copyleft”. Paradoksalnie, na rzecz zwolenników stosowania tej klauzuli przemawiają argumenty zwykle podnoszone w celu uzasadnienia silnej ochrony prawnoautorskiej. Należy bowiem pamiętać, że omawiany przepis jest wyjątkiem w stosunku do zasady jaką jest monopol autorski, a odwiecznie uznawane reguły wykładni zakazują rozszerzającego interpretowania wyjątków. Dalej, skorzystanie z uprawnień art. 29 obwarowane jest kilkoma warunkami. Przede wszystkim wynikają one wprost z przepisów, np. przesłanki z art. 29 ust. 1 - wyjaśnianie, analiza krytyczna, nauczanie, prawa gatunku twórczości; art. 34 - obowiązek podania źródła, art. 35 - zakaz naruszania normalnego korzystania z utworu lub godzenia w słuszne interesy twórcy. Dalsze warunki formułuje orzecznictwo i doktryna.
Oprócz art. 29 (czy też dozwolonego użytku w ogóle, jeżeli rozważania rozszerzymy poza prawo polskie), zwróciłem uwagę także na inne prawnicze kontrowersje związane z zakresem “copyleft”. Są to przede wszystkim:
- objęcie ochroną form wyrażenia programu, a wyłączenie ochrony dla idei i zasad będących podstawą programu;
- zaliczenie do monopolu autorskiego prawa do dokonywania zmian w programie oraz relacji tego przepisu do przepisów o opracowaniu;
- zachowanie praw do programu wykorzystanego w zbiorze, utworze zbiorowym lub utworach połączonych.
Ustalenie dokładnego zakresu tych przepisów może być dodatkowo utrudnione przez skomplikowane stany faktyczne wynikające z korzystania z rozmaitych technik “code reuse”, do których zaliczam między innymi: łączenie (statyczne i dynamiczne), korzystanie z modułów, interakcja przez API i inne interfejsy, wymiana danych i inne sposoby komunikacji między programami (np. protokoły komunikacyjne), stworzenie poprawki (patch) lub pliku (skryptu) konfigurującego. Kolejnym źródłem kontrowersji są postanowienia samych licencji; dla przykładu, GPL wyłącza spod klauzuli “copyleft” tzw. “mere aggregation”, jednak nigdzie dokładnie nie definiuje tego pojęcia. Na sam koniec trzeba podkreślić, że GPL nie jest ustawą, lecz umową, której treść i skutki podlegają w konkretnym przypadku badaniu z uwzględnieniem przepisów o wykładni oświadczeń woli, a przede wszystkim art. 56 i 65 kc.
Zwraca uwagę, że wyżej opisane kontrowersje dotyczą przypadków skrajnych, znajdujących się na granicy pomiędzy ochroną prawa autorskiego a domeną publiczną. Niewątpliwie, w bardziej typowych przypadkach zakres klazululi “copyleft” jest łatwiejszy do ustalenia, czego dowodem są dokonania Haralda Welte.
Równolegle toczyła się dyskusja de lege ferenda, wywołana przewrotnie zadanym pytaniem, czy “copyleft” jest w ogóle potrzebny oraz popadającym w drugą skrajność, czy być może powinien to być domyślny stan uregulowany ustawowo. Nie zabrakło oczywiście głosów zwolenników licencji BSD, a także rozważań nad skutkami korzystania z tej lub innej otwartej licencji dla możliwości prowadzenia działalności gospodarczej w oparciu o wolne oprogramowanie.
Wyżej opisanej tematyce poświęcony jest mój artykuł “Zakres klauzuli copyleft w prawie polskim”, który niedługo powinien ukazać się drukiem.
Niniejszy komentarz jest odpowiedzią na prywatny list autora blogu, zgodnie z jego życzeniem odpowiadam publicznie:
Nie tyle “znajduje zastosowanie”, co “obowiązuje”. Formalnie. Tak też twierdzę: formalnie art.29 obowiązuje także w przypadku programów komputerowych. Choć w praktyce, dla programów własnościowych, nie ma on zastosowania.
Kluczowym jest pierwszy z nich.
Jak to trafnie ujęli Barta i Markiewicz: programy uznano za utwory (i to utwory literackie) w myśl zasady “cel uświęca środki”.
Analogia - według obowiązujących przepisów - jest całkiem fałszywa.
Według idei wolnego oprogramowania. Ale nie według istniejącego prawa. Musi się Pan w analizie trzymać albo jednego, albo drugiego. Jeśli patrzy się programy tak jak zwolennicy wolnego oprogramowania, to nie ma powodu, żeby stawiać na piedestale przepisy obecnie obowiązującego prawa. Prawa przyznającego posiadaczom praw majątkowych szczególnie duże uprawnienia, znacznie większe niż autorom dzieł literackich, prawa w istocie przyczyniającego się do rozkwitu branży własnościowych programów.
Z drugiej strony, jeżeli chce Pan jako wartość wyższą i argument nadrzędny stawiać istniejące prawo, to proszę zwrócić uwagę na to, że w art.29.1 mamy do czynienia z dwoma równoczesnymi warunkami:
a) wolno cytować tylko urywki, jedynie drobne utwory w całości
b) wyłącznie na potrzeby:
b1) wyjaśniania
b2) lub analizy krytycznej
b3) lub nauczania
b4) lub praw gatunku twórczości.
W przypadku, jaki Pan porusza - program własnościowy czerpiący z kodu objętego GPL - zastosowanie może mieć wyłącznie a)+b4). Ale z kolei uważna lektura prawa autorskiego wskazuje na to, że według ustawodawcy “prawa gatunku twórczości”, jaką jest oprogramowanie, nie dozwalają na podobne działania (por. np. 75.3.1). To akurat wydaje się oczywiste, nie tylko dla programistów, jak sądzę.
Wobec tego art.29 nie ma w praktyce programów własnościowych żadnego znaczenia. Jeszcze raz proszę: niech Pan spróbuje podać przykład, może być wymyślony, byle w miarę konkretny, takiej sytuacji.
Cudzy kod źródłowy można zgodnie z ustawą wykorzystać we własnym tylko wtedy, kiedy ten własny się upubliczni. Bo tylko tak można uzyskać efekty analizy czy nauczania. Tym samym nie sposób z tak uzyskanego całościowego kodu uczynić programu własnościowego, bo jeśli służył nauczaniu, to także do niego stosuje się ten sam zapis ustawy.
Mniejsze od dowolnie małego epsilon. W codziennej polszczyźnie: dokładnie zerowe zagrożenie.
Nie widzę żadnej możliwości powołania się w takim przypadku na art.29. Absolutnie żadnej.
Komentarz zostawił(a) W.Kotwica — 2005-07-24 o 3.09 pm (permalink)
Co do zasady się z Panem zgadzam. Dlatego zarówno na spotkaniu w Klubie Informatyka, jak i w powyższym sprawozdaniu podkreślam, ze art. 29 nie może służyć do całkowitego obejścia klauzuli copyleft.
“Prawo gatunku twórczości” nie wydaje mi się tym samym, co “prawna regulacja programów komputerowych w prawie autorskim”. Niemniej jednak zgadzam się, że tekst ustawy w jakiś tam sposób oddaje rozumienie tego pierwszego przez ustawodawcę.
Reguły interpretacji nakazują stosowanie takiej wykładni, która utrzymuje wewnętrzną zgodność przepisów. Skoro zatem w tej samej ustawie są normy, które Pan opisał oraz norma zezwalająca na ograniczone cytowanie to nie może być to wewnętrzą sprzecznością. Moim zdaniem, szczególna regulacja programów komputerowych i daleko idące zakazy korzystania z nich bez zgody uprawnionego są regułą, a art. 29 wyjątkiem od tej reguły. Tym samym znowu przyznaję Panu rację - jego zastosowanie jest ograniczone, jednak nie można wskazywać, że ograniczenie to wynika z samych przepisów, które ustanawiają zasadę, bo art. 29 jest własnie od tej zasady wyjątkiem.
Co do przykładów praktycznych: a) Zacytowanie kilku linijek kodu, które realizują dość pospolite zadanie; b) Zacytowanie kilku linijek, które realizują niezwykle odkrywczą i innowacyjną funkcję programu decydującą o jego sukcesie; c) Zacytowanie całej funkcji z biblioteki na GPL, która jednak realizuje całkiem pospolite zadanie (sortowanie?); d) Zacytowanie funkcji, ale realizującej mechanizm szyfrowania nowej generacji.
W których przypadkach należy publikować kod swojego rozpowszechnianego programu, jeżeli program cytowany jest na GPL? Zawsze? Proszę o wyrozumiałość - przykłady zostały wymyślone przez prawnika, a nie informatyka.
Zgadzam się, że w praktyce, powołanie się na art. 29 jest znacznie utrudnione. Ale jest on tylko jednym z przepisów wyznaczających zakres klauzuli copyleft. To po pierwsze. Po drugie, powyżej i na spotkaniu Klubu Informatyka zająłem sie analizą teoretyczną, której celem jest między innymi wykazanie zasadności oraz celowości niektórych przepisów prawnych.
Przedmiotem spotkania była więc także dyskusja, jak daleko powinien sięgać zakres klazuli “copyleft” i czy powinien on wynikać jedynie z umów (jak do tej pory - licencji GPL) czy zasługuje być może na regulację ustawową. Jeżeli natomiast to ostatnie, to czy drogą do tego jest zaostrzanie, czy łagodzenie prawno-autorskiej ochrony programów komputerowych.
Jak rozumiem argumentacja Pana ma na celu wykazanie, że niezwykle szeroka ochrona programów komputerowych przyznana w obecnym prawie skutkuje równie szerokim zakresem klauzuli “copyleft”, a zatem - paradoksalnie - zawłaszczanie wolnego oprogramowania jest wręcz nielegalne i to nawet, kiedy zawłaszczyło się tylko troszeczkę. Czyli - silna ochrona służy zarówno twórcom oprogramowania własnościowego, jak i wolnego. Czy tak mam rozumieć Pana stanowisko, czy wręcz przeciwnie - obecną sytuację traktuje Pan jako zło konieczne i najlepiej czułby się Pan w świecie, gdzie prawo nie stawia żadnych barier dla korzystania z programów pisanych przez inne osoby?
Komentarz zostawił(a) Krzysztof Siewicz — 2005-07-25 o 9.33 am (permalink)
Otóz niemożność niesprzecznego stosowania art.29 właśnie wynika z przepisów ustanawiających szczególne zasady dla oprogramowania!
Gdyby było tak, że stosowanie “praw gatunku twórczości” na podstawie art. 29 jest wyjątkiem od ogólnych zasad dotyczących oprogramowania (bo art.29 jest w istocie sformułowany jako lista wyjątków), to połowa rozdziału 7 nie byłaby warta papieru, na którym ją zapisano. Dlaczego? Bo tak funkcjonujący wyjątek całkowicie pozbawiałby realnej mocy, anulowałby zakaz kopiowania i inżynierii wstecznej! Skoro każdy mógłby kopiować cudzy kod powołując się na “prawa gatunku” oraz art.29 jako wyjątek ponad zasadą, to sama zasada byłaby zupełnie nieskuteczna. Martwa od urodzenia.
Zgodnie z polską ustawą nie ma wyjątków. Formalnie - zawsze. Oczywiście, mogę się mylić, być może umknął mi jakiś szczegół.
Ponieważ nie dało się zmienić prawa (i tu powstaje kwestia, o której kiedyś napomknęliśmy: jak powstaje i komu służy prawo?), copyleft został po prostu zaprojektowany w taki sposób, żeby maksymalnie wykorzystać istniejące przepisy do realizacji właściwych celów, choć nie były do nich projektowane. Najbardziej pożądaną byłaby zmiana prawa.
“Albo istniejące przepisy, albo zupełny brak przepisów”, tertium non datur? Czy to nie zbyt pochopna konkluzja?
Komentarz zostawił(a) W.Kotwica — 2005-07-25 o 5.00 pm (permalink)
Wyraźne wskazanie, które przepisy o dozwolonym użytku nie stosują się do programów nie obejmuje artykułu 29. Oznacza to, że zamiarem ustawodawcy było objęcie programów tym przepisem. Pytanie, czy tylko w celu umożliwienia cytowania cudzych programów w podręcznikach o programowaniu (wyjaśnianie, nauczanie), w celu publicznego wytknięcia błędów (analiza krytyczna), czy także w celu umożliwienia tworzenia nowych programów (czyli umożliwienia “code reuse”)…
Cytatem jest zapożyczenie z cudzego utworu bez wprowadzania zmian. Dozwolenie na cytowanie oznacza zatem uchylenie zakazu kopiowania w określonych przypadkach (nie całkowicie), ale nie uchylenie zakazu inżynierii wstecznej, która prowadzi do zmiany formy wyrażenia programu. Jeżeli zatem program jest udostępniany w kodzie wynikowym, to tylko ten kod można cytować - oczywiście jest to praktycznie nierealne.
Możliwe byłoby zatem jedynie cytowanie programów udostępnianych w kodzie źródłowym. Jednak, jeżeli po takim zacytowaniu program zostanie skompilowany i rozpowszechniany jedynie w formie wykonywalnej, to wtedy mamy już do czynienia ze zmianą chronionej formy wyrażenia cytowanego utworu. Ale, praktyka stosowania prawa dopuszcza cytowanie w formie tłumaczenia (często spotykane w pracach naukowych, zwykle z dopiskiem “tłumaczenie własne”). Kompilacja to przecież tłumaczenie…
Cóż - nie wydaje mi się, abyśmy tę kwestię rozstrzygnęli. Poza tym wzbiliśmy się na bardzo wysoki poziom abstrakcji prawniczej, a jak sam Pan przyznał - dla kilku linijek kodu nikt nie będzie latał po sądach… Chociaż, według mojej wiedzy historyczny proces dotyczący systemu BSD toczył się w związku z “zapożyczeniem” ok. 130 linii kodu spośród 1 300 000 (z pism procesowych nie zdołałem się zorientować, ale te 130 linii to chyba te 4 pliki, które później usunięto przy przygotowywaniu wersji 4.4BSD-Lite).
Przechodząc do drugiego tematu. Pisze Pan: “albo istniejące przepisy, albo brak przepisów”. Jak rozumiem, jeżeli istniejące przepisy, to jest Pan za maksymalnym rozszerzeniem monopolu autorskiego, bo tylko wtedy “copyleft” będzie tym bardziej skuteczne.
Cóż jednak się stanie, gdybyśmy znieśli obecną ochronę prawa autorskiego dla programów. Czy powstała wtedy sytuacja nie będzie przypominać funkcjonowania licencji BSD? Przecież wtedy twórcy wolnego oprogramowania stracą jakąkolwiek możliwość wymagania publikacji kodów źródłowych od osób rozpowszechniających własne programy oparte na wolnym oprogramowaniu.
Pomijając ten, raczej całkiem nieprawdopodobny, scenariusz, proszę nie zapominać, że prawo powinno zapewniać równowagę interesów wszystkich zainteresowanych. Czy interesy producentów oprogramowania własnościowego nie zasługują na ochronę? W Pana scenariuszu “wolne oprogramowanie albo śmierć” trudno mi znaleźć dla nich miejsce.
Komentarz zostawił(a) Krzysztof Siewicz — 2005-07-25 o 6.05 pm (permalink)
W takim zakresie, jaki nie powoduje sprzeczności z regułami rozdziału 7. Inaczej by je praktycznie unieważniał.
Zgoda. Jednak taka zmiana formy to po prostu tłumaczenie, jak Pan dalej słusznie wskazuje.
Po drugie, co istotniejsze, z zakazu inżynierii wstecznej wynika, że ustawodawca postanowił objąć prawami autorskimi kod wynikowy, czyli binarne ciągi, sekwencje zer i jedynek. Liczby. Nazywając je, zgodnie z art.1.1 “przejawem działalności twórczej o indywidualnym charakterze”. Dochodzimy do granic absurdu.
Jesteśmy już bardzo, bardzo daleko od tematu komentowanego tekstu, więc tylko w paru zdaniach:
Obawiam się, że zrozumiał mnie Pan zupełnie opacznie. Jestem za zmianami istniejących przepisów, ale bynajmniej nie w kierunku poszerzania monopolu autorskiego.
Jeśli jestem zainteresowany prowadzeniem usług prawnych, choć nie spełniam określonych wymagań, prawo mi tego zakazuje. Jeżeli chcę sobie lub komuś postawić lub przebudować dom, prawo wymaga ode mnie, żebym uzyskał zezwolenie, m.in. przedstawił dokumentację techniczną. W wielu przypadkach zainteresowani nie mogą realizować “swoich interesów” tak, jak by sobie chcieli. Żeby się nie rozwodzić, ewentualna dyskusja sprowadzałaby się zapewne do rozważania słuszności argumentów zbliżonych do zawartych w
http://www.gnu.org/philosophy/misinterpreting-copyright.html
Komentarz zostawił(a) W.Kotwica — 2005-07-26 o 7.56 am (permalink)