刪庫(kù)跑路的「faker.js」又能用了,8位開(kāi)發(fā)者維護(hù)新項(xiàng)目
上周,項(xiàng)目作者 Marak Squires 主動(dòng)刪除了開(kāi)源庫(kù)「faker.js」的所有代碼,導(dǎo)致數(shù)千個(gè)應(yīng)用程序無(wú)限輸出亂碼。此事迅速掀起開(kāi)源社區(qū)熱議。由于此事給開(kāi)源社區(qū)造成了巨大損失,為了恢復(fù)使用 Faker 的功能,現(xiàn)在一個(gè)由 8 位開(kāi)發(fā)者組成的團(tuán)隊(duì)決定維護(hù)一個(gè)新項(xiàng)目 faker-js/faker。
項(xiàng)目地址:https://github.com/faker-js/faker
維護(hù)團(tuán)隊(duì)表示經(jīng)過(guò)他們的努力,「faker.js」主包被刪除之后依然可以在產(chǎn)品中使用 Faker。目前維護(hù)團(tuán)隊(duì)已做出的努力包括:
- 在 faker-js/faker 項(xiàng)目下為新的 Faker 包創(chuàng)建了一個(gè) GitHub org;
- 在 npm 上 faker-js/faker 中發(fā)布了所有以前的 Faker 版本;
- 發(fā)布了 6 Alpha 版本;
- 幾乎完成了向 TypeScript 的遷移,因此 DefinitelyTyped 不再需要維護(hù)其外部 types/faker 包;
- 創(chuàng)建了一個(gè)公共 Twitter 帳號(hào),用于社區(qū)交流;
- 發(fā)布了首個(gè)官方 Faker 文檔網(wǎng)站:https://fakerjs.dev/
- 清理了 Prettier、CI、Netlify Deploy Previews 和 GitHub Actions 等工具;
- 完成了大量問(wèn)題分類(lèi)和 PR review。
值得注意的是,在此之前,F(xiàn)aker 從未有過(guò)官方文檔網(wǎng)站,只有由 Jeff Beltran 維護(hù)了 3 年的非官方 faker.js 文檔。而此次官方文檔正是基于 Jeff Beltran 的非官方文檔創(chuàng)建的。此外,該維護(hù)團(tuán)隊(duì)已經(jīng)與社區(qū)管理平臺(tái) Open Collective 取得聯(lián)系,并討論了該項(xiàng)目的過(guò)渡計(jì)劃。
該維護(hù)團(tuán)隊(duì)計(jì)劃全面擴(kuò)展和持續(xù)開(kāi)發(fā) Faker,并將制定一套完整的路線圖,預(yù)計(jì)將包含如下改進(jìn):
- 支持 ESM;
- 將 Browserify 轉(zhuǎn)變?yōu)?Rollup/Vite;
- 改進(jìn)測(cè)試基礎(chǔ)設(shè)施;
- 提供 typegen 文檔;
- 保持與 Faker 生態(tài)系統(tǒng)的現(xiàn)有維護(hù)者進(jìn)行互動(dòng);
- 文檔中提供交互式 Playground;
- ......
此外,該研究團(tuán)隊(duì)表示 Faker 項(xiàng)目的原始贊助商將持續(xù)為新項(xiàng)目提供支持。
開(kāi)源社區(qū)內(nèi)的開(kāi)發(fā)者們對(duì)于此次維護(hù)基本持支持態(tài)度。根據(jù)該維護(hù)團(tuán)隊(duì)統(tǒng)計(jì)的數(shù)據(jù),在項(xiàng)目基本完成合并后,新項(xiàng)目的 star 量一路攀升。
圖源:https://twitter.com/faker_js/status/1481918305669627905
但也有人認(rèn)為這種「打包式」維護(hù),似乎是在利用 faker.js 的原始項(xiàng)目謀取利益:
同時(shí)也有人從開(kāi)源角度分析道:「這說(shuō)明沒(méi)有人是不可替代的。開(kāi)源本不該用于謀生,只能是開(kāi)發(fā)者用額外的時(shí)間和熱情去做出貢獻(xiàn)?!?/p>
也許在「開(kāi)源」這件事上,我們還有很多值得討論和改進(jìn)的地方。但毫無(wú)疑問(wèn),開(kāi)源精神是值得尊重和發(fā)揚(yáng)的。