技術ノート 特徴 オープンソース ソフトウェアの欠点

オープンソース ソフトウェアの欠点

オープンソース ソフトウェアの欠点

CyanogenModは親会社Cyanogenによって消滅し、消滅しました 。コミュニティは断片を拾い上げ、コードに基づいて新しいプロジェクト LineageOS を作成しようとしています。しかし、これは、オープンソース ソフトウェアがすべてが明るい、優れた、安定しているわけではないことを思い出させてくれます。実際、それはしばしば非常に厄介になる可能性があります。

オープンソース ソフトウェアの欠点

プロジェクトがオープンソースであっても、必ずしもコミュニティに対応しているわけではなく、ましてや信頼できるソフトウェアであるとは限りません。プロジェクトはさまざまです。1 人か 2 人の開発者が趣味で運営しているものもあれば、多数の大企業から資金提供を受けた開発者を集めているもの、単一の親会社によって推進されているものもあります。それぞれの状況には独自の問題とドラマがあります。

オープンソース ソフトウェアの欠点

私たちはオープンソース ソフトウェアが大好きですが、誤解しないでください。しかし、それにはいくつかの課題があります。いくつか見てみましょう。

オープンソースは遅延と氷河期の開発ペースに悩まされることが多い

多くのオープンソース プロジェクトは開発ペースの遅さに悩まされているようです。新しいバージョンは際限なく遅れ、新機能の登場はあったとしても遅く、困難だが重要な機能の優先順位を付けるのが困難です。

Ubuntu が Unity 8 デスクトップと Mir ディスプレイ サーバーを立ち上げ、「コンバージェンス」というビジョンを実現しようとしているところを見てください。この新しいバージョンの Linux デスクトップは何年も前に安定しているはずでしたが、まだ安定していません。このプロジェクトは氷河のようなペースで進んでおり、Canonical は Windows 10 より前にスマートフォンを搭載した PC という独自のビジョンを発表し、それを実現した Microsoft に完敗するほどだった。 Canonical は、長年約束したビジョンをまだ実現していません。あと数年もすれば安定するかも知れません。

Mozilla も優先順位を付けるのに多少の困難を抱えていました。 彼らはまだ Firefox にマルチプロセス機能とサンドボックス機能を提供していません 。これらは、ブラウザーの安全性を維持し、クラッシュによるブラウザー全体のダウンを防ぎ、マルチプロセス CPU をより有効に活用するために重要です。 嫌われている Internet Explorer を含め、他の主要なブラウザはすべてこれらの機能を提供しています。 Mozilla はこれらの機能を追加するために「Electrological」プロジェクトを作成しましたが、難しすぎるため 2011 年に中止しました。その後、Mozilla は 2013 年にそれを再起動する必要がありました。この機能は 2017 年に登場する予定のようですが、これは本当に遅いです。その間、Mozilla は失敗したスマートフォン オペレーティング システムである Firefox OS の開発に時間を浪費しました。

プロジェクトに非常に多くのボランティア開発者が関与している場合、楽しくない大変な作業を行う人材を見つけるのが困難になることがあります。

オープンソース ソフトウェアの欠点

社内ドラマが分岐点、分岐点、さらに分岐点を生む

オープンソース プロジェクトのソース コードは誰でも変更できます。それがポイントです!オープンソース プロジェクトが気に入らない方法で変更された場合、あなたやコミュニティは、その古いソース コードをそのまま使用して、新しいプロジェクトとして作業を続けることができます。しかし、コミュニティ プロジェクトは多くの場合、社内のドラマに巻き込まれ、物事が複数のプロジェクトに分割され、ユーザーを混乱させ、疎遠にしてしまいます。

たとえば、GNOME 3 がリリースされ、多くの GNOME 2 ユーザーが満足していなかったとき、すぐに明らかな道筋はありませんでした。開発者は GNOME コードを MATE や Cinnamon などの他のプロジェクトにフォークする必要がありました。 1 つのデスクトップ環境が 3 つになり、開発リソースがプロジェクト間でさらに分散されます。その結果、コミュニティがこれらの新しいプロジェクトを開始するまでに時間がかかりました。

同様に、Oracle が Sun を買収したとき、 OpenOffice コミュニティは満足していませんでした。 オラクルは、独自のオープンソースではないオフィススイート StarOffice の名前を一時的に「Oracle Open Office」に変更しました。コミュニティは、OpenOffice コードに基づいて新しいフォーク LibreOffice を作成する必要がありました。これは多くの人にとって事実上のオープンソース オフィス スイートとなっていますが、より良いフォークとそれを取り巻くドラマに気づいていないために、依然として OpenOffice を使用している人もいます。 OpenOffice には多くの知名度が蓄積されています。

そしてもちろん、CyanogenModもあります。 Cyanogen Inc は、CyanogenMod のオンライン サービスから手を引いたばかりです。つまり、最も人気のあるサードパーティの Android ROM をコミュニティに引き渡すよりも廃止し、その代わりにコミュニティに LineageOS という名前の CyanogenMod の新しいフォークの作成を強制することを意味します。なぜ Cyanogen は CyanogenMod プロジェクトをコミュニティに引き渡さないのでしょうか?答えは内部ドラマのようです (ここにパターンが見えますか?)。結局のところ、Cyanogen は CEO が「Google の頭に銃弾を突き刺す」と約束した 会社だったのだ。結局、代わりにCyanogenModの頭に弾丸を突き刺すことになった。

これはすべて、CyanogenMod のユーザーに損害を与えるだけであり、CyanogenMod のサーバーとサービスがシャットダウンされる前にユーザーはほとんど通知を受けませんでした。携帯電話は引き続き機能しますが、便利なアップデートやその他のサービスはほぼ一夜にして機能しなくなります。ユーザーは、LineageOS プロジェクトがすぐに代替となることを祈るだけです。

オープンソース ソフトウェアの欠点

すべてのオープンソース プロジェクトがコミュニティ主導であるわけではない

オープンソース プロジェクトは必ずしもコミュニティによって推進されるわけではありません。プログラムがオープンソースであるということは、そのコードを使って好きなことを実行できることを意味するだけです。ソフトウェアを開発している会社は、必ずしもそれをコミュニティ プロジェクトとして実行する必要はありません。あるいは、他のソフトウェアを宣伝するためにプロジェクトを使用することに興味があるかもしれません。

CyanogenMod はその好例です。 Cyanogen Inc. が設立されてからは、CyanogenMod にはあまり興味がありませんでした。 Cyanogen の新たな目標は、プロジェクト中止後の CyanogenMod の優れた知名度を利用して、Cyanogen Modular OS プラットフォームをメーカーに販売することでした。おそらくそこにお金があるのでしょう。

Oracle は OpenOffice のことをまったく気にしていませんでしたが、当初はその名前を「Open Office」の名前でブランド化し、StarOffice 独自のオフィス スイートの販売促進に利用したいと考えていました。その後、ボランティア開発者のほとんどが去った後、プロジェクトを Apache に寄付しました。

Google も Android を完全なオープンソース プロジェクトとして あまり重視していません。そのため、「Android オープンソース プロジェクト」(または「AOSP」) の多くの部分が取り残されています。 GoogleはメーカーがカスタマイズしやすいようにAndroidをオープンなままにしておきたいと考えているが、キーボードやダイヤラーなどのオープンソースアプリケーションはどんどん時代遅れになってきている。消費者向け Android デバイスでは、Google は独自のクローズド ソース キーボード、ダイヤラー、その他のアプリをバンドルしているだけです。 Google は Android オープンソース コアに取り組んでいるように見えますが、Google のソフトウェアやサービスなしで人々が使用できるオープンソース オペレーティング システム全体を開発するわけではありません。結局のところ、Android オープンソース プロジェクトの改善は、Google の Android デバイスの競合製品である Amazon の Fire OS を助けるだけです。それはどういう意味ですか?

オープンソース ソフトウェアの欠点

オープンソースは数百万人が使用しているにもかかわらず、深刻な人材が不足している可能性がある

プロジェクトがオープンソースであれば、大企業であっても、誰でも貢献することなくプロジェクトを使用できます。これは、重要で広く使用されているプロジェクトで人員と資金が深刻に不足している場合に問題を引き起こします。

この結果は、2014 年に Heartbleed セキュリティ ホール で確認されました。Heartbleed は、OpenSSL の脆弱性を悪用しました。 OpenSSL は、多くの巨大テクノロジー企業や数十万の Web サーバーで使用されている重要な暗号化ライブラリです。しかし、外部雇用のないフルタイム従業員は 1 人だけで、 年間 2000 ドルの寄付を していました。このプロジェクトには商用サポート契約やコンサルティングから追加の資金が投入されましたが、Google や Facebook のような数十億ドル規模の企業が使用する重要なインフラストラクチャとしては、フルタイム従業員が 1 名だけであるということは、驚くほど少ないようです。

Heartbleed は、この重要なソフトウェアがいかに資金不足であるかに注目を集めたため、大手テクノロジー企業は、「 コア インフラストラクチャ イニシアチブ 」の一環として、OpenSSL やその他の重要なプロジェクトの開発に資金を提供するために毎年資金を投入することにしました。

この特定のストーリーには確かに良い結果がありますが、それはそれだけ多くの注目が集まったからにすぎません。インフラストラクチャを有効にするためにオープンソース プロジェクトに依存していると、それに依存してしまい、他の誰かが十分にメンテナンスしていると思い込んでしまいがちです。他に深刻な資金不足に陥っている重要なオープンソース プロジェクトは何ですか?別の大きな問題が起こるまで、私たちは気づかないかもしれません。

画像クレジット: snoopsmaus

「オープンソース ソフトウェアの欠点」に関するベスト動画選定!

ITエンジニアなら絶対に知っておきたい「オープンソース」ってなに? | VOICEVOX解説
オープンソースソフトウェア(OSS)とは?|OSSの特徴や具体例を3分でわかりやすく解説します