core-jsがメンテされていない理由→プロジェクトは継続する

# core-jsとは

core-jsをみなさんご存知だろうか。直接は知らなくてもbabelでpolyfillを当てているなら間接的にお世話になっているはずだ。

https://github.com/zloirock/core-js

# メンテされない

そのcore-jsは当分メンテされないらしい。というか2020/01/14を最後にパタッと活動が途絶えている。

なんとこの巨大projectはzloirockというたった一人によってメンテされてきた。

ここで彼のコメントをいくつか引っ張っておこう。

> https://github.com/zloirock/core-js/issues/548#issuecomment-494112872
> 2019年5月21日 4:06 JST
> Dear @jpike88!
>
> Almost 5 years almost every day I spend some hour for maintenance core-js. It's not a library from some lines which I can write and forget about it - it should react on any change in JavaScript standard or proposals, on any new JS engine release, on any significant bug in JS engines. core-js has become the de facto standard of JavaScript standard library features polyfill.
>
> I was working on the project in my spare time. No one paid me for it, more other - I didn't use it actively in my work, I worked on it since I thought that it was required for JavaScript community. No one of browser vendors, TC39, big companies which use core-js helped me. Users started actively contribute to this project only some months ago.
> 
> Some previous months I worked almost fulltime on core-js@3 and polyfilling-related Babel features instead of making money as I thought it was important for JavaScript community and planned to find a new fulltime work after release.
>
> 2 months ago I started raising funds to core-js maintenance. Current result - 7\$ / month on Patreon, 50$ / month on Open Collective. Not seriously, but better than nothing - users use Babel or their frameworks for polyfilling and just don't know that they use core-js indirectly. Not a problem since anyway I didn't think about open source as about a way to earn any serious money.
>
> However, shit happens. Because of one accident, now I have some serious problems for tens or even hundreds of thousands of dollars and a real chance to be in prison - doubtful pleasure - interesting, who will maintain core-js in this case? Since previous months I worked on open source, I have not any financial pillow for solving those problems.
>
> After a little discussion, I understood that I can't count to any help from Babel. Nothing to say.
>
> So why not to make this little experiment? I think that some lines in NPM installation log, which can be hidden if it's required, are an acceptable price for using core-js. I don’t think that I’ll be able to get a however significant part of required at this moment money, however, each dollar makes sense. And some more people will know that I am ready to consider job offers.
>
> And after that, someone says that I'm not right because I added a message on postinstall... The right thing for you is somehow supporting core-js instead of creating issues like this.
>
> Initially, I wanted to add a message on postinstall as an experiment for some days, but because of your reaction I see that adding a message on postinstall was the right thing, so I leave it here. Thank you for this issue.
>
> Let this issue be opened a little more time.


> https://github.com/zloirock/core-js/issues/548#issuecomment-495075412
> 2019年5月23日 14:42 JST
>
> 1. Because at that moment I didn't think that Babel would betray me? I worked on polyfilling stuff for Babel almost from the start of the project, but when I asked about any help and it was really required - I received a refusal.
> 2. Seems so, thanks to our stupid law.
>
> >If you are in prison, who will maintain it then?
>
> See above - I haven't any options.

---

> https://github.com/zloirock/core-js/issues/747#issuecomment-573318269
> 2020年1月11日 22:45 JST
>
> BTW since I was not able to find required funds, after some days I'll be in prison and it could be my final goodbye for pieces of shit like you.

# つまりどういうことだってばよ？

- core-jsはbabelのほとんど初期からポリフィルの作成のために貢献してきた
- ところが多くのユーザーは(babelのことは知っていても)core-jsのことは知らない
- core-jsはzloirock一人によって5年以上メンテされてきた
- しかしcore-jsを使用しているTC39やブラウザベンダーは誰も助けてくれなかった
- babelも助けてくれなかった
- 2019年3月からメンテナンスのための資金を集め始めたが、一ヶ月あたりPatreonから7ドル、Open Collectiveから50ドル(訳注: 1ドル100円として月額たったの5700円!)
- まあしかしOSSで稼ごうと思ったわけではないのでそれ自体が問題ではない
- ところがzloirockがオートバイを時速60km/hで運転中に横断歩道を歩行中の女性をひくという交通事故を引き起こし、被害者は死亡した。
- さらに控訴審を経て**1年半**の収監確定した(訳注: いつから？2020/01/14を最後に姿を消したから2021/07くらいまで？？)

# 交通事故そのものはどういうもの？

割愛。自分で
https://kraevoy--alt.sudrf.ru/modules.php?name=sud_delo&srv_num=1&name_op=doc&number=1733512&delo_id=4&new=4&text_number=1
を読んでどうぞ(ロシア語)

# core-jsはだれがメンテするの？

Babel projectがメンテすることはあるのだろうか。zloirockの要請には拒否したようだが。

だれかがforkしてメンテするよりほかにないが、**一体誰がやるねん。**

https://github.com/zloirock/core-js/issues/767

## Babel メンテナのコメント

> https://github.com/ryanelian/ts-polyfill/issues/4#issuecomment-599227863
> 2020年3月16日 0:51 JST
>
> Babel maintainer here wave👏
We are probably not going to fork `core-js` because we don't have enough resources to maintain it. We are investigating if it's possible to provide an integration for `es-shims`/`es5-shim`/`es6-shim.`

メンテする余力はないってさ。

# 影響

ここでは筆者の独断と偏見で、本件の影響が及んだライブラリを取り上げていく。

## PDF.js

PDF.jsはJavaScript製のPDFリーダーだ。

> [Demo Site broken on Edge an InternetExplorer · Issue #11615 · mozilla/pdf.js](https://github.com/mozilla/pdf.js/issues/11615)
>
>If it were up to me, support for IE11 would have been removed years ago :-)
>
>Over the years, keeping support for old browsers such as IE11 has required a lot of time and effort. Most of this work has been done by unpaid contributors, e.g. @timvandermeij and myself, despite none of those people actually using IE11 (and no one should be using it really).
In practice this means that contributors have been spending time supporting a dead browser, rather than improving the general PDF.js library by e.g. fixing bugs and implementing new features.
>
>Furthermore, support for IE11 has on more than one occasion prevented or at least significantly delayed adoption of e.g. new JavaScript/CSS features; thus hurting the general PDF.js library in the name of IE11 support.
>
>---
>
>Note that over the last couple of years, we've been relying more and more on the excellent core-js library to help with polyfilling new JavaScript features. However, it appears that that library may now have become unmaintained, which could quickly become a problem for many projects (PDF.js included).
>
>    For now the ES5 version will remain available. This might change for the next major version, 3.0, but no decision has been made about that yet.
>
>If core-js becomes unmaintained, and a replacement polyfill library isn't found, sooner or later IE11 support in PDF.js would be in real trouble even before the next major version!
>
>Please keep in mind that the main goal of the PDF.js project is to provide the PDF Viewer that's built-in to Firefox (and not to support IE11), and if it becomes difficult to easily polyfill new JavaScript features then it may be necessary to stop supporting IE11.

- IE11対応はとても大変
- しかもIE11で使ってる人も使う必要性もない
- つまり死んだブラウザのサポートに時間を費やしていることを意味する
- polyfillするのにcore-jsに頼ってきた
- しかし、そのライブラリがメンテナンスされなくなったようで、多くのプロジェクト (PDF.js を含む) ですぐに問題になる可能性がある
- 代替の polyfill ライブラリが見つからなければ、遅かれ早かれ PDF.js の IE11 サポートはメジャーバージョンアップを待たずして問題になるだろう→サポート終了はあり得る
- そもそも主な目的はFirefoxに組み込まれているPDFビューアを提供することであり、新しいJavaScriptの機能を簡単にポリフィルすることが難しくなることは許容されない

# 追記: forkする事態は避けられた

> https://github.com/zloirock/core-js/issues/767#issuecomment-603682034
> 2020年3月25日 16:22 JST
>
> Stop spam & panic! I have rules for this repo and i have some time for fixing critical bugs and major updates.

core-jsのrepoに権限をもつ人間はzloirock以外にもいて([@slowcheetah](https://github.com/slowcheetah)とか)、forkする事態は避けられている。

ただし依然としてメンテナンスするリソースは全く十分ではない。

すでにあるOpen Collectiveはzloirock宛のもので、他のContirbutersに渡らない。つまりどうやって資金を供給すればいいのか。それとそもそもお金があればメンテできるのか。問題はまだ解決しそうにない。

# 追記: プロジェクトは継続する

> https://github.com/zloirock/core-js/issues/767#issuecomment-604892167
> 2020年3月27日 18:05 JST
>
> > @slowcheetah are you able to inform us on the governance strategy?
> >
> > - How many people have GitHub and npm permissions on this project?
> > - What kind of permissions? Administrative privileges?
> > - Are you still in contact with @zloirock regarding this project of course. Does he provide you with directions? (e.g. not removing the job ad )
> > - Is there a "leader"? Someone that can handle the architecture vision of the project?
> > - This project is quite related to babel-preset-env are some of the maintainers in direct relation with @babel?
>
> > In the future, should we expect "only" fixes or also new features? What about [#139](https://github.com/zloirock/core-js/issues/139) [#496](https://github.com/zloirock/core-js/issues/496) ?
>
> > Maybe we should make write a little doc about governance good practices 🤔 this may be very sane.
>
> > I'm not experimented with open source project management, but I think something should be done regarding the governance of the project 💪 I wish collaborators good luck, this looks quite challenging.
>
> - Only me an @zloyrock have npm permissions
> - All privileges
> - Yep. I have contact with @zloirock, but it is "delayed" because carantine situation now.
> - I will try to dive in project but now i can't say that i am "leader". I am "support". There is some chance that within a few months @zloyrock himself will have access to the project.
> - I no have direct relation with @babel. I have nothing to say
>
> I am diving in project now. if @zloirock will not have direct access to the project, I will discuss disputed issues with him and try to do further support and development of the project.
>
> Next week I hope to talk with him about the current bugfixes and come to the conclusion whether a new version is needed now.

というわけで、npmの権限を持っている人はいるし、zloirockとも連絡がつく人はいるし(ただし司法的な理由で遅延している)、数ヶ月以内にzloirockがこのプロジェクトに戻れる可能性もあるし(訳注: どういう司法制度なのか詳しい人いたら教えて)、zloirockとやり取りして続けていくとのこと

# 追記: メンテナ、帰還。そして書き込む

> https://github.com/zloirock/core-js/issues/874#issue-728890175
> 2020年10月25日 7:25 JST
>
> Wait for the news -)

続報を待て

> https://github.com/zloirock/core-js/issues/767#issuecomment-719506555
> 2020年10月30日 20:46 JST
>
> Holy shit... Apparently, it's time for me to think for whom I make core-js and why.

ロシアの司法制度に全く明るくないけど、どういうわけかzloirock氏の書き込みがあった。~~どうやって書き込んでるんだろう。~~改めてcore-jsがなぜ誰のために作っているのか考え直す局面に来てるらしいです。

なんでもいいけど、DeepLの翻訳AIがはっちゃけ過ぎな？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94177/5864e8ab-1510-3180-9bc4-75d8065eaa67.png)

# 2023/02/14 追記: core-jsの今後

御存知の通りのウクライナ問題の影響で、ロシア在住開発者であるzloirock氏にもそのしわ寄せが行っている。
上述の事故の和解のための金を支払うまで出国できない状態にあるが、コミュニティからの支援は減少している。

OSSと政治の問題を切り離して考えることが必要ではないか。

[core-js/2023-02-14-so-whats-next.md at master · zloirock/core-js](https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md)