無償で働くオープンソース開発者たちは自分の「力」に気づき始めている
今回は「無償で働くオープンソース開発者たちは自分の「力」に気づき始めている」についてご紹介します。
関連ワード (当然、洗濯機、被害等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、TechCrunch様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
ほとんどの人は意識していないと思うが、日常的に使用しているデバイスやアプリの多くはオープンソースソフトウェア上に構築されており、1人か2人の開発者によって維持管理されている。開発者は自分の時間のためにお金を支払われておらず、コミュニティや情熱的なプロジェクトに還元するべく、バグを修正したりコードを改善したりしている。
例えば「cURL」は、APIなどの別のシステムのデータにソフトウェアが簡単にアクセスできるようにするオープンソースライブラリである。このライブラリは、iPhoneから自動車、スマート冷蔵庫、テレビに至るまで、ほぼすべての現代的なコネクテッドデバイスで使用されているが、基本的には1人の開発者、Daniel Steinberg(ダニエル・ステンバーグ)氏が30年近く無料で維持管理している。
多くのオープンソースプロジェクトが営利目的のソフトウェアやデバイスに含まれており、一般的に、純粋な謝意を別にすれば報酬がともわないにもかかわらず、このシステムはほぼ確実に機能している。一部のオープンソース開発者は、GitHub SponsorsやBuy Me A Coffeeなどのプログラム、企業とのメンテナンス契約、あるいは自分のライブラリの維持費を支払ってくれる企業で仕事をすることで、自分の仕事を首尾よくサポートすることができるが、これは標準とは程遠い。
広範なセキュリティ侵害が発生したとき、このシステムの不公平性がしばしば表面化する。2021年12月にJavaライブラリ「Log4j」に出現したLog4Shellの脆弱性は、世界中で重大なセキュリティ脆弱性の問題を引き起こしており、一部の大企業にも影響が及んでいる。
影響を受けたライブラリの開発者たちは、問題を緩和するために24時間体制で作業することを余儀なくされたが、対価は支払われず、そもそも彼らの開発品は無料で使用されていたのだということへの認識も乏しいものであった。cURLの開発者も同じような扱いを経験している。同氏のプロジェクトに依存している企業が、コードに問題が発生した際、そのサービスに対価を支払っていないにもかかわらず、同氏に支援を求めてきたのである。
したがって、当然のことながら、自らの仕事に対する報酬がない中で自分たちが過大な力を行使していることを、一部のオープンソース開発者たちは自覚し始めている。彼らのプロジェクトは、世界最大規模の収益性の高い企業に利用されているのである。
その一例として、人気のnpmパッケージ「colors」と「faker」の開発者であるMarak Squires(マラク・スクワイアーズ)氏は、2022年1月初旬、これらのコードに意図的に変更を加え、ユーザーすべてに影響する破壊的展開を誘発した。使用時に「LIBERTY LIBERTY LIBERTY」というテキストに続いて意味不明な文字や記号を出力し、無限ループが発生するというものであった。
スクワイアーズ氏はこの変更を行った理由についてコメントしていないが、同氏は以前GitHubで「私はもうFortune 500企業(およびその他の小規模企業)を無償の仕事でサポートするつもりはありません」と発言していた。
スクワイアーズ氏が加えた変更は、Amazon(アマゾン)のCloud Development Kit(クラウド開発キット)を含む他の人気プロジェクトを破壊した。同氏のライブラリは週に2000万近くnpmにインストールされており、何千ものプロジェクトが直接的に依存している。npmは数時間以内に不正なリリースをロールバックし、GitHubはそれに応じてこの開発者のアカウントを一時停止した。
npmの対応は、過去にもライブラリに悪意のあるコードが追加され、最終的にはロールバックされて被害を抑えた事例があり、予想されるものであった。一方で、GitHubはこれまでにない反応を示した。同コードホスティングプラットフォームは、スクワイアーズ氏がコードの所有者であり、意のままに変更する権利を持っていたにもかかわらず、同氏のアカウント全体を停止したのである。
開発者が抗議のために自身のコードを取り下げる形をとったのも、これが初めてではない。2016年に「left-pad」の開発者は、自身が所有する別のオープンソースプロジェクトの命名をめぐってKik Messenger(キック・メッセンジャー)と争った後、npmから自分のコードを取り下げ、依存していた何万ものウェブサイトを破壊した。
驚くべきことに、著名なライブラリが時折業界のやり方に抗議してはいるが、この種の事象はそれほど一般的なものではない。オープンソース開発者たちは、自分たちの仕事の裏で数百万ドル(数億円)のプロダクトが作られているにもかかわらず、無償で働き続け、自らのプロジェクトの維持管理に最善を尽くしている。
ホワイトハウスでさえテクノロジー業界に対するオープンソースの重要性を認めている。Log4Jの一連の出来事を受けて2022年1月に業界と会合を持ち、次のように言及している。「オープンソースソフトウェアは独自の価値をもたらすものであり、同時に独自のセキュリティ上の課題を抱えている。その背景には、利用範囲の広さと、継続的なセキュリティの維持管理に責任を負う多数のボランティアの存在がある」。
しかし、こうした声明が出ている一方で、大規模な人気を誇るオープンソースソフトウェアでも、少なくとも世間の注目を集めるまでは、厳しい資金不足に陥っている。Heartbleedの脆弱性がインターネット全体を危険にさらす前、影響を受けたオープンソースプロジェクト「OpenSSL」への寄付は年間2000ドル(約23万円)程度であったが、問題が発覚した後には9000ドル(約102万円)に増加した。
現代的なネットワーク機器のほぼすべてで使われているOpenSSLの開発チームは当時、書面で次のように述べていた。「OpenSSLのケアと供給に専念できるフルタイムのチームメンバーは、1人ではなく、少なくとも6人は必要です」。プロジェクトチームはその代わりに、プロジェクトの維持費をカバーする契約作業を継続的に確保している。
開発者が自身のオープンソースライセンスを変更したり、自分の仕事をプロダクトに変えたり、スポンサーを増やす努力をすることはできるにしても、すべてのプロジェクトに万能のソリューションはない。この無償の仕事のすべてに資金を提供するより良い方法を業界が見出すまでは(誰もそんなことは考えていないようであるが)、より多くのオープンソース開発者が、意図的に自分たちの仕事を中断する形で不服従行動を起こすことで、自らが貢献しているものに光を当てる他ないのが現状である。
これは長い目で見れば持続可能なものではない。しかし、この混乱からどうやって抜け出すのかは不透明である。今日生み出されているあらゆるソフトウェアやコネクテッドデバイスでオープンソースの採用が急増しているが、何人かのオープンソース開発者が陰鬱な日を甘受するのではなく、すべてを破壊しようと決断することに、その行方が委ねられている。
何百万ものデバイスで使用されているcURLのようなライブラリが、洗濯機から乗用車まであらゆるものに含まれているという状況であっても、作成者がそのサポートに疲れて世界にメッセージを送ることを決断したとしたら、どのようなことが起きるであろうか。過去においては被害が回復したことは幸運であったが、将来はそのような幸運にはつながらないかもしれない。
画像クレジット:aurielaki / Getty Images
【原文】
Most people don’t realize it, but many of the devices and apps you use every day are built on top of open source software, maintained by one or two developers that aren’t paid for their time, who patch bugs and improve their code to give back to the community or as a passion project.
Take cURL, for example, a library that makes it simple for software to access data in another system, such as in an API. The library is used in practically every modern connected device, from the iPhone to cars, smart fridges and TVs — and yet it’s essentially been maintained by a single developer , Daniel Steinberg, for free for almost three decades.
Despite many open source projects being included in for-profit software and devices, generally without compensation outside of a simple acknowledgment, the system mostly works reliably. Some open source developers are able to successfully support their work through programs like GitHub Sponsors and Buy Me A Coffee , maintenance contracts with companies or taking a job at a company that pays them to maintain their library — but this is far from the norm.
This system’s inequity is often revealed when there’s a widespread security breach, such as the Log4shell vulnerabilities that emerged in the Log4j Java library in December 2021, triggering a slew of critical security vulnerability bulletins that affected some of the largest companies in the world.
The developers of the affected library were forced to work around the clock to mitigate the problems, without compensation or much acknowledgement that their work had been used for free in the first place. CURL’s developer experienced similar behavior , with companies depending on his projects demanding he fly out to help them when they faced trouble with their code, despite not paying him for his services.
As a result, it shouldn’t be a surprise that some open source developers are beginning to realize they wield outsized power, despite the lack of compensation they receive for their work, because their projects are used by some of the largest, most profitable companies in the world.
In early January, for example, Marak Squires, the developer of two popular npm packages, “colors” and “faker,” intentionally introduced changes to their code that broke their functionality for anyone using them, outputting “LIBERTY LIBERTY LIBERTY” followed by gibberish and an infinite loop when used.
While Squires didn’t comment on the reason for making the changes, he had previously said on GitHub that “I am no longer going to support Fortune 500s (and other smaller-sized companies) with my free work.”
Squires’ changes broke other popular projects, including Amazon’s Cloud Development Kit , as his libraries were installed almost 20 million times per week on npm, with thousands of projects directly depending on them. Within a few hours, npm had rolled back the rogue release and GitHub suspended the developer’s account in response.
While npm’s response was to be expected after previous incidents in which malicious code was added to libraries and was ultimately rolled back to limit damage, GitHub’s was a new one: the code-hosting platform took down Squires’ entire account, even though he was the owner of the code and was his rights to change it as he pleased.
This isn’t the first time a developer has pulled their code in protest, either. The developer of “left-pad” pulled his code from npm in 2016 , breaking tens of thousands of websites that depended on it following a fight with the Kik messenger over the naming of another open source project he owned.
What’s astonishing is that despite the occasional high-profile libraries protesting the way the industry works, these types of incidents aren’t all that common: open source developers continue to work for free, maintaining their projects as best they can, even though multimillion-dollar products are being created off the back of their work.
Even the White House has acknowledged the importance of open source to the technology industry after a meeting with the industry following the Log4J incidents, saying in January 2022 that “open source software brings unique value, and has unique security challenges, because of its breadth of use and the number of volunteers responsible for its ongoing security maintenance.”
And yet, despite this declaration, massively popular open source software is woefully underfunded — at least until it gains the spotlight. Before the Heartbleed vulnerability put the wider internet at risk, the affected open source project, OpenSSL, received just $2,000 per year in donations which grew to $9,000 after the issues came to light.
The team behind OpenSSL, which is used by practically every modern networking device , wrote at the time that “[t]here should be at least a half dozen full time OpenSSL team members, not just one, able to concentrate on the care and feeding of OpenSSL.” Instead, the project team continues to find contracting work to cover the cost of maintaining the project.
Developers could change their open source license, turn their work into products, or hustle for more sponsors, but there’s no one-size-fits-all solution for every project . Until the industry figures out a better way to fund all of this free work — which nobody seems forthcoming about — we should expect more open source developers to perform acts of disobedience, intentionally breaking their work to shine the light on what they’re contributing.
This just isn’t sustainable in the long run — but it isn’t clear how we’re going to get out of this mess, as the use of open source balloons in every piece of software and connected device produced today, but continues to depend on a few open source developers not having a terrible day and deciding to break everything.
If a library like cURL, which is used by millions of devices, is included in everything from your washing machine to your car, but its creator gets tired of supporting it and decides to send a message to the world, then what? We’ve been lucky in the past that the damage could be rolled back, but we might not be so lucky in the future.
(文:Owen Williams、翻訳:Dragonfly)