一些参与开源项目的建议

  一直很想加入到一个开源项目中去,目的很简单:分享思路,接受众人的考验,可是却没成行。

看到这篇文章,受到一定的启发,遂转之。注:有删减。http://www.php100.com/html/itnews/it/2012/0420/10275.html

  人们常以下3个原因而打消了参与到开源项目的念头:

  1. 我还不足够优秀

  2. 我没有足够的是时间

  3. 我不知道什么样的项目适合我

  寻求机会参与到开源项目中去,应该知道的三个基本原则:

  1. 项目需要各种能力层次的专业人才。

  2. 哪怕是微不足道的贡献也比没有好。

  3. 从你正在使用的项目作为参与到开源的第一步

  某些项目中的成员看起来就像明星,没错,他们确确实实是一个极具天赋的程序员,然而,他们中的绝大部分不是的。

项目需要的仅仅是那些能把任务完成的人。有时付出的不需太多,有时需要花大把的时间,有时它就是编程,而有时它不是。

  以下是一些参与开源项目的建议或者经验,如果你有兴趣,不妨试试:

  0. 加入邮件列表:

对于大多数项目,邮件列表仍然是项目开发沟通主要的渠道。

在一个规模比较大的项目中通常有很多邮件列表可以选择,例如:PostgreSQL项目就有不少于12个面向用户的邮件列表和6个面向开发者的。

我建议你关注最主要的几个面向用户邮件列表以及核心的开发者列表。

  1. 关注并编写博客:

博客一般由核心开发者维护,通常博客中包含项在未来版本的一些信息。

如何获取这些信息呢?通常一个星级站点有包括来自很多相关项目的新闻或者博客词条,如果有一个星级站点,

如:http://plant.gnome.org 或者 http://planet.mysql.com ,那么你要做的仅仅是用Google搜索”planet <项目名>”。

同时你也可以用博客写下你使用项目的一些经验,记录你碰到的问题及解决的方法。

  2. 加入到IRC频道:

许多开源项目都有专门的互联网中继聊天(IRC)频道,用来为开发者和用户讨论开发问题。

仔细查找项目站点中IRC频道叫什么。

  3. 代码诊断:

Bug通常很难报告出来,诊断快速处置bug有助于节省开发人员的时间。

如果用户提出报告:“当我操作XX功能时,系统无法工作”,你得花些时间解决这些问题。

还是不是会重复出现?例如该类问题是否只是发生在某种浏览器不兼容?只在发行版有这样的问题还是其它的原因。

  4. 关闭已修复的bug:

通常bug在代码库中修复了,但是在问题追踪系统中还没更新。

清理掉这些杂乱的东西虽然耗时,但是对整个项目来说是值得的。

  5. 测试beta版或者候选版本:

任何项目设计用于运行在多个平台时就有可能存在各种兼容性问题。

当一个beta版或者候选版发布时,项目带头人希望能在不同的人和不同的平台上得到测试反馈结果,你就可以是其中之一。

  6. 修复bug:

修复bug通常是贡献者开始接触代码的地方,非常简单,在问题追踪系统中找到感兴趣的bug,修复之,如果合适的话为代码的修复撰写文档。

  7. 写测试:

绝大多数项目都有测试套件用来测试代码,很难想象测试套件中不能附加更多的测试在其上。

使用测试覆盖工具诸如基于c的gcov、基于Perl的Devel::Cover,用来标识源代码没法通过测试套件测试到的范围,然后添加一个套件覆盖它。

  8. 理性对待编译警告:

许多基于C项目的构建过程中经常会出现很多古怪的编译警告,这些警告通常不是错误,但是看起来像,

太多的警告让编译器听起来就像在发假警报,仔细检查代码是否的确隐藏有bug。

  9. 附上注释:

当你在深入研究代码时,你可能发现有疑惑的地方,这对你来是一个机会,别人也可能碰到同样的问题,给他们贴上注释提交补丁。

  10. 创建例子:

一般项目都没有太多入门的例子,不管是web API、普通程序库、或者是GUI应用如Gimp、还是命令行工具,

比起长篇的文档,一个恰当的例子能够更清晰更快速解释软件的使用方式。

  11. 问题回答:

参与到社区最好的方式是帮助别人。回答问题,尤其是那些初次涉及的,这对于一个项目的成长很关键,

即使你回答只是简单地”RTFM”(read the fxxk manual),每个人都要行动起来,项目如果要变得强大起来的话每个人需要动员起来。

  

  12. 改进网站:

很多程序员在图形设计方面显得非常糟糕,尤其是那些不能从设计部门得到帮助的项目网站。

如果你有网页设计方面的技能,不妨改进下网站,网站作为项目的招牌,是值得花时间的。

或许项目界面需要彻底改造,抑或仅仅是一个logo,这些是社区缺乏的技能,如果我能提供一些图形设计上的帮助,别人会非常喜欢的。

  有太多的方式参与到开源项目中,哪怕是我们写一个新产品的特性的历史回顾。

每个使用开源项目的人都可以把技术带到社区和帮助开源成为IT产业中重要的一部分。

一句话:沟通交流,重在行动。

时间: 2024-10-03 21:54:34

一些参与开源项目的建议的相关文章

在github上参与开源项目贡献代码

1 登录github, 点击自己感兴趣的repository的fork按钮,这样自己的github主页会有一个拷贝. 2 在自己本地修改同时保持和原来的repository同步: git remote -v, 看看自己当前git repository的configure, origin 表示自己的repository 要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]:git remote add upstream

GitHub用fork和pullRequest参与开源项目

GitHub上的fork和pullRequest功能能够很好的帮助一些想参与到别人的开源项目中的开发者. 具体步骤如下 到别人的某个项目A中,点击fork,将该项目拷贝到自己的github账号中,记为B. git clone将B拷贝到本地. 在本地添加新功能之后,依次进行git commit,git push等操作将本地添加的功能代码同步到B中. 然后在B项目(自己的github上的项目)中点击pull request,创建一个请求,告诉A项目开发者,我要将新的功能合并到你的项目中. A项目所有

如何开始参与开源项目?

转载:http://linux.cn/article-4628-weixin.html#rd?sukey=cbbc36a2500a2e6c44df210b08b1326f1382f39f0316ec2175bc12c34db5cd80b3b1fe7d06dcfa42e07044652a0ba790 在过去五年我一直参与 Durgapur Linux用户组.我一直为各种开源项目进行贡献.我为开源贡献的主要原因是非常享受当你发送一个补丁或PR(pull request 提交问题)到一个开源项目的感觉

【搭建开发环境】在 Windows XP 中参与开源项目,搭建 git 和 cygwin 开发环境

引言 只有一台 Windows XP 家用机,却想在诸如 [email protected] 之类的开源社区参与开发,本文提供一个入门级的开发环境搭建指引. 涉及工具:Eclipse,EGit,Cygwin. Git git 是一个类似 svn 的版本控制系统.网上有很多基于 git 的在线代码托管平台,如 GitHub.OSC 等.由于伟大的 GFW,这里仅介绍如何使用 Eclipse 的 EGit 插件与 [email protected] 交互. 1. 安装 Eclipse Kepler,

在github上参与开源项目日常流程

转载自:http://blog.csdn.net/five3/article/details/9307041 1. 注册帐号 打开https://github.com/,填写注册信息并提交. 2. 登录帐号 打开https://github.com/login,输入注册的用户名.密码并提交. 3. 访问项目主页 进入具体项目的主页,如:https://github.com/five3/testdoc. 4. fork项目 点击页面右上角处的fork按钮,这样github就会在你的帐户下fork一

如何参与一个GitHub开源项目

最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Github开源项目,只能说你开源了自己的项目,可以任别人自由下载. 那么该如何参与Github的开源项目呢?相信很多人都有这方面的疑问,网上也有一些参差不齐的教程教大家如何"Pull Request"

如何参与一个GitHub开源项目?

如何参与一个GitHub开源项目? 摘要:本文是Github官如何参与一个GitHub开源项目方给出的参与Github上开源项目的一些指导,对希望加入开源社区的开发者是一个不错的参考. 最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Github开源项目,只能

怎样在Github参与一个开源项目

转载:http://www.csdn.net/article/2014-04-14/2819293-Contributing-to-Open-Source-on-GitHub 最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Github开源项目,只能说你开源了

[转]Git,SVN的优缺点及适合的范围,开源项目?公司项目?

使用git不久,粗浅理解: 1)适用对象不同.Git适用于参与开源项目的开发者.他们由于水平高,更在乎的是效率而不是易用性.Svn则不同,它适合普通的公司开发团队.使用起来更加容易. 2)使用的场合不同.Git适用于通过Internet,有多个开发角色的单个项目开发,Svn适合企业内部由项目经理统一协调的多个并行项目的开发. 3)权限管理策略不同.Git没有严格的权限管理控制,只要有帐号,就可以导出.导入代码,甚至执行回退操作.Svn则有严格的权限管理,可以按组.按个人进行针对某个子目录的权限控