Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
98 lines (57 sloc) 23.2 KB

Microsoft EdgeとChromiumオープンソース:私たちの意向

著者:Microsoft Edge Team 最終更新日:2018-12-06

なぜこの文書

過去数年間、Microsoftはオープンソースソフトウェア(OSS)コミュニティへの参加を大幅に増やし、OSSプロジェクトの世界最大の支持者の一員となっています。私たちMicrosoft Edgeチームは、デスクトップのMicrosoft Edgeの開発にChromiumオープンソースを採用する道を歩み始めており、Chromiumのより大きな貢献者とユーザーになりつつあります。その結果、お客様にはより良いウェブ互換性を提供し、すべてのウェブ開発者にウェブの断片化を減らすことができます。

この文書は、どのようにその作業が進行するかについての私たちの考えを明確にするために存在します:Microsoft EdgeとChromiumオープンソースプロジェクトに関する私たちMicrosoft Edgeチームの計画と意図について説明したいと思います。この文書が最も関連しかつ有用であると私たちが考える読者は、(a) Chromiumを承認者(approvers)/メンテナーとしてChromiumで働いていて、プロジェクトをリードする人々、(b) 他のブラウザーを作成する、および私たちがなそうと計画している貢献に興味を持つ企業およびエンジニア、(c) WindowsとMicrosoft Edgeで共に働くウェブ開発者、企業ITマネージャー、パートナーの幅広いコミュニティーです。もちろん、私たちとそのすべての読者は、第一にエンドユーザーを大事に思います。エンドユーザーが最終的にこの作業により恩恵を受けようとしている読者です。

TL;DR

オープンソースを使って作業することは、Microsoft Edgeにとっては新しいことではありません。私たちの新しいモバイルブラウザーは、1年以上前からオープンソースを基にしています。私たちはまた、デスクトップのMicrosoft Edgeのさまざまな機能(ANGLE、Web Audio、Brotliなど)にもオープンソースを使用しており、新しいARMベースのWindowsデバイスのブラウジングを促進するためにChromiumプロジェクトに貢献し始めました。そのような状況で、私たちは、お客様のウェブ互換性を向上させ、すべての開発者にとってウェブの断片化を少なくするために、デスクトップのMicrosoft Edgeの開発にChromiumオープンソースプロジェクトを採用する計画を考えてきました。今、前進する準備ができています。

その一環として、Microsoft Edgeだけでなく他のブラウザーもPCと他のデバイスの両方で優れたものできる方法で、Chromiumの重要な貢献者になることを願っており、そうするつもりです。私たちは、貢献へのアプローチを明確にするために、「Microsoft EdgeのOSS原則」と「次に起こること」を書き留めました。

私たちの計画は、長い間効果的に働いてきた十分に確立されたオープンソースモデルを取り入れる方法で参加することです:長年の思慮深く設計されたアーキテクチャや、協調的なエンジニアリングと協調して、そしてコミュニティとして共に、多くのデバイスを横断してウェブを使用するすべての人々にとって最良の結果を追求していくことを忘れずに、有意義でかつ積極的な貢献をしていきます。

Microsoftと今日のウェブ

私たちの 意図 は、私たちの状況によって心から伝えます。歴史的に、Microsoftは、エンドユーザー、デベロッパー(開発者)、そしてエンタープライズ(企業)/組織の3つの主要な構成要素に焦点を当ててきました。これらの読者は過去にInternet Explorerで行った投資に情報を提供しており、Microsoft Edgeでの投資をお知らせします。ここ数年の間にこれらの顧客に耳を傾けながら、顧客は一貫したテーマを繰り返してきました。顧客の環境の複雑さが増し、一貫性、簡潔性、信頼性、互換性が求められているのです。

私たちは、最初にW3Cで、現在はWHATWGを通じてより密接に、この複雑さを軽減し、全体的なウェブエクスペリエンスを向上させるためにウェブプラットフォームの共通の標準を作成することで、長年にわたってGoogleや他のブラウザベンダーと効果的に提携してきました。業界を横断してブラウザベンダーは、これらの共通の標準に沿って大幅な進歩を遂げている一方で、基本的な実装やリリーススケジュールが異なることで、私たちの開発者に対するオープンウェブの誓約由来の十分な利益を享受することが困難になっています。

ブラウザーエコシステムにおける競争力のあるダイバーシティー(多様性)の市場利益を維持しつつ、Microsoftの顧客に十分に役立ち、かつより広範なウェブコミュニティに相互利益をもたらすような、共通の互換性のあるウェブプラットフォーム上でより深く前進する進んでいく機会があると私たちは見ています。当社が顧客セグメント全体で見ている次のような機会を考えてみましょう:

  • エンドユーザー - Microsoft Edgeは、標準ベースのHTMLと、Chromeのような非常によく使用されるブラウザーによって追加された機能の両方に対して非常に高いウェブ互換性を備えていますが、顧客の経験を開発して検証するために、ウェブ開発者がHTML標準にあまりフォーカスせず、Chromeのような広く使われているプラットフォームに合理的にフォーカスを当るため、ユニークなウェブプラットフォームのコードベースは今もなお互換性の問題に直面しています。これらの問題を継続的にアップデートし、修正するための努力をしていますが、完全なWindowsオペレーティングシステムと同じスケジュールでのみ出荷されるコンポーネントとしてのMicrosoft Edgeの実装は、私たちの更新能力を低下させ、プラットフォームの断片化や互換性の欠如を招いていました。私たちは、オープンソースソフトウェア(OSS)をより多く使用することで、エンドユーザーのこのような経験を向上させることができると考えています。

  • Microsoft Edgeブラウザーの外側で、Windows PC上の 他のブラウザー を使用しているユーザーは、デバイスの種類によらず、機能セットとパフォーマンス/バッテリー寿命が一致しないことがあります。一部のブラウザーでは、タッチのような新しいWindows機能やARMプロセッサーを使用するための処理が遅くなっています。ご存じのように、私たちは最近、Chromiumベースのブラウザーにこれらのタイプのハードウェアサポートを提供するための貢献を開始しました。このアプローチは一般化することができると考えています:私たちは、これらのブラウザーとユーザーのすべて利益のために、Chromiumオープンソースに新しい機能を提供することで、ウェブとユーザー体験を促進するのに役立つと考えています。

  • 開発者 - 常に拡大する数々のデバイスタイプ全体でウェブの利用が広がるにつれて、ウェブサイトのテストに伴う複雑さとオーバーヘッドが爆発的に増加しました。ウェブ開発者、特に中小企業の開発者は非常に多くの異なるシステムをテストする必要があるため、興味のあるサイトがすべてのデバイスタイプとすべてのブラウザーでうまく機能するように保証することはほとんど不可能です。Microsoft Edgeウェブプラットホームを他のChromiumブラウザーと連携させることで、ウェブ開発者向けのこのマトリックスを簡素化し、有意義で、あらゆるブラウザーで使用可能なWindows上のアライメントされた機能を提供したいと望みます。

  • 企業IT - IT管理者は、新しいサイトと古いサイトの両方を使用して、個人的にも企業によっても所有されているデバイスで、さまざまな種類のデバイスを持つダウンストリームの複雑なユーザーに直面します。私たちは、デバイスプラットフォームにかかわらず、より良いウェブ互換性と、企業IT向けのブラウザー間で調整されたウェブプラットフォームを作成する際に有意義な価値を見出します。

これらの読者全員に共通していることは、ユーザーにもたらすことができると考えられる双方向のメリットです。(a) 複数のブラウザーの利益のために、共有しているオープンソースプロジェクトに有益な新機能をエンジニアリングし、(b) 私たちが広範囲に配布しているブラウザーで共有されたオープンソース自身をますます利用するようになります。我々はこれらの両方を行うつもりです。

ウェブにフォーカスを当てたオープンソースへの最近の投資

昨年、ChromiumとWebRTCのオープンソースプロジェクト(他のOSS分野ではMicrosoftで広く普及しています)に参加し始めました。私たちの取り組みは、より広範なデバイスタイプを検討するにつれて増加しています。例としては…

  • ChromiumをARM64に移植する:Chromiumベースのブラウザーが、ARMデバイス上のWindowsでネイティブにコンパイルして実行できるようにするために、Googleのエンジニアと協力して重要な作業を行ってきました。私たちのエンジニアリング投資のために、ChromiumベースのブラウザーはまもなくARMベースのWindows PC向けのネイティブ実装を出荷できるようになり、パフォーマンスとバッテリ寿命が大幅に向上します。これは、私たちがこれら新しいタイプのPC上のさまざまなブラウザーでウェブ体験を前進させるためにChromiumに投資する素晴らしい例です。

  • Web RTCをWindows UWPアプリケーションで使用できるようにする:1年以上にわたり、Universal Windows Platform (UWP)向けのWebRTCに取り組んできました。これにより、デスクトップ、Xbox、HoloLens/VR、IoTを含む、Windows 10のすべてのプラットフォーム向けのWebRTCソリューションが開発者に提供されます。先週、私たちはWebRTCライブラリーのUWPフォークをWebRTC.orgリポジトリーに戻すためのGoogleとの合意を発表しました。

  • ANGLEの改善:これまでに、ANGLEのD3D11バックエンドの改善と性能向上を行ってきました。最近では、IntelおよびANGLEチームと協力し、ANGLEをMicrosoft EdgeのWebGLの公式バックエンドにするための追加の改良を行っています。

私たちは、これらがウェブ指向のオープンソースへの貢献の中でも、まだまだ意味のある例であることを認識しています。両方とも、健全な方法で協力してChromiumをどのように使用し、貢献できるかについて貴重な視点を提供しています。Microsoft全体では、OSSの専門知識とフォーカスが向上しています。ウェブチームは、これらのレッスンを受け、何百万人もの人々のためにウェブ経験を推進することに興奮しています。

Microsoft Edge + オープンソース:Microsoftの新たな方向性

本題に入りましょう――私たちは、この文書を関連するOSSの貢献者やパートナーに透明性を持たせるために、その意図についてまとめました。

Microsoft Edge BrowserでのOSSの利用

私たちは、Microsoft Edgeモバイルブラウザーとを出荷するChromiumオープンソースの消費者であり、Microsoft Edgeデスクトップの一部のコンポーネントについては、Chromiumオープンソースを使用するためにMicrosoft Edgeデスクトップをはるかに移動させ、このコミュニティへの貢献を増やすことに決定しました。

Microsoft Edge向けの方針におけるこの進化の主要な側面は次のとおりです:

  1. *Microsoft Edgeデスクトップ向けのウェブプラットフォームとしてChromiumを採用する予定です。*私たちの願望は、互換性を向上させて開発者向けのより簡単なテストマトリックスのために、Microsoft EdgeのWebプラットフォームを(a)ウェブ標準と(b)他のChromiumベースのブラウザーとの両方をそろえることです。

  2. *Microsoft Edgeのアプリケーションアーキテクチャを進化させ、Windows 7やWindows 8、Windows 10を含むサポートされているすべてのバージョンのWindowsへの配布を可能にします。MacOSなどの他のデスクトッププラットフォームにもMicrosoft Edgeをもたらします。エンドユーザー(より良い互換性)と開発者(断片化の少ない)のウェブ体験を向上させるには、可能な限り広く利用できる一貫したウェブプラットフォームが必要です。これを実現するため、Chromiumのクロスプラットフォームアプリテクノロジーとディストリビューションモデルの変更を使用して、サポートされているすべてのオペレーティングシステムでMicrosoft Edge体験とウェブプラットフォームを利用できるようにします。

  3. *私たちは、Windows上のChromiumベースのブラウザーのすべての体験を向上させるために、Windowsプラットフォームの専門知識を提供します。Chromiumオープンソースへのより大きな参加の理念は、私たちが上で述べた作業のいくつかと一致して、有益な新技術の貢献を受け入れます。私たちは、Windows上でウェブをより良くすることが、顧客、パートナー、ビジネスにとって良いことであると認識しており、その目的に積極的に貢献するつもりです。バッテリーの寿命、接触性、アクセシビリティ、セキュリティなど、相互に関心のある分野でChromiumコミュニティと提携する機会を歓迎します。

私たちの貢献:原則と期待

Chromium OSSにすでに打ち込んでいるチームや人々にこの文書を提供することの重要な目標は、貢献する予定を示すことと、貴重な新技術をChromiumブラウザーにもたらすために必要なエンジニアリングのプランニングに弾みをつけることです。

私たちは、より広範にChromiumプロジェクトに深く携わることに興奮しています。これは重く熟考した決定であり、正しい次のステップであると私たちは信じています。つまり、私たちは学習の精神の中でその一歩を踏み出しています。私たちが、Chromiumの使用と貢献を増やしながら多くのことを学ぶべきことは分かっています。協力的な方法で広範なコミュニティに参加し、貢献することを楽しみにしています。私たちは、時間の経過と共に私たちの関与の性質と範囲を発展させることを楽しみにしています。

Microsoft EdgenのためのOSS原則

  1. *私たちはこの決定を長期にわたって行っています。*私たちのエンジニアは、学び、時間をかけてChromiumプロジェクトのエキスパートになり、コミュニティの積極的かつ責任あるメンバーに成長することが期待されます。私たちはChromiumプロジェクトへの貢献を増やすことを切望しており、引き続き貢献を続けていきます。

  2. *ウェブプラットフォームの改善を模索しているとき、私たちのデフォルトの立場は貢献することです。*私たちは、差別化されたユーザー体験機能と接続されたサービスを通じて、Microsoft Edgeとともに世界に通用するブラウザーを提供することに注力していますが、新しいプラットフォーム機能については、「上げ潮はすべての船を持ち上げる(rising tide that floats all boats)」を追求します。私たちは、Windows上でのARM64サポート、アクセシビリティ、セキュリティ、タッチ入力、電源強化などの分野でのバグ修正と有意義な貢献から始めます。

  3. 私たちは、ウェブオープンソースプロジェクトに本質的なアーキテクチャー要件とエンジニアリングアプローチを認識し、尊重し、Chromiumを成功させました。*Chromium OSSとその他のプロジェクトを統制する側面は数多くあります:マルチデバイスサポート、マルチOSサポート、厳密なリアルタイムエンジニアリングなどです。当社は歴史的にWindows PCにフォーカスを当てており、私たちはWindows上のブラウザーを改善するために貢献できると信じていましたが、私たちはまた、ウェブOSSプロジェクトがAndroidを含む幅広い種類のデバイスを採用しており、その貢献がこのデバイスの多様性に対応しなければならないことも理解しています。私たちは、Chromiumのクロスプラットフォームおよびクロスデバイスのニーズを満たすアーキテクチャ設計と一貫した方法で貢献します。

  4. *私たちはオープンウェブの進化が標準コミュニティを通じて最も効果的であると信じており、オープンウェブは幅広い視点からのオープンな議論から利益を得ています。*私たちは、W3C、ECMA、WHATWGのコンテキストで標準の議論に深く徹底的に引き続き取り組み、競合するブラウザーを開発するベンダーやより大きなウェブコミュニティの考え方を聞き、検討することができます。

貢献:初期のフォーカスする分野

私たちはOSSの作業を進め、エンジニアリングの専門知識がユーザーと開発者にとって最大の違いを生み出す場所を考慮して、最初の貢献「フォーカスする分野」のリストをまとめました。

私たちは、このリストを単なる出発点として考えていることを強調したいと思います―すべての消費者のためにChromiumコードベースで共に学び/実践できかつ有意義な価値を生み出すことができる分野です。

  • ARM64 - ChromiumのコードベースでARM-64をサポートする移植作業を続行/終了する予定であるため、これらのデバイスをネイティブにサポートするブラウザーを出荷することができます。

  • アクセシビリティ - すべての顧客のニーズに応えるために、ナレーターやWindows上の他の支援技術をサポートするためのMicrosoft UI Automation (UIA) インターフェイスを追加することでChromiumコードベースのアクセシビリティを強化するつもりです。これには、ハイコントラストやキャプションスタイリングなどのWindows Ease of Accessの設定との統合、コントロールのアクセシビリティの向上、キャレットブラウジングのサポートなどが含まれます。

  • モダンな入力タイプ(タッチなど)のための PCハードウェアの進化 - 欲によりモダンなWindowsデバイスで、デスクトップタッチ、ジェスチャー認識、スクロール/パンのスムーズさの改善に役立ちます。

  • セキュリティ - もちろん、すべてのブラウザーベンダーにとって、ウェブユーザーはできるだけ安全でセキュアに保たれることが重要です。この共通の目標をサポートするため、Chromiumのセキュリティーチームと緊密に提携し、安全なソフトウェアを構築してきた経験やWindowsプラットフォームの専門知識を積極的に貢献することを楽しみにしています。

次は何が起こる

これは、Microsoft Edgeチームにとって、Microsoftの大きなステップであり、Chromiumプロジェクトにとっても大きなステップになると認識しています。私たちはこれがより大きなウェブコミュニティにもたらすと信じている利益に熱心です。Googleや他のChromiumプロジェクトの貢献者で、Chromiumプロジェクトの一般で、共通のウェブプラットフォームでどのように協力し合うことができるのか、カウンターパートとの関わりを始めることを熱望しています。同時に、私たちは、競争の価値として認識し、差別化されたユーザー体験機能と接続されたサービスを通じてChromiumのオープンソースを基盤とするMicrosoft Edgeブラウザーの最良のビジョンを生み出すこと目指します。

私たちはすでに、標準化団体の仕事と以前に共有されたエンジニアリングの取り組みに基づいて、多くのChromiumの貢献者と積極的に協力しています。私たちは、これらの関係や学習を構築することを楽しみにしています。私たちがオープンなウェブのこの実装にどのように最も貢献できるのかを考えています。

私たちがどのような行動をとり、このメモに従うかを具体的に理解するために、ここに短いリストがあります:

  1. まず、Chromiumプロジェクトのさまざまな部分のエンジニアリングオーナーに連絡し、上記の分野での貢献を開始する方法を説明します。これには、Googleだけでなく他の企業も含まれます。
  2. 私たちは、Microsoft Edge戦略でのこの進化について他の主要パートナーに伝えます:WHATWG、W3C…だけでなく、OEMパートナー、高度に同流のある開発パートナーなど。
  3. 興味のある人々の外部コミュニティが私たちの戦略変更を透過的に見ることができるように、ブログ投稿を通じて公表する予定です。
  4. この文書はGitHubに投稿しますので、関心のある開発者やウェブコミュニティーのメンバーは、私たちの計画について直接読むことができます。

Chromiumプロジェクトであなた関わりながら、コメント、アドバイス、フィードバックをお寄せください。