Ruch Wolnego Oprogramowania a UDI

Projekt zwany UDI (Uniform Driver Interface, Uniwersalny Interfejs Sterowników) stawia sobie za cel opracowanie jednolitego standardu interfejsu pomiędzy jądrami systemów operacyjnych a sterownikami urządzeń. Jak powinien się odnieść do tego pomysłu ruch wolnego oprogramowania?

Jeśli wyobrazimy sobie rzeszę programistów systemów operacyjnych i projektantów sprzętu, współpracujących ze sobą na równych prawach, UDI (jeśli jest technicznie wykonalne) byłoby bardzo dobrym pomysłem. Dzięki niemu moglibyśmy napisać tylko jeden sterownik dla danego urządzenia, a wszyscy mogliby z niego korzystać. Umożliwiłoby to zwiększenie poziomu współpracy.

Kiedy ten pomysł zastosujemy w realnym świecie, w którym istnieją zarówno wytwórcy wolnego oprogramowania, dążący do współpracy, jak i wytwórcy programów zastrzeżonych dążący do dominacji, konsekwencje są zupełnie inne. Żadna metoda wykorzystania UDI nie może przynieść pożytku światu wolnego oprogramowania. Jeśli w ogóle jakoś na nas wpłynie, to podzieli nas i osłabi.

Gdyby Linux obsługiwał UDI i gdybyśmy zaczęli projektować nowe sterowniki do komunikowania się z Linuksem poprzez UDI, jakie byłyby tego skutki?

Biorąc pod uwagę konsekwencje, nie jest żadną niespodzianką, że popierający UDI Intel zaczął ogłaszać, iż „ma nadzieję, że społeczność Linuksa pomoże przy pracy nad UDI”. W jaki sposób bogata i egoistyczna spółka może podchodzić do wspólnoty opartej na współpracy? Prosząc o jałmużnę, oczywiście. Prosząc nas nie mają nic do stracenia, a gdybyśmy nie mieli się na baczności, moglibyśmy się zgodzić.

Współpraca z UDI nie jest wykluczona. Nie powinniśmy UDI, Intelowi czy komukolwiek innemu przylepiać etykietki Zła Wcielonego. Lecz za każdym razem zanim weźmiemy udział w proponowanym nam interesie, musimy starannie go ocenić, żeby upewnić się, że jest korzystny dla społeczności wolnego oprogramowania, a nie tylko dla rozwijających programy zastrzeżone. W tej konkretnej sprawie oznacza to wymaganie, aby ta współpraca zaprowadziła nas o krok dalej na drodze prowadzącej do ostatecznego celu wolnych jąder systemowych i sterowników: obsługi wszelkiego ważnego sprzętu przez wolne sterowniki.

Jednym ze sposobów na to, żeby interes był udany może być zmodyfikowanie samego projektu UDI. Eric Raymond zaproponował, żeby zgodność z UDI obejmowała wymóg, że sterownik musi być wolnym oprogramowaniem. Tak byłoby idealnie, ale wchodzą w grę także inne możliwości. Wystarczyłoby wymaganie, żeby opublikowano kod źródłowy sterownika, by nie był tajemnicą handlową – gdyż nawet jeśli taki sterownik nie jest wolny, to przynajmniej dzięki temu dowiemy się tego, czego potrzebujemy do napisania wolnego sterownika.

Intel mógłby także poza UDI zrobić coś, co pomogłoby społeczności wolnego oprogramowania rozwiązać ten program. Dajmy na to, istnieją pewnego rodzaju certyfikaty, którymi są zainteresowani konstruktorzy sprzętu, a Intel bierze udział w ich przyznawaniu. Jeśli tak, to mógłby przystać na wprowadzenie utrudnień w certyfikacji, w przypadku jeżeli specyfikacja sprzętu jest tajna. Nie rozwiązałoby to zapewne problemu całkowicie, ale sporo mogłoby pomóc.

Jedną z trudności przy porozumieniu z Intelem na temat UDI jest fakt, że mielibyśmy wykonać naszą część na rzecz Intela na samym początku, podczas gdy oni spłacaliby ją przez długi okres. W praktyce, udzielalibyśmy Intelowi kredytu. Lecz czy kontynuowałby spłatę pożyczki? Prawdopodobnie tak, jeśli mielibyśmy to na piśmie, bez luk prawnych, w przeciwnym razie nie możemy na to liczyć. Powszechnie wiadomo, że korporacje są niegodne zaufania: ludzie, z którymi się umawiamy, mogą być porządni, ale stojący ponad nimi mogą uchylić ich decyzje, a nawet w dowolnej chwili wymienić ich na innych ludzi. Nawet dyrektor naczelny firmy posiadający większość udziałów może zostać wymieniony w wyniku wykupienia spółki przez inną. Przy transakcjach z korporacją zawsze bierzcie wiążące zobowiązanie na piśmie.

Nie wydaje się, żeby Intel zechciał zaoferować nam interes, który dawałby nam to, czego potrzebujemy. Faktycznie, UDI wydaje się być zaplanowane w celu ułatwienia utajniania specyfikacji.

Niemniej jednak, niezamykanie drzwi nie szkodzi, dopóki uważamy na to, komu pozwalamy wejść.