`
cloudtech
  • 浏览: 4594668 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

参与开源项目的6条建议

 
阅读更多

Image

开源项目是提高自身能力和做你喜欢的事的好方法,有其他项目的实际经验也能让你更符合求职要求,给你带来更多的机会。问题是大家都不知道从哪里开始。以下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/

分享到:
评论

相关推荐

    一图搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力 早日上岸,升职加薪

    欢迎大家参与我们的开源项目,提交PR,提高竞争力。早日上岸,升职加薪。 再给大家3个建议: 1. **负载均衡,分而治之**。通过负载均衡,将不同的流量划分到不同的机器上,每台机器处理好自己的请求,将自己的性能...

    Python优秀开源项目Rich源码解析的流程分析

    所以,有时间的话还是建议大家多读读优秀开源项目的源码。 下面进入今天的主题,这个开源项目的名字叫Rich,地址:https://github.com/willmcgugan/rich 。这个项目是个英国老铁开发的,比较友好的是有中文文档。它...

    一个开源通用的应用程序框架2版 (待参与)

    “日志”目录保存所有的目录,每一位用户每次的使用都会有日志记录如果想要下载演示,可以上一次的版本,里面有一个很长时间的演示期待着您的参与DELPHI社群中开源项目少之又少,我们可不可以自己组织?我们可不可以...

    后端开发JavaScript语言教程&案例&相关项目资源.zip

    JavaScript 学习资源 ◦ MDN Web 文档:Mozilla Developer Network (MDN) 提供了完整的 JavaScript 教程,...在学习J a v aSc r i p t 时, 建议多练习, 多编写代码, 并参与到开源项目中去,这样 可以加深对J a v a

    sfmoci.github.io:旧金山市县的开源项目门户-Source City

    希望是这样可以鼓励其他希望参与开源项目的机构开始托管自己的回购协议。 鉴于部门的权力结构相对分散,此门户可帮助部门和机构在其开源项目中保持一定程度的自主权,同时允许政府外部的人员在一个地方查找整个纽约...

    Learning-Linux linux的运维学习.rar

    参与开源项目:可以参与一些开源项目,了解和学习Linux的最新技术和应用,同时可以通过参与项目来提高自己的技术水平和实践经验。学习相关工具和技能:Linux运维涉及到许多工具和技能,如Shell脚本编写、系统监控与...

    PYTHON学习教程,如何深入了解Python,提高编写代码的能力.pdf

    通过参与开源项目,您可以学习其他Python程序员的编码风格和最佳实践,还可以向其他人展示自己的编程技能。GitHub是一个很好的平台,您可以在上面寻找有趣的项目,向其他程序员提问或提交自己的代码。 ## 阅读经典...

    ist的matlab代码-open-source-guidelines:有关在BRData上发布开源项目的建议

    在Github上发布现有项目的一些建议。 基本上,我们尝试发布所有使用户能够理解和验证故事背后的研究路径和数据分析(透明度)的项目。 我们随时准备支持我们的错误,并在必要时予以纠正。 理想情况下,数据新闻界...

    论文研究 - 软件人群采购协作开发项目中参与者人数的动态预测模型

    已有一段时间为人们提供参与软件开发项目机会的许多在线平台。... 建议项目所有者不仅在项目生命周期的初始阶段考虑软件项目维度的那些因素,而且在后期阶段考虑人群和交互维度的那些因素,以吸引更多的项目参与者。

    马斯克旗下人工智能大模型Grok宣布开源(干货满满)

    内容涵盖Grok的日志解析能力、高度自定义、实时解析、易于集成等特点,以及Grok的开源项目参与方式、社区支持、未来发展方向等。 **适用人群:** 本教程适合所有准备在日志解析和人工智能领域发展的开发者,尤其是...

    一个开源通用的应用程序框架 (待参与)

    期待着您的参与DELPHI社群中开源项目少之又少,我们可不可以自己组织?我们可不可以一起探讨?小弟不才,斗胆写下几行代码,来这里期待抛砖引玉。我们身边,每天都有无数的项目开工,然后是老板对进度的紧追不舍,...

    find-open-source-mentor:一个将初级开发人员与开源项目联系起来的平台

    初学者程序员担心会为开源项目做出贡献,而他们的经验太少而无法做出他们的第一份贡献,因此他们需要有经验的人并能够为其提供任务,建议和评论。 经验丰富的开发人员拥有开源项目或项目创意,但没有足够的时间来...

    通用应用程序框架(开源)

    DELPHI社群中开源项目少之又少,我们可不可以自己组织?我们可不可以一起探讨?小弟不才,斗胆写下几行代码,来这里期待抛砖引玉。 我们身边,每天都有无数的项目开工,然后是老板对进度的紧追不舍,项目经理...

    renren-generator

    renren-generator是人人开源项目的代码生成器,可在线生成entity、xml、dao、service、html、js、sql代码,减少70%以上的开发任务 如何交流、反馈、参与贡献? Git仓库: : : 官方QQ群:324780204、145799952 技术...

    app:一个GitHub应用程序,用于自动确认您的开源项目的贡献者

    您好,@ all-contributors机器人 :robot: 阅读以下语言的文档 :robot: 一个GitHub机器人,用于自动确认您的开源项目的贡献者。 动机手动实施“所有贡献者”规范是一个费力的过程。 输入@all-contributors bot ! 该...

    DaisySP:C ++中强大的开源DSP库

    菊花SP C ++中强大的开源DSP库••••••应用领域使用嵌入式硬件音频...查看带有“功能”标签的问题从其他开源项目(MIT)移植现有的DSP模块。查看标有“端口”的问题解决现有模块的问题。查看标有“错误”和/或

    易于理解:一个旨在使您成为开源贡献者的旅程的项目

    Easy to Git是一个开源项目,提供了许多入门Git和GitHub的方法。 更具体地说,该项目的主分支是的代码,您可以在其中查看贡献的结果。 加入与我们的社区进行互动。 随时提出问题,提出建议并结识其他贡献者。 ...

    个人项目建议:cis3296

    个人项目建议书:书本项目互动式网络应用程序可跟踪阅读活动我想参与的开源项目称为“ Book Project”。 它是一个用Java编写的Web应用程序,它允许用户创建一个帐户,添加要阅读或已经阅读的书本,对书本进行评分,...

    osteach.github.com:开源文化

    开源文化本文档基于我大二时选的一门课《自由软件与开源文化概论》,当时老师留给我们了课件,老师是Emacser,课件是使用Org-mode做的,我现在讲本文档重新编辑加上...想要参与这个项目推荐另一翻译项目《开源建议》的汉化

    JavaGuide面试突击版.zip

    Star虽然很多,但是价值远远比不上 Dubbo 这些开源项目,希望以后可以多出现一些这样的国产开源项目。国产开源项目!加油!奥利给! 随着越来越多的人参与完善这个项目,这个专注 “Java知识总结+面试指南 ” 项目...

Global site tag (gtag.js) - Google Analytics