最近发生了很多事情,让我不得不思考一下我现在和接下来需要做的事情。
在过去的2007年中,开源软件开发方面上的两件事情使我受益非浅。
* 一个是 CXF 2.0 的发布,用户社区的壮大。
那是在2007年7月初的时候,在此之前我没有想到CXF的用户邮件组会一下子活跃很多,记得当时我做过一个小小的统计,基本上是平均一个小时就有一封用户的来信,询问有关CXF使用问题。一下子回复用户的来信就成为了我每天日常工作的一部分。在回答用户的问题的过程中,我渐渐感觉开源项目社区(Community)的重要性。
一直以来我都认为好的软件不是工程师设计出来的,而是用户们使用出来的。作为Coder你会根据需求设计代码,但是如果你写的软件没有人用,那你将因为无法得到及时的反馈,而不可能进一部分改进你的代码,或者是修正你设计中的缺陷。
有人说开源软件和商业软件比,因为缺乏测试和支持,其软件质量让我们不能将开源软件应用到生产系统中。对此,我还是要用上面我说的那句话来回答,软件是使用出来的,而不是设计出来的。
大量用户们的使用,给你写出的软件注入了无限的活力。一些用户会不断测试你的刚写出的代码;一些用户会帮助你完善文档;一些用户会跟踪你的代码并为他所遇到的问题打上补丁。同时这一切将会在你刚提交的代码后的几天之内发生。
试想一下,如果你现在在开发一个商业软件,你也许会在提交代码后的两个礼拜中,无法得到你所写代码的直接反馈。或许当你在即将忘记你所写代码的某个时候,突然接到了用户或者是测试人员报过来的一个Bug,这个时候你对你所写的软件质量是一个什么样的感受。
这也是我为什么愿意投入很多精力来回复开源社区用户们提问以及参与社区建设的重要原因之一。
* 一个是成为Camel的Committer
如果说成为CXF Committer是占了Initial Committer的便宜(不需要走Apache的Committer惯用流程),那我成为Camel的mmitter可谓是经历了进半年的考察期。 起初接触Camel是因为James想将CXF集成进Camel中,而我当时对CXF有一定了解同时也想多参与一些Apache的项目开发,我认为成为Committer只需要提交3个以上patch就可以了。
按照DanKlup 在CXF中写的Getting involed 中的提示,要想成为 Apache 项目的Committer,你熟悉ASF的工作方式,同时一个重要内容是你需要通过不断用提交patch的方式骚扰项目中的其他Committer,让他们厌烦帮你打patch,谓你挣取足够的获取Committer权力的信用。
由于当时我还投入了部分精力在CXF项目中,在半年中打的patch不到10个,估计没有突破James对Committer的要求,所有迟迟没有获得Camel的Committer权限
。好在两个礼拜前我终于拿到Camel的 committer权限,也让我再次体验了一下成为 Apache committer的快乐。
分享到:
相关推荐
[安卓开源]随手记安卓记账项目.zip
MyTracks是一款优秀的Android应用 程序,主要用途是记录GPS轨迹,实时统计用户在远足、骑车、跑步或其它户外活动中的时间、速度、距离和海拔。在记录GPS数据之后,用户还可以与朋友分 享,上传到Google Spreadsheets...
日志记录,开源项目使用方法见说明
成功在RHEL部署开源的报障系统OTS,资源分享一下给大家。
这个日志有一定BUG,在同一解决方案中可以产生日志文件,如果在别的方案中,不会产生日志,开源的目的就是请高手指点迷津,与同行一起进步。
本EasyJF iula会议室系统主要用于EasyJF开源团队的成员网上会议使用,会议系统模拟传统的会议形式,可以同时开设多个不同主题的会议室,每个会议室需要提供访问权限控制功能,会议中能够指定会议发言模式(分为排队...
AI-metrics, 一个开源项目,通过数据来记录 AI 测量人工智能研究进展这个存储库包含一个笔记本,你可以在 https://eff.org/ai/metrics 看到它。 它从人工智能和机器学习文献中收集问题和度量数据集,并跟踪它们的...
异常处理,try-catch-finally块,开源日志记录工具log4j
Joplin是一个免费的开源笔记记录和待办事项应用程序,可以处理笔记本中组织的大量笔记。这些注释是可搜索的,可以直接从应用程序中或从您自己的文本编辑器中进行复制,标记和修改。注释采用Markdown格式。可以通过....
JAVA 著名开源项目
PostgreSQL审核扩展(pgAudit)通过标准PostgreSQL日志记录工具提供详细的会话和/或对象审核日志。
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
ffmpeg 一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序
记不清是哪个日子,我突然意识到,“做了10多年的软件,我总该做几件对社会有意义的事情吧?好!开源!”,就这样,我们这套模仿着拼多多的系统走上了开源之路。 这世界上没有完美的人,当然更不会有完美的系统了,...
Captura是一款免费开源的屏幕录制工具,它能够将屏幕上的任意区域、窗口录制成视频,可以选择是否显示鼠标、记录鼠标点击、键盘按键、声音。
Joplin 是一个开源笔记记录和待办应用。你可以将笔记组织到笔记本中并标记它们。Joplin 还提供网络剪贴板来保存来自互联网的文章。 -- Abhishek Prakash(作者)
日志记录,开源项目使用方法见说明.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
前端开源库-petty-print小印刷,愉快的记录
本文档记录了60项,包括Web 前端框架 Angular;Java 常用库 Guava;序列化库 FlatBuffers,等等Google的60款开源项目,均可下载。