我想向开源社区贡献源码,但是该怎么做呢?”我经常看见很多很多学生在很多论坛里问这个问题。有很多种方式可以贡献源码,我列出了很多,希望能够对你们有多帮助。

  贡献给现有的项目:

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

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

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

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

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

  参与到新的项目中:

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

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

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

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

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

  英文原文:http://www.findbestopensource.com/article-detail/contribute-to-opensource

开源软件贡献自己的力量相关推荐

  1. 如何向开源软件贡献自己的力量

    JEECG第三期招募新成员!!! 截止日期:2013-10-10 http://www.jeecg.org/forum.php?mod=viewthread&tid=272&page= ...

  2. 互联网开源贡献是什么意思_为什么我们为开源软件做出贡献?

    互联网开源贡献是什么意思 整个组织出于各种原因为开源软件项目做出贡献. 最重要的一点是,开源开发模型是与其他公司共同合作的项目的有效方式. 但是他们也想更好地了解他们使用的技术. 他们也想影响方向. ...

  3. Google、亚马逊、微软 、阿里巴巴开源软件一览

    Google.亚马逊.微软 .阿里巴巴开源软件一览 大公司为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼工程师写出更好的代码.三是开 ...

  4. [转] Google、亚马逊、微软、阿里巴巴开源软件一览

    为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼工程师写出更好的代码.三是开源能够更有效利用社区的力量,帮助企业一起解决难题.开源,让 ...

  5. GitHub 贡献第一的微软开源软件列表

    作者|木环 编辑|小智 在GitHub上贡献最多的公司,不是Facebook,也不是Google,而是微软.InfoQ对微软数个较受社区欢迎的项目进行了整理,以飨读者.希望开源的精神,能给技术社区带来 ...

  6. 开源贡献 计算_学生如何开始为开源软件做贡献

    开源贡献 计算 作为一名学生,参与开源是提高编程技能的好方法. 根据我的经验,它甚至可以帮助您开始事业. 但是你从哪里开始呢? 您如何参与其中? 我在高中时代开始了我的开源之旅,那时我有很多空闲时间( ...

  7. 对于邵启瑞对于开源软件方面的贡献的公开感谢信

    原文: Public thanks to Shao Qirui for his contribution to open source software Shao Qirui is a student ...

  8. vb如何嵌套chrome_译丨如何为开源软件做出贡献

    原文: How to Contribute to Open Source Software 作者:Matt Eland 译者:博轩 为保证文章的可读性,本文采用意译,转载请保留原文链接 前段时间参加了 ...

  9. python开源项目贡献_通过为开源项目做贡献,我如何找到理想的工作

    python开源项目贡献 by Utsab Saha 由Utsab Saha 通过为开源项目做贡献,我如何找到理想的工作 (How I found my dream job by contributi ...

最新文章

  1. 力扣(LeetCode)刷题,简单题(第16期)
  2. 序列化模块--json模块--pickle模块-shelve模块
  3. ActionScript 3.0 Step By Step系列(五):走在面向对象开发的路上,以类为基础去思考编程问题...
  4. Quartz集成springMVC 的方案一
  5. WPF一步一脚印系列(1):万事起头难
  6. 编译bluez-5.25 通过 Linux环境下运行
  7. Codeforces Round #736 (Div. 2)(B-C)
  8. linux下c语言读取roed文件,如何在Linux系统上安装Android4.4.docx
  9. android开花动画,15款界面最漂亮Android应用程序揭晓
  10. Linux利用list_head结构实现双向链表
  11. python指定时间范围数据_Python提取特定时间段内数据的方法实例
  12. html字母间距属性,html – 是否可以相对于font-size具有字母间距并正确继承?
  13. 深入理解Java虚拟机--笔记1
  14. ASP.NET--邮件发送
  15. jQuery学习之路(1)-选择器
  16. 大数据排重算法-布隆算法(BloomFilter)
  17. 拓端tecdat|R语言有状态依赖强度的非线性、多变量跳跃扩散过程模型似然推断分析股票价格波动
  18. python cnn 股市_荐python3绘制股票K线图的那些坑【一】mpl_finance迁向mplfinance,以及plot独立窗口视图问题!...
  19. QQ飞车手游飞越狸想怎么获得
  20. Formality学习笔记一:基本概念

热门文章

  1. SpaceBase – 基于 Sass 的响应式 CSS 框架
  2. 26、Eternal框架v2-框架设计 前置分发器 1、代码
  3. KDE——年度最佳桌面环境
  4. ORA-01940: cannot drop a user that is currently...
  5. 40个非常有创意的国外LOGO欣赏(上)
  6. 互联网大数据对教育的重要性
  7. 大数据安全分析需要关注哪些问题
  8. python能处理图片吗_python的Image和skimage处理图片
  9. keil c语言循环嵌套,keil软件中C语言嵌套汇编
  10. c语言求前缀后缀大全,温故而知新_C语言_前缀++(--)和后缀++(--)