この記事では主に次の 3 つの質問に答えます。
1. なぜ人々はオープンソースを使うのでしょうか?
2. なぜ人々はさまざまな形でオープンソースに参加するのでしょうか?
3. この背後にある本質的な動機は何ですか?
まず最初に質問です。
本当に人は利益のためにあらゆることをするのでしょうか?
驚いたことに、半数以上の人が手を挙げました。
以下では主に例を通して問題を説明します
まず、オープンソースの第一人者である Linus がこの問題についてどのように考えているかを見てみましょう。
ライナスは、すべての人間の動機は 3 つの基本的なタイプに分類できると信じていました。これらのタイプは、順に、「サバイバル」、「社会生活」、「エンターテイメント」です。
「私は彼が正しいと思います。それは基本的にマズローの欲求段階説に対応しています。生存動機は生理的欲求と安全欲求に対応し、社会生活動機は帰属と尊敬の欲求に対応し、娯楽動機は承認欲求に対応します。知識、美学、自己実現、自己超越など。これらの高次の欲求はすべて娯楽と楽しみに分類できます。
彼の自伝のタイトルは「ただの楽しみ」ですが、すべてのタイトルが慎重に考慮されていることに注意してください。
この本で私の注意を引いた文が 2 つあります。1 つは、彼がカンファレンスで「Linux 開発は世界的なチーム スポーツです。」と発言したことです。また、別のインタビューで彼は次のように述べています。「Linux 開発は世界的なチーム スポーツです。」です。エンターテイメントでもありますが、この種のエンターテイメントはお金で買うのが難しいです。」
これは彼の世界観の後半 2 つと非常に一致しており、彼は生き残るためにソース コードをオープンしたわけではありません。
Linux の発明は、大部分において、 「Minix よりも優れた Minix を開発したい」という彼自身の野望の 1 つを満たすためのものでした。Minix は、 1987 年に Andrew S. Tanenbaum によって教えられ、「」に使用されるプログラムとして公開されました。 「オペレーティング システムがどのように動作するかを学生に教え、シンプルで直観的な例を使用してそれをデモンストレーションします。」これは、ソース コードが含まれ、ハードウェア要件が非常に低い PC バージョンの Unix であり、それがどのように動作するかを説明する本が世にあります。これまで誰もやったことがありません。 」
当時、タネンバウム氏にはプログラムの改善を求めるメールが毎日 200 通以上届いていましたが、タネンバウム氏は、所詮教育用のシステムなので、システムが巨大化すると教育に適さなくなるため、あまり変える気はありませんでした。 、「この方法では、最低レベルでは使用できません。」ハードウェア構成、そしてそれは生徒のために保存したいものです。」
Tanenbaum 氏は、次のような改善のみを望んでいます。「基本的な基準は、多くの人がそれを要求しており、変更が面倒でなく、システム全体の構造を台無しにしない場合に限ります。 「同意するだろう」と彼は説明した。「それを求める人があまりいない場合、面倒な場合、またはシステムに大規模な手術が必要な場合、私はやらないつもりです。」
Linus 氏の見解では、Minix のターミナル エミュレーションはあまり便利ではなく、ジョブ制御を実行できず、メモリ管理が単純すぎるとのことです。ライナスは Minix よりも優れた Minix を書きたいと考えていました。
初めに、Linus は Minix 上で、学校ネットワーク上の Usenet ニュースグループを読みやすくするためのターミナル エミュレータを作成しました。彼は、以前に作成した 2 つのプロセスを変更して、タスク切り替え機能をテストしました。1 つのプロセスはキーボードから読み取られました。情報は次のとおりです。モデムに送信され、別のプロセスがモデムからデータを読み取って画面に送信します。
これらの機能を実現するために、彼はキーボードとモニターのドライバーを書き、学校のネットワークからファイルをダウンロードするためにディスクドライバーを書き、ファイルの読み書きのために Minix ファイルシステムに基づいた独自のプログラムを書きました。新しいファイルシステム。
1991 年の 5 月から 9 月まで、Linus は 5 か月間、1 日あたり 10 時間を費やして Linux 0.01 を作成しました。
1991 年 9 月 17 日、ヘルシンキ大学の助教授であるアリ レメンコが作成した ftp.funet.fi サーバーの /pub/os/linux ディレクトリに、Linux の最初の公式バージョンであるバージョン 0.01 をアップロードしました。アップロードのみ ソースプログラム(約10,000行)が含まれており、約1,800ワードの完全なリリースノートも付属しています。「このバージョンをリリースする主な目的は、すべての人にプログラムを読んでもらうことだ」と強調した。
もう一人のフルタイムのオープンソース ソフトウェア作者であるDenis の考えを見てみましょう。
世界のトップ 1000 Web サイトのうち、少なくとも 52% の Web サイトが core-js プロジェクトのコードを使用しています。
その著者である Denis Pushkarev は、2023 年 2 月 14 日に、core-js を開発した理由を説明する長い記事を書きました。
「2012 年に、私は開発スタックをフルスタック JavaScript に切り替えました。当時、JavaScript はまだ原始的すぎました。IE はまだ他の何よりも人気があり、ES3 時代のブラウザーが依然として Web の大部分を占めていました。 NodeJS バージョンは 0.7 で、まだ始まったばかりです。
JavaScript は依然として本格的なアプリケーションの作成には適していません。開発者は、JavaScript にはない糖衣構文の問題を解決するために CoffeeScript 言語トランスレーターを使用し、JavaScript に標準ライブラリがないという問題を解決するために Underscore を使用します。
ただし、これらは標準ではないため、時間の経過とともに、これらの言語とライブラリは、それらを使用するプロジェクトとともに廃止されます。しかし、古い JavaScript エンジンは依然として人気があり、ユーザーは急いでいません。それらを放棄する可能性はほとんどありません。たとえ新しい ECMAScript 標準に速度と信頼性の利点があるとしても、JavaScript エンジンが実用化されるまでには何年もかかるでしょう。この新しい標準をサポートします。
当時、ECMAScript トランスパイラーは人気を博し、急速に成長しました...しかし、モジュール式ではなく、グローバルな名前空間汚染を引き起こす可能性がありました...そして、必要な基本的な言語機能がまだ実装されていませんでした。」
彼は、共通の問題を解決して、自分自身とすべての JS 開発者の作業を楽にしたいと明言しました。
これ以上の説明がなければ、個人がオープンソースを利用する主な動機は問題を解決することであると基本的に結論付けることができます。楽しみのため、野心のため。共有とそれに伴う評判のために。
よく考えてみると、問題解決、野心、共有、評判などはすべて「楽しみ」のカテゴリーに分類されることがわかります。
ライナス说:「有名になるのは楽しいよ」
つまり、私個人にとって、オープンソースとは楽しい、楽しい、楽しい、楽しい、楽しいという意味です。
そしてもしかしたら、彼は何か有名なものを思いつくかもしれない。
そのほうが楽しいでしょう。
個人的には「遊び」がメインですが、会社は何のためにあるのでしょうか?会社の使命はお金を稼ぐことです。
この疑問は私を長い間悩ませてきました。
エリック・レイモンドは『大聖堂とバザール』の中で次のように述べています。
「作業の過程で恐怖や嫌悪感を感じたら、そのプロセスに何か問題があることに気づくべきです。喜び、ユーモア、遊び心は真の資産です...オープンソースの成功の最も重要な結果の 1 つは、それが私たちに教えてくれるということです」 , 「遊び」創作活動において最も経済的な作業モードです。
オープンソースが楽しさと創造性をもたらすのは明らかですが、企業は自社のものをオープンソース化できるでしょうか?
GitHub の初期の従業員の 1 人であるザック ホルマンは、著書『The New Kingmakers』の中で次のアドバイスを与えています。「幸福、良いもの、素晴らしいワークフローで従業員を牢獄に入れなさい。」
「従業員を幸福と素敵なもの、そして心地よい作業プロセスで閉じ込めてください。” —ザック・ホルマン
したがって、社内の従業員がこのプロジェクトをオープンソースにしようと提案すると、より現代的な考え方を持っているインターネット企業のリーダーたちはそれを真剣に検討するでしょう。さらに、会社はオープンソースから多大な恩恵を受けてきたのに、貢献することでどんな害が生じるでしょうか?
Lyft のオープンソース Envoy のケースは、この問題をよりよく示しています。
Lyft の初期の従業員は、オープンソースとそれが会社にもたらした効果を高く評価していました。Envoy が Lyft の主力事業ではないのは明らかなので、Envoy を世に出して何かを還元してみてはいかがでしょうか?
はい、これが今日さまざまな企業が非中核製品をオープンソース化している理由です。
私の考えでは、企業が非中核製品をオープンソース化する動機は次のとおりです。
仕事をもっと楽しくし、会社の認知度を高め、会社の影響力を高めます。
Quoraにこんな質問がありました。
「なぜ Google は Kubernetes を商用化せずにオープンソースにしたのですか?」
なぜ Google は Kubernetes を収益化せずにオープンソースとしてリリースしたのでしょうか?
良い答えは 2 つあると思います。
Andrew McGregor 氏は、「クラスター スケジューラがクローズド ソースだと、市場での牽引力が得られないため、Kubernetes はオープン ソースでなければなりません。」と答えました。
Levy McNary 氏は、「オープンソースがそれを標準にするからです。標準になれば、クラウド サービスを収益化できるようになります。」と述べました。
そうです、K8S が当時の競合他社を打ち負かし、多くの市場を獲得したのは、オープンソースとその技術力によってでした。
オペレーティング システムやデータベースの分野では、これはさらに顕著であり、この分野の新製品はオープンソースなしでは存続できません。私の友人のZhuang Biaowei氏によると、これらの分野は非常に複雑になっているため、オープンソース化する必要があるとのことです。
Tao Jianhui 氏は Taosi Technology を設立し、時系列データベースを開発しています。その公式 Web サイトには次のように書かれています。
「Taosi Data は AGPL ライセンスを採用し、TDengine のコア (ストレージ、コンピューティング エンジン、クラスター) を 100% オープンソースにしました。Taosi Data は開発者コミュニティを構築し、このオープンソースのビジネス モデルを維持するために最善を尽くします。私はコアが必ず機能すると信じています」コードがオープンソースであれば、どんな基本的なソフトウェアも市場で勝つことはできません。Taosi Data は市場からのフィードバックを迅速に入手し、製品を改善し、環境を改善し、オープンソースを通じてより多くの開発者をプロジェクトに参加させることを望んでいます。 」
私は彼が真実を言っていると信じています。
これは、コア製品をオープンソース化する企業の動機の典型です。
オープンソースを通じてユーザーと市場を獲得します。
同時に事業化して利益を得ようとする。
もちろん、すでに市場を獲得している場合は、必ずしもオープンソースにする必要はありません。
私は Microsoft が 10 年以内に Windows をオープンソース化することはないと信じています。
オラクルは今後10年間はOracleをオープンソース化しない。
コントリビューターがオープンソースに貢献する動機を見てみましょう。
同社は自社製品をオープンソースにするだけでなく、コントリビューションを通じてオープンソースに参加していることも検討に値する。
2014 年に、私は Alibaba ミドルウェア チームに加わり、グループのアプリケーション コンテナのメンテナンスを引き継ぎ始めました。当時、グループのアプリケーション コンテナーのほとんどは、古くてメンテナンスされていないJBossに基づいていました。そのうちのごく一部は Jetty と Tomcat 上で実行されました。当時、ミドルウェア チームは Tomcatのプライベート ブランチを維持していました。最大の目標は、すべてのグループのアプリケーション コンテナは Tomcat です。それまで、Tomcat の開発や運用保守について触れたことはなかったので、私にとっては大きな挑戦でした。
しかし、より大きな課題は、チーム リーダーが提案した目標から来ていましたが、当時はそれを達成するのはほとんど不可能に思えました。それは、Apache Tomcatのコミッターになることです。
ご存知のとおり、Apacheの中核プロジェクトの 1 つである Tomcat は、1999 年に最初のバージョンがリリースされて以来、オープンソース コミュニティおよび Apache Foundation のスター プロジェクトであり、その後もアプリケーション コンテナ分野の市場シェアで第 1 位にランクされています。開発から20年、その人気は今も衰えることがありません。長年にわたる開発にもかかわらず、Tomcat には中国からのコミッターが一人もいませんでした。私たちの小さなチームには 4 人しかいませんし、オープンソースの経験はまったくなく、どこから始めればよいのかわかりません。チームリーダーから「挑戦してくれる人は?」と聞かれたときは、あまり考えずに挑戦しました。
すぐに、バグの修正を開始しました。最初のパッチは、 Websocketテスト ケースが失敗した問題を修正することでした。問題の修正には、コードのリファクタリングが必要でした。提出前は慎重に、リーダーと何度も話し合い、比較的納得のいく計画を立てたのを今でも覚えています。これを Tomcat コミュニティに送信すると、コミュニティはすぐに応答し、私が送信したパッチをマージしてくれました。初めての投稿が承認され、とても嬉しくて緊張も解けました。Tomcat のリリースノートに私の名前が掲載されているのを見て、本当にうれしかったです。
「貢献の甘さを味わった後、チームの目標も調整されました。Tomcatの内部バージョンとオープン ソース バージョンの構造は完全に一致していなければなりません。これにより、オープン ソースの Apache Tomcat のマージが非常に簡単になります。機能強化内部で作成されたものは、コミュニティにマージするのも簡単です。
原理は非常に単純明快でシンプルであり、貢献の側面と自己利益の側面があり、UpStream から多くの利益を得られることは明らかです。
原理は非常に単純明快でシンプルであり、貢献の側面と自己利益の側面があり、UpStream から多くの利益を得られることは明らかです。
これまでに他の多くの人の例についてお話してきましたが、ここでは私の個人的な例についてお話します。
Githubが登場したとき (2008 年)、私はほとんどコードを書きませんでしたが、2023 年の時点でも比較的影響力のあるプロジェクトに貢献していました。
このプロジェクトは前述の core-jsで、毎月 2 億 5,000 万の NPM ダウンロードがあり、GitHub 上の 1,900 万のリポジトリがそれに依存しています。
彼の著者である Denis は、 TOP 1000 Web サイトでスクリプトを実行し、Web サイトの 52% でスクリプトが使用されていることを検出しました。
彼はオープンソース (つまり core-js の開発) にフルタイムで従事しているため、彼の資金は主に寄付に依存しており、当初は月に 2,500 米ドルを受け取ることができましたが、後には 400 米ドルしか受け取れなくなりました。月あたり。
だからこそ、デニスは2023年のバレンタインデーにあの長い記事を泣きながら書いたのだ。
それを見て、オープンソースの現状を理解するのに非常に役立つと感じたので、約33,000ワードにも及ぶ長い記事を翻訳してみました。
そこで私は、この翻訳をこのプロジェクトに入れることができれば、このプロジェクトを利用するより多くの中国人プログラマーが彼を助けることができるのではないかと考えました。
そこで、この翻訳版を提出しました。
デニスはそれを見たいと思っています。
もちろん今でも慎重な方で、私が投稿した後、中国語がわかる人にレビューしてもらうよう呼びかけ、このPRが受理されるまでに1か月ほどかかりました。
(実際、翻訳レベルで実際にレビューを行った人はほとんどいません。ほとんどの場合、形式についていくつかの意見を提出するだけです)
私は彼を助けたに違いないと思います。
これで、オープンソースに貢献しているのが個人であっても、企業であっても、主な動機は次のとおりであることがわかります。
1. オープンソースは良いことです。私たちに能力があるなら、それを助けてください。
2. 私たちはそれを使用し、改善し、できればそれを維持します。
3. 十分に行動すれば、他のメリットも得られる
「これには多くの理由がありますが、私の記憶が正しければ、その 1 つは寄稿者と会社に適切な法的保護を提供したいという願望であり、もう 1 つの理由は、私たちが次のことを行うために現金と寄付を得ることができるという希望です。より良い状態を目指しましょう。全体として、私たちの最終的な目標は、オープンソース開発への参加の拡大と大量導入をサポートできる組織を構築することです。」
もう一人の創設者であるジムは次の ように述べています。
「インターネットと Web テクノロジーが発展し、より安定するにつれて、私たちをさらに保護するには、より正式な法律が必要であることに誰もが気づきました。考えられるもう 1 つの理由は、当時、IBM が Web のサーバーとして Apache HTTPD を採用するつもりだったということです。」要は、「ガンフー」臭の強いApache GroupにIBMが若干の懸念を抱いているということだが、これは一生に一度のチャンスともいえる。状況が必要としているだけでなく、 「今回の財団設立に関しても、非常に強力な協力者がいたので、スムーズに進めることができました。」
創設者のドリック氏は こう語った。
「当時、IBM の Domino WebServer は下り坂で、そのシェアは急速に減少していました。彼らは、Apache に切り替えることができるかどうかを確認するために、オープンソースの実現可能性を研究していました。しかし、NCSA の撤退により、Apache には明確な法的規制がありませんでした」 USL と AT & T BSD に対する訴訟の影響は、まさに現れ始めています...これらすべてが一緒になってきました。もちろん、ヨーロッパ人の私にとって、米国の訴訟習慣はあまりにも攻撃的です。 「それで、しばらく話し合って、すぐに決断しました。」
「Apache Software Foundation は、Apache オープンソース ソフトウェア プロジェクトに組織的、法的、および財政的なサポートを提供します。財団は、個人のボランティア参加を超えて Apache プロジェクトの継続性を確保し、健全な基盤で知的財産と財政的サポートを提供し、ツールを提供します。オープンソース プロジェクトに参加する際の法的リスクを制限するためです。」
これが財団の目的ですが、プロジェクトに寄付する人の心理はどのようなものなのでしょうか?
以下の例からわかるように、完全に一致しています。
前述の Envoy の作成者マット・クライン氏は次のように回想しています。
2017 年の秋までに、2 つのことが明らかになりました。
1. Envoy は Lyft が提供できるものを超えています。このプロジェクトには、法務、広報、マーケティング、イベント組織などの支援が必要です。
2. すぐに燃え尽きてしまうので、持続可能な方法を見つける必要があります。私たちは最終的に、エンボイをCNCF財団に譲渡することを検討することに合意しました。
最も現実的な点は、個人がプロジェクトへの関心を失う可能性があり、企業も同様であるということです。基礎には独立した家があり、基礎が強ければ、プロジェクトはより長くより良く生き続けるでしょう。
財団の動機はシンプルかつ利他的です。
オープンソース プロジェクトを支援し、さまざまなサポートを提供します。
オープンソース プロジェクトを持続可能なものにします。
要約すると、オープンソースには 4 つの動機があると思います。
1. 良いものを作る。(問題を解決する、能力を発揮する)
2. 良いことを手伝います。(優しさは魂の架け橋です)
3. 良いものを送る。(ギフトを贈り、ユーザーを獲得する)
4. 報酬を獲得します。(評判を勝ち取り、市場を獲得)
最初の 3 つのポイントが最も重要ですが、4 番目のポイントは多くの場合自然に得られます。
一言で言えば、「人々は常に良いものを作り、使い、共有し、助けたいと思っています。」
これは非常に人道的です。より洗練されたものにしたい場合は、次のように言えます。
人々は、良いものや優れたものを創造し、経験し、共有し、還元することに熱心です。
では、先ほど話した「楽しさ」はどこへ行ったのでしょうか?振り返ってみると、上記の 4 つのポイントはどれも非常に興味深いものであることに気づきましたか? 「楽しい」は表面的な現象ですが、「楽しい」の裏には興味があります。
自然が人間を創造したとき、次のような取り決めをしました。
利益をもたらすものは何でも楽しいです。
そして、「良いこと」はすべてメリットです。
著者丨魏建範
編集者丨ウリリーガ
関連読書 | 関連読書
Bobo’s CommunityOverCode Asia 2023 運営/参加の感想
開元協会の紹介
2014 年に設立された開源協会は、オープンソースの理念に自発的に貢献する個人メンバーで構成され、「貢献、合意、共同統治」の原則に従って形成され、常にベンダー中立性の特徴を維持してきました。 「国際統合、コミュニティ開発、プロジェクトインキュベーション」を使命とするオープンソースコミュニティコンソーシアム。Kaiyuansheは、オープンソースをサポートするコミュニティ、企業、政府関連部門と積極的に緊密に協力し、「中国に拠点を置き、世界に貢献する」というビジョンのもと、健全で持続可能なオープンソースエコロジーを構築し、中国のオープンソースコミュニティを促進することを目指しています。グローバルなオープンソース システムの積極的な力となることを目指します。
2017 年、Kaiyuanshe は、ASF などの国際的なトップ オープンソース財団のガバナンス モデルを参照して運営される、完全に個人メンバーで構成される組織に変わりました。過去 9 年間で、何万人ものオープンソースの人々を結び付け、数千人のコミュニティ メンバーとボランティア、国内外の数百人の講師を集め、数百のスポンサー、メディア、コミュニティ パートナーと協力してきました。