【IT168 开源分析】
一、开源可以让你挖到金子
Catalyst是一家成立于1997年的新西兰软件技术资讯顾问公司,它的理想就是要使开源软件成为企业更喜欢的选择,也正是这种理想最终造就了这个公司的成功。
Catalyst公司的创始人兼总裁Donald Christie表示,Catalyst最大的优势就是其对开源技术的使用,这使得Catalyst公司可以为客户提供质优价廉的、高度定制化的软件产品。他还表示,Catalyst公司现在的客户包括新西兰邮电局、新西兰电信公司、新西兰选举登记中心等。这些客户免费使用或定制Catalyst公司的开源软件产品,但支付给Catalyst公司技术支持和服务咨询的费用。并且在为这些客户培训IT技术人员的时候,Catalyst也收取一定的费用。
Catalyst公司的营业业绩非常不错,而且公司现在没有任何债务问题的困扰。公司总裁Donald Christie有这样一句话:“如果有人告诉你从事开源类的软件开发工作不会挣到钱,那么,我告诉你这种说法是错误的。”
站在软件技术角度分析,开源软件发展到今天已经较为成熟,一些开源应用软件和商业软件公司开发的私有商业软件在实现技术和产品性能上已无差异,甚至有一些开源软件在性能上超过商业私有软件,这也是开源软件的优势所在。其次,各国政府不断加大对开源软件的推进力度,倡导开源操作系统的普及,鼓励基于开源软件平台的技术应用。这样的局势无疑为开源软件市场的开拓打下了坚实的基础。
开源软件在发展历程中,已经不仅仅是开放源代码的免费软件。开源软件与商业应用并不冲突,开源是一种新兴的商业模式。与传统的商业软件相比,开源软件采用了开放源代码、免费分发等形式,减少了营销与销售成本,更易于软件的广泛传播。
二、开源模式促进软件开发进步
如今,开源开发工具和开发方法已经逐渐变成了软件发展的基础。灵活性、编码工具的实用性和协作开发的原则,这些都是从使用开源开发工具和解决方案中得到的好处。
在很多情况下,软件公司依赖于测试服务和测试版产品来改进产品性能,开源协作提供给软件工程师第三条路,通常也是一种用来反复检查代码的效率极高的机制。通过开源协议和开源社区,软件工程师能实时的对一项开发技术和产品进行下载和测试,并在同一天使用那些技术来实施客户的解决方案。这样就不用让软件工程师在购买协议、注册、插入访问密钥和安排客户访问授权之间来回奔波。
开源技术的使用还能够提供许多附带的好处,或许其中最重要还有专业化层面的益处,因为开源软件公司的开发人员知道他们自己的工作不仅仅由客户来判定,还有来自同行的评价。
开源还提供了大量的基于组件的、基于标准的、强大的开发工具和软件产品,当把它们组合起来后,可以给开发人员提供一个开发“基地”——这不是简单的一个专有工具集能完成的。许多软件公司在他们的开发过程中看到,从组合开源工具中可以获得一些好处。
另外,从其他一些方面来看,开源也是公司的业务的基础,比如某开源软件公司的一个开源的Web 2.0工具——Kete,图书馆信托公司使用它来建立一个协作在线社区档案服务——整个开发过程大大依赖了开源开发工具和开发技术,其中包括Ruby-on-Rails框架和插件、Subversion源代码控制、Mongrel web服务器和GNU多元自控系统。
在过去,任何重要的软件开发通常要依赖于现成的专有和商业开发工具和软件公司。今天,开源工具和方法对开发生命周期、成本和最终产品的质量都提供了无法衡量的好处。企业可以集成开源工具到他们的现有开发过程中,这样可以通过很少的努力来获得很大的收益。
三、开源软件公司也需要管理
虽然Catalyst公司凭借开源软件已经掘得了自己的第一桶金,但是,它却存在另外一个问题,也是开源软件公司中普遍存在的一个问题,即公司中的员工安排问题,因为开源公司的员工大多数是远程办公或移动办公,经常不在公司中。
对于这种情况,Catalyst公司目前运作一种被Christie称作人才“非结构化管理(Management Unstructure)”的工作模式。随着公司的成长,公司不得不开始着手处理管理问题和内部交流问题。虽然现在的员工最近显示了一种主动性,并提出了一些管理方面的建议,但Christie承认还是需要招聘一个项目经理——无论是从外部招聘还是从内部职工中选拔——来建立一种领导关系。Christie表示:“我们正在试图来管理变化和成长带来的问题,同时又不让我们失去公司创建之初所享受到的那些快乐。”
Catalyst一直遵循着一种相当灵活的招聘政策,即决不拒绝一个人才。由此带来的问题是,公司现在的员工已经接近80个了,其中包括六个全职工作的主管。
事实上,开源软件技术公司未来潜在的员工一般与开源社区中的一些项目有关,“唯才录用”的招聘策略可以让公司了解一个开发者的技术水平和能力如何,以及他(或她)与开源论坛社区中其他成员的交流状况如何。
而对于开源技术开发人员,参与开源项目可以帮助一个开发者得到迅速的成长,通过参与开源项目,一个年轻的开发者可以获得本来他可能需要花费数年才能获得的技能和经验。
站在开源软件公司的角度,为了吸引那些技术水平成熟的、了解开源项目如何运作且又能够与客户紧密工作的开发人员,公司的最大的优势就是其对开源的热情。以Catayst为例,Christie回忆起第一个与公司签合同的员工的时候说,就是因为该员工在Catayst公司的网站上看到了开源是如何被促进发展的,才决定来到Catayst。
在一个开源公司中的工作环境也反映了开源的思想,因为这些开源开发者一开始碰到的就是自己起初使用或参与的开发工具或者开源项目。告诉开发者他们在一个开源公司工作,最清晰的说法莫过于这样:指着一个Debian库来告诉他们搭建一个他们自己的桌面。