Pierwszego września Parlament Europejski zajmie się możliwością wprowadzenia nowego rodzaju patentów na terenie Unii. Jeśli pomysł zyska akceptację większości deputowanych, wkrótce będzie zakazane tworzenie jakichkolwiek programów komputerowych bez wcześniejszego opłacenia właścicieli patentów na konkretne rozwiązania programistyczne.
Wprowadzenie możliwości patentowania algorytmów jest ogromnym krokiem wstecz dla nas wszystkich - ucierpią na tym zarówno małe i średnie firmy informatyczne, jak i zwykli użytkownicy. Producenci ucierpią, bo wprowadzenie prawa na wzór obowiązującego w USA zmusi ich do kupowania kosztownych licencji na nierzadko zupełnie absurdalne patenty, użytkownicy - bo po pewnym czasie rynek zostanie zmonopolizowany, a producenci taniego lub darmowego oprogramowania stracą możliwość działania.
Dodatkowo, byłoby sprzeczne z obowiązującą od 1973 roku Konwencją Monachijską (podpisana przez 27 państw, z których wiele z nich jest członkami UE. Polska nie jest członkiem Konwencji), której artykuł 52 wymienia dziedziny i rodzaje wynalazków, które nie są uznawane za odkrycia i które nie podlegają opatentowaniu. Na pierwszym miejscu wyszczególnione są odkrycia, teorie naukowe i metody matematyczne.
Jest to założenie logiczne. Odkrycia, teorie naukowe i metody matematyczne są tym, bez czego nasza cywilizacja nie mogłaby się rozwijać. Wyobraźmy sobie sytuację, że ktoś opatentował wzór na obwód koła lub, żeby się znaleźć bliżej naszych czasów, słynne równanie e=mc^2? Może trudno sobie to wyobrazić, ale na każdym kroku spotykamy się z rzeczami, których stworzenie nie byłoby możliwe bez wyższej matematyki.
Tak samo jest w przypadku informatyki. Każdy, nawet najprostszy program, realizuje jakieś zadanie - czyli ma swój algorytm działania. Wyobraźmy sobie teraz, że pojawia się możliwość opatentowania dowolnego odkrywczego pomysłu. Takim jeszcze kilka lat temu, był wynalazek hiperlinków - podkreślonych fragmentów na stronach www, których kliknięcie przenosi nas na inną stronę. Gdyby autor tego pomysłu wpadł na pomysł jego opatentowania (miał taką możliwość - w USA, skąd pochodzi, można opatentować tego typu rozwiązania), dzisiejszy internet wyglądałby zupełnie inaczej. Uboższe byłyby zarówno strony www - bo nie każdy mógłby pozwolić sobie na płacenie tantiem za wykorzystanie pomysłu hiperłącz - jak i ich nieliczni autorzy, którzy zyskiem za stworzenie strony musieliby się dzielić z pomysłodawcą linków.
Całkiem niedawno British Telecommunications (BT) próbowała udowodnić, że właśnie ona posiada taki patent. Gdyby udało jej się uzyskać sądowe potwierdzenie swoich praw do tego pomysłu, mogłaby je egzekwować od wszystkich autorów stron umieszczonych na serwerach w USA.
Kolejnym zagrożeniem są patenty na rzeczy oczywiste. Urzędnik patentowy nie jest wykwalifikowanym naukowcem, nie zawsze jest w stanie wychwycić wszystkie niuanse wniosku patentowego, który często jest sformułowany w sposób dający mu możliwie szerokie zastosowanie.
Właśnie nieznajomość powszechnie używanych technologii przez urzędników patentowych pociągnęła za sobą wydanie jednego z najbardziej kuriozalnych amerykańskich patentów. Internetowa księgarnia Amazon uzyskała wyłączność na system, który nazywa 1-click-shopping. Polega on na tym, że klient wpisuje swoje dane, w tym numer karty kredytowej, do bazy sklepu, dzięki czemu nie musi ich podawać ponownie przy kolejnych zakupach. Krótko mówiąc, wydano patent na rozwiązanie, które z powodzeniem było stosowane w niejednym działającym wówczas sklepie internetowym, i które jest wykorzystywane przez setki programistów na całym świecie.
Takie sytuacje mają miejsce nie tylko w dziedzinie zaawansowanej technologii: zdarza się, że opatentowane zostanie coś, co znane jest od tysiącleci. Taka sytuacja miała miejsce w 2001 roku w Australii, kiedy Johnowi Keoghowi przyznano prawa do "okrągłego systemu ułatwiającego transport". Mówiąc językiem potocznym: koła.
Przyjmijmy jednak, że nasi urzędnicy patentowi okażą się mniej tolerancyjni dla autorów wniosków patentowych i nie przepuszczą tego typu pomysłów. Co wtedy nas czeka?
Przede wszystkim może się pojawić konieczność wzajemnego uznania patentów - czyli w przypadku, gdy dany pomysł lub algorytm jest już prawnie chroniony na terenie USA, będzie on również chroniony na terenie Unii. Problem europejskich wytwórców oprogramowania polega na tym, że w USA opatentowano tysiące algorytmów - od prostych, jak przytaczany wyżej przypadek 1-click-shopping - do bardziej skomplikowanych - jak na przykład kodowanie plików mp3.
Możliwość egzekwowania patentów nie jest dla programistów czczą pogróżką - w przeszłości zniknęło z rynku kilka bardzo dobrych programów, których autorzy nie mogli pozwolić sobie na wymagane opłaty.
W informatyce nie jest tak, jak dzieje się to w "namacalnym" świecie, że w danym produkcie wykorzystujemy najwyżej kilka opatentowanych rozwiązań, których koszt po prostu przerzuca się na klienta.
Na zaawansowany program składa się zwykle kilkaset, czasem kilka tysięcy procedur, z których każda realizuje inne zadanie. Co gorsza, duża część z nich mogła być opatentowana już dawno temu przez jakąś większą lub mniejsza firemkę, która zażąda za wykorzystanie swojego rozwiązania - dajmy na to - jednego procenta przychodów. Gdyby takich algorytmów było kilka - komercyjni programiści poradziliby sobie bez problemu. Jednak po przemnożeniu kosztów przez stopień komplikacji programu okazuje się, że nie dość, że im program jest bardziej zaawansowany, tym większy procent przychodów pochłaniają koszty licencji, to jeszcze może się okazać, że wypuszczenie na rynek doskonałego oprogramowania spełniającego wszystkie życzenia klienta może doprowadzić jego producenta do ruiny!
W powyższym przykładze pominąłem twórców tzw. wolnego oprogramowania - programów, które dostępne są dla każdego wraz z pełnym kodem źródłowym, dzięki czemu każdy może je w pełni dostosować do swoich potrzeb, i które są chronione licencją zezwalającą na ich nieodpłatne rozpowszechnianie. Najpopularniejszymi programami tego typu są system operacyjny Linux, pakiet biurowy OpenOffice.org oraz przeglądarka internetowa Mozilla. Gdyby twórcy tych pakietów brali pod uwagę możliwość naruszenia przez siebie cudzych patentów, dziś żaden z tych projektów nie przekroczyłby stadium wstępnego projektu.
Zapomnieliśmy również o kolejnych kosztach - konieczości badania na bieżąco, czy powstające właśnie fragmenty kodu nie naruszają praw innej firmy. Oznacza to konieczność zatrudnienia wykwalifikowanych specjalistów, którzy będą śledzili na bieżąco zarówno cały powstający w danym miejscu kod (czyli muszą być dobrymi programistami), jak i zmieniający się z dnia na dzień rynek patentów. W obecnych czasach, gdy prowadzący działalnośc gospodarczą szukają wszelkich sposobów na obniżenie kosztów działania, oznacza to bankructwo większości istniejących małych firm tworzących oprogramowanie.
Dajmy na to, że znajdą się jednak ludzie, którzy będą wiedzieli, co się dzieje w urzędach patentowych i komputerach programistów danej firmy. Niewiele to im da, skoro wniosek o przyznanie patentu może zostać utajniony i być takim do momentu przyznania ochrony prawnej. Taki przypadek miał już miejsce w USA w latach 80, gdy opatentowano jeden z algorytmów kompresji - LZW. Wniosek o ochronę tego sposobu pakowania danych leżał przez wiele miesięcy w urzędzie patentowym, a w tym czasie powstało kilka programów wykorzystujących tę metodę. Kiedy patent został przyznany, ich twórcy stanęli przed groźbą procesu, a samo oprogramowanie - owoc ich długiej pracy - stało się nielegalne.
Jak można sobie poradzić z tymi zagrożeniami? Twórcy oprogramowania mają trzy możliwości: ominięcie problemu przez niewykorzystywanie zastrzeżonych technik, wykupienie licencji lub skierowanie sprawy do sądu.
Pierwsza metoda nie zawsze jest możliwa. Czasem może się sprowadzić do tego, że nasz program utraci jedną, mało istotną funkcję. W innym przypadku może spowodować, że zacznie działać o wiele wolniej, bo szybszy algorytm wykonywania tej samej czynności jest opatentowany. Wreszcie - można zrezygnować z tworzenia danego programu, bo patent jest na tyle szeroki, że obejmuje sam pomysł stworzenia jakiegoś produktu. Do 1997 roku tak było z pomysłem szyfrowania metodą klucza publicznego i prywatnego - dzięki prawu patentowemu mógł powstać monopol w zastosowaniu powszechnie dziś używanej techniki.
Druga możliwość również nie prowadzi nas na drogę usłaną różami. Po pierwsze, właściciel patentu może nie zechcieć udzielić nam licencji. Zdarza się tak, gdy sam tworzy podobne oprogramowanie lub gdy nie odpowiada mu nasz styl działania (przed tym problemem stają twórcy wspomnianego wyżej wolnego oprogramowania). Jeśli już się zgodzi na odsprzedanie nam licencji, może się okazać, że zażąda 5% naszych przychodów z danego programu. Nie jest to kwota wygórowana, jednak pamiętajmy o czym pisałem wcześniej - takich algorytmów w naszym programie może być wykorzystanych bardzo wiele.
Wreszcie ostatnia możliwość - próba udowodnienia, że dany algorytm nie jest niczym nowatorskim. Nie jest to proste w naszej rzeczywistości, gdzie najprostsze sprawy potrafią się ciągnąć latami, a przecież nasza nie będzie jedyną tego typu.
Jak widać, małe firmy mogą mieć olbrzymie problemy w świecie, w którym istnieje możliwość opatentowania algorytmów. Giganci rynkowi nie stoją przed takimi trudnościami. Oni mają trzy możliwości: wykupują licencję, wykupują właściciela patentu lub korzystają z możliwości relicencjonowania.
W rękach wielkich korporacji, takich jak IBM, znajduje się kilka tysięcy patentów. Łatwo jest naruszyć jeden z nich. Jednak jeśli jedna firma ma kilka tysięcy patentów, druga też, udzielają sobie wzajemnej zgody na wykorzystywanie swoich rozwiązań. Problem rozwiązany.
Ktoś mógłby zapytać - dlaczego właśnie oprogramowanie powinno być traktowane inaczej niż, na przykład, przemysł? Dlaczego w przemyśle tolerować patenty, a w informatyce nie?
Istniejący system patentowy był tworzony z myślą o ochronie konkretnych produktów. Koncern farmaceutyczny może opatentować aspirynę, chemiczny - nowy rodzaj kleju. Chronione będą ich produkty - nikt bez ich zgody nie będzie mógł produkować tego samego, co oni. Jednak inna firma będzie mogła produkować inny rodzaj kleju. Działa - tak samo, lecz jest tworzony w zupełnie inny sposób, z kompletnie innych składników.
Dopuszczenie możliwości patentowania algorytmów oznacza zezwolenie na przyznanie jednej firmie prawa zarówno do kleju, jak i wszystkich rzeczy klejonych. Nikt nie mógłby wyprodukować nawet tubki "roślinnego" czy klejonej szafki bez wcześniejszego wykupienia licencji. Co gorsza, mogłoby się okazać, że ktoś inny ma patent na czarną farbę, a inny na szuflady. Producent stołu w takiej sytuacji prawnej prawdopodobnie nigdy nie miałby szans na wypuszczenie swojego produktu na rynek.
Pierwszego września Parlament Europejski zajmie się możliwością wprowadzenia nowego rodzaju patentów na terenie Unii. Jeśli pomysł zyska akceptację większości deputowanych, wkrótce będzie zakazane tworzenie jakichkolwiek programów komputerowych bez wcześniejszego opłacenia właścicieli patentów na konkretne rozwiązania programistyczne.
Wprowadzenie możliwości patentowania algorytmów jest ogromnym krokiem wstecz dla nas wszystkich - ucierpią na tym zarówno małe i średnie firmy informatyczne, jak i zwykli użytkownicy. Producenci ucierpią, bo wprowadzenie prawa na wzór obowiązującego w USA zmusi ich do kupowania kosztownych licencji na nierzadko zupełnie absurdalne patenty, użytkownicy - bo po pewnym czasie rynek zostanie zmonopolizowany, a producenci taniego lub darmowego oprogramowania stracą możliwość działania.
Dodatkowo, byłoby sprzeczne z obowiązującą od 1973 roku Konwencją Monachijską (podpisana przez 27 państw, z których wiele z nich jest członkami UE. Polska nie jest członkiem Konwencji), której artykuł 52 wymienia dziedziny i rodzaje wynalazków, które nie są uznawane za odkrycia i które nie podlegają opatentowaniu. Na pierwszym miejscu wyszczególnione są odkrycia, teorie naukowe i metody matematyczne.
Jest to założenie logiczne. Odkrycia, teorie naukowe i metody matematyczne są tym, bez czego nasza cywilizacja nie mogłaby się rozwijać. Wyobraźmy sobie sytuację, że ktoś opatentował wzór na obwód koła lub, żeby się znaleźć bliżej naszych czasów, słynne równanie e=mc^2? Może trudno sobie to wyobrazić, ale na każdym kroku spotykamy się z rzeczami, których stworzenie nie byłoby możliwe bez wyższej matematyki.
Tak samo jest w przypadku informatyki. Każdy, nawet najprostszy program, realizuje jakieś zadanie - czyli ma swój algorytm działania. Wyobraźmy sobie teraz, że pojawia się możliwość opatentowania dowolnego odkrywczego pomysłu. Takim jeszcze kilka lat temu, był wynalazek hiperlinków - podkreślonych fragmentów na stronach www, których kliknięcie przenosi nas na inną stronę. Gdyby autor tego pomysłu wpadł na pomysł jego opatentowania (miał taką możliwość - w USA, skąd pochodzi, można opatentować tego typu rozwiązania), dzisiejszy internet wyglądałby zupełnie inaczej. Uboższe byłyby zarówno strony www - bo nie każdy mógłby pozwolić sobie na płacenie tantiem za wykorzystanie pomysłu hiperłącz - jak i ich nieliczni autorzy, którzy zyskiem za stworzenie strony musieliby się dzielić z pomysłodawcą linków.
Całkiem niedawno British Telecommunications (BT) próbowała udowodnić, że właśnie ona posiada taki patent. Gdyby udało jej się uzyskać sądowe potwierdzenie swoich praw do tego pomysłu, mogłaby je egzekwować od wszystkich autorów stron umieszczonych na serwerach w USA.
Kolejnym zagrożeniem są patenty na rzeczy oczywiste. Urzędnik patentowy nie jest wykwalifikowanym naukowcem, nie zawsze jest w stanie wychwycić wszystkie niuanse wniosku patentowego, który często jest sformułowany w sposób dający mu możliwie szerokie zastosowanie.
Właśnie nieznajomość powszechnie używanych technologii przez urzędników patentowych pociągnęła za sobą wydanie jednego z najbardziej kuriozalnych amerykańskich patentów. Internetowa księgarnia Amazon uzyskała wyłączność na system, który nazywa 1-click-shopping. Polega on na tym, że klient wpisuje swoje dane, w tym numer karty kredytowej, do bazy sklepu, dzięki czemu nie musi ich podawać ponownie przy kolejnych zakupach. Krótko mówiąc, wydano patent na rozwiązanie, które z powodzeniem było stosowane w niejednym działającym wówczas sklepie internetowym, i które jest wykorzystywane przez setki programistów na całym świecie.
Takie sytuacje mają miejsce nie tylko w dziedzinie zaawansowanej technologii: zdarza się, że opatentowane zostanie coś, co znane jest od tysiącleci. Taka sytuacja miała miejsce w 2001 roku w Australii, kiedy Johnowi Keoghowi przyznano prawa do "okrągłego systemu ułatwiającego transport". Mówiąc językiem potocznym: koła.
Przyjmijmy jednak, że nasi urzędnicy patentowi okażą się mniej tolerancyjni dla autorów wniosków patentowych i nie przepuszczą tego typu pomysłów. Co wtedy nas czeka?
Przede wszystkim może się pojawić konieczność wzajemnego uznania patentów - czyli w przypadku, gdy dany pomysł lub algorytm jest już prawnie chroniony na terenie USA, będzie on również chroniony na terenie Unii. Problem europejskich wytwórców oprogramowania polega na tym, że w USA opatentowano tysiące algorytmów - od prostych, jak przytaczany wyżej przypadek 1-click-shopping - do bardziej skomplikowanych - jak na przykład kodowanie plików mp3.
Możliwość egzekwowania patentów nie jest dla programistów czczą pogróżką - w przeszłości zniknęło z rynku kilka bardzo dobrych programów, których autorzy nie mogli pozwolić sobie na wymagane opłaty.
W informatyce nie jest tak, jak dzieje się to w "namacalnym" świecie, że w danym produkcie wykorzystujemy najwyżej kilka opatentowanych rozwiązań, których koszt po prostu przerzuca się na klienta.
Na zaawansowany program składa się zwykle kilkaset, czasem kilka tysięcy procedur, z których każda realizuje inne zadanie. Co gorsza, duża część z nich mogła być opatentowana już dawno temu przez jakąś większą lub mniejsza firemkę, która zażąda za wykorzystanie swojego rozwiązania - dajmy na to - jednego procenta przychodów. Gdyby takich algorytmów było kilka - komercyjni programiści poradziliby sobie bez problemu. Jednak po przemnożeniu kosztów przez stopień komplikacji programu okazuje się, że nie dość, że im program jest bardziej zaawansowany, tym większy procent przychodów pochłaniają koszty licencji, to jeszcze może się okazać, że wypuszczenie na rynek doskonałego oprogramowania spełniającego wszystkie życzenia klienta może doprowadzić jego producenta do ruiny!
W powyższym przykładze pominąłem twórców tzw. wolnego oprogramowania - programów, które dostępne są dla każdego wraz z pełnym kodem źródłowym, dzięki czemu każdy może je w pełni dostosować do swoich potrzeb, i które są chronione licencją zezwalającą na ich nieodpłatne rozpowszechnianie. Najpopularniejszymi programami tego typu są system operacyjny Linux, pakiet biurowy OpenOffice.org oraz przeglądarka internetowa Mozilla. Gdyby twórcy tych pakietów brali pod uwagę możliwość naruszenia przez siebie cudzych patentów, dziś żaden z tych projektów nie przekroczyłby stadium wstępnego projektu.
Zapomnieliśmy również o kolejnych kosztach - konieczości badania na bieżąco, czy powstające właśnie fragmenty kodu nie naruszają praw innej firmy. Oznacza to konieczność zatrudnienia wykwalifikowanych specjalistów, którzy będą śledzili na bieżąco zarówno cały powstający w danym miejscu kod (czyli muszą być dobrymi programistami), jak i zmieniający się z dnia na dzień rynek patentów. W obecnych czasach, gdy prowadzący działalnośc gospodarczą szukają wszelkich sposobów na obniżenie kosztów działania, oznacza to bankructwo większości istniejących małych firm tworzących oprogramowanie.
Dajmy na to, że znajdą się jednak ludzie, którzy będą wiedzieli, co się dzieje w urzędach patentowych i komputerach programistów danej firmy. Niewiele to im da, skoro wniosek o przyznanie patentu może zostać utajniony i być takim do momentu przyznania ochrony prawnej. Taki przypadek miał już miejsce w USA w latach 80, gdy opatentowano jeden z algorytmów kompresji - LZW. Wniosek o ochronę tego sposobu pakowania danych leżał przez wiele miesięcy w urzędzie patentowym, a w tym czasie powstało kilka programów wykorzystujących tę metodę. Kiedy patent został przyznany, ich twórcy stanęli przed groźbą procesu, a samo oprogramowanie - owoc ich długiej pracy - stało się nielegalne.
Jak można sobie poradzić z tymi zagrożeniami? Twórcy oprogramowania mają trzy możliwości: ominięcie problemu przez niewykorzystywanie zastrzeżonych technik, wykupienie licencji lub skierowanie sprawy do sądu.
Pierwsza metoda nie zawsze jest możliwa. Czasem może się sprowadzić do tego, że nasz program utraci jedną, mało istotną funkcję. W innym przypadku może spowodować, że zacznie działać o wiele wolniej, bo szybszy algorytm wykonywania tej samej czynności jest opatentowany. Wreszcie - można zrezygnować z tworzenia danego programu, bo patent jest na tyle szeroki, że obejmuje sam pomysł stworzenia jakiegoś produktu. Do 1997 roku tak było z pomysłem szyfrowania metodą klucza publicznego i prywatnego - dzięki prawu patentowemu mógł powstać monopol w zastosowaniu powszechnie dziś używanej techniki.
Druga możliwość również nie prowadzi nas na drogę usłaną różami. Po pierwsze, właściciel patentu może nie zechcieć udzielić nam licencji. Zdarza się tak, gdy sam tworzy podobne oprogramowanie lub gdy nie odpowiada mu nasz styl działania (przed tym problemem stają twórcy wspomnianego wyżej wolnego oprogramowania). Jeśli już się zgodzi na odsprzedanie nam licencji, może się okazać, że zażąda 5% naszych przychodów z danego programu. Nie jest to kwota wygórowana, jednak pamiętajmy o czym pisałem wcześniej - takich algorytmów w naszym programie może być wykorzystanych bardzo wiele.
Wreszcie ostatnia możliwość - próba udowodnienia, że dany algorytm nie jest niczym nowatorskim. Nie jest to proste w naszej rzeczywistości, gdzie najprostsze sprawy potrafią się ciągnąć latami, a przecież nasza nie będzie jedyną tego typu.
Jak widać, małe firmy mogą mieć olbrzymie problemy w świecie, w którym istnieje możliwość opatentowania algorytmów. Giganci rynkowi nie stoją przed takimi trudnościami. Oni mają trzy możliwości: wykupują licencję, wykupują właściciela patentu lub korzystają z możliwości relicencjonowania.
W rękach wielkich korporacji, takich jak IBM, znajduje się kilka tysięcy patentów. Łatwo jest naruszyć jeden z nich. Jednak jeśli jedna firma ma kilka tysięcy patentów, druga też, udzielają sobie wzajemnej zgody na wykorzystywanie swoich rozwiązań. Problem rozwiązany.
Ktoś mógłby zapytać - dlaczego właśnie oprogramowanie powinno być traktowane inaczej niż, na przykład, przemysł? Dlaczego w przemyśle tolerować patenty, a w informatyce nie?
Istniejący system patentowy był tworzony z myślą o ochronie konkretnych produktów. Koncern farmaceutyczny może opatentować aspirynę, chemiczny - nowy rodzaj kleju. Chronione będą ich produkty - nikt bez ich zgody nie będzie mógł produkować tego samego, co oni. Jednak inna firma będzie mogła produkować inny rodzaj kleju. Działa - tak samo, lecz jest tworzony w zupełnie inny sposób, z kompletnie innych składników.
Dopuszczenie możliwości patentowania algorytmów oznacza zezwolenie na przyznanie jednej firmie prawa zarówno do kleju, jak i wszystkich rzeczy klejonych. Nikt nie mógłby wyprodukować nawet tubki "roślinnego" czy klejonej szafki bez wcześniejszego wykupienia licencji. Co gorsza, mogłoby się okazać, że ktoś inny ma patent na czarną farbę, a inny na szuflady. Producent stołu w takiej sytuacji prawnej prawdopodobnie nigdy nie miałby szans na wypuszczenie swojego produktu na rynek.