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