IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 1.2 亿次下载,近 3 万 Star 的开源项目是为何会“死”掉? -> 正文阅读

[PHP知识库]1.2 亿次下载,近 3 万 Star 的开源项目是为何会“死”掉?

Faker 是一个流行的模拟数据生成库,程序员只需简单地几步操作,就可以在浏览器和 Node.js 中生成大量的假数据,GitHub 的 Star 已超过 25000 星,但 Faker 的开发人员 Fran?ois Zaninotto 计划放弃对 Faker 更新维护。

根据 GitHub 的数据显示,最近一次更新在 2020 年 12 月 11 日。

Faker 意外诞生

Faker 诞生很意外,Fran?ois Zaninotto 需要为他的项目生成模拟数据,于是就在 2011 年 10 月开发了 Faker 项目 。由于 Faker 能产生大量的模拟逼真的数据,因此 Faker 在 PHP 社区被很多开源爱好者使用并获得好评。据 Fran?ois Zaninotto 在博文中透露,截至 2020 年 10 月已有 450 多个贡献者(感谢他们的付出),被 713k 个项目所依赖。

<?php
// use the factory to create a Faker\Generator instance
$faker = Faker\Factory::create();
// generate data by accessing properties
echo $faker->name;
  // 'Lucy Cechtelar';
echo $faker->address;
  // "426 Jordy Lodge
  // Cartwrightshire, SC 88120-6700"
echo $faker->text;
  // Dolores sit sint laboriosam dolorem culpa et autem. Beatae nam sunt fugit
  // et sit et mollitia sed.
  // Fuga deserunt tempora facere magni omnis. Omnis quia temporibus laudantium
  // sit minima sint

Faker 存在设计瑕疵

Fran?ois Zaninotto 表示 Faker 很臃肿,在于很多用户下载了不必要的语言版本,原先只要 10 KB,现在却必须下载 3 MB。另一个核心设计问题是 seed (数据库模拟数据填充命令),为了允许可复用的构建,Faker 生成器接受 seeder,使用相同的 seeder,Faker 将始终生成相同的模拟数据。这导致无法对现有提供程序进行任何重大更改,例如删除过时的数据或重复的内容,为了填入新的模拟数据,Faker 必须避免数据被修改。

Faker 维护太难了

作者认为维护这个 Faker 太难了,因为 Faker 很多模拟数据都是从别的地方粘贴复制过来的,并受到版权法律保护,还有用户提交的 PR 都是作者看不懂的语种,因此他无法辨析数据的优劣,出于版权等风险考虑,他最终关闭了许多 PR,并盲目地合并了部分其他 PR。最主要原因是 Fran?ois Zaninotto 没有时间去维护 Faker,而且他已经有 5 年时间没有写过一行 PHP 代码了。

有人提议将 Faker 移交到专门维护项目的组织, Fran?ois Zaninotto 拒绝了,他认为这是在“诋毁”一个 25,000 Star 项目的声誉。

Faker 使命完成了

Packagist  统计,Faker 已被下载 1.21 亿次

Fran?ois Zaninotto 表示:“Faker 被下载了 1.21 亿次,足以说明它已经足够好。成千上万的 Faker 用户不可能同时都错了,对吧?”

所以 Fran?ois Zaninotto 决定 “退休”,意味着 Fran?ois Zaninotto 不会接受新的 PR,不会合并现有的 PR,不会发布新版本,也不会接受新的维护者,将完全禁用来自 Faker 存储库的通知,并删除收件箱中所有与 Faker 相关的消息的存档——这对地球来说又是一个好举措。他认为这个决定伤害了那些为 Faker 付出时间和工作的贡献者,他对此深表歉意,另外他认为这个举动符合 PHP 社区的利益。

Fran?ois Zaninotto 最后表示:“Faker 仍然可以在 Packagist 上使用,只要您不升级 PHP 版本,它就会继续工作。相信其他人很快就会发布一个新的库来代替 Faker,它会比 Faker 好得多,而且会发展得更快。”

最后,屏幕前的你使用过 Faker 项目吗?你要是原开发者会放弃这个项目吗?

参考链接:

https://marmelab.com/blog/2020/10/21/sunsetting-faker.html

开源前哨 日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 14:52:17  更:2021-08-20 14:53:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 12:33:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码