最近也看了关于国产自主知识产权的操作系统COS的一些争论,尤其是有人拿到真机用同步工具看到其为Android 4.1.2后,网友讨论异常激烈。但无非就是两种观点:一是就是安卓,做的皮肤+内置App而已;另外一种就是说为了兼容安卓而做的虚拟层,所以同步工具认为是Android 4.1.2。 但是我们跳出圈子想一想,到底什么才是自主研发,自主知识产权呢?
其实从法律层面来说,只要拿到了产权局办法的知识产权证,就算是有自主知识产权。哪怕这后面有金钱交易,甚至是拿刀架在局长脖子上强迫他发证。总之只要证件到手,都是合法自主知识产权。
不过,就如同专利一样。不是每个合法专利都会为社会做出有用的贡献。就软件工程对社会贡献领域来讲,什么才是自主研发呢?
我们先来回忆一下什么是操作系统?操作系统是管理和控制计算机硬件与软件资源的计算机程序。也就是说,操作系统是硬件和应用软件(App)之间的桥梁。而一般操作系统都实现了硬件相关接口,定制一套软件SDK,供其他人开发该系统的应用软件。
而COS系统,退一步讲,他就算是自主研发,只是因为兼容Android而让同步工具识别成安卓,那么我不禁想问,COS的开发文档在哪儿?找遍了COS官网也没有见到SDK的影子。如果没有SDK,如何为其开发App?难道只能运行安卓应用?那么他到底是不是安卓?
相关专家说了,我们确实参考了开源的安卓系统,借鉴而来,而不是抄袭。那我能不能这么理解,把安卓的源码的所有变量名由英文改成拼音,重新编译,就算做自主研发?因为每一行代码都不同(变量名改了)。
软件目前来看,是为了适应安卓而生,硬件呢?我们看到样机就是HTC蝴蝶。那么一个软件和硬件都是为了适应现有的体系而产生,岂不是为了“自主”而“自主”吗?有哪个操作系统既不制定自己的硬件规范,也不制定自己的软件规范的?
那么什么才是真正的“自主研发”操作系统呢?我们看一下目前主流的操作系统现状:
Windows,规定必须运行在符合x86架构的PC机上,由于店大欺客,甚至制定了DirectX、BootSecurity等硬件标准,有自己的编译器,可以运行基于MFC、.net、等应用程序框架开发的应用程序,有完善开发文档;
OS X,必须运行在Mac机上(虽然改用Intel处理器后可以破解安装到PC上但极不稳定),制定了UEFI引导模式、HFS+分区格式、Darwin内核,可以运行基于Corbon或者cocoa开发框架开发的应用程序,有完善开发文档;
Android,有一系列硬件规范,制定了Android SDK,NDK,虽然用Android语言,但是基于Android SDK可以开发适合小屏幕和移动设备的应用程序;
iOS,只能安装并部分固化在苹果移动设备上,基于OS X简化而来,可以运行cocoa开发框架开发的应用程序,并且有AppStore为开发者提供了软件销售的平台,让开发者一心扑在软件开发上。
我们再看COS,硬件基于现有手机,软件虽兼容安卓,但现在看起来只兼容安卓,并没有看到自己的开发框架和技术文档。那么就算是源码为一行行自己写来,那么我们能认为他是能为社会提供贡献的自主研发和自主知识产权软件工程吗?
不过,介于之前《中国要培养若干个乔布斯》一问,我们应该能判定这些人本身就还在应试教育的误区内。开发软件的目的并不是要解决问题,改善生活。而是为了满足“我们要有”而开发。
文章转载自 开源中国社区 [http://www.oschina.net]