评析:开源软件的社会经济影响

[摘要]根据我们的统计分析,欧盟企业每年总共投入约12亿欧元用于开源软件开发,增加约2630亿欧元的年度收入和大量的就业人数。一些开源软件的调查表明:78%参与开源软件社区的开发者是为了学习和发展新的技能;67%的开发者是为了分享他们的知识和能力。

  

  表1:开源软件的生产/替换成本

  根据我们的统计分析,欧盟企业每年总共投入约12亿欧元用于开源软件开发,增加约2630亿欧元的年度收入和大量的就业人数。大量证据表明开源软件对技能发展、鼓励中小企业的成长和就业有着巨大的促进作用,如果认为开源软件开发者在今天的经济生活中只起到了微不足道的作用,那将是一个错误。据保守估计,目前在企业中从事开源软件项目开发的人员至少有57万人。

  像其他信息通信技术一样,开源软件也驱动着与开发相关的特定技能需求。然而开源软件不仅需要正式的基础技能,也需要与开源社区行为相关的技能,如项目管理、著作权法和社区创始能力。

  开源软件也会驱动一系列技能水平和专业化需求发展,如正式教育、信息教育以及除信息通讯技术之外的各种专业培训等。开源软件通过开源社区提供的良好培训和终身学习环境能够帮助开发人员增强就业能力。

  而且,开源软件也可以帮助雇主快速地找到合适的人才,与正规和传统的方式提供大学毕业生或普适性人才相比,开源社区为雇主提供了更多针对性的高技能人才。同时,开源软件为雇主节省了大量的培训费用,因为开源社区提供了非正式的实习训练和培训。

  开源软件对于目前产业和技术的间接影响仍然巨大,例如虽然基于Internet的电子商务增长并不是与开源软件直接相关的,但是如果没有开源软件的基础架构,这样的增长却是不可能实现的。

  因此,这也可以被认为是开源软件对信息通讯产业的部分影响。开源软件对于医疗、公共管理、教育等非IT产业也具有相当大的潜在影响力,因为这些应用领域的增长对于软件和信息通讯服务的整体需求具有巨大的反馈作用。

  开源对软件生产力的影响

  软件生产力的评估本质上是经济学和软件工程的交叉,对开源软件而言包括两个方面:

  ◆实际开发成本,即从时间和工作的角度或者等值货币的角度衡量开发某个开源软件产品的实际开发成本。

  ◆软件的替代成本,即该开源软件产品如果由一个企业利用私有的软件开发模型进行开发所需要的成本。

  替代成本的估算是业界广泛使用的成本计算模型,在这个模型中将使用衡量软件成本的各种因素,例如软件代码数量、软件的复杂性、时间紧迫性等等。

  西班牙UJRC(Rey Juan Carlos大学)曾经为开源软件Debian粗略的估算了替代成本。Debian是一个典型的大型开源软件集合包,包括GUI/Linux操作系统及大量稳定的开源软件应用和工具,超过200万行源代码。

  表格1是基于更加复杂的COCOMO软件成本估算模型对Debian所做的替代成本分析。

  从表格1可以看出,对于Debian这样一个源代码超过2亿行的开源软件,如果由一个独立软件企业开发,至少需要16万人年的工作量,到2005年将耗资119亿欧元,到2010年将耗费1000亿欧元(大型项目中至少50%的编码在5年之后将会改变)。

  因此,开源软件开发者具有更大的生产力。开源软件开发者独立的工作,以较低的沟通成本最大化了他们对整体的贡献。在评估私有软件成本的COCOMO模型中,开发成本很大部分取决于用于沟通和协调的成本,编码库越大,团队的规模也越大,越复杂。如果这些因素随着开源模式的发展而得以避免话,无疑软件开发将具有更大的生产力。

  从Debian的参与组织,我们可以大致估算出目前按地区分类的开源软件代码贡献比例,其中欧盟是开源软件源代码的最大贡献者,约为45%,其次为美国和加拿大,约41%,中国、印度、日本、韩国总共仅有2%,如图1所示。

  开源对行业企业的渗透

  对参与开源软件开发的企业,我们仍以Debian为例作为统计和分析的基础。我们对参与Debian开发的总计986个企业进行了调查,从地区分布上来看,至少有25%的企业来自欧洲。

  在计算机装备行业和制造业,参与开源共献的大企业所占数量较多,均为64%;在软件咨询和供应行业、IT和商业服务行业、其他制造业等领域,中小企业(在欧盟,人数少于250人的企业称为中小企业)分别占据76%,67%和53%。

  因此,通常来讲,按照贡献者的数量和不同的行业领域分类来衡量,尽管在制造业、计算机装备业,大企业是开源的主要参与者,但是其他绝大多数领域中,中小企业在各自的行业中基本上是开源的主要参与者,并且总体上仍以61%的数量占据多数地位,如图2所示。

  从不同行业企业对开源的的贡献来看,软件咨询和供应企业(包括软件产品和服务提供商)以及IT商业服务企业(包括商业咨询、自然科学、工程研究和数据处理等)对开源软件的代码贡献量最大,均为31%,我们也可以认为有两类行业组成的整个服务业贡献量占据了62%的比例。其他制造企业(包括电子制造、通信设备制造企业)与计算机设备制造企业贡献量都为9%,其他行业企业,如零售、批发等与IT无关的企业,贡献量为20%。

  事实上,在2002年FLOSS用户调查中,27%的低IT相关企业,如零售、旅游等,都部份支持或者完全支持它们的员工从事开源软件项目。从更广的范围来讲,这类企业以及其他制造企业实质上是IT企业的用户,软件在这些企业中是成本中心,而不是利润的来源。

  因此,通过参与开源软件开发或者使用开源软件,这些企业能够与其他行业企业共同分担软件成本,降低风险。对于那些在商业策略上与IT相关的企业,对服务的重视(而非软件产品销售)是驱动他们参与开源软件的重要原因,并因此而成为了重要的软件和服务提供商。

  为了进一步说明开源软件贡献企业在所属行业中的位置,我们总共抽取了158家开源软件贡献企业及其所在行业总共171523家企业,对它们的平均年收入做对比分析。

  从总体上来看,几乎所有行业内,参与开源软件贡献的企业平均年收入都远高于该行业的平均水平。从企业的规模来看,参与开源软件贡献的中小企业的平均年收入与行业中小企业平均水平大致相当,而行业中参与开源软件贡献的大型企业的平均年收入远高于行业大型企业的平均水平,说明各行业大型企业中的龙头企业参与较多,并在一定程度上决定了开源在产业中的位置,如表2所示。

  开源对人才的影响

  通过对开源软件开发者和使用者的全面研究发现:对于开发者参与开源社区的最重要原因是免费学习新的技能。这些技能对于开发者来说是很重要的,因为可以帮助他们得到工作并且创造和维持小的商业活动。这里所说的技能并不是如何使用开源软件,而是参与开源软件社区所学习到的东西。

  这些技能包括编程,还有很少在计算机科学课程教学可以得到的技能,比如版权和许可证(这个是许多开源软件项目的主要话题)。其次还包括团队合作、团队管理和协调能力。

  一些开源软件的调查表明:78%参与开源软件社区的开发者是为了学习和发展新的技能;67%的开发者是为了分享他们的知识和能力。

  这些学习到的能力对开发者而言有着经济价值:30%开源软件社区的开发者是为了增加工作的机会;30%是为了参与社区带来的直接收入,还有18%为了间接的收入,比如由于具有在开源软件社区的工作经验,得到了一份新的与开源软件无关的工作。

  开源软件社区就像是一个非正式的学徒关系,学生和老师免费地贡献出自己的时间,在培训过程中也不存在任何的商业行为,每个人都在培训过程中公平的受益。然而,不是每个人都是平等地投资。比如很多老师是受过大学教育或者工作培训的,他们为社区的培训承担了部分成本。

  在更高的层面上看,这个培训系统只有少数人是显式的付出,却使所有人从中受益,这可以说是从付钱接受正是教育的人向其他人提供的某种津贴或技术转让。在国家中,这个就体现出大公司把技术转让给小公司,大公司常常可以为培训付款,小公司可能在培训中难以开支。

  同时,这里也存在领域受益。一些国家可能在计算机科学学位课程中有正式的计算机培训,但是其他的专业可能就没有,比如生物学。因此,使用开源软件可以让学生非正式地学习计算机技能、编程技能等,同时也提高了他们在正式工作中的能力。

    

  图1 开源软件的地区贡献比例

  数据来源:西班牙Rey Juan Carlos大学

    

  图2 参与开源软件贡献的企业

  数据来源:西班牙Rey Juan Carlos大学、Amadeus Database

  

  图3 贡献开源代码的企业(按行业和大小分类)

  数据来源:西班牙Rey Juan Carlos大学,Amadeus数据库

  

  表2 2004开源软件贡献企业平均收入与行业平均收入对比

  单位:百万欧元 数据来源MERIT




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。