618ZXW

オープンソース プロジェクト Mono は Microsoft に統合されました。

オープンソース協会開源社

以下の記事は、Liu Xin 著の「Code Farmer's Turnaround」からの抜粋です。

一見取るに足らないニュースが最近報じられました。Microsoft が Mono のアップストリーム プロジェクトの管理を Wine チームに引き渡したのです。

Mono が何であるか知らない人も多いかもしれませんが、その背後には複数の企業間の激しい戦いと、何人かの大物たちの愛憎関係が存在します。

話は長くなるので、まずは Java から始めましょう。

1990 年代、マイクロソフトは絶対的な権力を握り、オペレーティング システム市場を独占しただけでなく、多数のアプリケーション ソフトウェア ベンダーを壊滅させ、業界の公敵となりました。

この時、Linux、Java、そしてNetscapeという3つの新しいものが登場し、これらはMicrosoft帝国の墓掘り人となる。

Java が初めて登場したとき、「一度書けばどこでも実行できる」というスローガンを掲げ、オペレーティング システムの重要性を低く見せていました。

しかし、Java で書かれたデスクトップ アプリケーションは、インターフェースが醜く、パフォーマンスも低いなど、非常に質が悪く、嘲笑の対象になっています。

Sun はこれではうまくいかないと気づきました。デスクトップでは Microsoft と競争できなくなったため、サーバーへと移行したのです。

サーバーサイドプログラムにはユーザーインターフェースがなく、メモリとCPUは十分に備えています。欠けているのは、ビジネスロジックの記述に最適なJavaのような言語です。

Sun は J2EE (Servlet、EJB、JPA、JMS など) 仕様を提案し、大手企業を結集して反 Microsoft 同盟を形成し、インターネット時代における地位を確固たるものにしました。

もし私がビル・ゲイツだったら、きっと心が痛みます。20 年かけてようやく「デスクトップ」を整理できたのに、今度はインターネットが登場したのですから。

ビル・ゲイツはまず、プログラミング言語とコンパイラの達人であるアンダースを引き抜いてVJ++を開発するという、ちょっとした計画を考案しました。このVJ++は、Java APIをバイパスしてオペレーティングシステムに直接アクセスできるだけでなく、JavaコードをWindows実行ファイル(exeファイル)にコンパイルして実行することもできました。

Sun は VJ++ を見て激怒し、「Java の『一度書けばどこでも実行できる』という機能を破壊している!」と述べ、直ちに Microsoft を訴えました。

Microsoft の裏戦術は失敗したため、ゼロからスタートして Java と競争するしか選択肢がありませんでした。これが .NET 戦略です。

.NETは当初、Javaと競合するように設計されました。Javaにはバイトコードがあり、.NETには共通中間言語(IL)があります。

Java には JRE があり、.NET には CLR (共通言語ランタイム) があります。

.NETのハイライトの一つは、多言語開発のサポートです。C#、F#、VB .NET、C++など、最終的に中間言語(IL)にコンパイルされる言語を使用できます。

オブジェクト指向プログラミングに例えると、CLI はインターフェイスに相当し、Microsoft の .NET Framework は CLI の商用実装です。

誰でも CLI を実装でき、理論上は .NET Framework と同等です。

しかし、CLIの実装は手間がかかりすぎますし、CLIはMicrosoftが独占しています。本当に誰かがCLIを実装するでしょうか?

ミゲル・デ・イカサはメキシコ系アメリカ人のプログラマーで、もともと大学では数学を専攻していましたが、別の道を選び、Linux とプログラミングに魅了され、Linux カーネルに多大な貢献をしました。

彼には勉強する時間がなかったので、そのまま学校を中退した。

学位がなかったため、彼は米国でH-1Bビザを取得できず、マイクロソフトに入社する機会を失った。

幸いなことに、彼は Microsoft に入社しませんでした。そうでなければ、当時の Microsoft のオープンソース ソフトウェアに対する敵対的な姿勢を考えると、GNOME を作成することは決してできなかったでしょう。

そうです、GNOME は Miguel によって始められ、すぐに KDE と同様に Linux デスクトップの双子のスターの 1 つになりました。

マイクロソフトの面接中に、ミゲルはマイクロソフトでインターンをしていたナット・フリードマンと出会い、友人になった。

1999年、2人はGNOMEの開発支援を専門とするXimianという会社を設立しました。

これは、ソフトウェアはオープンソースで無料だが、技術サポート サービスは有料という、新たに出現したビジネス モデルです。

同社は数百万ドルの資金を確保したが、皮肉なことに、ミゲル氏がすでにIT業界で高い知名度を誇っていたにもかかわらず、彼は米国のH-1Bビザを取得できなかった。

ミゲルは最終的にO1ビザでアメリカに到着しました。このビザは元々、一流ミュージシャン、アスリート、ノーベル賞受賞者に授与されていました。当時のO1ビザの手続きは複雑で、ミゲルはメキシコの米国領事館で6ヶ月ごとに更新する必要がありました。

Microsoftが.NET戦略を発表した後、ミゲルは.NETの多言語サポート戦略がGNOMEに大きな助けとなるだろうと気づきました。.NETがLinuxに実装されれば、プログラマーは好みのプログラミング言語を使ってLinuxデスクトップアプリケーションを開発できるようになります。

そこで、ミゲルは、Linux 上に .NET を実装し、.NET のもう一方の部分を接続するためのオープンソース プロジェクト Mono を立ち上げることにしました。

これはミゲル氏にとってマイクロソフトとの二度目の協業であり、多くのオープンソースリーダーから批判を浴びている。GNUの創設者でありフリーソフトウェアの擁護者であるリチャード・ストールマン氏は、悪のマイクロソフトが特許を取得した技術をLinuxに実装したとして、ミゲル氏を「フリーソフトウェアの裏切り者」と激しく批判した。

Mono は Microsoft 独自の .NET Framework ほど優れているわけではないかもしれませんが、大きな問題を解決し、多くの人々の間で人気を博しました。

たとえば、有名なゲーム エンジン Unity は当初、基盤となる .NET ランタイムとして Mono を選択しました。これにより、C# コードを複数のプラットフォームで実行できるようになりました。

その後、大きな魚が小さな魚を食べるという一連の出来事が起こりました。

2003年、ミゲルのXimian社はNovell社に買収され、ミゲルは同社の副社長に就任しました。

2011 年、Novell は Attachmate に買収され、同社は Miguel 氏を含め、米国で Mono に携わっていた全従業員を解雇しました。

Mono の将来が不透明なため、ミゲルとナット・フリードマンは Mono の開発を継続するために新しい会社 Xamarin を設立しました。

当時、モバイル インターネットが登場しており、Xamarin はこの機会を利用して Xamarin.iOS と Xamarin.Android をリリースし、.NET プログラムを携帯電話で実行できるようにしました。

ミゲルは鋭い洞察力を持っていたと言わざるを得ません。これは極めて重要な決断でした。

わずか3年後、Microsoftはオープンソースでクロスプラットフォームな.NET Coreをリリースし、Monoは非常に困難な立場に追い込まれました。結局、公式製品と競合するのは困難でした。

2016 年に、Microsoft は Xamarin を 4 億ドルで買収し、Xamarin を Microsoft .NET Framework の一部にしました。

この度、ミゲルは正式にマイクロソフトに入社しました。

.NET 5 以降では、.NET Framework、.NET Core、Mono が統合され、デスクトップ、Web、クラウド、モバイル デバイス、ゲーム、IoT、AI などのさまざまな開発シナリオがサポートされるようになりました。

2024 年 8 月 27 日、Microsoft は Mono アップストリーム プロジェクトの所有権を、Windows 互換レイヤー Wine の開発チームである WineHQ に譲渡しました。

Wine に関する記事をご覧ください: 「このオープンソース ソフトウェアは、国産オペレーティング システムの最も致命的な弱点を補ったか?」

ミゲルはGNOMEとMonoという2つの有名なプロジェクトを立ち上げ、どちらの起業でも成功を収めました。まさに人生の勝者と呼ぶにふさわしい人物です。

オープンソース コミュニティではよく知られた人物である彼は、多くの Linux 愛好家とは異なり、実用主義者です。

GNOMEで多言語アプリケーションをサポートできるようにするために、Microsoftの特許取得済み.NETをLinux界と携帯電話界に導入し、「裏切り者」と批判された。

彼はMicrosoftのオープンテクノロジーを公然と支持しています。ODF(Open Document Format)とOOXML(Office Open XML)の争いにおいて、彼はオープンソースコミュニティからの広範な批判を完全に無視し、MicrosoftのOOXMLを断固として支持しました。

LinuxデスクトップGNOMEの開発者であるにもかかわらず、彼はmacOSへの愛を隠していません。彼はLinuxデスクトップの開発者中心の文化、後方互換性の欠如、そして様々なLinuxディストリビューション間の断片化を批判し、これらすべてが「Linuxデスクトップを台無しにしている」と述べています。

この記事の著者である劉欣は、ベストセラー書籍『プログラマーズ・カムバック』と『30分でわかるコミック・コンピュータ』の著者であり、元IBMアーキテクトとして複数のエンタープライズ・アプリケーション・アーキテクチャの設計と開発を主導してきました。彼はテクノロジーの本質を深く理解し、複雑なテクノロジーをストーリーで説明することに長けています。

転載元:プログラマーのターンアラウンド

編集:王俊

関連資料

分散型マルチモデル データベースである KWDB はオープン ソースです。

Data for AI Meetup @ 北京、9 月 21 日に中関村でお会いしましょう!

オープンソース協会の紹介

2014年に設立されたオープンソース協会(KAIYUANSHE)は、オープンソースの理念に献身的に貢献する個々のボランティアで構成されるオープンソースコミュニティであり、「貢献、合意、そして共同統治」の原則に基づき活動しています。KAIYUANSHEは、「ベンダー中立性、公益性、非営利性」の原則を堅持し、「中国を拠点とし、世界に貢献し、新時代のライフスタイルとしてオープンソースを推進する」というビジョンを掲げています。その使命は「オープンソースのガバナンス、国際的な連携、コミュニティの発展、そしてプロジェクトのインキュベーション」であり、健全で持続可能なオープンソースエコシステムの共創を目指しています。

オープンソース協会は、オープンソースを支援するコミュニティ、大学、企業、政府機関と積極的に連携しています。また、世界的なオープンソースライセンス認証組織であるOSIの中国初の会員でもあります。

2016年以降、中国オープンソースカンファレンス(COSCon)が毎年開催され、「中国オープンソース年次報告書」が継続的に発表されています。また、「中国オープンソースパイオニアリスト」と「中国オープンソースコードパワーリスト」も共同で立ち上げ、国内外で幅広い影響力を発揮しています。