O duchu praw wolnego oprogramowania
Oprogramowanie jest bardzo specyficzną odmianą wypowiedzi. Jest ono bowiem adresowane nie do ludzi, ale do komputerów, które podczas jego przetwarzania poddane zostają magicznym przemianom. Mianowicie, w odróżnieniu od, dajmy na to, samochodu, który zawsze będzie tylko samochodem, zastosowanie i efekt działania komputera zmienia się w zależności od zastosowanego oprogramowania. Utrudnia to pojmowanie programów jako tylko i wyłącznie wyrażeń zapisanych w określonym języku, a uzasadnia raczej traktowanie ich wprost jako maszyny.
Zwykle, zwłaszcza przy skomplikowanych projektach, zachodzi konieczność posługiwania się specjalnie do tego celu stworzonymi maszynami. Jeżeli nawet można wykorzystać urządzenia już istniejące, to i tak z uwagi na konieczność zapewnienia współpracy między nimi, wybór do danego projektu może być ograniczony. Jednak ta prawidłowość nie w pełni stosuje się do przedsięwzięć informatycznych, w których z uwagi na łatwość modyfikacji programów znacznie częściej można skorzystać z narzędzi już istniejących, dostosowując je tak, aby sprostały specyfice danego projektu. Ten sposób pracy, charakterystyczny dla ruchu wolnego oprogramowania, określany jest jako „code reuse” i można twierdzić, że jest to wręcz wykorzystywanie programów komputerowych zgodnie z ich naturą.
Prawo może tu pomagać lub przeszkadzać. Mianowicie, rozpowszechnianie programu na określonej licencji może prowadzić do zamknięcia lub ograniczenia możliwości jego łączenia z innymi programami, czyli wykorzystania go do stworzenia nowej, lepszej maszyny. Ponieważ w stosunku do każdego programu decyduje o tym samodzielnie uprawniony, to obecna praktyka przywodzi na myśl średniowieczne prawo stanowe. Jak wiadomo, każdy stan podlegał odrębnemu reżimowi, a stosunki prawne pomiędzy osobami z różnych stanów przyprawiały najzmyślniejszych jurystów o zawrót głowy.
Podobna sytuacja w odniesieniu do programów określana jest jako „niekompatybilność licencji” i w ruchu wolnego oprogramowania podejmowane są wyraźne próby jej ograniczenia. Trzeba podkreślić, że nie jest to problem paraliżujący, zwłaszcza dlatego, że większość wolnego oprogramowania licencjonowane jest na zasadach GPL lub BSD, niemniej jednak faktycznie istnieje kilkadziesiąt modelowych licencji i tyleż samo potencjalnych „stanów” oprogramowania.
Rozwiązaniem tego problemu może być „podwójne licencjonowanie”, czyli jednoczesne rozpowszechnianie programu na zasadach kilku modelowych licencji. Nasuwa się tu analogia z tak zwanym zobowiązaniem przemiennym, które polega na uzgodnieniu przez strony kilku rozłącznie alternatywnych świadczeń. Podwójne licencjonowanie polega jednak nie na umożliwieniu licencjobiorcy wyboru świadczenia, lecz treści samej umowy.
Na kolejny poziom abstrakcji wznosi prawo wolnego oprogramowania pomysł „meta licencjonowania”. Miałoby ono polegać, podobnie do podwójnego licencjonowania na przedstawieniu listy licencji, spośród których użytkownik mógłby swobodnie wybierać. Jeżeli na liście tej znajdą się licencje niekompatybilne, to wydaje się, że w momencie wykorzystania programu w danym projekcie, „dołączony” zostanie do niego reżim prawny kompatybilny z licencją tego projektu. Zatem, program zmieniałby swą licencję, podobnie jak kameleon, dostosowując się do swego otoczenia.
Podejmowane są też mniej zaskakujące próby zakończenia „rozbicia dzielnicowego” wolnego oprogramowania. Najbardziej oczywistym sposobem są bezpośrednie negocjacje z licencjodawcą, ale prowadzi to przecież tylko do powstania kolejnej licencji. W związku z tym metoda ta może być dobrym rozwiązaniem jedynie w świecie oprogramowania własnościowego, gdzie wtórny obieg i rozwijanie oprogramowania przez osoby trzecie nie jest pożądany. W ramach ruchu wolnego oprogramowania pojawiają się natomiast coraz częstsze głosy za ograniczeniem liczby modelowych licencji.
Zwraca uwagę, że przeciwstawianie się prawnym przeszkodom w łączeniu programów wynika z prywatnej inicjatywy dążącej do zwiększenia zasobu narzędzi informatycznych będących do dyspozycji każdego zainteresowanego. Można w tym widzieć nagły wzrost altruizmu hakerów, którzy najwyraźniej chcą dzielić się czymś, na co z mocy prawa mogą uzyskać monopol. Jednak bardziej prawdopodobne jest, że kierują się oni własnym, dobrze pojętym interesem. Jest tak przede wszystkim dlatego, że „code reuse” oznacza skupienie się na tworzeniu rzeczywistej wartości dodanej danego oprogramowania, zamiast konieczności mozolnego budowania od podstaw i powtarzania tej samej pracy od nowa.
Nasuwa się pytanie czy celem prawa powinno być tak pojmowane zwiększenie efektywności przemysłu informatycznego. Należy rozważyć, czy wystarczającymi środkami do tego celu są instytucje już istniejące, czy też trzeba uchwalić nowe regulacje. Ważną kwestią jest, czy „code reuse” powinno być możliwe we wszystkich projektach, czy tylko w niektórych. Występowanie obok siebie oprogramowania wolnego i własnościowego sugeruje, że nie zawsze całkowita swoboda korzystania prowadzi do zwiększenia efektywności. Zatem, prawdopodobnie niesłuszne byłoby wprowadzanie odgórnych, rewolucyjnych regulacji, a bardziej wskazane wspieranie rozwoju prawa wolnego oprogramowania tworzonego oddolnie drogą prywatnych kontraktów i dobrowolnych zrzeszeń.