Red Hat首席软件工程师方越
Red Hat首席软件工程师方越,自2005年开始全职参与Apache CXF、Apache Servicemix、Apache Karaf等多个开源项目,擅长Web Service、SOA、ESB、OSGi等领域。是Apache CXF、Servicemix、Karaf、Camel、Felix的Committer(在Apache开源社区中使用“Freeman Fang”这个名字),并且是Apache CXF、Servicemix、Karaf的PMC member(项目管理委员会成员)。
他曾在《程序员》杂志2012年8月刊《开源是种生活方式》一文中描述他多年来从事开源项目开发的工作生活。
全职从事开源软件的开发,他靠什么来生活呢?很多人可能对此不解。这也难怪,国内大多人认为开源就是免费。其实,在开源社区存在一种基于开源的商业模式,是它保证了投身开源项目的广大开发者正常、甚至更优越的生活条件。
基于开源的商业模式,即围绕开源社区和开源软件, 通过雇用主要的开源项目开发者,向外提供付费的商业服务, 这种付费服务包括订阅、咨询、培训等。方越表示,他的“雇主”就是提供类似服务的商业公司。这种开源商业模式在基础软件架构领域(如开源操作系统、开源数据库和开源基础中间件)已被证明是一种行之有效的方式,在欧美市场被广泛接受。但在国内,这种商业模式还没有被普遍认可,很多人还认为开源就是免费,不愿意承认特定领域专家的价值,这种现象很值得深思。
在方越看来,在这种开源商业模式下,开源项目和开源社区因为有了商业公司的介入更加活跃,开源开发者有了稳定的收入获得了可持续发展,付费用户由于有了商业支持能更有效地使用开源软件,非付费用户也能从活跃的开源社区获得支持,构成了一个共赢的生态环境。
为什么从事开源项目
作为国内全职从事开源软件项目的开发者的典型代表,方越八年来有着怎样的“开源”生活状态?是什么支撑他在该行业中一直走下去?完全凭兴趣吗?又是什么保证自身的可持续发展呢?“如果一个人能很长时间做一件事情并乐此不疲,那么只有一个解释,他很喜欢做这件事。”方越给出了这样的解释。开源已融入到他的生活中,他喜欢开源有五大原因,且听他一一道来。
原因之一:开源意味着最大程度的分享,降低了知识学习的壁垒, 给了后发者赶超的机会。
在从事开源软件开发的过程中,我经历了这样一个心理变化,从很自信到很不自信到慢慢找回自信。 由于有机会和世界上最好的一群软件工程师一起工作,我可以很清楚地看到自身的差距,但开源意味着一切都是透明的,不仅仅是代码,公开的社区讨论也能给你很大的启发。时间长了,你会看到自己的进步,慢慢找回自信的过程就是进步的过程。对于一个喜欢技术、追求技术的人,开源是一个能提供无限可能的大平台。
原因之二:开源给了我最大程度的自由。
我不用去办公室工作,能自由安排自己的工作时间。在北京这个大都市里,不用去办公室意味着每天能节省2~3个小时的通勤时间, 我可以用这个时间来学习、健身、娱乐,甚至加班。有了孩子之后,我每天早7点之前开始工作, 通常下午4点我会将工作停下, 接管照顾孩子的任务。在晚上8点孩子睡了之后,我会最后再工作一会儿。
随着Internet等基础设施的飞速发展,伴随着大量辅助工具软件的出现,远程办公成为可能,越来越多的工作由集中式变成分散式,我们的工作模式正在改变。这种模式降低了大城市的交通压力,办公场地的压力,更加节能环保,同时也提高了工作者的生活质量。
原因之三:开源给了我成就感。
每次获得一个Apache项目的Committer权限,都是一次被认可的过程。通常意味着你要不断地提交高质量的Patch给该项目,积极参与该项目的社区讨论,之后该项目PMC才会提名和投票表决。每当收到一个项目的Committer邀请,都会带给我巨大的喜悦和强烈的成就感。此外,参与社区讨论,回答别人的问题,也是一件非常愉快的事情,这真的是可以上瘾的。
从事开源,就有机会和最好的工程师一起工作,做领先的技术和项目,这些项目不仅能直接服务最终用户,还能成为其他项目的重要组成部分。例如,Apache Geronimo选择基于Apache Karaf来实现OSGi容器;还例如Apache CXF作为但不限于JAX-WS协议的一个实现,得到了很广泛的应用。 多个JEE服务器如Apache Geronimo、JBoss、JOnAS和Pramati选择CXF作为自己的JAX-WS实现(从JEE5开始则要通过TCK认证且需要有JAX-WS的支持)。