一波三折 - 微軟發布Linux驅動代碼
上周短短數天之內,微軟連續發布了兩個GPLv2程序:第一個是Hyper-V的Linux驅動,第二個則是Live Services for Moodle的插件。 Moodle是一個開源的課程內容管理系統,Live Services插件可以讓Moodle與微軟的Live@edu服務進行整合,向Moodle用戶提供電子郵件,日歷,即時通訊和搜索。插件現在可以在微軟的Education Labs網站上下載。當然第一個程序的影響要大的多,通過Hyper-V的Linux驅動,微軟向Linux社區捐贈了2萬行代碼,,以增加其在虛擬化市場的競爭力。
7月21日凌晨,微軟公司對外宣布,面向Linux內核社區發布2萬行的設備驅動程序代碼。這是微軟首次直接面向Linux社區發布Linux設備驅動程序代碼,用的是目前Linux社區最受歡迎的許可方式GPLV2。
微軟發布的2萬行設備驅動程序代碼可供Linux社區和客戶使用,這使得任何版本的Linux都可以基于微軟的虛擬化技術Hyper-V Server 2008或者Windows Server 2008 R2 Hyper-V上進行虛擬化。在此之前,因為雙方有合作,微軟只提供了Novell公司的Linux操作系統使用其虛擬化技術的解決方案。
Linux驅動程序開發小組表示,微軟這一舉動是由于他們的敦促所致。Linux的驅動程序開發小組是Linux內核開發團隊的一部分,一直以來就在說服各個廠商,請求他們把自己的驅動程序裝入Linux內核,領導這一小組的是Novell的一位員工Greg Kroah-Hartman。
Hartman表示,收到了微軟提供的22000行源代碼后,在未來24小時內就會在下一個Linux的發行版中發布。Hartman說,這些代碼將會成為Linux內核2.6.30.1穩定版的部分,而包含開源驅動程序計數的首個主內核版將會在12月份作為2.6.32版的一部分予以發布。
有業內人士認為微軟向Linux貢獻代碼是非常受歡迎的,也有人認為微軟將利用GPL對Linux平臺發起沖擊。 紅帽首先肯定了微軟的改變,但紅帽依然敦促其競爭對手保證將不會利用其專利權來打擊Linux。 紅帽法律部門表示:“微軟為GNU通用公共授權V2下的Linux內核做出了非常重要的貢獻,這是非常重大的一個新聞。這就好像昨天微軟還在以Linux、開源軟件、GPL為對手,今天就變成了Linux社區的一個可靠成員。作為為Linux內核貢獻最大的公司,紅帽對此表示非常感謝,也鼓勵微軟能繼續為Linux做出貢獻。”但是紅帽的法律部門還表示微軟需要承諾不采用任何的專利權來打擊Linux。“要贏得Linux社區的尊敬和信任,微軟需要不含糊的保證不會用專利權來打擊Linux以及其他開源開發人員和用戶。”
Linus則表示他至今尚未看過代碼,因為它是驅動程序,是低風險的,他本人對驅動代碼的興趣也不大,他信任驅動的維護人員能做好他們的工作。如果驅動項目的維護者Greg Kroah Hartman將微軟的代碼遞交到Linux kernel,他可能會出于好奇心而去觀賞一下。Linus很坦率稱自己是務實主義者,他可能有時也會去取笑微軟,但同時他認為微軟仇恨是一種疾病。自由軟件世界有“極端主義者”,這是他為什么不稱呼他的工作為自由軟件的主要原因之一,他不想與排外主義者和仇恨者扯上關系,他承認這可能出于私心,但所有開源代碼其實都是出于利己因素驅動的。
正如陸首群教授說的那樣,微軟這么做是有多重原因的。一是為提高微軟在虛擬化市場上競爭力服務,二是面對Linux發展形勢中爭取主動。
微軟此次發布的2萬行Linux設備驅動程序代碼,首先受益的是那些計劃使用虛擬化技術的公司。在此之前,用戶如果想在既有Linux又有 Windows的異構環境下使用虛擬化技術,微軟提供的解決方案只針對一家Linux廠商Novell,現在,所有的Linux版本均可使用微軟的 Hyper-V來虛擬化Windows及各種版本的Linux。客戶有了更多的選擇。
對于微軟而言,它向競爭對手Linux提供幫助并不是一個虧欠的買賣。微軟意識到,虛擬化的趨勢不可阻擋,微軟也對Hyper-V帶來的收入寄 予厚望。Linux驅動程序的發布,讓所有版本的Linux都可以使用Hyper-V,業內分析認為這一舉措可以提高微軟在虛擬化市場的競爭力,提升 Hyper-V帶來的收入。
事情到了這里本來應該告一段落,可戲劇性的事情發生了。微軟在GPL許可證下發布了Hyper-V的Linux驅動,但最終它將無法被Linux kernel接納,因為其違反了GPL許可證。據一位開源軟件網絡工程師稱,微軟根據GPLv2許可證協議為Linux內核發布的代碼在微軟發布之前就違反了這個許可證協議。
開源軟件網絡廠商Vyatta的主要工程師Stephen Hemminger在博客中稱, Hyper- V開源驅動中有一些組件靜態鏈接到閉源的binary,這是GPL所不允許的。他認為這個驅動程序有根據GPL許可證授權的組件和與一些二進制代碼有聯系的組件。由于這個許可證不允許專有軟件和開源軟件混合使用,微軟的這個軟件就違反了GPL許可證協議。
Hemminger說,他已經提醒Novell這個違反協議的事情,并聯系了Linux Driver項目負責人Greg Kroah-Hartman,希望在不引起媒體注意的情況下解決該問題。Novell隨后把這個事情通知了微軟。Hemminger還對微軟發布這個代碼表示祝賀。這個代碼包含4個驅動程序。這些驅動程序是虛擬化Linux設備驅動程序的一部分。他說,雖然這個事情用的時間比預期的長,但是,微軟終于決定做正確的事情,發布了這個代碼。但Linux kernel棄用微軟的Hyper-V驅動的消息最終被公開,Kroah-Hartman證實由于存在違反GPL許可證的行為,代碼未被接受。這讓微軟感到萬分尷尬。
微軟上周四通過公共關系部門對此事做出回應稱,它正在研究對Hemminger的說法給予答復。Novell沒有對此發表評論。
Linuxeden-Linux伊甸園是專注于開源GNU/ Linux資訊的網站,以推廣普及開源Linux事業為己任
【編輯推薦】