最近发生了很多事情,让我不得不思考一下我现在和接下来需要做的事情。
在过去的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的快乐。
分享到:
相关推荐
MyTracks是一款优秀的Android应用 程序,主要用途是记录GPS轨迹,实时统计用户在远足、骑车、跑步或其它户外活动中的时间、速度、距离和海拔。在记录GPS数据之后,用户还可以与朋友分 享,上传到Google Spreadsheets...
本开源项目“随手记安卓记账项目”是一个基于 Android 平台的个人财务管理应用,旨在帮助用户轻松记录日常生活中的收支情况,实现财务透明和规划。通过开源的方式,开发者可以深入理解 Android 应用开发的各种技术和...
《开源软件文集:开源革命之声》是一本集结了多位开源运动领袖和软件界大牛们观点的书籍。本书不仅回顾了开源软件的发展历程,还深入探讨了开源革命成功的原因以及未来的发展趋势。在这个过程中,书中涉及了多个重要...
开源书架,正如其名,是一种开放源代码的图书管理软件,旨在帮助用户方便地管理和组织个人或共享的图书资源。这种软件通常提供多种功能,包括书籍的录入、分类、搜索、借阅记录管理等,使得图书管理变得更加高效和...
### 开源期刊第一期知识点详述 #### 一、开源期刊背景及意义 - **期刊创刊背景**:《开源》期刊始于2008年,经过五年的酝酿与筹备,正式面向公众发布。这份期刊的诞生标志着中国开源运动进入了一个新的阶段。在...
【Java开源企业考勤系统】是一个专为企业设计的考勤管理解决方案,它基于Java编程语言,为企业的员工考勤提供了一套完整的系统。这个开源项目旨在帮助企业管理员工的上下班时间,自动计算迟到、早退、请假等情况,...
电影管理系统是用于组织、管理、展示电影资源的重要工具,尤其对于小型影院、影迷社区或者电影爱好者来说,选择一个开源的电影管理系统可以节省成本并提供高度定制化的可能性。开源意味着源代码对公众开放,允许用户...
开源软件,顾名思义,是指那些源代码可以被公众查看、使用、修改和分发的软件。这种软件模式在全球范围内都有着广泛的应用和深远的影响,特别是在台湾地区,开源软件的发展尤为活跃,技术实力也相当先进。 台湾开源...
开源Web Office源码是开发基于Web的文档处理应用的核心组件,尤其对于那些希望构建自定义办公解决方案的企业或开发者而言,这是一个宝贵的资源。标题中的“开源”意味着这些源代码是公开的,允许用户自由查看、使用...
《开源时代200809(第3期)》是一本聚焦于开源技术与社区发展的杂志,其内容涵盖了开源软件、开源硬件、开源文化、开源社区等多个领域。开源,即开放源代码,是信息技术发展的重要趋势,它鼓励共享、协作和创新,推动...
本资源"安卓日志分析崩溃拦截相关-日志记录开源项目使用方法见说明.zip"提供了一个开源的日志记录工具,旨在帮助开发者更有效地收集和分析日志,以及拦截应用崩溃情况。 1. **日志记录**: 在Android系统中,开发者...
### C# 开源项目知识点汇总 #### 一、AOP框架 **AOP**(Aspect Oriented Programming,面向切面编程)是一种编程范式,它旨在通过将横切关注点(如日志记录、安全控制等)从业务逻辑中分离出来,从而提高代码的可...
开源飞控平台比较 开源飞控平台是无人机系统的核心组件之一,负责飞行控制、导航和数据处理等功能。当前市场上有多种开源飞控平台,包括APM、Px4/Pixhawk、Autopilot、PPZ、MWC等。这些平台各有其优缺,今天我们将...
【金山开源源代码详解】 金山开源源代码是金山软件公司对外公开的部分软件源代码,旨在促进技术交流与合作,推动技术创新。开源意味着开发者可以查看、使用、修改和分发这些代码,遵循特定的开源许可协议。金山软件...
《加密日记:开源技术在个人隐私保护中的应用》 在当今数字化时代,个人隐私的保护变得日益重要。日记,作为个人私密情感的记录,也需要适应这个趋势,以确保其内容的安全性。"Diary:加密日记-开源"项目正是这样一...
使用 Markdown 记录日志一个用于生成 Markdown 格式的日志文件的开源.NET库- MarkdownLog 生成 Markdown格式的测试结果我开发了一个免费的购物清单软件( 适用于 iOS)。我想我需要这样一个购物清单应用:可以在我...
5. 开源CAD软件的研究方法:通过分析开源网站上的项目信息,可以了解开源CAD软件的发展现状和技术特点,为用户选择和使用开源CAD软件提供参考。 开源CAD软件作为软件行业的一个重要分支,其应用和研究不仅关系到...
在前端开发领域,开源库是开发者们常用的工具,它们提供了丰富的功能,帮助我们快速构建高效、可维护的Web应用。"前端开源库-contribute"这个主题聚焦于如何参与到开源库的贡献过程中,尤其是如何将用户行为数据发送...
8. `yinyue.sql`和`update.sql`:这两个文件可能是SQL脚本,用于初始化数据库结构或更新现有数据库。`yinyue.sql`可能是初始的数据库结构,而`update.sql`可能包含后续的数据库变更。 9. `think`:这可能是一个...
【Qt开源代码 艾宾浩斯(Ebbinghaus)记忆软件】 这个开源项目基于Qt框架,旨在实现艾宾浩斯记忆曲线的学习管理软件。艾宾浩斯记忆理论是心理学领域中一个经典的概念,由德国心理学家赫尔曼·艾宾浩斯在19世纪提出。...