DUICUO

GitHub のアプリはオープンソースになりますか?

2019年のGitHub Universeカンファレンスで、GitHubはモバイルアプリを近日中にリリースすることを公式に発表しました。そして先日、ついにGitHubアプリがリリースされました。

世界で最も人気のあるゲイ向け出会い系サイトとして、そのリリースは当然ながら大きな反響を呼びました。しかし、多くの開発者は、サイトの機能が不十分であると指摘し、コード編集などの機能の追加を期待していました。

これに対して、熱心な開発者の中には、GitHub のモバイル アプリケーションをオープンソース化して、全員が協力して最適化できるようにすべきだと提案する人もいました。

GitHubのディレクターがこの件について回答した。

GitHub のモバイルアプリはオープンソースになりますか?

[[320134]]

この質問に対して、GitHub のエンジニアリング ディレクターである Ryan Nystrom 氏は、次の 2 つの答えを示しました。

「今じゃないよ」

"多分。"

オープンソースは昨今の大きなトレンドです。多くのソフトウェアプログラムは必ずしもオープンソースである必要はありませんが、世界最大のオープンソースソフトウェアプラットフォームは自社製品もオープンソース化すべきではないでしょうか?

今日、多くのオープンソースプロジェクトはGitHub上で、あるいはGitHubを通じて開発されています。開発者にとって生活の糧となるこのツールにおいて、GitHub Appのユーザーエクスペリエンスを向上させることは、開発者の作業効率と作業方法を効果的に向上させる可能性があります。したがって、このプロジェクトがオープンソース化されれば、多くの開発者の参加を間違いなく引き付けるでしょう。

ライアン・ニストロム氏がオープンソース化を急いでいない、あるいはオープンソース化を「期待」していない理由は、オープンソース プロジェクトが繁栄するためには、そのプロジェクトに興味を持つ開発者のグループが必要であり、そのグループにはプロジェクトに貢献する十分な能力も必要だと考えているからです。

Linuxを見てみましょう。Linuxがオープンソースとしてこれほど成功している理由は、すべての開発者がLinuxのようなオペレーティングシステムを必要としており、多くの開発者がLinuxに貢献できるからです。

しかし、業界アナリストによると、GitHub が有料プログラムを開始すると、開発者の関心は大幅に低下し、GitHub App のオープンソース プロジェクトがアドイン/拡張機能としてのみ開発される場合、GitHub プロジェクトのオープンソースの性質はあまり意味をなさなくなります。

したがって、GitHub のディレクターが「たぶん」と言ったのは、実際には単なる「たぶん」だったのかもしれない。なぜなら、オープンソースがもたらす価値を彼ら以上に理解している人はいないからだ。

オープンソースの定義

オープンソースの概念は、コンピュータが発明される以前から存在していました。オープンソースの最も初期の例は、おそらく食品の分野に現れたと考えられます。人類は、生き残り、食品の品質を向上させるためにレシピを共有することを学んでいました。今日最も広く受け入れられているオープンソースの定義は、Debianの創設者であるブルース・ペレンズによって提唱されました。

無料配布:

  • ソースコードを入手した人は誰でも自由に再配布できます。

ソースコード:

  • プログラムの実行可能ファイルを配布する場合、完全なソース コードを添付するか、後でユーザーがソース コードを簡単に利用できるようにする必要があります。

派生作品:

  • これにより、他の人がソースコードを変更し、同じライセンス契約の下で再配布できるようになります。

著者のソースコードの完全性:

  • つまり、元のコードの整合性を確保するために、変更されたバージョンは、異なるバージョン番号によって元のコードと区別する必要があります。

いかなる個人またはグループに対しても差別をしない:

  • オープンソースソフトウェアは、法律で規定されている場合を除き(米国政府による高度に暗号化されたソフトウェアの輸出制限など)、性別、グループ、国、民族などに基づいて制限されてはなりません。

いかなる分野においてもプログラムの使用に対する差別はありません。

  • つまり、商業利用は制限されてはならないということです。

ライセンスの配布:

  • ソフトウェアを再配布する場合は、同じ条件で再配布する必要があります。

ライセンス契約は特定の製品に限定されるものではありません。

  • 複数のプログラムがソフトウェア スイートに結合されている場合、特定のオープン ソース プログラムを個別に配布するときは、オープン ソース要件も満たす必要があります。

ライセンス契約は他のソフトウェアを制限してはなりません。

  • オープンソース ソフトウェアが他の非オープンソース ソフトウェアと一緒に配布される場合 (同じ CD-ROM 上など)、他のソフトウェアのライセンス条件はオープンソース ライセンスに準拠するように制限されてはなりません。

ライセンス契約は技術中立でなければなりません。

  • つまり、ライセンス契約の有効性は電子形式に限定されず、紙のライセンス契約も有効とみなされる必要があります。

ソフトウェア業界では、「フリーソフトウェア」「オープンソースソフトウェア」「フリーソフトウェア」という概念が、程度の差はあれ、しばしば混同されています。多くの人がそれらの論理的な関係を理解し​​ておらず、誤解や誤った判断につながっています。

簡単に言えば、フリーソフトウェアは必ずしもオープンソースではなく、オープンソースソフトウェアは必ずしもフリーではありません。これは誰でも簡単に理解できることです。

厳密に言えば、オープンソースソフトウェアとフリーソフトウェアは異なる概念です。オープンソースソフトウェアの定義を満たすソフトウェアは、オープンソースソフトウェアと呼ぶことができます。フリーソフトウェアはオープンソースソフトウェアよりも厳密な概念であるため、すべてのフリーソフトウェアはオープンソースですが、すべてのオープンソースソフトウェアが「フリー」であるとは限りません。

自由の精神は、ささいな利益のためにいわゆる「技術」に満足して停滞するのではなく、制約から解放され、オープンマインドを受け入れ、自分の技術と原則を共有し実証するよう努めることを奨励しますが、フリーソフトウェアは常に無料なのでしょうか?

しかし、これを一般化することはできません。

フリーソフトウェアへの貢献者は皆、そのソフトウェアの開発者であると同時にフリーユーザーであることは間違いありません。しかし、一般ユーザーにとっては必ずしもそうではありません。一般ユーザーに必要なのはソフトウェアではなくサービスです。ソフトウェアはフリーかもしれませんが、サービスは決してフリーではありません。

オープンソースの価値

多くの人にとって、オープンソースという言葉は「無料」や「非専門的」なソフトウェアというイメージを思い起こさせます。しかし、オープンソースの発展により、今や技術開発における最良の成長モデルの一つとなっています。

オープンソースがなければ、前述の Google、Facebook、Linux など、多くのテクノロジー企業が現在の業界の頂点に到達することはできなかったと言っても過言ではありません。

優れた製品をより多くの人に利用してもらい、技術やプロジェクトを集合知によって急速に発展・向上させるためには、オープンソースがもたらす価値が不可欠です。

アメリカのテクノロジー企業がオープンソースに熱心であるのは、その文化に大きく関係しています。オープンソースプロジェクトを持たない企業は、業界やエコシステムに貢献することなく、他者から譲り受けているだけだと批判されることがよくあります。

したがって、企業の観点から見ると、オープンソースはブランドイメージの構築だけでなく、オープンソースプロジェクトを通じて優秀な人材を惹きつけ、採用を促進する効果もあります。より大規模な視点で見ると、オープンソースは企業にとって一定の戦略的意義を有しています。

たとえば、Android は当初、オープンソースとバイラルな拡散を通じて iOS に急速に追いつきました。

個人的な観点から言えば、オープンソースを試すことには 2 つの大きな利点があります。

まず、コーディングスキルの向上に役立ちます。オープンソースプロジェクトなので、コードを書く際には自然と自分の能力を最大限に発揮しようと努力するようになり、より簡潔で分かりやすいコードを書くよう促されます。次に、コードをオープンソース化することで、他の人から最適化のための的確な提案を受けることができます。

第二に、オープンソースプロジェクトを通して自分の能力をアピールできます。GitHubは悪意のある人物によってほぼ破壊されてしまいましたが、採用活動においては依然として企業にとって一定の価値を持っています。優れたオープンソースプロジェクトの経験は、面接において間違いなくプラスになります。

オープンソースについてどう思いますか?