也谈“纠正Linux认识误区”
李 涛
COPU按语:
陆首群主席发表“纠正Linux认识误区”的博文,引起了业内热烈讨论,也有一些不同意见。
今收到李涛先生给陆主席的来信,他是支持“纠正Linux认识误区”文中观点的,谨发表于下,与大家共享。
陆老师:
拜读您的新作《纠正Linux认识误区》后,很受启发和教益,有人对您文中一些观点提出不同意见,我也想谈一下我的看法,请斧正。
通观全文,我认为您阐述的以下几个观点是正确的:①一般来说,Linux是免费的操作系统,但为正规用户(个人和企业)提供的支持、服务是要收费的;②Linux作为产品的发行版,还要在社区发行版(通称基础版本或标准版本)的基础上进行产品化工作,即进行定制、认证、配置、优化、整合等工作,有人否定产品化工作是不对的;③关于产品化(二次开发)技术,可能涉及源代码,也可能涉及专用技术,在产品化过程中创造了新的价值,有人否定创新价值也是不对的;④Linux产品化是为用户提供支持、服务的主要内容,我体会因在产品化过程中创造了新的价值,这是服务收费的依据。⑤正规用户离不开Linux发行商提供的支持、服务,而用户一般也难以做到自我支持、服务。
我理解您指的Linux(商业版)就是具有商业模式的Linux发行版,是作为产品来发行的Linux版本,以便与不具有商业模式的Linux社区版作区别。为了避免引起误解,我还是建议将商业版改为具有商业模式的发行版为好(在学术界,也可简称为产品版)。
您说的很清楚:“Linux在作为一款成熟的产品发行时,尚需在Linux社区版的基础上进一步做好产品化工作”,“在产品化过程中也开发了新的价值”。这个观点很重要,似乎目前已在国际开源业内人士中形成了共识。
我体会,对下面几点似乎更需要明确:
①Linux在产品化过程中,从不具商业模式的社区开发项目(Linux project)到具有商业模式的上市产品或商品(Linux product),在涉及修改源代码时,一般Linux不会改变它一直遵守的GPL协议,因此,在Linux产品化前后一般不会改变Linux作为自由/开源软件的性质。
②当然Linux操作系统或基于Linux的操作系统是多层次结构,遵循GPL及其他开源的多元协议,作为产品发行,都要经历产品化(二次开发)过程。
③您在文中说得很清楚(举Ubuntu为例):“Ubuntu Linux产品对用户是免费的,但对用户的支持和服务是要收费的。”我在这里引述2009年初Mark Shuttleworth的一段话,为您作补充或旁证:“Ubuntu过去主要是放在网上供网友免费下载,甚至供有兴趣的电脑玩家来函索取,我们还会免费送软件光碟。”“我们目前要改变操作策略,组建发行商那种机构,我们在成立Canonical公司的基础上,现在在全球各地,年初还在台湾成立了分公司;我们还要与PC业者合作,如Dell、HP、东芝、宏碁、鸿海、广达、仁宝等,推出Ubuntu的OEM或ODM产品。”
④向用户提供Linux产品必须通过产品化过程。Canonical COO Jame Silber针对Ubuntu9.04版本指出:“Ubuntu作为一款开源的Linux软件,不收授权费,可自由分发、下载、传播,Canonical为企业定制特别版Ubuntu,提供技术支持和服务,服务收费。”他这里指的特别版Ubuntu就是指经过产品化过程的Ubuntu。
⑤最近在台北举行Ubuntu硬件峰会(UHS),Ubuntu社区将提高新款Ubuntu的性能与台湾PC硬件厂商共享,涉及到定制、匹配、优化、整合、认证等产品化内容,在这方面的技术改进或提升,可能涉及代码,也可能涉及专用技术。
⑥有人鼓吹把未进行产品化的社区版拿来无偿使用和推广,认为可不用支付支持和服务费用(或只是支付一些U盘的费用),这完全是极少数电脑发烧友玩家(不能算是正规用户)的拿来主义心态。
有人说,在世界上有哪种Linux发行版需要付费?这完全是一种外行的说法,或者是缺乏历史眼光的看法。我手头上有一份资料:2009年4月著名市场调研公司IDC发布的资料:“截止2008年底,全球付费Linux(指带有支持服务的Linux版本,Linux支持服务费用约10亿美元)的服务器累计150万台,而免费Linux(指不带有支持服务的Linux版本)的服务器与付费Linux的服务器数量基本相当。”要指出的是,IDC把Linux软件对用户免费,支持服务对用户收费的那类Linux,都归纳为付费Linux。还有,有些Linux发行商,举红帽为例,它的Linux不是要向用户收取订阅费吗?这不是付费Linux是什么?!
您在文中还举例,在中国早期Linux萌芽幼稚发展阶段,国内企业在选择Linux社区版源代码的基础上进行产品化工作,在产品化过程中他们把重点放在加强用户体验上,以此起步来改进Linux性能,如共创开源开发农村电子政务,他们做了大量测试改进,并在平谷试点运行,……。众所周知,Linux性能的开发(改进或提升)主要依赖于测试,通过大量的测试和较长时间的试运行,发现Bug,采取措施Fix,然后打补丁(Patch)再进行测试验证,如此不断循环,螺旋式上升。有人为了贬低国内Linux发展,连早期正确的起步做法也要否定,更是指东说西,抛开平谷试点(及至今运行状况)不说,跳到烟台去说事。至于烟台发现1600多个Bug,本不奇怪。不但Linux,即使Windows,从开发到运行都会发现大量Bug,这不是怪事。关键是如何抓紧处置(Bug Fix,Patch)。至于谁不予解决就是谁放弃了用户服务和性能提升的责任。这与Linux在产品化过程中的价值创新完全是两码事。
李涛
2010年9月16日