Julia 项目及其相关实体

2019 年 2 月 12 日 | Stefan Karpinski

围绕 Julia 编程语言存在许多相关实体。可以理解的是,许多人并不完全清楚这些组织是什么以及它们之间是什么关系。如果不身处其中,很难了解这些事情。在这篇博文中,我将概述这些组织以及它们与项目的关系。

  1. Julia
  2. Julia 管理员
  3. Julia 实验室
  4. NumFOCUS
  5. JuliaHub(原 Julia Computing)
  6. 结论

Julia

Julia 项目由 Jeff Bezanson (GithubTwitter)、Alan Edelman (MIT)、Viral B. Shah (GithubTwitter) 和 Stefan Karpinski (GithubTwitter) 创立。它由一些代码和一个致力于这些代码的社区组成。最清晰的界限是,有一群人拥有对 JuliaLang GitHub 组织的提交权限:目前有 67 位提交者(36 位活跃和 31 位休眠)。然而,这群人并不能真正定义这个项目,因为还有许多人是 Julia 生态系统中积极的贡献者,但却没有“提交权限”。开源的共享性质使得难以精确定义 Julia 项目的终点和更广泛的社区的起点,而这正是我们所希望的。

Julia 管理员

确实存在一个代表 Julia 项目的官方人员组织:Julia 管理员。该组织旨在处理冲突解决以及 Julia 社区和生态系统中不当或有问题的行为报告。目前的管理员包括:Milan Bouchet-Valat、Simon Byrne、Tim Holy、Katharine Hyatt、Steven Johnson、Stefan Karpinski 和 Viral Shah。该组织会收到关于潜在问题情况的(罕见)邮件,并秘密讨论并决定如何处理这些情况。管理员组织不负责做出任何技术决策或以任何其他方式引导项目——它只是为了处理投诉和争议,幸运的是,这些情况极其罕见。

Julia 实验室

核心 Julia 开发的许多早期工作是在 MIT 进行的,现在被称为 Julia 实验室,由 Alan Edelman 教授领导。所有 Julia 的共同创建者都曾在某个时候参与过该实验室。在早期,我们还没有称之为 Julia 实验室,它只是一个办公室,一些人在那里从事高性能计算、数值线性代数、随机矩阵理论以及这种名为 Julia 的新编程语言的工作。尽管并非正式隶属于 Julia 实验室,但林肯实验室的 Jeremy Kepner 是该实验室 Julia 工作的早期支持者和资助者,并且继续支持这项工作。从那些早期开始,在(按时间顺序)Jiahao ChenAndreas NoackValentin Churavy 的领导下,事情变得更加有条理,并且 Julia 实验室仍然是 Julia 主要创新和贡献的稳定来源。

除了 Julia 实验室之外,MIT 的其他几个组织多年来也对 Julia 做出了重大贡献。Steven Johnson 也是 MIT 的教授,领导着自己的团队,但在业余时间已成为 Julia 最多产的贡献者之一(目前按提交次数排名第 10)。JuMPCassette 项目主要由目前和前任成员开发,成员来自 Juan Pablo Vielma 教授在 MIT 运筹学中心 的优化研究小组。如今,MIT 有如此多的研究小组使用 Julia,对它的生态系统和科学做出了重大贡献,以至于 Alan 发现他的一些 CSAIL 的邻居正在使用 Julia,而他却一无所知,这已变得司空见惯。因此,绝对不要认为此列表是详尽无遗的——我只是不想显得好像在将所有关于 Julia 的工作都归功于来自 MIT 的 Julia 实验室。当然,世界各地许多其他大学的人们都在为 Julia 做着令人难以置信的工作。

NumFOCUS

NumFOCUS 是一家美国 501(c)(3) 非营利组织,通过充当开源项目的财政赞助者并在这些领域组织社区驱动的教育计划,促进科学研究、数据科学和科学计算中的开放实践。通过 NumFOCUS,个人公司 都有机会向任何 NumFOCUS 的财政赞助项目捐款,包括 Julia、NumPy、Jupyter、Pandas、JuMP、rOpenSci、QuantEcon 和 许多其他项目。这是可能的,因为这些项目已与 NumFOCUS 建立了合同和法律关系。这意味着,一组担任项目领导机构的人员已签署了一项协议,声明他们或他们的继任者将在组织的非营利状态范围内管理项目的技术方向和计划。NumFOCUS 是项目资金的法律和财务管理员,根据项目领导机构的要求进行支出,并由 NumFOCUS 董事会进行最终监督。

尽管“财政赞助项目”可能听起来像什么,但 NumFOCUS 并没有一个很大的钱袋,它可以随意地将其分配给项目。相反,这意味着 NumFOCUS 在法律上能够接受个人、公司、私人基金会和政府实体的捐款,用于支出财政赞助的项目。还有 其他项目 与 NumFOCUS 相关联,但并非财政赞助,包括 Conda、Cython、Dask、SciPy 和 scikit-learn。这些项目无法通过 NumFOCUS 收到资金,因为它们没有相同的法律关系。

Julia 与 NumFOCUS 的签署人是 Jeff Bezanson、Tim Holy、Steven Johnson、Viral Shah 和 John Myles White。选择这群人是因为他们值得信赖、独立(并非来自任何一家公司或组织)以及代表开源项目。签署人提供监督,以确保资金被用于合法用途。Julia 社区的其他成员也以其他身份积极参与 NumFOCUS:我曾是董事会成员,现在仍在 咨询委员会,Jane Herriman 是现任 董事会成员

通过 NumFOCUS 流向 Julia 的资金是什么样的,以及如何使用?当您点击 Julia 网站上的“捐赠给 Julia 按钮”时,您的捐款将流向 NumFOCUS,并指定用于 Julia 项目。这笔资金用于支付基础设施和人员成本,包括网站托管、持续集成服务以及任何通过 NumFOCUS 从事 Julia 工作的人员(目前还没有)。迄今为止,通过 NumFOCUS 为 Julia 提供的最大资金流向是年度 Julia 大会——JuliaCon。JuliaCon 门票销售和赞助的资金流向 NumFOCUS,然后 NumFOCUS 支付供应商提供举办 JuliaCon 所需的服务,并报销任何可报销的与会议相关的费用。JuliaCon 的剩余资金(如果有)将与捐款一起进入同一个资金池。JuliaCon 的财务由财务主席管理,并由 JuliaCon 组织委员会作为项目和社区的代表批准。所有进出 NumFOCUS 的资金都是 公开记录,因为它是一个非营利组织。

JuliaHub(原 Julia Computing)

2015 年,Julia 的四位共同创建者以及 Keno Fischer (GithubTwitter) 和 Deepak Vinchhi 共同创立了 JuliaHub,一家美国 C 类公司。JuliaHub 提供围绕 Julia 和 JuliaAcademy 的产品、支持和服务。该公司雇用了许多 Julia 本身(按提交次数排名前十的贡献者中的一半)以及主要 Julia 包(尤其是数据科学和机器学习)的顶级贡献者。即使公司与开源项目之间没有正式联系,JuliaHub 也坚定地致力于 Julia 的成功,并自豪地每年赞助 JuliaCon 并推动如此多的开源 Julia 开发。

结论

我希望这能阐明 Julia 项目周围的实体及其相互关系。这幅图景肯定会在未来发展和变化,随着它的发展,我们将尝试在这些实体和关系发展时提供准确的描述。