捐赠

捐赠给 dmlc/xgboost

动机

DMLC/XGBoost 已经从一个学术界孵化的研究项目成长为生产环境中广泛使用的梯度提升框架之一。一方面,随着生产环境中数据量和种类的增长,用户对 XGBoost 在更多功能、可扩展性和鲁棒性方面提出了相应更高的期望。另一方面,作为一个快速发展的开源项目,XGBoost 收到了来自世界各地许多个人和组织的贡献。鉴于用户的高度期望和项目贡献渠道的增加,提供高质量的软件对项目维护者来说是一个挑战。

强大高效的 持续集成 (CI) 基础设施是应对上述挑战最关键的解决方案之一。CI 服务将监控开源仓库,并为每个传入的贡献运行一套集成测试。通过这种方式,CI 确保代码库中每个提议的更改都与现有功能兼容。此外,XGBoost 可以利用强大的 CI 基础设施启用更彻底的测试,以覆盖更接近生产环境的用例。

有几个免费提供给开源项目的 CI 服务,例如 Travis CI 和 AppVeyor。XGBoost 项目已经使用了 GitHub Actions。然而,XGBoost 项目的需求超出了这些免费服务的满足范围。特别是,CPU 和内存等资源的有限使用配额使得 XGBoost 开发人员无法进行“过于密集”的测试。此外,它们不提供带有 GPU 的测试机器,用于测试 XGBoost-GPU 代码库,而这在许多组织中引起了越来越多的兴趣。因此,XGBoost 项目使用云托管的测试农场。我们使用 Amazon Web Services (AWS) 来托管测试机器,同时使用 GitHub ActionsRunsOn(SaaS 应用)来组织 CI 管道。

云托管测试农场有经常性的运营费用。RunsOn 会根据需求在 AWS 上启动工作机器,以对传入的贡献运行测试套件。为了节省成本,当不再需要时,工作机器会被终止。

为了帮助弥补托管成本,XGBoost 项目寻求第三方的捐赠。

捐赠和赞助

捐赠者可以选择一次性捐赠或按月或按年定期捐赠。承诺赞助级别的捐赠者其标志将显示在 XGBoost 项目的首页上。

财务托管方:Open Source Collective 501(c)(6)

XGBoost 项目的项目管理委员会 (PMC) 指定 Open Source Collective 作为其 财务托管方。该平台是注册的 501(c)(6) 实体,将代表 PMC 管理资金,这样 PMC 成员就不必直接管理资金。该平台目前托管了几个著名的 JavaScript 框架,如 Babel、Vue 和 Webpack。

所有因托管 CI 而产生的费用都将附带收据提交给财务托管方。只有以下类别的费用才会被批准报销

云 CI 基础设施管理

PMC 应任命提交者代表他们管理云 CI 基础设施。目前的管理员如下

管理员应尽力控制 CI 费用。费用不应超过可用资金。管理员应定期发布 CI 费用的更新。