关于寻找可以贡献的开源项目

计算科学 软件
2021-11-28 01:28:53

这个问题已经在 Stackoverflow 上被问了十亿次,然而,重点一直是非数值编码。我正在寻找一个在数值计算和高性能计算范围内做出贡献的项目。理想情况下,我更喜欢一个小项目,但这不是必需的。

参与与 SciComp 相关的开源项目的最佳方式是什么?从哪里开始寻找项目?进入这样一个项目的最佳方式是什么?功能请求/错误/文档或其他?

看看 ATLAS 或Nix之类的东西,你如何从 N00B 变为活跃?

4个回答

我认为,如果您为您积极用于其他工作的项目做出贡献,您将获得最大的收益,因为这会激励您开发自己需要的功能。最终,这就是大多数开源软件的编写方式:由出于某种原因需要该功能的人编写。

在我们自己的项目deal.II的上下文中,我曾在我们的常见问题解答中写了一段关于如何贡献的描述

警告:不要脸的自吹自擂!:)

我是一个小型开源科学计算项目的首席开发人员:

PyClaw (来源在这里

它是用于求解双曲 PDE的更大的Clawpack代码系列的一部分。PyClaw 旨在解决逻辑四边形或六面体网格上的 PDE 的任意双曲系统。它包括两种不同类型的有限体积求解器,并且可扩展到大型超级计算机(请参阅我们提交的期刊论文,包括在多达 65K 内核上运行)。

查看文档和问题跟踪器有很多事情需要做!您可以在哪些方面做出最好的贡献取决于您的背景和培训。也许开始的最好方法是解决一个小问题并在 Github 上提交一个拉取请求。或者,向开发人员邮件列表发送消息可能是有意义的,介绍您自己并解释您的专业领域。

我也有同样的问题。我最终用现有的库(例如 COIN-OR)解决了我自己的问题,为特定任务创建了独立的可执行文件。一旦这些代码相当完善和稳定,我计划回馈这些代码。


这些答案很好地反映了我的观点:

无论如何祝你好运!

三个简单的步骤:

  1. 着手解决一个你觉得有趣的问题。(如果你需要更多,我有一些!)
  2. 弄清楚其他操作系统的人做了什么,尝试使用他们的软件。
  3. 找出不足之处并加以改进!