4月1日,一些媒体、IT博客陆续报道一项名为“将 Wine 从x86移植到ARM平台的方法”的国家专利(国内专利号201110173905.5,201110173679.0,项目地址:专利页面)可能违背了开源界的操作规则。
但该专利似乎并未违反国内专利法中的相关规定,因此当前对于该事件的谴责只能限于非法律层面。
附:Phoronix 消息(原文)
近期关于软件专利的新闻是这样一个坏事:一个由中国人组成的开发组试图申请一个与ARM平台上Wine相关的专利,以便拥有这个可让Windows程序在智能手机平台上运行的开源程序。
在过去的几年中,有许多项目致力于将Wine移植至ARM构架设备上,它们在近些年多少也有些消息传出。这其中,有些已经可以使用Wine在Android上运行Windows程序,另一些则是进步良多,在今年,ARM上的Wine已经可以运行诸如纸牌一类的简单程序了。从 Git 仓库的改动来看,Wine 上游开发者对 ARM Wine 项目的动作最早可追溯至 2010 年的 Wine 1.3.4, 许多基础改动都是由德国开发者 André Hentschel 完成的——很明显,这些都是开源的。
然而,2011年6月的一项专利显示,一个中国开发组在当时开始尝试将Wine移植到 ARM 构架上。开发组的五位开发者并没有与 Wine 的上游开发者们有什么联系,他们的专利申请日期也是上游提交了第一个有关ARM改动一年之后。在专利中,他们所提到的 Wine 版本是 1.3.13,也是一个早就做了 ARM 相关改动的版本。
在本周 WWN 新闻的叙述中,这项专利的专利号是CN102364433B 。该专利内容可通过 Google Patents 找到。
“本发明公开了在ARM处理器上实现Wine构建工具移植的方法,包括:步骤1,修改Wine的配置工具,以使用arm-linux的交叉编译器和arm-linux的库文件来替换X86平台下的gcc编译器和库;步骤2,修改Wine的构建工具,以将Windows目标应用程序生成对应于ARM处理器的PE格式映像;步骤3,修改Wine中的其他与CPU相关的代码,使得所有Wine的代码适用于ARM处理器;步骤4,将修改后的Wine源代码安装到ARM处理器上。本发明实现了Wine的移植,使Wine能够在OMS智能手机上运行。”
据说是在wine之前已经做了移植,和wine的实现不太一样。
再说wine是LGPL授权,修改过的代码还是LGPL的,这个专利其实意义不大。
应该这个这个专利有意义。这会导致另一个人基于 wine 制作一个支持 arm 的版本会被专利限制而不能发布。不管你是不是真的和他们这个 wine 有区别。
而且这个 wine 也必须有移植,不然在 arm 上是不能执行 x86 系统的。
其实在 arm 上用 wine 来运行 windows 程序,现在普遍的做法是 qemu 的 user mode 跑一个虚拟的 x86 环境来跑 x86 的 wine 来运行 windows 程序。user mode 的性能比 system 模式强不少,好像内存和进程分配都是 arm 自己处理,省下了不少资源模拟调配而损失的性能。
不过这个专利似乎是基于 OMS 的,如果开发出来的东西不兼容 OMS ,或许应该就不受限制,不知道专利法是不是这么执行的。OMS 项目似乎现在已经挂了。移动拿 Android 深度修改出来的 OMS ,结果使用有限,Google 一升级,他就不兼容而且没办法继续跟进修改了。OMS 好像支持 WinCE 的程序运行。
总的来说,这个文章里面说了 wine 本身已经开始有支持 arm 了。那么这个专利应该是在别人的专利上进行改进而形成的小专利,也就是国内说的实用新型。
好像实用新型的待遇和真正的专利有点区别。