Wypowiedź w kodzie

Wciąż nie poradzono sobie z pytaniem, czy swoboda publikowania kodu źródłowego powinna wynikać z prawa do wolności wypowiedzi?

Wciąż nie poradzono sobie z pytaniem, czy swoboda publikowania kodu źródłowego powinna wynikać z prawa do wolności wypowiedzi?

Zacząć zapewne należałoby od definicji. Będąc z wykształcenia prawnikiem, sięgnąłem po internetową encyklopedię, gdzie dowiedziałem się, że kodem źródłowym programu jest jego zapis w języku programowania. Wiadomo że programista potrafi zrozumieć kod źródłowy bez potrzeby jego uruchamiania. W czym zatem tkwi problem? Jeśli kod źródłowy może być przedmiotem praw autorskich, to można się zastanawiać, do jakiego stopnia jest także przykładem chronionej konstytucyjnie wolności słowa. Czym bowiem różni się kod źródłowy od artykułu w serwisie internetowym? W obu przypadkach autor w pewien sposób przekazuje poglądy, idee.

Co wolno

Jeśli przyjmiemy, że wolność słowa chroni kod źródłowy, to nie może być mowy o naruszaniu prawa przez jego publikowanie w Internecie. W grudniu ub.r. uniewinniono norweskiego programistę Jona Johansena, któremu zarzucono naruszenie przepisów prawa autorskiego, poprzez opublikowanie w Internecie programu (DeCSS) obchodzącego zabezpieczenia płyt DVD.

Można by postawić tezę, iż kod źródłowy to język, za pośrednictwem którego porozumiewają się informatycy. Większość opracowań poświęconych oprogramowaniu zawiera fragmenty kodu pozwalające lepiej zrozumieć funkcjonowanie aplikacji.

Publikowanie kodu w formie książkowej skłania do dyskusji między informatykami.

Zagadnienie kwalifikacji kodu źródłowego z prawnego punktu widzenia wypłynęło po raz pierwszy w sprawach związanych z publikowaniem w sieci programów szyfrujących. W 1997 r. prof. Daniel Bernstain umieścił na stronie internetowej program "Snuffle", pozwalający na szyfrowanie danych. Zdaniem administracji USA samo umieszczenie kodu źródłowego na stronie WWW było równoznaczne z eksportem programu. Biorąc pod uwagę obowiązek uzyskania zgody na eksportowanie tego typu produktów, publikowanie w Internecie ich kodu źródłowego naruszało przepisy.

W odpowiedzi zaskarżono przepisy eksportowe jako niezgodne z konstytucją. Sąd uznał, że kod źródłowy może korzystać z ochrony przewidzianej dla wolności słowa. Skoro na mocy przepisów prawa autorskiego programy komputerowe podlegają takiej samej ochronie jak utwory literackie, to w pewnych przypadkach będzie uzasadnione porównanie wyników pracy twórców programów do twórczości literackiej. Kod może być traktowany jako sposób wyrażania poglądów i idei naukowych programisty. Prof. Bernstain w dość prosty sposób udowodnił przed sądem, że kod może być zarówno funkcjonalny, jak i komunikatywny, przedstawiając zapis kodu w języku COBOL, który jest zbliżony do pisanego angielskiego.

Tymczasem najnowsze regulacje prawne, zwalczające przestępczość w sieci, zmierzają do objęcia karalnością tworzenia wirusów i innych narzędzi wykorzystywanych do niszczenia danych. Jak w takich sytuacjach traktować kod źródłowy programu? Czy na równi z samym programem? Kod źródłowy i maszynowy wyrażają te same idee - tylko w odmienny sposób. Kompilacja nie zmienia przecież funkcji aplikacji zamierzonych przez autora kodu źródłowego. Ukończony kod źródłowy łatwo przekształcić w destrukcyjny program.

Kto w tym momencie miałby być autorem wirusa, osoba, która opublikowała kod, czy kompilujący go programista? Podobne wątpliwości mogą dotyczyć publikowania w Internecie kodów pozwalających na przeprowadzanie ataków typu DoS.

Technologiczne wyzwania

Są to dylematy tym trudniejsze do rozstrzygnięcia, że istnieją już aplikacje pozwalające na przekształcenie języka C w jego angielski opis i odwrotnie (np. BabelBuster -http://www2.cs.cmu.edu/~dst/DeCSS/-Baccash ). W którym momencie dojdzie do naruszenia przepisów: w chwili opublikowania kodu, czy też w momencie udostępnienia w sieci opisu, który można przekształcić w ów kod za pośrednictwem translatora? Jedno jest pewne, algorytmów nie da się jednoznacznie zakwalifikować z punktu widzenia przepisów prawa. Z prawnego punktu widzenia nie ma żadnego znaczenia fakt, iż kod jest wykorzystywany głównie przez komputery. Nie ma również znaczenia, w jakim języku napisano kod. Ludzie porozumiewają się za pomocą wielu języków.

Prawo do ekspresji poglądów nie jest już ograniczone do tradycyjnych form, takich jak słowo mówione i pisane. Ochrony kodu źródłowego jako przejawu wolności słowa nie wyłącza również to, iż może być on zrozumiały jedynie dla odbiorców posiadających wiedzę z zakresu informatyki. Jedno jest pewne, regulacje prawne powinny być stosowane w sposób, który nie będzie ograniczał swobody wyrażania poglądów. Inaczej tworzenie kodów może okazać się niebezpiecznym zajęciem.

Kod i bomba

Czy publikowanie kodu źródłowego wirusa przypomina udostępnienie opisu budowy ładunku wybuchowego? Niezupełnie, bowiem do stworzenia bomby poza opisem będzie wymagane uzyskanie jej poszczególnych składników, podczas gdy w przypadku kompilacji kodu źródłowego wystarczy powszechnie dostępny kompilator.