Proces antymonopolowy Microsoftu a Wolne Oprogramowanie
W miarę jak proces antymonopolowy Microsoftu zbliża sie do końca, pojawia się pytanie, czego od nich zażądać w razie gdyby przegrali. Ralph Nader organizuje nawet [w momencie pisania tego tekstu, w marcu 1999] konferencję na ten temat (zobacz appraising-microsoft.org/).
Oczywiste rozwiązania, czyli ograniczenie zawierania kontraktów pomiędzy Microsoftem a producentami komputerów, czy też podzielenie Microsoftu, niczego tak naprawdę nie zmienią. Pierwsze z nich może zwiększyć dostępność komputerów z fabrycznie zainstalowanym GNU/Linuksem, ale ta tak czy inaczej już się zwiększa. Drugie głównie otworzyłoby rynek dla innych producentów objętego restrykcyjnymi licencjami oprogramowania, a to zapewniłoby użytkownikom jedynie alternatywne sposoby na wyzbycie się swojej wolności.
Z tego powodu proponuję zastosować trzy środki zaradcze, które mogłyby pomóc wolnym systemom operacyjnym, takim jak GNU/Linux, konkurować z Windowsem pod względem technicznym, a zarazem szanować wolność swoich użytkowników. Te trzy środki zaradcze dotyczą bezpośrednio trzech największych przeszkód stojących na drodze rozwoju wolnych systemów operacyjnych oraz na drodze ku umożliwieniu uruchamiania pod nimi programów napisanych dla Windows. Dotyczą one także bezpośrednio metod, których wolę użycia zadeklarował Microsoft (w „dokumentach Halloween”), aby przeszkodzić wolnemu oprogramowaniu. Najbardziej efektywne byłoby użycie wszystkich tych środków zaradczych jednocześnie.
- Zażądać od Microsoftu opublikowania kompletnej dokumentacji wszystkich
interfejsów pomiędzy komponentami programowymi, wszystkich protokołów
komunikacyjnych i wszystkich formatów plików. To położyłoby kres jednej
z ulubionych taktyk Microsoftu: używaniu objętych tajemnicą
i niekompatybilnych interfejsów.
Aby to żądanie naprawdę zostało spełnione, Microsoftowi powinno się zabronić używania umów o poufności z innymi organizacjami jako pretekstu do implementowania objętych tajemnicą interfejsów. Zasada powinna być taka: jeśli nie mogą ujawnić interfejsu, to nie mogą wydać jego implementacji.
Do przyjęcia byłoby jednak pozwolenie Microsoftowi na rozpoczęcie implementowania jakiegoś interfejsu przed opublikowaniem jego specyfikacji, pod warunkiem, że wydaliby tę specyfikację jednocześnie z samą implementacją.
Wprowadzenie tego żądania w życie nie byłoby trudne. Jeśli inni producenci oprogramowania poskarżyliby się, że opublikowana dokumentacja nie opisuje we właściwy sposób jakiegoś aspektu interfejsu lub sposobu wykonania jakiegoś zadania, to sąd nakazywałby Microsoftowi odpowiedzieć na pytania dotyczące danego problemu. Wszystkie wątpliwości dotyczące interfejsów (w odróżnieniu od technik implementacji) musiałyby zostać wyjaśnione.
Podobne warunki zostały zawarte w roku 1984 w umowie pomiędzy IBM a Wspólnotą Europejską, która kończyła inny spór antymonopolowy. Zobacz www.cptech.org.
- Zażądać od Microsoftu, żeby używali swoich patentów w dziedzinie
oprogramowania tylko do obrony. (Jeśli mają patenty dotyczące innych
dziedzin, mogłyby być one w tym żądaniu zawarte lub z niego
wyłączone). To położyłoby kres innej taktyce wymienionej przez Microsoft
w dokumentach Halloween: używaniu patentów w celu zatrzymania
rozwoju wolnego oprogramowania.
Powinniśmy dać Microsoftowi wybór stosowania samoobrony lub obrony wspólnej. Samoobrona oznacza proponowanie wzajemnego udzielania licencji na patenty bez żadnych opłat każdemu, kto wyraża na to ochotę. Obrona wspólna to wystawianie licencji na patenty organizacji, do której przyłączyć może się każdy – nawet ludzie, którzy własnych patentów nie posiadają. Organizacja ta udzielałaby wszystkim swoim członkom licencji na wszystkie patenty, do których posiada prawa.
Poruszenie kwestii patentów jest sprawą kluczową, bo na nic zda się sprawienie, żeby Microsoft opublikował jakiś interfejs, jeśli zdoła zawrzeć w nim (lub w fukcjonalności, do której daje on dostęp) jakiś patentowy niuans, który uniemożliwi nam jego implementację.
- Zażądać od Microsoftu, żeby nie certyfikowali żadnego sprzętu jako
działającego z ich oprogramowaniem, chyba że dla sprzętu tego
została opublikowana pełna specyfikacja, pozwalająca każdemu programiście
zaimplementować oprogramowanie go wspierające.
Objęte tajemnicą specyfikacje sprzętowe nie są częstym procederem Microsoftu, ale stanowią znaczną przeszkodę dla rozwoju wolnych systemów operacyjnych mogących być konkurencją dla Windows. Zniesienie tej przeszkody dałoby bardzo wiele. Jeśli dojdzie do ugody z Microsoftem, zawarcie w niej takiego postanowienia nie będzie niemożliwe – byłoby to kwestią do wynegocjowania.
Steve Ballmer z Microsoftu ogłosił w kwietniu plan prawdopodobnego odtajnienia kodu źródłowego jakiejś części Windows. Nie jest jasne, czy oznacza to uczynienie go wolnym oprogramowaniem oraz o którą część Windows chodzi. Jednak jeśli Microsoft rzeczywiście uczyni jakąś ważną część Windows wolną, mogłoby to w jej przypadku rozwiązać wspomniane wyżej problemy. (Byłoby to także wkładem na rzecz społeczności wolnego oprogramowania, jeśli okazałoby się, że część ta jest przydatna do celów innych niż uruchamianie innego objętego restrykcyjną licencją oprogramowania Microsoftu).
Możliwość użycia jakiejś części Windows jako wolnego oprogramowania jest jednak mniej ważna, niż posiadanie pozwolenia na implementację wszystkich części. Zaproponowane powyżej środki zaradcze to właśnie to, czego najbardziej potrzebujemy. Otworzą nam one drogę do stworzenia alternatywy dla Microsoft Windows, która będzie naprawdę lepsza na każdym polu, na którym Microsoft nie uczyni Windows wolnym oprogramowaniem.