Babelは何百万もの人々に使われているのに、どうして我々は飢えようとしているのか

フロントエンド界隈で[Babel](https://babeljs.io/)にお世話になったことのない人はいないでしょう。
新しいJavaScript文法を、古いバージョンのブラウザでも動作するように変換してくれるツールです
IEが現役だったころはIE向けページになくてはならない存在でしたし、IE亡き今では最新のES機能を最速で採用できる場となっています。

```js
// Pipe Operator
"World" |> `Hello, ${#}!` |> alert(#);

// 変換後
var _ref, _ref2;
_ref2 = (_ref = "World", `Hello, ${_ref}!`), alert(_ref2);
```

未だどのブラウザもサポートしていない[Pipe Operator](https://github.com/tc39/proposal-pipeline-operator)も、Babelならごらんのとおり既に使えます。

また最近のWebフレームワークには大抵デフォルトで入っていて、気付いていなかったとしても裏で使われている場合がほとんどです。

そんな世界中に普及しているBabelですが、懐事情はとても厳しいようです。
以下は[Babel is used by millions, so why are we running out of money?](https://babeljs.io/blog/2021/05/10/funding-update)の日本語訳です。


# Babel is used by millions, so why are we running out of money?

2018年以来、Babelは[資金調達](https://babeljs.io/blog/2019/11/08/babels-funding-plans)の試みを行っています。
Babelでフルタイムの仕事は継続可能でしょうか？
我々は、その答えがNoであるかもしれないことを知りました。

2019年秋、[Henry](https://twitter.com/left_pad)に一年間の報酬を渡すことに成功しました。
そのため我々は[目標を広げ](https://babeljs.io/blog/2019/11/08/babels-funding-plans)、さらに3人のメンテナ[Jùnliàng](https://twitter.com/JLHwung)・[Kai](https://twitter.com/kai_cataldo)・[Nicolò](https://twitter.com/NicoloRibaudo)を雇うことにしました。

Babelチームの一部メンバーには現在も報酬を支払っていますが、寄付金の額によって目減りするのが常です。
今回の記事ではそのことについて触れ、コミュニティからの支援をお願いしています。

## Looking Back

2018年にHenryは[当時の仕事を辞め](https://www.henryzoo.com/in-pursuit-of-open-source-part-1/)、[Evan You](https://twitter.com/youyuxi)のようにオープンソースとBabelで生計を立てることができるかを調べました。
かつてのコアメンバーであった[Logan Smyth](https://github.com/loganfsmyth)をサポートするために立ち上げた[Open Collective](https://opencollective.com/babel)が当時既にありましたが、これを押し広げてより多くの資金調達を目指しました。

仕事しながらの片手間でそれを行うのは困難でしたが、数か月後にはHenryに毎月報酬を支払うことができるほどになりました。
オープンソースにフルタイムで取り組むための基本給として、毎月11000ドルが支払われます。
当初は[Handshake](https://handshake.org/grant-sponsors/)が10か月1万ドルという多額の資金提供をしてくれたことで運用を後押ししてくれました。
その後もAirbnb・Trivago・Gatsby・AMP・Salesforceといった素晴らしいスポンサーのおかげで、開発チームへの支払いを続けることができました。

我々はここで終わりたくありませんでした。
報酬を支払う能力があることを示すことで、より多くの機能や改善がなされ、資金やスポンサーが増え、より強力なチームになる、と考えたのです。

我々は、Jùnliàng、Nicolò、Kaiの3人にもパートタイマーとして月2000ドルの報酬を支払うことを[決定しました](https://babeljs.io/blog/2019/11/08/babels-funding-plans)。
資金調達が増え、予算が増えたら、フルタイムで雇って報酬を引き上げるという目論見です。


## Where Babel is Today

Babelの今。

それから一年以上が過ぎ、我々は多くのことを成し遂げ、そして多くのことを学びました。

我々は、ECMAScriptの新しい[プロポーザルの多くを実装](https://babel.dev/docs/en/features-timeline)し、TypeScriptとFlowのリリースに対応し、アウトプットサイズを小さくする[新機能を設計](https://babel.dev/assumptions)しました。
我々は現在、次のメジャーリリースであるBabel8の準備を行っています。

Babelは、世界中の数多の企業で使われています。
React・Next.js・Vue・Ember・Angularなど、ほとんどあらゆるJavaScriptエコシステムに組み込まれています。
Babelの月間ダウンロード数は[1億1700万件以上](https://www.npmjs.com/package/@babel/core)あります。
CSS-in-JS、GraphQL、ローカライズといった場面で活躍する様々なカスタムプラグインも提供しています。

Babelは、言語設計者と使用者の貴重な出会いの場となっています。
ECMAscriptの新しいプロポーザルのテストプロセスとして重要な位置にいます。
(あんまり不安定なプロポーザルを実運用しないでほしいけど)
これによって、JavaScriptの開発者が新機能を試し、TC39にフィードバックし、言語の進化に影響を与えることができるようになりました。

Babelは個々の企業の利益にを代表するものではありませんが、新しいアイデアを生み出したいというJavaScript開発者の熱意の代表たりえたいと思っています。
もしあなたやあなたの会社が直接Babelを使用していなかったとしても、言語機能の標準化を通して利益を得ることになります。


## Our Current Funding Situation

現在の資金調達の状況。

全てのプロジェクトには、資金調達について独自の議題や問題があります。
Babelの場合、人々が直接Babelに触れることはあまりありません。
ビルドツールは最初に一度設定するだけなので、その後は忘れ去れられてしまいます。
あるいは、バグを発見するまで忘れ去られます。

主要なJavaScriptフレームワークのほとんどがBabelを使っているにもかかわらず、"Babel開発者募集中"という求人を目にしたことはないでしょう。
Next.jsのような高度なフレームワークはビルドツールの管理すら行ってくれるため、ユーザは自分がBabelを使っていることを認識していないことすら珍しくなくなりました。
これでは、援助してくれる組織が現れる機会そのものがなくなってしまいます。

フルタイムの報酬を支払えるだけの資金が無いことは最初から分かっていたので、Henryは継続的な資金調達を行ってもらえるように、カンファレンスで講演したり、企業に話をしたりすることに多くの時間を費やしました。
しかし2020年には結果はマイナスとなり、大口スポンサーを失いました。
ハイテク産業そのものは成長し続けているにも関わらずです。
そのためKaiは、フルタイムで別の仕事に入るためにBabelから離れなければならなくなりました。

さらに、JùnliàngとNicolòの報酬を増やせるようにも願っていましたが、そうにもなりませんでした。

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/cd5f5b5c-89b7-13ad-d8ce-a62097dc9cbe.png)

## The Future

困難な状況ですが、我々はBabelの改善を続けるため、コアチームへの支払いは続けていきます。
Babelの設定をより簡単にできるようにしたり、パフォーマンスを向上させたり、より最適な出力をできるようにしたいと考えています
既存の機能はしっかり固めつつ、新しい提案も行っていくつもりです。
さらにBabelだけではなく、JavaScriptや言語仕様も含め、多くの開発者が独自の構文を提案していけるような環境を整備したいと考えています。
我々のような者たちだけではなく、これまで言語設計を考えたことのなかったような人たちをその場に触れる機会を増やすことには、大きな意義があります。

また今後の中期的な目標を伝えるため、[ロードマップ](https://babeljs.io/docs/en/roadmap#babel-2021-roadmap)を作成しました。

我々は、オープンソースで働くことは、実行可能であり持続可能なキャリアパスであるべきだ、と強く信じています。
全員を引き下げるのではなく、引き上げるべきなのです。

しかしその前に、我々はあと[ほんの数か月で破綻する](https://opencollective.com/babel#category-BUDGET)という事実を直視する必要があるでしょう。

みんなに支払う報酬を減らしてプロジェクトを続けるという選択は、プロジェクトが持続可能であるという誤った認識を生むことになります。
スポンサーが考える『持続可能であると判断する資金量』も減りますし、開発者の自己に対する評価も低くなってしまうでしょう。

現実的にも、より多くの資金がなければ、Babelの高品質な開発とサポートを維持できなくなるリスクがあります。
またスキルレベルに見合わないと見限った優秀なメンバーを失うリスクもあります。
そしてオープンソースのエコシステムは、広範かつ重要な技術の全てをサポートしきれていないことがままあります。


## Our Ask

我々からのお願い。

現在のところ、Nicolò、Henry、Jùnliàngの3人に月6000ドルの報酬を支払っています。
これはBabelの収入よりも高い金額ですが、現在の状況では2021年末まではこの報酬を維持することができます。

我々は優先事項をバランスを取って処理していくため最善を尽くします。
しかし、資金調達のため新しいスポンサーを探すことに時間を多く割かなければならず、プロジェクトの進捗に支障をきたしています。

我々は、会社ではなく、製品でもなく、サービスでもありません。
我々のチームは小さいので、エンジニアリングに携わっている人と、資金調達に携わっている人は同一人物です。
Babelが提供している多大な価値を考えると、これらが妥協点として最低ラインです。

現在報酬を得ているメンテナにフルタイムの十分な報酬を与えるには年間333000ドルが必要で、これは現在の収入の2倍になります。
また、我々は残りのコアチーム全員にも報酬を拡大したいと考えています。
この金額は、ハイテク企業の収支からすれば取るに足らない額ですが、Babelにとっては途方もない壁です。

我々の物語、そして似た非なるプロジェクトの物語は、オープンソースのエコシステムの健全性、持続性に影響を与えてくれるでしょう。

そこで、我々からお願いしたいのは、我々の活動に資金提供をいただきたいということです。
[Open Collective](https://opencollective.com/babel)および[GitHub Sponsors](https://github.com/sponsors/babel)にて募集しています。

個人の寄付にももちろん多大な感謝をしていますが、より多くの企業に[企業スポンサー](https://opencollective.com/babel/contribute)になっていただきたいと願っています。
また、他の方法でも支援してくださるという場合は、直接問い合わせをおねがいします。

非常に多くの企業がBabelを使用した製品を提供しており、我々が求めているものは、我々が提供している価値のごく一部に過ぎません。
WebのほとんどにおいてBabelは広く信頼されており、プロジェクトの品質が今までどおり維持され続けることで、全ての利益につながるでしょう。

**[寄付はこちら](https://opencollective.com/babel/donate)。**


# 感想

先立つものがなければどうにもならん、というこの世の真理を見せてくれました。
世界中で最も多く使われているであろうソフトウェアのひとつBabelですら、内情は火の車というわけです。
それにしても、Webフロントエンドになくてはならない程のソフトウェアなのに、たった3人への給料すらまともに支払えない程度の財政事情とはびっくりですね。

いつだったかの[オープンソースただ乗りAWS](https://gigazine.net/news/20210121-elastic-search-license/)なんかもそうですが、この業界はユーザに直接触れるところだけが持て囃されて、裏方はだいたい食うや食わずやなところに押し込められる流れが多いですね。
いやまあ、"この業界"に限ったことでもないかもしれませんが。

さて、Babelの現状は[Open collective](https://opencollective.com/babel#category-BUDGET)で確認可能です。
このエントリが出たおかげか多少は持ち直したように見えますが、それでも余裕があるとはとても言えないようです。
日頃お世話になっているみんなも、少しくらいは寄付してみてはいかがでしょうか。

ところで、もし今後もこのまま予算が付かなかったらその後はどうなるでしょう。
[Sizzyのように有料化する](https://qiita.com/rana_kualu/items/db62ad8d7dc0a4cce9db)のが最短かつ短期的に最適な方法だと思います。
そして周囲の阿鼻叫喚が最も楽しそうなので個人的には是非この選択肢を選んでもらいたいところなのですが、でも[自分のリポジトリを消した](https://qiita.com/taiyodayo/items/c1ebdc863e6baa18ea06)だけで[わけのわからん文句を付けられる](https://github.com/zdharma-continuum/I_WANT_TO_HELP)ような世界なのでまあ無理かな。