所以我已经编程了 5 年多了,而且我从未向开源项目提交过任何代码。我使用并深入了解了许多(主要是 Java 社区)。我想参与某件事,但我无法真正决定该往哪个方向走。

对于那些致力于开源的人来说,是什么帮助您决定走向何方?是什么激励了你?这只是一时兴起吗?您发现自己非常热衷的事情是什么?起点又如何呢?像我这样的人应该去哪里寻找正在排队等待加入的开源项目?

有帮助吗?

解决方案

首先我会仔细看看你对什么感兴趣。你不想深入参与你不感兴趣的事情。也许看看您通常使用计算机的一些用途。我喜欢寻宝,因此我喜欢开发支持我的爱好的软件。

其次,www.sourceforge.net 或 www.codeplex.com 是一个不错的查看地点。我相信前者具有更专业的风格,有更多的人致力于开源编码和多个成员,而 CodePlex 往往有由单个开发人员创建的项目,并作为公开存储它们的地方(个人观点)。

最后,我认为重要的是要考虑项目的需求并评估您的个人生活是否有足够的时间来完成它。

其他提示

如果您想更随意地开始,请开始在日常使用中添加更多开源软件,在其中找到您认为可以使用增强或修复的内容,然后下载源代码,修复它们并提交补丁。

Sourceforge 有一个针对许多开源项目的“空缺职位”页面: http://sourceforge.net/people/

只需浏览它们,看看是否有您感兴趣的内容。

作为一名开源开发人员,我感谢您对 FOSS 的支持。

我的建议是不要随意选择一个需要帮助的项目,而是选择一个你的努力对你和社区都有利的项目。例如,您可以选择您使用的一款开源软件,但认为在某些方面需要改进。

然而,一旦你找到这样的项目,在你开始贡献之前我会花一些时间来了解它的文化,例如,该项目是否支持带有大量插件的小核心,或者你应该将你的功能添加到主程序中。许多较大的项目都为新贡献者提供了具体的方向。这本书 大教堂和集市 可能也会感兴趣。

这取决于你的目标是什么。选择一个您感兴趣的项目,否则您的兴趣会随着时间的推移而减弱。您实际使用的有形的东西是最好的,因为您会不断思考改进/修改的方法。

另一方面,如果您想练习一门新语言,那么如果您正在处理一个活跃的项目,那么这是一个很好的方法,只需花时间并专注于代码块即可。只要确保在提交之前对其进行审查,这样就不会惹恼你的同事:)

我的建议是首先找到一个你想要从事的项目。想想您非常熟悉的任何开源软件。如果您已经知道如何改进上述软件,那就加分了。

大多数项目都会在某个地方有一个“需要帮助”页面,告诉您需要在其中做什么。这可能是寻找较小项目进行工作的最佳场所,以便您可以在进行任何更大的改进之前先练习并学习代码库。

或者你可以去开始你自己的项目。我确信您一定拥有某种您经常使用的代码,您认为这些代码对世界其他地方会有帮助。有很多“这就是我所拥有的,如果有帮助就使用它,否则就不要使用”类型的项目。只是不要指望它会很快变得很受欢迎,除非你愿意投入大量的工作。

我可以推荐你吗 我之前对另一个 FOSS 查询的回答(我应该为开源做出什么程度的编程) 并补充说,抓自己的痒,而不是试图遵守别人的想法。如果您对某个项目不感兴趣,除非您可以快速修复错误或添加功能,并且想要提交补丁,然后继续寻找您会更喜欢的项目。

我会重复大多数人所说的...找到您感兴趣或使用的项目。我参与了两个开源项目,因为它们对我的日常工作很有用。作为您使用或投资的项目有助于激励您继续开发和发布代码。

很长一段时间,我不确定是否要把我的代码公开供公众检查,但在前几次提交之后,这确实没什么大不了的,而且我得到的反馈只会让我成为一个更好的开发人员(如果我一开始就可以被称为一个)。

祝你好运!

我认为这样做的原因因人而异,所以我不能告诉你为什么要这样做。这就是我这样做的原因:

我们正在使用 存在数据库 小型企业创新研究项目。我们在一些数据库中拥有数据,丢失这些数据是不可接受的。事实证明,URI 的内部处理并不理想,这意味着我们无法访问数据。在与开发团队交谈后,他们都无法投入必要的时间来修复问题。因此,我花了几周的时间全职工作,把所有事情都解决了并承诺了。我的贡献来自于业务需求,并且由于我的老板愿意让我在那段时间从事这方面的工作,并将其捐赠回社区,所以才成为可能。

老实说,大多数开源项目不会立即接受新的开发人员。然而,我建议看看你的日常工作流程,看看你使用的软件,看看你喜欢的软件。其中有开源的吗?您对其中任何一个感兴趣吗?

我建议选择一个您感兴趣的项目(最好是您使用的一个软件),并查看他们的错误跟踪器,了解他们提交修复程序的要求(通常除了它们采用的格式之外没有要求)。一般来说,贡献错误修复和参与社区的其他部分(论坛、邮件列表、irc 频道等)是立即参与的最简单方法。

一般来说,大多数最终成为开源项目开发人员的人都会朝这个方向发展,尽管它并不迷人,错误修复也有很大帮助,而且这是一个踏入大门并让自己出名的好方法。

以下所有内容可能会帮助您获得动力并参与开源项目:

  • 拥有相关技能 (如果你不这样做就很难做出贡献,尽管这仍然可能是一个很好的学习经历)
  • 成为该软件的用户 你自己(你会更加关心和理解)。许多开源项目都针对精通技术的开发人员,这并非巧合......
  • 关心哲学 您所支持的组织/基金会的名称(例如,如果您喜欢 FSF 理念,您可能希望为 GNU 项目做出贡献)
  • 了解工具链 - 这降低了进入门槛。例如,如果项目广泛使用 Maven 进行构建管理,那么了解您在 Maven 中做什么将会有所帮助。
  • 喜欢社区 - 如果您与项目中的其他人相处融洽,这将为您的贡献铺平道路,并且您会从中获得更多乐趣。

相反,开源社区也可以采取一些措施来帮助他们吸引新的贡献者和用户。

  • 文档 - 如果无法理解正在发生的事情,您可能会推迟用户和潜在的贡献者
  • 简单的初始构建 - 如果新人无法完成构建,那么他们可能会放弃。使其尽可能简单且不言自明。尽可能以标准方式使用常用工具(例如如果您使用 Maven,请确保它将在全新的 Maven 安装中干净地构建,无需任何自定义设置)
  • 保持友好和热情 - 这样人们会很高兴加入您的社区。
  • 反应灵敏 - 让项目感觉很专业,社区可以看到明显的进展
  • 保持开放 - 这样每个人都可以参与,并且您不会冒着闭门做出错误决定的风险。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top