查找:                      转第 显示法宝之窗 隐藏相关资料 下载下载 收藏收藏 打印打印 转发转发 小字 小字 大字 大字
【期刊名称】 《互联网法律通讯》
开源软件的管理问题
【英文标题】 Managing Open-Source Software【作者】 盛佳慧
【作者单位】 北京大学法学院{2013级法律硕士}【分类】 科学技术管理法
【期刊年份】 2015年【期号】 4
【页码】 26
【全文】法宝引证码CLI.A.1241998    
  一、开源软件管理问题概述
  随着开源软件项目的普及和发展软件开发模式从传统的集中开发逐渐演变成为当今时代的分散开发许多大型软件都以开源的形式将开发权赋予分散在各处的开发小组进行协同作业。通过对开源代码的获取与组合利用,更多的组织、企业、个人得以参与到软件的开发过程中,由此使得开源平台下软件的数量和种类激增。在功能上,这些软件相互依赖,基于特定的开发语言和软件基础模型而存在;在物理上,这些软件分散在互联网空间的各个角落,版本更新频繁,难以统一控制管理。这一变化无疑带来了开源平台下各软件的兼容性问题,增加了软件从开发完成到用户获取、正常使用这一流程的复杂度,引发开源软件管理的难题。
  开源软件按照性质不同可以分为基础版和发行版。基础版在各厂商之间流传,会产生各种各样的发行版。以目前最受关注的开源操作系统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项目来结束碎片化乱像,这样一个统一的标准事实上对于开发者和用户均有益处,开发者只需要开发一个版本的应用就可以满足市场需要,而不必再针对不同的安卓版本开发相应的应用;而用户则可以获得更加一致的体验。然而目前看来手机制造商对此并不感兴趣,大多数厂商并不愿意

  ······

法宝用户,请登录后查看全部内容。
还不是用户?点击单篇购买;单位用户可在线填写“申请试用表”申请试用或直接致电400-810-8266成为法宝付费用户。
【注释】                                                                                                     
©北大法宝:(www.pkulaw.cn)专业提供法律信息、法学知识和法律软件领域各类解决方案。北大法宝为您提供丰富的参考资料,正式引用法规条文时请与标准文本核对
欢迎查看所有产品和服务。法宝快讯:如何快速找到您需要的检索结果?    法宝V5有何新特色?
本篇【法宝引证码CLI.A.1241998      关注法宝动态: