国外大学生谈经验:如何在Github参与开源(Open Source on Github: Your First Contribution)

来源:互联网 发布:mac口红吧 编辑:程序博客网 时间:2024/05/20 10:56

转载自http://spencermoran.me/2013/08/13/open-source-on-github-your-first-contribution/

  

  我是一个即将毕业的计算机大四学生,我经常听人谈论对github上的开源项目做出贡献是多么有意义的事情。许多职位要求里面都写明这种经历是一个很重要的基本条件或加分项,而且这种事情经常在各种seminar课程和活动中提到。做出贡献确实挺起来很酷,我也应该做啊。可唯一的问题是,我是一个大菜鸟。我的计算机课程学的很好,而且我做过几个被家人同学称赞的项目。可是,我确信我不可能对一个真正有用户的项目做出任何有意义的贡献,对吧?这种想法是正确的吗?

  大错特错!即使你是一名新手,也可以以很多方式对github上面的项目做出实质的贡献。如果想要做一些真正有意义的影响用户的贡献,你大可不必读懂所有项目代码或者知道如何解决类似于bootstrap里的动态窗格问题。对于每个人都有合适的做出贡献的方法。

  最近,我的第一个实质性的贡献在一个开源项目上完成了。尽管贡献很小,我获得了全新的成就感,因为你知道有人在用你参与完成的东西。你必须从非常小的项目开始并持续前进。下面是我对想要对github上开源项目做出贡献但感觉困难而不敢尝试的同学的建议:

  你要做的第一步就是找到一个有pull request的仓库(项目)。有很多种方式可以找到。最简单直接的办法是读仓库的readme文件,里面经常明确的写明仓库所有者希望有人来完成pull request。如果readme文件没有提到这一点,你可以看看问题然后把代码下载下来。检查一下pull request的日期,看看哪些pull request已经关闭,你就能判断仓库所有者有多大的可能还在更新它。如果你能找到一个你真正喜欢并符合上述要求的项目,你就喜出望外吧。举个我自己的例子,我找到了一个用于创建新工程的rails模版项目,它的readme文件用黑体标出了欢迎pull request。太棒了!

  现在,是时候fork并克隆仓库开工了。如果你还不知道具体怎么操作,下面是一个很好的入门教程。

  按照readme里面说明,你要先确保你在你的电脑上可以正确的配置运行这个项目。如果你碰到了任何没有在readme里面提到的错误或问题,这将成为你的第一个贡献!你可要编辑readme文件把这个问题向其他开发者说清楚。最好的开始贡献的方式之一是使它们更方便运行。你可以整理readme,编辑文档里面的错误或把错误标出来。一头扎进别人的代码库立刻开始改写代码是有点太不礼貌了。不过你可以以温和的方式开始你的开源生涯。我愿意参与改进的代码库都是文档完整简洁的。

  如果你仍然没有找到一种做贡献的方式,就通读这个项目的所有issues吧。Issue是关于增加功能或修改的建议,有时候已经有人给出了伪代码甚至已经有人开始码代码,只是时间紧无法完成而已。你也许能找到这种已经开始的、不需要大量改变的任务。

  如果你感觉无法完成任何一处错误的纠正,仓库所有者也许已经在readme文件中写明了下一步要完成的部分,或者你自己有新的想法。我本身而言已经厌倦了到处浏览检查仓库,甚至是我自己的仓库也不愿意。DS_Store目录被使用Mac的人提交到了github上,这是毫无道理的。我可以把它加到rails模版项目的.gitignore文件里面,这样就保证没人会再干出这种事情。哈哈,我已经有贡献了!你看我只是做了很简单的事情而已。你要确认你遵循了项目已有的约定。查看readme和其他的pull request,找出别人的编程习惯,然后要保证你使用了大家约定的commit说明。我按照上述的教程提交了一个pull request,代码如下:

[plain] view plaincopyprint?
  1. # DS_Store gets added to project if viewedin OSX Finder  
  2.  run"echo '.DS_Store' >> .gitignore"  

  一个小时之后,我的pull request已经被合并到了这个几百人同时关注的项目中了。我感到了一种全新的工作的目标和动力。他们在用我参与完成的东西啊!

  在我作为一个计算机专业本科生的生活里,始终缺乏一种实实在在的成就感,或者说,我希望证明我真的在做事情。我学过算法、数据结构、很多种编程语言,我无休止的编程。我清楚的知道我自己。但是不过我从来没有过一种我的成果影响了其他人的感觉。我总是一个人想,谁做了这件事情?这件事情影响了谁?今天晚上,我想知道我的工作对一些人很重要。

  对github上的开源项目做贡献尽管可能显得不礼貌,而且有一个很陡峭的学习曲线,然而它确实是一种很有意义的获得成就感的途径。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我的手机汽车之家无法看视频怎么办 来事泡温泉细菌感染外阴瘙痒怎么办 西澳大学语言班没通过怎么办 银行入职培训理论考试不合格怎么办 去泰国旅游不会泰语和英语的怎么办 老板不发工资怎么办没签合同的 3d模型导进去材质丢失怎么办 七日杀显示载入中之后进不去怎么办 进京证过期了车在北京怎么办 微信打字时剪切的东西丢了怎么办 错过了医师定期考核报名时间怎么办 大学档案在自己手里放多年怎么办 档案在自己手里10年了怎么办 快递地址区域划分写错了怎么办 怀孕八个月肛门长个肉疙瘩怎么办呢 客户签了合同不要货了怎么办 不喂母乳宝宝只认识保姆了怎么办? 开创者比赛后没有买的鸽子怎么办 买回来小鸽子开家我敢了怎么办 小鸽子出壳后母鸽就不孵了怎么办 狗狗在笼子里一直叫怎么办 养了一年母鸽子不配对怎么办 血管翳云翳斑翳长满眼睛怎么办 鸽子训放50公里突然下雨了怎么办 安卓手机反应慢又卡怎么办 tcl安卓系统电视反应慢怎么办 狼人杀警长竞选一直平票怎么办 去驾校投诉教练被教练报复怎么办 哈尔滨机场大巴六点的飞机怎么办 山东德州恩城镇的农民怎么办养老险 我的世界联机平台房间进不去怎么办 验车时间过了3天怎么办 在携程订的机票和酒店不能退怎么办 千牛工作台中旺旺登录失败怎么办 掌通家园换手机号了忘了更改怎么办 qq注销了后绑定的全民k歌怎么办 小米账号绑定的手机号注销了怎么办 微信账号注销后绑定的手机号怎么办 微信账号不想用了注销不了怎么办 苹果手机掉了捡到不还怎么办 在工作中把和别人结下梁子了怎么办