是什么促使你致力于开源?

是什么促使你致力于开源?

What has motivated you to commit to open source?

所以我已经编程了5年+我从未向开源项目提交任何代码。 我使用并查看了许多内容(主要是在Java社区中)。 我想参与一些事情,但我无法确定要走哪条路。

对于那些致力于开源的人,有什么帮助你决定去哪里? 是什么促使你的? 这只是一时兴起吗? 你发现你非常热衷的东西? 起点怎么样? 像我这样的人应该去哪里找到排队等待加入的开源项目?


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


首先,我会仔细研究你感兴趣的内容。你不想深入参与你不感兴趣的事情。也许看看你通常使用计算机的一些东西。我喜欢Geocaching,因此我喜欢研究支持我的爱好的软件。

其次,一个好看的地方是www.sourceforge.net或www.codeplex.com。我相信前者具有更专业的触觉,更多的人致力于开源编码和多个成员,而CodePlex倾向于由单个开发人员创建项目,并作为公开存储它们的地方(个人意见)。

最后,我认为重要的是要考虑项目的需求,并评估您的个人生活是否能够负担得起的时间。


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

我们使用eXist-db进行小型企业创新研究项目。我们在一些数据库中有数据是不可接受的。事实证明,URI的内部处理并不理想,这意味着我们无法访问数据。在与开发团队交谈之后,他们都没有能够投入必要的时间来解决问题。所以,我在全职挖了几个星期,并把所有事情都修好了。我的贡献来自于业务需求,并且由于我的老板愿意让我在那个时间工作并将其捐赠回社区而成为可能。


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

很长一段时间,我不确定是否将我的代码用于公众检查,但在最初的几次提交之后,这真的没什么大不了的,我得到的反馈只让我成为一个更好的开发人员(如果我可以在第一时间被称为一个)。

祝好运!


我可以向您推荐我之前关于另一个FOSS查询的答案(我应该为开源提供什么级别的编程)并添加它自己的痒,而不是尝试符合某些人的想法。如果一个项目不感兴趣,除非你有一个快速的错误修复或功能添加,并希望提交补丁移动并找到你会享受更多的东西。


说实话,大多数开源项目不会直接接受新的开发人员。但是,我建议的是查看您的日常工作流程,查看您使用的软件,查看您喜欢的软件。这些开源中的任何一个?他们中的任何一个对你感兴趣吗

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

一般来说,大多数最终成为开源项目开发人员的人都会朝着这个方向前进,即使它不是很有魅力的bug修复有很多帮助,也是一个很好的方法,让你的脚踏上门,让你的名字在那里。


我的建议是找到一个你想要工作的项目。想想你熟悉的任何开源软件。如果您已经知道如何改进所述软件,则可获得奖励积分。

大多数项目都会在某处提供"需要帮助"页面,告诉我们需要做什么。这可能是寻找较小项目的最佳位置,这样您就可以在进入任何更大的改进之前削减您的牙齿并学习代码库。

或者你可以开始自己的项目。我相信你必须拥有一些经常使用的代码,你认为这些代码对世界其他地方有用。有很多"这里有我所拥有的,如果它有用,否则不要"在那里输入项目。只是不要指望很快就会非常受欢迎,除非你愿意投入大量的工作。


这取决于你的目标。选择您感兴趣的项目,或随着时间的推移您的兴趣将减弱。你将实际使用的东西是最好的,因为你会不断思考如何改进/修改。

另一方面,如果你想用一种新语言进行练习,那么如果你正在开展一个活跃的项目,那么这是一个很好的方法,只需要花时间并插上一大堆代码。只是确保你在提交之前对其进行了审查,这样你就不会惹恼你的同行:)


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

但是,一旦你找到这样的项目,我就需要花一些时间来了解它的文化,然后才开始贡献,例如,项目是否支持带有大量插件的小核心,或者你应该只是将你的功能添加到主程序中。许多大型项目都有针对新贡献者的具体指导。这本书大教堂和集市也可能是有趣的。


Sourceforge为许多开源项目提供了一个"开放职位"页面:http://sourceforge.net/people/

只需浏览它们,看看你是否感兴趣。

作为一名开源开发人员,谢谢你支持FOSS。


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

  • 拥有相关技能(如果你不这样做很难做出贡献,虽然它可能仍然是一个很好的学习经历)
  • 自己成为软件的用户(您将更加关心和理解它)。许多开源项目都面向精通技术的开发人员,这绝非巧合......
  • 关注您所支持的组织/基础的理念(例如,如果您喜欢FSF理念,您可能希望为GNU项目做出贡献)
  • 了解工具链 - 这降低了进入的障碍。例如,如果项目广泛使用Maven进行构建管理,那么它将有助于了解您在Maven中正在做什么。
  • 喜欢社区 - 如果你在项目中与其他人相处,它将为你的贡献铺平道路,你将会有更多的乐趣。

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

  • 文档 - 如果无法理解发生了什么,您可能会推迟用户和潜在的贡献者
  • 简单的初始构建 - 如果新手无法使构建工作,那么他们可能会放弃。尽可能简单明了。尽可能以标准方式使用常用工具(例如,如果您使用Maven,请确保在没有任何自定义设置的情况下在新的Maven安装中干净地构建)
  • 友好和热情 - 让人们感到高兴加入您的社区。
  • 做出回应 - 所以项目感觉专业运行,社区可以看到明显的进展
  • 保持开放 - 这样每个人都可以参与其中,而且你不会冒着在闭门造车时做出错误决定的风险。


推荐阅读