作者:Microsoft Edge團隊上次更新:2018-12-06
在過去的幾年中,微軟有意義地增加了對開源軟件(OSS)社區的參與,成為世界上最大的OSS項目支持者之一。我們正在從台式機上的Microsoft Edge開發中採用Chromium開源的途徑,成為其開源的更大貢獻者和用戶,以便我們可以為客戶創建更好的Web兼容性,而對於所有人來說,Web的分散較小網絡開發人員。
本文檔的存在是為了闡明我們對這項工作將如何進行的思考:我們想解釋與Microsoft Edge和Chromium開源項目有關的計劃和意圖。我們認為的受眾會發現該文檔最相關和有用的是(a)從事鉻的人作為批准者/維護者並領導該項目(b)(b)建立其他瀏覽器的公司和工程師,並將對我們計劃的貢獻感興趣和(c)我們在Windows和Microsoft Edge上與之合作的Web開發人員,公司IT經理和合作夥伴的更廣泛的社區。當然,我們和所有這些觀眾主要關心最終用戶,最終是聽眾,這項工作旨在受益。
對於Microsoft Edge來說,使用開源並不是什麼新鮮事。我們的新移動瀏覽器從一年多以前就基於開源。我們還使用了開源量表的台式機上的Microsoft Edge的各種功能(例如Angle,Web Audio,Brotli),我們已經開始對Chromium項目做出貢獻,以幫助將瀏覽在新的基於ARM的Windows設備上向前瀏覽。在這種情況下,我們一直在考慮採用Chromium開源項目的計劃,以開發桌面上的Microsoft Edge,以為我們的客戶創建更好的Web兼容性,並為所有開發人員提供更少的網絡分散性,而我們是我們現在準備前進了。
作為其中的一部分,我們希望並打算以一種不僅可以使Microsoft Edge的方式成為Chromium的重要貢獻,而且可以使其他瀏覽器在PC和其他設備上都更好。我們已經寫下了下面的“ Microsoft Edge的OSS原則”和“接下來發生的事情”,以清楚概述我們的貢獻方法。
我們的計劃是採用一種包含多年來有效工作的良好開源模型的方式:有意義和積極的貢獻,這些貢獻與長期存在的經過深思熟慮設計的建築,協作工程以及我們一起牢記,我們一起牢記我們一起牢記作為一個社區,請為所有在許多設備上使用網絡的人尋求最佳結果。
我們的背景深刻地了解了我們的意圖。從歷史上看,微軟一直專注於三個主要選區:最終用戶,開發人員和企業/組織。這些受眾群體已經告知我們過去在Internet Explorer中進行的投資,現在告訴我們在Microsoft Edge上進行的投資。在過去的幾年中,我們聽取了這些客戶的傾聽,他們回應的一個一致的主題是他們環境的複雜性的增加,以及對一致性,簡單性,可靠性,兼容性的渴望。
多年來,我們已經有效地與Google和其他瀏覽器供應商合作,首先在W3C中,現在更緊密地通過Whatwg建立了Web平台的共同標準,以降低這種複雜性並改善整體網絡體驗。儘管整個行業的瀏覽器供應商在與這些共同標准保持一致方面取得了重大進展,但基本的實現和不同的發佈時間表為我們的開發人員帶來了困難,以使我們的開發人員完全受益於開放網絡的承諾。
我們現在看到了一個機會,可以在一個通用的兼容網絡平台上以更深入的方式前進,該平台將為微軟的客戶提供良好的服務,並將為較大的網絡社區提供互惠互利的利益,同時維持瀏覽器生態系統中競爭性多樣性的市場收益。考慮到以下機會在我們的客戶群中查看以下機會:
最終用戶- 儘管Microsoft Edge在基於標準的HTML和Chrome等高通用瀏覽器添加的功能方面具有很高的Web兼容性,但我們唯一的Web-Platform代碼庫仍然面臨偶爾的兼容性問題,因為Web開發人員少於HTML標準標準和HTML標準和理性地關注Chrome等廣泛使用的平台,以開發和驗證客戶的體驗。儘管我們努力進行更新並連續解決這些問題,但我們將Microsoft Edge的實現作為一個組件,該組件僅按照與完整的Windows操作系統相同的時間表,使我們的更新能力放慢了能力,導致平台碎片化並揭示了兼容性差距。我們認為,更多使用開源軟件(OSS)可以為我們的最終用戶改善這種體驗。
在Microsoft Edge瀏覽器之外,Windows PC上的其他瀏覽器的用戶有時會在設備類型上面臨不一致的功能集和性能/電池壽命。一些瀏覽器的過程較慢,可以採用新的Windows功能,例如觸摸和手臂處理器。如您所知,我們最近開始做出為基於鉻的瀏覽器提供此類硬件支持的貢獻,我們相信這種方法可以概括:我們認為我們可以幫助加速網絡和用戶的經驗。為所有這些瀏覽器和用戶的利益,為鉻開源提供了新的功能。
開發人員- 隨著網絡在不斷擴大的設備類型陣列中的使用情況下,測試網站測試的複雜性和間接費用已經爆炸。由於Web開發人員(尤其是小型公司的Web開發人員)需要測試許多不同的系統,因此幾乎不可能確保有趣的網站在所有設備類型和所有瀏覽器中都能很好地運行。我們希望通過將Microsoft Edge Web平台與其他Chromium-Browser對齊,並在Windows上提供有意義的,對齊的功能,從而簡化Web開發人員的此矩陣。
公司IT-管理人員在個人和公司擁有的設備上都面臨著使用新的和舊站點的許多不同設備類型的用戶的下游複雜性。無論設備平台如何,我們都會看到有意義的價值在創建更好的Web兼容性和跨瀏覽器的對齊Web平台。
在所有這些受眾中,我們認為我們(a)(a)(a)工程師有價值的新功能將它們帶入共享開源項目時,我們可以將它們帶給他們的雙向利益,以實現多個瀏覽器,以及(b)越來越多地使用共享的共享,開放源代碼在我們大規模分發的瀏覽器中。我們打算做這兩個。
在過去的一年中,我們開始從事鉻和WEBRTC開源項目(以及Microsoft更廣泛的其他OSS地區),隨著我們考慮更廣泛的設備類型,我們的努力一直在加劇。一些例子包括…
將Chromium移植到ARM64 :我們已經與Google工程師合作完成了重要的工作,以使基於鉻的瀏覽器能夠在ARM設備上的Windows上進行編譯和運行。由於我們的工程投資,基於鉻的瀏覽器將很快能夠為基於ARM的Windows PC運送本地實施,從而大大提高了其性能和電池壽命。這是一個很好的例子,表明我們對Chromium進行投資,以在這些新型PC上的一系列瀏覽器中移動網絡體驗。
使WeBRTC可以為Windows UWP應用程序工作:一年多來,我們一直在為通用Windows平台(UWP)開發WEBRTC。這為開發人員提供了所有Windows 10平台的WEBRTC解決方案,包括桌面,Xbox,Hololens/VR和IoT。上週,我們宣布與Google達成協議,將Webrtc Lib的UWP叉子推回Webrtc.org repo。
改進角度:過去,我們對Angle的D3D11後端進行了改進,並提高了其性能。最近,我們與Intel和Angle團隊合作進行了其他改進,以使Angle成為Microsoft Edge中WebGL的官方後端。
我們認識到,這些是面向Web的開源貢獻的謙虛但粘稠的例子。兩者都為我們提供了關於我們如何以健康的方式進行協作並為鉻做出貢獻的寶貴觀點。在Microsoft中,我們的OSS專業知識和重點都在增長 - 我們的網絡團隊很高興能參加這些課程,並為數百萬人前進的網絡體驗。
到達黃銅釘...我們將此文檔放在一起,以與相關的OSS貢獻者和合作夥伴有關我們的意圖透明。
雖然我們一直是Chromium開源的消費者,用於運送Microsoft Edge移動瀏覽器和Microsoft Edge桌面的某些組件,但我們決定將更多的Microsoft Edge Desktop移動以使用Chromium開源並增加我們的貢獻回到這個社區。
Microsoft Edge方向發展的關鍵方面是:
我們將採用鉻作為Microsoft Edge桌面的網絡平台。我們在這裡的願望是將Microsoft Edge的Web平台(a)與Web標準相結合,並且(b)與其他基於鉻的瀏覽器相結合,以改善兼容性,並為開發人員提供更簡單的測試矩陣。
我們將進化Microsoft Edge App Architecture,使所有受支持版本的Windows版本(包括Windows 7和Windows 8)以及Windows 10 。改善最終用戶的網絡體驗(更好的兼容性)和開發人員(較少分裂)需要盡可能廣泛地提供一致的Web平台。為此,我們將使用Chromium的跨平台應用程序技術以及我們的分銷模型的更改,以便在所有支持的操作系統中可用Microsoft Edge Experience和Web平台。
我們將提供Windows平台專業知識,以改善Windows上所有基於鉻的瀏覽器的體驗。我們更多地參與鉻開源的理念將包含有益的新技術的貢獻,這與我們上面描述的一些工作一致。我們認識到,在Windows上更好地使網絡對我們的客戶,合作夥伴和我們的業務有益 - 我們打算積極地為此做出貢獻。我們歡迎有機會在電池壽命,觸摸,可訪問性,安全性和其他相互興趣領域與Chromium社區合作。
將本文檔提供給團隊和已經沉浸在Chromium OSS的人的關鍵目標是指出我們計劃如何貢獻並啟動將有價值的新技術帶入Chromium瀏覽器所需的工程計劃。
我們很高興能更深入地參與更廣泛的鉻項目。這是一個巨大的決定,我們認為這是正確的下一步。也就是說,我們正在邁向學習精神。我們知道,隨著我們增加對鉻的使用和貢獻,我們需要學習很多東西,我們期待以協作方式參與並為更廣泛的社區做出貢獻。我們期待著隨著時間的流逝而不斷發展我們參與的性質和範圍。
從長遠來看,我們正在做出這個決定。我們希望我們的工程師學習並隨著時間的流逝而成為Chromium項目的專家,並成長為社區的積極和負責任的成員。我們渴望增加對Chromium項目的貢獻,並將繼續維持我們做出的任何貢獻。
在尋求Web平台的改進時,我們的默認位置將是貢獻。我們專注於通過其不同的用戶體驗功能和連接服務來提供帶有Microsoft Edge的世界一流瀏覽器,但是如果新的平台功能涉及新的平台功能,我們將尋求“浮動所有船隻的漲潮”。我們將開始在ARM64支持,可訪問性,安全性,觸摸輸入和窗口上的功率增強等領域中的錯誤修復和有意義的貢獻。
我們認識並將尊重Web開源項目中固有的體系結構要求和工程方法,並使Chromium成功。有許多方面控制了Chromium OSS和其他項目:多設備支持,多OS支持,嚴格的實時工程等。儘管我們公司歷史上一直專注於Windows PC,我們相信我們可以做出貢獻,改進Windows上的瀏覽器,我們還了解Web OSS項目包含了包括Android在內的各種設備類型,並且該貢獻必須適應此設備的多樣性。我們將以與滿足Chromium跨平台和跨設備需求的建築設計相一致的方式做出貢獻。
我們認為,從標準社區和開放的網絡上,從各種各樣的角度來看,開放網絡的演變最能得到服務。在W3C,ECMA和Whatwg的背景下,我們將保持深入而大力參與標準討論,其中可以聽到和考慮開發競爭瀏覽器的供應商的觀點,並考慮更大的網絡社區。
當我們進步OSS的工作並考慮了我們的工程專業知識可以對用戶和開發人員帶來最大差異的地方,我們將最初的貢獻列表匯總在一起“重點領域”。
我們想強調,我們將此列表視為起點 - 在某些領域,我們可以一起學習/練習並在其所有消費者的Chromium代碼庫中創建有意義的價值。
ARM64-我們在這裡的計劃是繼續/完成移植工作,該工作將Chromium Codebase帶來支持ARM -64,因此可以運輸瀏覽器,從而在本地支持這些設備。
可訪問性- 為了滿足所有客戶的需求,我們打算通過添加Microsoft UI自動化(UIA)接口來支持Chromium Codebase的可訪問性,以支持Windows上的敘述者和其他輔助技術,並與Windows的易於訪問設置集成,例如高對比度和字幕樣式,改善控制能力和支持CARET瀏覽。
現代輸入類型(例如觸摸)的PC硬件演變- 我們可以幫助改善桌面觸摸,手勢識別和滾動/平板平滑度,尤其是在更新的,更現代的Windows設備上。
安全性- 當然,對於所有瀏覽器供應商而言,Web用戶都盡可能安全,安全。為了支持這個共同的目標,我們期待與Chromium Security團隊緊密合作,並在一般建立安全軟件方面貢獻我們的經驗,尤其是我們在Windows平台上的專業知識。
對於Microsoft Edge團隊來說,這是微軟的重要一步,我們認識到這也是Chromium項目的重要一步。我們對我們認為這將帶來更大的網絡社區帶來的好處充滿熱情。我們渴望開始與Google和Chromium項目的其他貢獻者一起開始與我們的同行交流,並且在Chromium項目中,我們如何在公共網絡平台上如何一起前進。同時,我們認識到競爭的價值,並打算為Microsoft Edge瀏覽器帶來我們的最佳願景,該瀏覽器通過差異化的用戶體驗功能和連接的服務在Chromium開源基礎上建立。
根據我們在標準機構和先前的共同工程工作中的工作,我們已經與許多鉻貢獻者建立了積極的工作關係。我們期待建立這些關係和學習 - 我們如何最好地為開放網絡的實現做出貢獻。
為了更具體地了解我們將採取的措施和之後的備忘錄,這是一個入圍名單:
當我們開始與您參與Chromium項目時,我們會邀請您的評論,建議和反饋!