世界を動かす技術を、日本語で。

GitHubはオープンソースの資金調達のために、全員に月額1ドルの追加料金を課すべきだ

概要

オープンソース依存 に対する 持続可能な資金調達モデル の提案。 依存パッケージ数や従業員数に応じて 月額課金 し、開発者に 還元 する仕組み。 GitHubやSpotifyのような 分配モデル の導入案。 現状の「寄付頼み」からの 脱却の必要性。 課題点や今後の 議論の余地 についても言及。

オープンソース依存と資金調達の課題

  • 多くの企業や開発者 が、 無償のオープンソースソフトウェア に依存
  • 無料で使える ことが当然視され、 開発者の労力 が正当に評価されない現状
  • 寄付やスポンサーシップ に頼った不安定な資金調達
  • 持続可能性の欠如 による、開発者のモチベーション低下やプロジェクト停止リスク

新しい資金分配モデルのアイデア

  • package.jsonrequirements.txt を自動で読み取り、 依存数に応じて課金
    • 例: 1依存あたり月額5ドル、または 従業員1人あたり月額1ドル
  • 集めた資金を エスクロー(第三者管理) で保持し、 開発者に分配
  • GitHub などのプラットフォームが、 利用ユーザー数に応じて追加課金 し、オープンソースファンドへ拠出
  • パッケージへの依存記載数DockerfileのFROMコマンド など、利用実態に応じて分配比率を決定
  • 利用企業には バッジプロフィール装飾 などのインセンティブも検討

Spotify型分配モデルの参考

  • Spotifyの収益分配 のように、 利用実績に基づき資金を分配
    • アーティストへの分配に課題はあるが、 一定の仕組み として機能
  • 完全な公平性は難しいが、 現状よりは透明性・持続性の向上 が見込める

アイデアの課題・今後の検討ポイント

  • Linuxカーネル のような基盤ソフトが 依存ファイルに現れない場合 の扱い
  • 分配基準の設計不正利用対策
  • 強制参加(opt-out)任意参加 かの方針
  • 実装・運用コストプラットフォームの協力 が不可欠
  • 現状維持の問題点 を広く認識し、 議論を深める必要性

まとめ:持続可能なオープンソース支援の必要性

  • 現状の無償依存体制 は、 開発者・社会双方にとって不健全
  • 新たな資金循環モデル の模索と実装が急務
  • 議論のきっかけ として、柔軟な発想と多様な意見の集約が重要

Hackerたちの意見

最初の影響は大きいけど、その後のシュリンクタースパムの嵐は壊滅的だよね。今でもクソみたいな依存関係を作って、ただ目立ちたいがためにどこにでも忍ばせてる人がいるから、もう十分ひどいのに。

残念だけど、これは本当だと思う。無駄な依存関係を作って、ダウンロード数を増やすためにプロジェクトにPRを押し込む人たちの問題がすでにあるからね。履歴書に高いダウンロード数を示す方が、このようなファンドが提供できるものよりも価値がある。高いNPMダウンロード数をトップ1%の才能のシグナルと見る会社は常にあるし、それ自体がゲームになってしまっても。

残りのパイのメンテイナーたちが、依存関係のスパムに対して警戒するかもしれないね。

「この労働が空から降ってきた贈り物だと考えるのはおかしいし、その背後にいる人たちが自分の楽しみのためだけにやっているわけではない」 そうだよ、まさにその通り。人々が何かをフリー&オープンソースとしてリリースする時、その社会的契約に100%自発的に参加してるんだよ。彼らはそれを贈り物として提供していて、ちょっとしたニッチな認知を得るためだったり、単純な寛大さから来てることが多い。そんなの本当にすごいことなの?

同意。オープンソースのメンテイナーをサポートするのは素晴らしいアイデアだけど、ライセンスの条件に従って何かを使うことを恥じるのはもう古いよね。

無料で提供しているものに対して、誰かにお金を払わせるのを期待するのはクレイジーだよ。

問題はメンテナンスなんだよね。FOSSの期待は、ユーザーとメンテイナーが協力してバグ修正や機能追加、セキュリティ問題を解決することなんだけど、実際には多くの企業がこれらの問題をメンテイナーに押し付けて、解決されたら当然のように思ってる。これは持続可能なモデルじゃなくて、燃え尽きや未メンテのライブラリにつながるよ。企業がバグ修正や機能追加を行うためのエンジニアリングリソースや専門知識を持っていないなら、メンテイナーを支援すべきだと思う。

こういう問題の自然な解決策は、プライベートかパブリックの助成金プログラムだと思う。無報酬の人たちが作った重要なインフラ…理想的には、何が重要かを評価して、その人に継続的なメンテナンスのために報酬を与えるプロセスがあってほしい。

「この労働が空から降ってきた贈り物だと考えるのはおかしいし、その背後にいる人たちが自分の楽しみのためだけにやっているわけではない」 私はそう思ってるよ。ものを作るのが楽しいし、他の人がそれを楽しんでくれるとさらに嬉しい。君が書いたコードの全てに対して報酬を期待するのはおかしいし、それが当たり前だと思うのも違う。オープンソースを作ってリリースする時に報酬を期待してるなら、それは間違ってると思うよ。同様に、オープンソースを作っている人が何かを君に返すべきだと期待するなら、それも問題の一部だよ(そして、かつては贈り物と見なされていたものに対して報酬を求める人がいる理由の一部でもある)。とはいえ、もし他の人を助けられるなら、君の人たちを大切にするべきだと思う。特に君が彼らに依存しているならね。頑張ってみてほしいな。いや、むしろそうしてほしい。

不要な資金を再配分するのは、やるべき良い仕事だと思う!

これが、ハッスル文化にどっぷり浸かってる人たちが見落としてる部分だと思うし、だからこそUBIや強い社会的安全網が「人々のモチベーションを下げるかもしれない」とすぐに否定するんだよね。お金の報酬のためじゃなくて、ただ創造することやお互いを思いやることに動機づけられているクリエイティブで優しい人たちがたくさんいるんだよ。もしみんなの基本的なニーズが満たされて、もっと自由な時間があったら、すごいプログラムやウェブサイト、ゲーム、クラフト、アート、アニメーション、パフォーマンス、文学、ジャーナリズム、趣味のクラブ、サポートグループ、地域団体が生まれると思う。混沌とするかもしれないけど、オープンソースや自己組織化の形態と同じようにね。でも、今の奴隷制度みたいなモデルよりはずっと良さそうだよね。

同意するけど、オープンソースのクリエイターが何かを作って、気づいたら多くの人や企業に使われる重要なコンポーネントを作ってしまって、バグ修正を求められるようになるっていう問題があると思う。これを「楽しみでやってるから、気が向いたらバグを直すかも」から「これは重要な依存関係になったから、誰かがこれを製品のように扱う方法を見つける必要がある」へと移行するための良いモデルが欠けてるんだ。こういう状況に置かれたオープンソースのメンテイナーたちが不満を抱くことがあるのも理解できる。突然重要なコンポーネントを抱えることになったわけじゃなくて、時間をかけて進化してきた結果だから、「あれ、これって自分が望んでたことじゃないかも」と思うこともあるだろうね。

ごめん、君の言う通りだね。「誰もが無料でコードを提供することを期待すべきじゃない」という意味で言ったわけじゃなかったんだ。俺はいつもそうしてる。言いたかったのは、この労働が「空から降ってきた」からといって、ただ受け入れるのは不公平だってこと。人気のあるプロジェクトの場合、負担が「無料でコードを共有した誰か」に自動的にかかるべきだとは思わない。誰かが自分が必ずしも責任を持っていなかった仕事を引き受けることになったら(誰が燃え尽きることを望んでるんだ?)、みんな(あるいはNvidiaやGoogle、OpenAIなど)がどうやって助けられるかを考えるのは大事だと思う。この点については、報酬を受け取ることに抵抗がない人が無理に頼まなくて済むようにすることが重要だと思ってる。xzマルウェアの状況を考えてみて。PocketBaseのFAQのヘッダーと質問8もね。

5時に起きて緊急の問題に直面したわけじゃないと思うよ。昨晩俺はそうだったし、確実に__妻__は俺がそれに対して報酬をもらうことを期待してるからね!一般的に、人々の時間は無料じゃないよ。家賃やローン、食費、交通費、医療費、教育費などがあるからね。

「報酬を期待してオープンソースを作ってリリースするなら、やり方を間違えてると思う。」これってちょっと不公平だと思う。特に若いメンテナーたちは、ポートフォリオ目的で始めることが多いけど、仕事を得るのが難しいから続けてるんだよね。それに楽しさや興味もあるし。大きな組織がこれらのパッケージに依存しているのは本当に嫌だし、将来的にはこのコードで訓練されたモデルが仕事を奪う時代が来るかもしれない。業界が厳しい状況にあるのは、労働組合がないからだと思う。オープンソース開発者の権利を守る大きな力を持った仲介者がいないから、他のクリエイティブな業界とは違って、法的な行動で団結することができないんだ。

グレー・ハッター、ありがとう。いいこと言ったね。プログラミングを20年以上やってるけど、一銭も稼いだことないし、別に欲しくもない。みんなのモチベーションが金だっていうのは、ちょっとおかしい考えだよ。真実からはほど遠いね。

同意だね。私もそう思う。

私も全く同じことを書こうと思ってた。うまく表現してくれてありがとう、これにアップボートするよ。私が同じことをコメントしたかった理由の一部は、これがまさにオープンソースを作る理由だから!みんなへのギフトだから、うまく使ってね。お金をもらえるならそれはそれで嬉しいけど、私のやり方やコードの公開には全く影響しないよ。実際、もし本当に無条件でないなら、少しの報酬をもらうよりも今のままの方がいいかな。余計な義務が増えるのは嫌だし。

その通りだね。私はオープンソースソフトウェアを作るのは、新しいことを学んで、それを何かに応用するのが本当に楽しいからなんだ。自己満足のために公開してるだけだよ。貢献に対してワクワクすることもあれば、イライラすることもある。仕事での貢献は scrutinize されるけど、GitHubに公開する個人プロジェクトは私の島、私の主権の地。PRの興味があるのはワクワクするけど、時には誰かに私の絵を塗り替えられたくないこともある。それは私のものだからね。もちろん、すべてのオープンソース貢献者を代表しているわけじゃないけど、報酬は欲しくない。誰かが私の作品をフォークしてコミュニティにするのは、私のライセンスの選択によるものだから自由にやっていいよ。最初の数回の貢献が良ければ、誰かが引き継いでくれるのも嬉しいけどね。私の言いたいことは、すべてのクリエイターが集約者ではないってこと。私たちを放っておいて、文句を言うのはやめてほしい。結局、私たちは無料で提供したんだから。

「その資金は使用状況に応じて配分される - package.jsonやrequirements.txtに言及されるたびに、パイの一部がもらえる」 使用状況は価値や継続的な努力の良い代理指標ではないよ。私には毎週数千万回ダウンロードされるnpmパッケージがあるけど、それはほんの数行で、基本的には完成していて、メンテナンスも必要ない。効率的でゲームに対して耐性のある資金配分のアルゴリズムが存在するとは思えないな。

もしこれが実際に起こったら、詐欺師のメトリクスを上げるためだけに存在するAI生成のゴミコードが大量に出回る準備をしておいた方がいいよ。最小限の労力で自分の取り分を最大化するためにね。SpotifyもAI生成の音楽に関して同じ問題を抱えてるみたいだし。

Tea.xyzがこれをすでにやっちゃったよ: https://www.web3isgoinggreat.com/?id=teaxyz-spam

もしかしたら俺だけかもしれないけど、オープンソースの資金問題の解決策は、人々に強制的に支払わせることじゃないと思う。これってオープンソースの精神に反すると思うんだ。強制的な支払い、あるいは支払いの期待があると、本来のオープンソースの理念から外れて、単なる商業的なソフトウェアになっちゃう。オープンソースは双方向のものであるべきだと思う。この投稿が言ってるように、ユーザーはメンテイナーに何も借りてないけど、メンテイナーもユーザーに何も借りてない。もし俺がクールなものを作って自由に共有したら、ユーザーが俺に何かを期待する理由は何だろう?俺がそれを維持したり、君が望む機能を追加することを期待する理由は何だろう?資金が整わない限り、メンテイナーに対する期待を減らすメンタリティの変化が必要だと思う。結局、これは無料でオープンソースなんだから。誰も君に使うことを強制してるわけじゃない。俺が積極的に開発してないのが嫌なら、PRを送るかフォークすればいいじゃん。それがオープンソースの本来の精神だったんじゃないかな。オープンソースは成功しすぎて、商業ソフトウェアのように期待されるようになったと思う。それは本来の姿じゃないよ。

誰が誰にお金を払うかを決めるのかって問題もあるよね。人気で払うなら、僕の1ドルの大半はJavaScriptに行っちゃう。実際に使ってるライブラリにお金が行ってほしいな。

オープンソースライセンスのもとでソースコードを公開することを自ら選んだのに、そのコードを使うのにお金を払わなくていいってことに驚くのはおかしいよね。もしコードが使われるたびに収入を保証してほしいなら、別のライセンスを選ぶべきだったんだよ。

完璧に表現されてるね。さらに、ライセンスは著作権者が何を入れたいか次第だよ。簡単にデュアルライセンスやコピーレフトのバリアントにすることもできるし、商業利用に対して報酬を提供するライセンスもたくさんあるからね。

こういう提案は、FOSSが主に無給のボランティアによって生産されていると仮定しているみたい。でも、僕が使ってるオープンソースの多くは、めちゃくちゃ利益を上げてる企業が作ってるんだよね。例えば、今はMetaが作ったReactを使ってるし、TypeScriptはMicrosoft(やGoogleみたいな他の大企業)が作ったものだよ。このコメントもGoogleのChromeで書いてるしね。などなど。

これだと、あなたが支援したい人たちにはお金が行かないと思う。悪い人や微妙な人たちが、あなたが基にしている指標を作るのが得意だから、実際に価値を生み出している人たちにはチャンスがないよ。

ここ数年、助成金や寄付で生活してるよ。僕の意見としては、オープンソース開発を資金調達するために新しいプラットフォームを発明する必要はないと思う。すでにたくさんのプラットフォームやシステムがあるから、それが足りないわけじゃない。お金をもらいたいオープンソース開発者が、その事実をユーザーやサポーターに伝える必要があるんだ。確かにこれって不快かもしれないけど、実際にお金が欲しいって言わない限り、たぶんお金はもらえないよ。標準的には、サイトのどこかに寄付リンクがあって、FAQの中で4クリックも深く埋もれてることが多いし、たいていはPayPalみたいな感じだよね。実際にお金を求めると、意外と人々はあなたがやってることを気に入ってくれれば、ストレートにお金をくれることが多いんだ。Twitchでゲームを叫んでる人たちがリアルなお金をもらってるのに、君は人々が役立つと思うものを作ってるんだから、もちろんお金を稼げるよ。でも、ちゃんと頼まなきゃダメだよ。Twitchのゲーム叫び屋たちは確実にそうしてるから。それが秘密だよ。寄付を求めることから、ジミー・ウェールズみたいに自分の顔をバナーに載せて寄付をお願いするまで、いろんなスタイルがあるけど、フルジンボはやりすぎかもしれない。でも、意外と最適に近いかもしれないよ。企業ユーザーがいるなら、噂によると、彼らに直接連絡してスポンサーシップをお願いすることもできるみたい。必ずしも「はい」とは言ってくれないけど、勝手にスポンサーになってくれることはまずないからね。