高级检索

学术资源

工商行政法

当前位置: 首页 -> 学术资源 -> 部门行政法学 -> 工商行政法 -> 正文

盛佳慧:开源软件的管理问题

信息来源:《互联网法律通讯》2015年第4期 发布日期:2019-03-18



  一、开源软件管理问题概述

  随着开源软件项目的普及和发展软件开发模式从传统的集中开发逐渐演变成为当今时代的分散开发许多大型软件都以开源的形式将开发权赋予分散在各处的开发小组进行协同作业。通过对开源代码的获取与组合利用,更多的组织、企业、个人得以参与到软件的开发过程中,由此使得开源平台下软件的数量和种类激增。在功能上,这些软件相互依赖,基于特定的开发语言和软件基础模型而存在;在物理上,这些软件分散在互联网空间的各个角落,版本更新频繁,难以统一控制管理。这一变化无疑带来了开源平台下各软件的兼容性问题,增加了软件从开发完成到用户获取、正常使用这一流程的复杂度,引发开源软件管理的难题。

  开源软件按照性质不同可以分为基础版和发行版。基础版在各厂商之间流传,会产生各种各样的发行版。以目前最受关注的开源操作系统Linux为例,Debian, Ubuntu、 Linux Mint都是基于Linux开发其中Ubuntu和Linux Mint又基于Debian开发,因此Debian可以视为“基础版”,Ubuntu、Linux Mint可以视为“发行版”。发行版在市场上广泛传播,版本众多,基于不同发行版而开发的软件或许会出现难以在其他版本上安装、运行的问题,即开源软件平台碎片化问题。

  二、开源软件反碎片措施——以安卓平台为例

  目前市场上最常见的开源平台为Linux和Android,而随着移动端迅猛的发展趋势,移动操作系统领域的竞争压力和技术革新频率相对更大。安卓系统作为移动操作系统的一种,一直以来与苹果系统平分秋色,在移动领域占据举足轻重的地位。而安卓系统的开源模式也与苹果系统的封闭模式完全对立。在安卓系统下,厂商可以完全按照自己的市场定位和运营商的特殊需要来定制自己的设备,这就使得安卓平台下的软件产生了各种凌乱的版本。同一时间,多种安卓版本的存在给用户和开发者都带来麻烦。与苹果的单一化系统和不超过十款移动设备相比,安卓平台下设备繁多、品牌众多、版本各异、分辨率不统一等特征既是其区别于苹果的重要优势,也是阻碍其发展的最大障碍。任何智能操作系统想要在市场上立足,背后都必不可少的需要庞大的软件资源进行支撑,这就要求系统和硬件有一定的一致性,并且确保软件的兼容性,因此个人和团体开发的第三方软件也需要一定的规范,以确保软件和设备的兼容。而由于Android完全免费的开源性质,Android设备的软件兼容性降低,要让一款软件在更多的设备上运行必然会加大软件开发的难度,导致软件开发商和软件开发者们会放弃这一难度高,开发成本大的平台。由此可见,碎片化严重不但造成安卓系统管理混乱,也在不知不觉中增加了安卓开发的隐形成本因此解决安卓碎片化问题成为安卓系统开发者、软件使用者的共同愿望。下文将以安卓平台软件反碎片化措施为例,简述开源软件管理者对碎片化问题的控制手段。

  (一)反碎片协议

  安卓平台的碎片化问题随着安卓系统的普及和发展而日益严重其碎片化主要体现在以下三个层面:设备的碎片化,即设备型号众多,有的成为市场中的流行手机品牌而为大众熟知,如三星GT-i9500(GalaxySIV),有的则鲜有人听闻,例如10.1英寸的Concorde Tab、支持双SIM卡的印度手机Lemon P1等;品牌的碎片化,由于安卓系统免费、开源的属性,任何厂商只要愿意都可以成为安卓设备的制造商,都可以创立自己的品牌;版本碎片化,新的安卓版本不断推出,旧版本却没有被立即淘汰,两者似乎有长期共存的趋势,例如据统计,2011年,最新推出的安卓4.1没有成为当年最流行的版本,反而是安卓2.3受到市场青睐,而近一两年,最常见的版本也并非安卓4.4,而是对安卓2.3进行修复后的2.3.3+版本,此种新旧混合的市场状况必然会给开发者带来疑惑,其开发的软件究竟要兼容哪一版本才能为市场所接受;分辨率的碎片化。[1]

  意识到上述问题之后,安卓平台最初的发布者谷歌开始采取相应措施,其于2012年11月发布修正版的SDK协议,其中加入了反碎片条款,要求研发人员只有在接受反碎片条款后,才能后续开发安卓应用。

  谷歌发布的新条款第3.4章节中明确表示,“你本人同意不会采取导致或可能导致安卓系统碎片化的行为,包含但不局限于发布、参与建立或者以任何方式进行以SDK为标准的软件改进。”[2]此条款将研发人员开发相应应用程序导致安卓平台碎片化的行为列为明令禁止的行为,这一变更是自2009年谷歌发布SDK协议以来的首次重大更新,反碎片协议也是前所未有的创新之举。但该协议的作用并未发挥到极致,因为该最新版本的SDK协议是发布在当时的最新安卓版本中的,而在协议问世的2012年,占据主要市场份额的安卓版本仍是安卓2.3。因此只有用户升级到最新安卓版本,才能受反碎片协议的保护;而开发者也只有基于最新安卓版本进行开发时才需要受到反碎片协议的制约。

  这一反碎片协议的出台受到社会各界热议。修改后的Android SDK条款为开发者和厂商增加了一条限制,使得安卓不再完全自由和开放,那么这样的安卓系统还能叫做真正的开源么?开放源码软件的基本定理之一是开发者可以在任何时候创建自己的版本分支。[3]正是因为Android系统的源代码是开放的,亚马逊才可能基于自己的安卓代码而创造出Kindle系统;Cyanogen Mod才能通过众投集资进而开发出Ouya游戏主机。不过这也正是安卓系统碎片化的根源。谷歌作为安卓的创造者,其本身的思想必然极为矛盾,一方面希望安卓市场繁荣昌盛,可以与苹果分庭抗礼;一方面谷歌也不能坐视安卓碎片化,导致最终四分五裂。谷歌的反碎片条款是其第一次主动出击为阻止碎片化做出努力,但加入了反碎片条款的SDK协议也使得安卓不再是传统意义上的“真正的开源”。并且经过三年时间的考验,不难看出,这一条款并没有真正改善安卓平台的碎片化问题。

  (二)技术性强制

  然而谷歌的反碎片措施并没有至此为止,2014年,谷歌的一份内部备忘录显示,Google要求所有全新推出的Android智能手机必须搭载最新的Android 4.4 KitKat系统。备忘录中写到,“自2014年2月起,谷歌将不再为安装旧版本操作系统的全新Android手机提供GMS认证服务。同时,谷歌还将严格控制各个版本Android系统享受官方GMS升级服务的起止时间,一旦超过最后期限,搭载旧版本系统的智能手机便无法再获得GMS升级服务,除非手机厂商为其更新最新系统。”[4]

  这一举措事实上是利用技术措施强制安卓系统使用者以行动的方式履行“反碎片协议”。谷歌通过不再为旧版本安卓系统提供GMS服务的技术措施,强制安卓厂商、安卓开发人员舍弃旧版本安卓系统,搭载最新安卓系统或者基于最新版本安卓系统进行开发以保证市场上安卓旧版本被淘汰、新版本成为主流相较于2012年的反碎片协议,这一措施显然更具有强制力,也更有效。其实在此之前,谷歌发布安卓4.4版本时为了削弱碎片化而刻意降低了安卓4.4的使用门槛,希望能通过市场自动淘汰掉旧版本。低门槛的安卓系统无疑让中低端机型受益,但手机厂商并没有响应谷歌的举措,大部分厂商仍旧搭载旧版本系统,谷歌的计划因而失败。或许正因谷歌意识到没有厂商的配合,该措施必将因谷歌缺乏干涉权而徒劳无功,因此谷歌才会进一步采取前述技术性的强制措施来避免安卓继续碎片化。“GMS批准窗口”这一谷歌独掌的技术,无疑是谷歌控制开源安卓平台的最好手段,它为谷歌赢得了更多的主动权,以此督促厂商搭载最新安卓系统。

  随后,谷歌宣布推出Android Silver计划,将为手机制造商制定一套全新的软硬件标准包括提供非谷歌内置应用的卸载权限和为其运行最新Android版本等从而改善Android界面和服务出现的“碎片化”现象。[5]这一计划试图建议一个严格的软硬件配置标准巩固谷歌品牌和安卓之间的联系,让顾客看到安卓sliver就自然地联想起谷歌。但这一计划是面向高端手机市场提出的标准,对于中低端安卓手机市场这个更为巨大的份额难以产生影响。谷歌试图通过Android Silver项目来结束碎片化乱像,这样一个统一的标准事实上对于开发者和用户均有益处,开发者只需要开发一个版本的应用就可以满足市场需要,而不必再针对不同的安卓版本开发相应的应用;而用户则可以获得更加一致的体验。然而目前看来手机制造商对此并不感兴趣,大多数厂商并不愿意分享自己的品牌,也不希望软件系统有太多的限制,因此这一计划实施受阻,谷歌试图以此种技术措施阻止碎片化进程的尝试遭到了厂商的抵制。[6]

  (三)商标许可

  利用商标促使反碎片化进程是谷歌公司的又一手段。由于“Android”以及商标的产权均归Google所有,任何人不能随意使用该商标或商标的变化字体。谷歌允许开发者使用“Android”作为产品描述,例如可以在产品上标示带有TM上标的“for AndroidTM”字样;也可以将“Android”放在通用术语前用作解释性词汇,如“Android? application”;任何使用“Android”命名的行为,必须带有说明性语言“Android is a trademark of Google Inc.”; Android机器人商标的使用需要获得Creative Commons Attribution的许可授权;Android机器人商标可以在市场交流中进行免费的使用、复制和修改。除上述规定之外,其余的品名与商标知识产权归其各自所有者。

  从谷歌关于安卓的许可政策可以发现,其采取了相对宽松的许可模式,基本上只要开发者保留原版权声明,便可以任意使用和修改源代码,修改后的代码也不必须再开放源代码。虽然Google不限制开发者对安卓代码的使用和修改,但它严格控制着Android商标和Google应用程序,这也成为了其利用商标许可反碎片化的重要权利基础。任何企业或个人若要宣称自己研发的设备是Android设备,欲使用Google Play和Google Maps等应用和服务,那么开发者必须确保遵守Android Compatibility Program对设备兼容性的规定,即设备必须通过CTS测试并符合CDD中的要求,然后向谷提出申请。这种对兼容性的要求和专门的测试标准,一定程度上可以降低安卓的碎片化程度,与安卓相去太远以至于无法通过测试或者无法与谷歌应用兼容的系统将能被授予安卓商标的使用权也意味着该系统不被接纳为“安卓”,减小了安卓内部的差异程度。

  三、开源软件商标维权策略——以Ubuntu为例

  如前所述,针对开源平台的碎片化问题,平台管理者除了使用技术性措施强制平台开发者、使用者签署反碎片协议,或者采取反碎片行动之外,还可以利用其所掌握的商标来促使软件开发者与之达成反碎片协议。后者主要利用了开源平台的商标价值,使得开发者如果想要获得这一价值、得到商标许可,就必须答应商标权人的特别要求。利用商标促进反碎片化进程的问题同时涉及到开源平台商标维权策略问题,下文将以Linux平台下Ubuntu版本的商标政策为例进行分析。

  (一)Ubuntu商标政策

  与其他Linux平台下各版本社区相同,Ubuntu社区官网上公布了其商标政策,表明该政策旨在鼓励Ubuntu商标的广泛使用,并通过控制手段避免其与其他软件混淆以维持Ubuntu商标的价值和声誉,使其免于侵权使用。该政策主要包含两部分内容,即Ubuntu商标的归属及使用与Ubuntu商标使用的分类。

  该政策规定,“任何在Ubuntu网站上显示的商标、标识或服务商标的所有权都归Canonical公司或相关第三方所有。Canonical公司拥有所有权的商标包括UBUNTU、KUBUNTU、EDUBUNTU、XUBUNTU、JUJU、LANDSCAPE。这些商标以文字和标识两种形式注册。用户在得到Canonical公司的书面许可并遵守Canonical公司品牌准则的前提下可以使用其商标。对Ubuntu的修改版本进行再次发布并在其上使用Ubuntu商标的行为必须得到Canonical公司的同意,或者证明该修改版本由Canonical公司提供,否则必须移除、更换该商标并重新编译源代码以形成用户自己的二进制文件。任何以UBUNTU或BUNTU字母结尾的标志都与本政策所涉及到的商标构成相似,因此在使用前需要得到授权许可。以下行为同样需要得到Canonical公司的许可:对与Canonical公司商标容易混淆的商标、域名和全球资源定位器中商标的使用以及以营销为目的使用Canonical公司商标的行为。”[7]

  Ubuntu商标政策规定了三种商标使用情形。第一种是不需要得到授权许可即可使用的情形。这一情况主要包括,其一,将商标运用于社区宣传,即“为了讨论、发展与宣传的目的我们与社区共享商标”。由于讨论、发展大多数情况下都是非商业目的,因此当用户满足其政策中规定的条件时,可以免费使用商标,这一条件具体包含:“对于商标的使用方式符合政策下方规定的使用指南;对于该商标的使用不是基于商业目的;不会让其他用户基于你的行为对Ubuntu产生混淆。”其二是Ubuntu的衍生成果可免费使用商标。其中的衍生成果同样需要满足政策规定的条件“对Ubuntu进行的改变必须是微小的、非实质性的变更;新产品基于非商业目的;在使用商标时,必须明确标注该产品是源自Ubuntu的产品并且实际上并不是由Ubuntu项目发布的。”其三是建立在Ubuntu上或为了Ubuntu而制作的成果,这种情况下,欲获得商标的免费使用,要求用户以“能表现其产品意图的方式”使用商标。例如,用户开发的是一个Ubuntu管理工具那么该项目若命名为“System Management For Ubuntu”,则可以体现其产品意图,能获得免费使用权,但若命名为“Ubuntu Management”则会产生歧义,产品意图不够明显,难以免费使用。其四是评论与模仿。

  第二种即需要获得商标许可证方可使用的情况。一般而言任何商业性使用都必须获得商标许可。

  第三种是指不允许使用商标的情形。主要包括将商标用于公司的名称;以营利目的使用域名;将Canonical公司的商标与其他商标结合使用;以存在已被授权许可歧义的方式使用商标、以不公平或令人混淆的方式使用商标或项目的品牌、以诋毁Ubuntu或Canonical的方式使用商标、没有明确第三方的模仿;一个网页中的标题或元标签的唯一目的或结果是影响搜索引擎的排名或结果列表而不是关于商标的讨论、发展或宣传等等。[8]

  由此可见,Ubuntu的商标政策具体规定与其商标政策的目的紧密结合,相互一致。任何有助于发展、促进Ubuntu品牌的行为都会被允许,而任何诋毁、混淆的行为都被禁止。与其他商标一样,Ubuntu的商标也与其背后的产品、企业紧密相连,商标的价值也与产品结合才能发挥最大效用,其所制定的商标政策本质上同样是为了巩固商标与产品之间的联系。

  (二)Ubuntu商标维权策略

  Ubuntu的商标政策在维护自身权益方面发挥了巨大作用,主要体现在以下方面。第一,开发者违反商标政策Ubuntu不承担保证产品性能责任。根据Ubuntu社区关于商标规定,任何人都可以将完整版的Ubuntu系统进行免费的再发布,这里的“完整版”指的是包括Canonical公司提供的安装程序包和图像包的Ubuntu系统;发布者若对系统进行了修改,则必须得到授权许可才能使用商标,否则就必须移除商标,并重新编译源代码形成发布者自己的二进制文件。对于违反以上规定的版本,Ubuntu社区不承担保证其性能的责任。第二,Ubuntu可以不授权的方式控制代码包使用者的商业发展。一般情况下如果双方达成了合理的价格协议,那么开发者就可以商业化的使用Ubuntu商标。但是使用者始终面临受制于人的潜在风险,即无论他们给出怎样的许可条件,Canonical也可以不授权许可其使用Canonical所有的商标。这样一来Ubuntu无疑利用商标价值掌握了谈判的主动权,也获得了反碎片化的有力武器。第三,Ubuntu面临来自上游的商标风险较小。Ubuntu系统是基于Debian开发的,对于Debian来说Ubuntu也在做着二次分发的类似行为。但Debian社区的性质与Ubuntu不同,其完全由社区驱动,没有商业公司支持,商标权归属于美国软件公共利益公司(Software in the Public Interest),在其社区商标政策上并没有对将商标用于二次分发的代码中做出明确规定,即使将Debian商标用于商业用途,商标政策也只是建议将收入的一部分作为捐款贡献给Debian社区。所以从商标政策上来看,Ubuntu不太可能面临关于商标权的知识产权风险。这无疑降低了Ubuntu的商标成本。


[1] [2] 下一页