开源项目是提高自身能力和做你喜欢的事的好方法,有其他项目的实际经验也能让你更符合求职要求,给你带来更多的机会。问题是大家都不知道从哪里开始。以下6个简单的提示告诉你如何开始F/OSS(Free and Open Source Software).
1.参与那些你使用过的开源软件背后的项目
这很显然,请不要去寻找那些你既没用过也不了解的软件的项目。根据你用过的开源软件,来列一个你可能会参与的开源项目清单。不要遗漏了参与库文件或模块开发的可能——参与专门为开发者服务服务的项目有很多好处。你使用开源的框架,开源的文件转换工具吗?或者是开源的图形库,亦或是开源的构建工具?如果它们需要排除bug,优化或者加入新的功能,你可以首先考虑一下这些F/OSS项目。
2.做你喜欢的事
找到你真正感兴趣的项目后,然后开始做点什么。如果你特别关注解析器之类的,并不一定要从编译器开始,可以考虑从解析web服务器或构建工具的配置文件的代码开始。
3.学习相关的工具
几乎每个项目都使用不同的版本控制工具,bug跟踪工具,打补丁工具。还有不同的编码规范,功能请求方式,user troubleshooting issues,构建方式,开发过程中的交流讨论方式。
花点时间来学习这些工具的使用方法和场合。最好不要在开发者的邮件列表里询问SVN如何工作,也不要在用户论坛里提交错误报告。自己首先阅读开发文档和学习相关的开发工具能省去很多麻烦,同时也能让你的贡献更容易被采纳。
4.观察项目的社区动态
除了技术因素之外,了解一下项目的社区动态也很有必要。那些人是这个项目的核心维护者,这些人如何与其他人交流?谁最能代表这个项目社区说话?他们对项目都有什么样的言论?一些项目以开放和对新成员有利而出名,而另一些则是比较专制.
花一些时间“潜伏”在开发者邮件列表,IRC 等一些开发者常去的地方,来感受一下项目社区的氛围。社区动态看起来好像小事一桩,但是它意味着两种相反的情况:让你成为一个卓有成效的贡献者或者沮丧地离开项目。
我第一次尝试为F/OSS做的贡献中,其中有一个是由于某个播放器的播放列表不支持在命令行使用它的所有功能,所以我想改进它的格式。我给开发者邮件列表发了e-mail,询问那些开发者对支持新播放列表格式的看法。随即由于观点不一,引来了舌战。当我第二天查看邮件列表的时候,里面有几百条信息——有些人赞成我的提议,而还有很多人说现在的文件格式已经够好了,让我这个“小辈”不要掺和。
在这里,我犯了没有足够了解社区动态的错误。如果你浏览过贡献记录,就知道那个项目除了几个核心贡献者之外,一般不采纳其他人的想法意见,尤其是像我这种连bugfix工作都没做过的。
这正好引出了我想说的最重要的一条建议——从小做起。
5.从小做起
从小做起是指从“小贡献”和“小项目”开始做。完成一些bug修复,实现一些小的功能可以让你小有名气,而你也可以同时了解一下项目的基础代码。这些都能使你提交的补丁获得批准变得更加容易。参与一个小项目里能让你跟有成效,因为你会花更少的时间来学习已经存在基础代码工具链,更接近核心开发人员。只有一个人维护的小项目里,提交bug修复就像给维护者发一封包含描述diff所要修复的bug的e-mail一样简单。
6.建立自己的项目
还有一种最简单的方式来参与开源项目:建立你自己的开源项目。例如做一个Firefox扩展,WordPress插件,或者一种Emacs 模式,它们都是快速开始项目的好点子,而且只需要稍许改进就会获得为数不少的用户。
在开始你的项目之前,先浏览一下已经存在的众多项目,确保没有准备开始做重复的项目(重新发明轮子)。你可能会因此而感到吃惊,那些数量可观的项目,它们只需要一点关心就能变得更加实用。
就这些了,参与开源项目的6条简单的建议。
原文地址:http://grokcode.com/108/6-easy-ways-to-get-started-programming-open-source/