Linuksowe sterowniki Microsoftu - za kulisami

Microsoft wydał linuksowe sterowniki dla Hyper-V na licencji GPL. Warto jednak zajrzeć za kulisy tej operacji.

Microsoft dostarczył około 22 tysięcy linii kodu, który zostanie włączony do oficjalnego wydania jądra systemu Linux. To dobra wiadomość m.in. dla użytkowników aplikacji giganta z Redmond i deweloperów. Koncern został jednak zmuszony do takiego kroku m.in. przez naciski ze strony środowiska open source. W przypadku rzeczonych sterowników Microsoftu początkowo naruszone zostały zapisy licencji GPL. Dopiero działania dociekliwych deweloperów ujawniły ten fakt i umożliwiły doprowadzony do wydania zgodnego kodu.

Pierwsze sygnały dochodziły z forum Vyatta. Jeden z użytkowników domagał się wsparcia sterownika sieciowego Hyper-V w jądrze systemu sieciowego Vyatta. Po krótkich poszukiwaniach udało się odnaleźć właściwe sterowniki, ale po ich dokładniejszym zbadaniu pojawiły się istotne problemy. Sterownik zawierał kod poprawnie licencjonowany na mocy GPL, ale umieszczono w nim odwołania do statycznie linkowanych modułów na licencji własnościowej. Proponowane przez Microsoft rozwiązanie zostało nazwane LIC (Linux Integration Components) i w oczywisty sposób naruszało warunki licencji GNU GPL. W efekcie nie tylko nie mogło być dołączone do jądra systemu, ale naruszało warunki GPL. Taka niezgodność z licencją mogła spowodować niekorzystny efekt marketingowy - monopolista na rynku systemów operacyjnych w oczywisty sposób łamie najważniejszą z licencji ruchu open source. Pojawiły się nawet komentarze, które równały naruszenie GPL z naruszeniem EULA przez piratów, kradnących Windows.

Zamiast podnosić alarm, deweloperzy postanowili znaleźć rozwiązanie tego problemu. Stephen Hemminger, główny inżynier projektu Vyatta skontaktował się z Gregiem Kroah-Hartmanem - zatrudnionym w Novellu programistą projektu Linux Driver Project. W tym miejscu warto dodać, że koncern Novell blisko współpracuje z Microsoftem. Okazało się więc, że Hemminger omawiał z Kroah-Hartmanem sprawę sterowników, nie dlatego, że kod i pomysł mu się szczególnie spodobał, ale dlatego, że udostępnienie komponentów w formie LIC, łamało postanowienia licencji open source. Prace trwały znacznie dłużej, niż oczekiwano, ale ostatecznie kod został wydany na mocy GPL.

I tak - choć ruch ze strony Microsoftu rzeczywiście może przyczynić się do rozwoju systemów rodziny Linux i oprogramowania Windows, to do jego podjęcia konieczna była interwencja środowiska open source.

Nie jest to pierwszy raz, gdy Microsoft złamał postanowienia licencji open source. Przykładowo - w kwietniu 2007 roku gigant z Redmond opublikował kod kompilatora dokumentacji SandCastle z projektu CodePlex głosząc, że zastosowana licencja jest klasy open source. Okazało się jednak, że nie spełnia ona istotnych wymagań narzucanych przez zasady OSI. Ciekawa dyskusja na temat publikacji kodu SandCastle toczy się m.in. na blogu serwisu ZDnet.

Czytaj też:

Microsoft dostarczył otwarte sterowniki dla Linuksa - kto jeszcze to zrobi?

Microsoft chce współpracować z indyjskim rządem

Powołano organizację Open Source for America


Zobacz również