广泛智力汇聚高效成果传播先进机制培育关于开放源码软件和通用公共许可(GPL)的进一步讨论特别鸣谢如下公司/组织的积极参与(排名不分先后):中国计算机软件与技术服务总公司北京共创开源软件技术有限公司北京中科红旗软件技术有限公司北京红旗2000中文软件技术有限公司托普集团科技发展有限责任公司自由软件基金会中国研究院中国软件登记中心中国GNU研发中心中国Linux论坛炎黄角马LinuxAidAKA共创软件联盟 贰零零贰年陆月(本报告已经提交国家科技部)1、什么是开放源码(opensource)?..........................................................................................32、什么是自由软件(freesoftware)?它与开放源码是什么关系?........................................33、除了开放源码/自由软件,软件业界还有哪些软件模式?....................................................44、开放源码运动发展历史是怎样的?.........................................................................................55、引起开放源码社区强烈抗议的微软万圣节文档是怎么回事?.............................................56、共享源码与开放源码是什么关系?.........................................................................................67、开放源码开发模式是怎样的?人们加入开源开发工作的动机何在?国内外情况如何?.68、现有哪些成熟的开放源码软件?.............................................................................................79、开放源码软件的商业模式是怎样的?.....................................................................................8关于开放源码软件和通用公共许可(GPL)的进一步讨论、开放源码与专有软件模式的争议焦点是什么?...................................................................911、开放源码是否更具有安全性?..............................................................................................1012、开放源码的软件拥有总费用(TCO)是怎样的?.............................................................1013、开放源码软件的技术支持是怎样的?..................................................................................1114、何时选择使用开放源码软件?..............................................................................................1115、以Linux为代表的开放源码软件市场状况和趋势如何?..................................................1116、为什么IBM要在Linux上投资十亿美元?这项投资是否会继续?.................................1317、其他著名IT厂商对于Linux的态度如何?.........................................................................1318、Linux厂商下一步面临的关键问题是什么?.......................................................................1319、商业IT公司的不断介入对开放源码社区有什么潜在影响?............................................1420、开放源码许可类型有哪些?...............................................................................................1421、GPL和LGPL具有什么特点?..............................................................................................1522、针对GPL存在哪些疑问?....................................................................................................1523、如何理解各种开放源码许可背后的含义并加以选择运用?.............................................1724、开放源码涉及哪些潜在的法律问题或风险?.....................................................................1925、针对新颁布的《计算机软件保护条例》,民间存在哪些争议?.....................................2426、开放源码与专有软件有机结合的许可证分层模式是怎样的?.........................................2427、开放源码软件的“分叉”(forking)问题是怎样的?.....................................................2528、利用Linux发展中国自主产权的操作系统是否存在法律问题?.....................................2529、利用开放源码启动中小专有软件企业有什么注意事项?.................................................26关于开放源码软件和通用公共许可(GPL)的进一步讨论、什么是开放源码(opensource)?“开放源码”(opensource)被非赢利软件组织(美国的OpenSourceInitiative协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。开放源码软件通常是有版权(copyright)的,它的许可证可能包含这样一些限制:着意地保护它的开放源码状态,著者身份的公告,或者开发的控制。实际上,开源软件同时涉及源码本身和开发过程,涵盖了三个方面的意义:免费分发的源代码、模块化的体系和集市式的开发——在这种开发方式中,任何地方的任何人都可以参与最终产品的制造,三个方面互相之间有密切的联系,集市式的开发过程给开源软件以强大的改错能力,因为它将程序中的错误公开给了数量巨大的观众,他们都是潜在的改错者。另一方面,任何人都可以复用和发行开源软件的代码这一事实又支持了公众利益,因为创新的观念被整个集市所共享。另外,“opensource”这一术语还被延伸到其他智力团体中,指那些可通过公开手段获得的智力资源,比如报纸、教学课件等。美国一些进步的评论家指出,在象网络这样的虚拟环境中,驱动系统的底层代码,尤其是广为人知的那些应用程序之间的通信协议,它们在某种意义上很象现实社会中的法规。换句话说,这些代码对网上的行为给出了一些规范,它鼓励某些行为,而限制其他行为,就像现实社会的法律一样。因此,开放源码带来了一个更民主的开发方式,在这种方式下,好的主意将被集体分享,而不是作为智力资本被个人秘藏着。在这种意义上,开放源码实质上成为一种政治哲学。2、什么是自由软件(freesoftware)?它与开放源码是什么关系?自由软件(freesoftware)是指允许任何人使用、拷贝、修改、发行(免费/少许收费)的软件,尤其是这种软件的源代码必须是可得到的。从某种意义上说,“没有源代码,就称不上是自由软件。”在此,“free”一词意指“自由”,而非“免费”。与自由软件密切相关的是所谓Copyleft(与Copyright相对而言)规则和通用公共许可(GPL,将在后面详细讨论),它的分发条款不允许分销商在分发或修改软件时增加任何额外的限制,无论是否修改过,该软件的每个拷贝都是自由软件,从而保护所有用户的自由。在著名的自由软件GNU计划中都实行Copyleft和GPL,由自由软件基金会(FSF)负责统一管理和维护。同时,还有所谓非Copyleft自由软件,是指作者允许对其进行分发、修改、及增加一些附加限制的软件。如果程序是自由的但非Copyleft的,那么它的拷贝或修改版本可能就不再是自由的了。软件公司可能对该程序进行了修改,也可能没有,但都可以将它进行编译,然后作为私有软件产品进行分发。当谈论自由软件时,最好避免使用诸如“赠送(giveaway)”或“免费(forfree)”之类的词,这是因为这些词隐含了有关价格的问题,而不是自由。以Copyleft和GPL为代表的自由软件从根本上是与传统意义上的知识产权对立的,GPL实质上放弃了传统意义上对复制权、发行权和修改权的控制,不允许利用GPL产生具有所谓自主知识产关于开放源码软件和通用公共许可(GPL)的进一步讨论广泛智力汇聚高效成果传播先进机制培育权的专有软件,因此也就在某种程度上对于商业领域采取了歧视性政策,在其发展过程中曾经强制要求一些试图利用GPL代码的专有软件公司放弃其知识产权而遵循GPL,对这些公司造成较大的损失。相对而言,开放源码则是自由软件的市场化计划(营销手段),它是对自由软件的支持,更倾向于注重实际效果而不是意识形态方面的大肆宣扬。开放源码的定义非常全面,以至于它的内容可以覆盖自由软件,但自由软件的主要目标是使得开发的软件是自由的,而开放源码的主要目标则是开发高质量的软件,它们之间最简单的区别是各自的优先权不同。有关开放源码和自由软件孰优孰劣的争论在开源社区内一直存在,自由软件的激进人士认为开放源码是以牺牲“自由”为代价来博取资本家的好感,实质上是一种倒退,并认为自由软件要好于开放源码,这些争论涉及到深层次的哲学和意识形态问题,在此不展开讨论。3、除了开放源码/自由软件,软件业界还有哪些软件模式?专有软件(Proprietarysoftware)——是目前软件业的主要商业模式,受到传统版权(Copyright)保护,对它的使用、传播、或修改是禁止的,要么需要你申请许可,要么它限制你不能充分自由地使用它。与专有软件相关的软件模式包括:Demos——免费或低费用试用的软件,是商业软件的一部分,它没有自由可用的源码,没有支持,通常缺乏关键特征;捆绑软件(BundledSoftware)——它由商业软件携带并且不用增加额外的费用,但是它一般具有很有限