阅读更多

5顶
0踩

开源软件

转载新闻 如何向开源软件贡献自己的力量

2013-09-02 10:35 by 副主编 WnouM 评论(0) 有5782人浏览
我经常看见很多学生在很多论坛里提问“我想向开源社区贡献源码,但是该怎么做呢?”。有很多种方式可以贡献源码,我列出了很多,希望能够对你们有多帮助。

1.  贡献给现有的项目

虽然你对于贡献源码感兴趣,但并不是所有的开源产品都会接受你。每一个产品都有一些编码和提交代码的规范,而你需要遵循这些规范。

2.  你感兴趣的领域

首先选一个符合你的兴趣或者使用了你喜欢的编程语言和技术的项目。不要仅仅根据开发语言来选择你感兴趣领域的项目。仅仅通过了解Java你不一定能胜任游戏项目的任务,你应该对它感兴趣才行。

3.  对项目进行了解

找到项目所在的网站,你可能会找到关于“如何参与项目”、“用户手册”等信息的链接。了解他们的指导方针,编码标准和补丁的验收标准。加入他们的开发和用户邮件列表。下载源码并且试着了解他们是怎样实现的。

4.  提交者

每一个项目都会有一个或者更多的提交者。他们负责提交代码。你的代码应该通过他们提交。很多项目可能会要求志愿者们把变更过的代码发给提交者,有些项目可能要求发送代码补丁到项目邮件列表。但最终你的代码将通过提交者提交到项目的主分支中。

5.  测试和文档

编写代码并不是参与项目的唯一方式。你可以做测试和记录bug。你可以帮助完善项目文档。对信息进行本地化或者将帮助手册翻译成其他语言。

6.  参与到新的项目中

寻找一些想法一致的人群然后根据你的想法开启一个新的项目。选择你的许可证的条款和条件。很多人就是通过开发新的开源产品获得了成功。

7.  重复发明轮子

如果你没有任何独特的想法,那么你可以“重复发明轮子”。你可以尝试做一些别人做过的东西,但一定要加入特有的功能。应该跟别人的软件有一些独特之处和差异,这样才能让别人使用你的软件。很多人会倡导“不要重复发明轮子”,但是如果真是这样,那么在每个行业领域内将只存在一见产品。这不是同一个问题,通过“重复发明轮子”,你可以学到很多。

8.  陈旧的项目

从Sourceforge或者GitHub这样的代码托管网站寻找一些陈旧的或者闲置的项目。该项目的最后一项活动可能是一年或两年前。选择一个这样的项目,解决掉项目中的问题,然后赋予项目新的生命。

9.  代码移植

很多人可能会对代码移植很感兴趣。如果你是一个Java程序员,你发现了一些用Python或者Ruby语言开发的有趣的东西,那么把它们移植到Java语言来。将代码从一项技术移植到另一项技术中。一个程序员不可能掌握所有的编程语言,移植好的项目真的会对你有很大帮助,而且很多人都会感激你的努力付出。

很多人有兴趣,但仅仅只是兴趣,很少有人会真正去做一些事情。一旦你开始做了,别人就会追随你的步伐。

英文原文:How to contribute to open source  /译:OSchina
5
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 易讯网安卓版

    易讯网安卓版

  • Ewebeditor V5.5 易讯网络加强版

    最近一直在做站点,所以常用到ewebeditor,可是最近这几天在研究6.2的过程时发现我们被狠狠的忽悠了一把, 从4.8到5.2,我个人认为全是ewebeditor的炒做放出的东西,由其是5.2我发现决对是官方放出的东西,很晕, 没...

  • 走秀网CEO纪文泓:时尚买手如何脱颖而出?

    纪文泓说:“之所以选择时尚服饰、中高端百货,则是基于以下几点考虑:首先是中国的消费升级,更多的时尚和奢侈品消费是必然趋势,事实也验证了这一 点;其次我们想走垂直化、差异化路线;其三单一品类,如只卖鞋,...

  • 这些年我们错过了什么

    这些年我们错过了什么这几天企业应用软件行业一片唉声叹气,大家都在讨论好像整整错过了一个时代,企业管理软件模式、水准、大格局都未有大变化,而且好像被IT界扫到了传统边缘不再是关注热点,人才也在流失到互联网...

  • 阿里 vs. 腾讯,谁的收购更有眼光?

    近年来我们国内企业高速发展,各...而腾讯也是不甘落后,在最近几年内投资了易讯,魔乐手机管家,豌豆荚,还有国内外的一系列游戏公司也纷纷被腾讯收购。 在我看来要比较阿里和腾讯的收购孰优孰劣首先要看下他们集...

  • 读財报:交易额增长111%的京东,为毛还是亏?

    好像也没占到什么大廉价……倒是腾讯一次甩掉了拍拍和易讯两大包袱。轻装前行。京东本想搭着 微信支付 也跟上O2O的步伐,但始终没得到微信的援手。三级页面的位置,就那么不温不火的尴尬着。想想,腾讯是怎么对微信...

  • 读财报:交易额增长111%的京东,为毛还是亏?

    拼个时尚吧,还被当当狙击,就算跟腾讯的合作,好像也没占到什么大便宜……倒是腾讯一次甩掉了拍拍和易讯两大包袱,轻装前行;京东本想搭着 微信支付 也跟上O2O的步伐,但始终没得到微信的援手,三级页面的位置,就...

  • 看看双十一大家的战果如何?

    在网友们忙着盘点自己购买了哪些东西的同时,电商们也在忙着盘点自己的战果以及收拾战场。那么,今年的电商收获的又是什么? 业绩 如果单从业绩上判断来讲,毋庸置疑,阿里永远是最大的赢家。去年双十一191亿的...

  • 电商提升用户体验的几个方面

    良性的电子商务还是要以满足客户实际需要,提高电子商务销售和客户满意度来使 企业可持续的发展,短期的靠价格战吸引顾客并不一定能带来长期的效益,而好的购物体验却能带来口碑效应和回头客,个人认为

  • 今天的电商价格大战,京东,国美,苏宁到底谁赢了,还是都输了?

    8月14日上午10时许,京东商城CEO在其认证微博上发布消息称,京东大家电三年内零毛利!如果三年内,任何采销人员在大家电加上哪怕一元的毛利,都将立即遭到辞退!...任何客户到国美,苏宁购买大家电时候,拿出手机

  • 什么是sp,怎么运作,他们是怎么发财的

    1 什么是SP? 什么是SP?SP指移动互联网服务内容应用服务的直接提供者,负责根据用户的要求开发和提供适合手机用户使用的服务。从企业业务开展的角度来看,目前 SP可以分成三大类:  ★门户型 SP就是由门户...

  • 什么是sp,怎么运作,他们是怎么发财的

    什么是SP !怎么运作的.行情怎么样!(超级详细) SP创业(起步篇) 撰写QQ:84401116   1 什么是SP?  什么是SP?SP指移动互联网服务内容应用服务的直接提供者,负责根据用户的要求开发和提供适合手机用户使用...

  • 交锋线下

    消费电子目前在混战,由于换代率高、标品、客单高,所以成为目前电商主要竞争地,京东、国美、苏宁、易讯、新蛋几大巨头都在这里重资金重资产(人力、仓储物流)扎堆。还有三年才能看到鱼死网破。 现在品类都在往客...

  • 怎么打败BAT

    怎么打败BAT这个问题是我一个朋友今天早上问我的,呵呵,对于普遍人来说很有点哲学终极问题的意思。那我就来意淫一下。要想弄明白这个问题就先需要洞察他们的核心赚钱本质,颠覆了这个根,它就被打败了。百度:机器...

  • 彩票网站生死徘徊30天 居高投诉摧毁灰色产业

    彩票网站生死徘徊30天 居高投诉摧毁灰色产业 http://www.sina.com.cn 2007年12月13日 22:00 财经时报 本报记者 李国训 12月8日逐渐临近,北京王君(化名)的心境开始慢慢平静下来。 王君曾是国内SP行业的资深...

  • 中国10大顶级富豪惊人挥霍排行榜

    中国10大顶级富豪惊人挥霍排行榜 富豪姓名:荣智健 富豪身份:中信泰富有限公司董事局主席 财富档案:世界经理人数据[data.icxo.com]:1978年南下香港创业,先凭借父亲荣毅仁在港积下的几十万资本,仅仅十几年即...

  • 刘强东:企业家千万别算小钱 我不研究马云

    公众公司很重要的一点,我离开一个月会不会出问题,如果离开几天就乱套,那我觉得这家公司也没有准备好,那我们2014年可能还要来一次休养生息。 王利芬: 你就真的不管吗? 刘强东: ...

  • 星之语明星周边产品销售网站的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip

    Spring Boot是Spring框架的一个模块,它简化了基于Spring应用程序的创建和部署过程。Spring Boot提供了快速启动Spring应用程序的能力,通过自动配置、微服务支持和独立运行的特性,使得开发者能够专注于业务逻辑,而不是配置细节。Spring Boot的核心思想是约定优于配置,它通过自动配置机制,根据项目中添加的依赖自动配置Spring应用。这大大减少了配置文件的编写,提高了开发效率。Spring Boot还支持嵌入式服务器,如Tomcat、Jetty和Undertow,使得开发者无需部署WAR文件到外部服务器即可运行Spring应用。 Java是一种广泛使用的高级编程语言,由Sun Microsystems公司(现为Oracle公司的一部分)在1995年首次发布。Java以其“编写一次,到处运行”(WORA)的特性而闻名,这一特性得益于Java虚拟机(JVM)的使用,它允许Java程序在任何安装了相应JVM的平台上运行,而无需重新编译。Java语言设计之初就是为了跨平台,同时具备面向对象、并发、安全和健壮性等特点。 Java语言广泛应用于企业级应用、移动应用、桌面应用、游戏开发、云计算和物联网等领域。它的语法结构清晰,易于学习和使用,同时提供了丰富的API库,支持多种编程范式,包括面向对象、命令式、函数式和并发编程。Java的强类型系统和自动内存管理减少了程序错误和内存泄漏的风险。随着Java的不断更新和发展,它已经成为一个成熟的生态系统,拥有庞大的开发者社区和持续的技术创新。Java 8引入了Lambda表达式,进一步简化了并发编程和函数式编程的实现。Java 9及以后的版本继续在模块化、性能和安全性方面进行改进,确保Java语言能够适应不断变化的技术需求和市场趋势。 MySQL是一个关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)来管理和存储数据。MySQL由瑞典MySQL AB公司开发,并于2008年被Sun Microsystems收购,随后在2010年,Oracle公司收购了Sun Microsystems,从而获得了MySQL的所有权。MySQL以其高性能、可靠性和易用性而闻名,它提供了多种特性来满足不同规模应用程序的需求。作为一个开源解决方案,MySQL拥有一个活跃的社区,不断为其发展和改进做出贡献。它的多线程功能允许同时处理多个查询,而其优化器则可以高效地执行复杂的查询操作。 随着互联网和Web应用的快速发展,MySQL已成为许多开发者和公司的首选数据库之一。它的可扩展性和灵活性使其能够处理从小规模应用到大规模企业级应用的各种需求。通过各种存储引擎,MySQL能够适应不同的数据存储和检索需求,从而为用户提供了高度的定制性和性能优化的可能性。

  • 精选毕设项目-新浪读书.zip

    精选毕设项目-新浪读书

  • 智慧农业平台解决方案.pptx

    智慧农业平台解决方案

Global site tag (gtag.js) - Google Analytics