Wine 是一个免费和开源的兼容层,目的是为了在类 Unix 操作系统上运行 Windows 应用。Wine 的特殊之处是它并不是像模拟器一样模拟出一个完整的 Windows 环境。而是將 Windows API 调用转换为 POSIX API 调用,重新创建 Windows 的目录结构,并提供 Windows 系统库、系统服务和其它各种组件的替代实现。以让 Windows 原生应用二进制,无需经过修改,或重新编译,就可运行在 Linux/MacOS/Android 系统上。

Wine 主要通过黑盒测试与逆向工程来研发,相对于正向研发,既耗时又困难。主要是因为 Windows API 的文档不完整且不完全准确。尽管 MSDN 详细介绍了大多数的 Win32 功能,但某些领域,如文件格式和协议,微软并没有提供公开的规范,而且 Windows 还存在一些文档并未提到的低级函数、行为和未知错误,Wine 必须精确复制这些错误才能让某些应用程序正常运行。因此,Wine 团队在 thunking 等领域对许多函数调用和文件格式进行了逆向工程。

Wine 项目最初采用了 MIT 许可证,但由于担心 Wine 的专有版本不会将其更改回馈给核心项目,所以后来使用 LGPL 作为其许可证。Wine 开发版本大约每两周发布一次,稳定版一年发布一次。

Wine 的主要企业赞助商是 CodeWeavers,它雇佣了 Julliard 和许多其他 Wine 开发人员来开发 Wine 和 CrossOver。CrossOver 是 CodeWeavers 公司所支持的商业 Wine 版本。CrossOver 包括一些不适合上游版本的特定于应用程序的调整,以及一些额外的专有组件。CrossOver 遵循 LGPL 协议,同样也是开源的,其大部分代码都会贡献给 Wine。

国产化

自从贸易战后,国内对国产化的补贴投入力度加大,在计算机软硬件领域同样如此,要实现对计算机软硬件的自主、可控,行业迎来了新的东风。CEC/CETC/中科院/工信部等高校、国企,纷纷争抢此块蛋糕,旗下公司进行整合、合并,软硬件商联手,有统信的建立、天津中标与麒麟的合并、曙光入股方德等等,以增强自身的优势与竞争力。

而其中的国产操作系统商,除了 deepin 有些个人用户在使用,其它的厂商完全依赖于政府的补贴与采购。其生态环境,最初也仅仅是为了满足于政府部门的办公需求。但随着 Wine 开源项目的愈加成熟,各国产操作系统商纷纷做起了 Wine 的适配,以做大自己的生态。有的是和 CrossOver 达成商业合作,有的完全基于 Wine 进行二次开发与适配,目前所知,统信、麒麟、方德都在做这块的业务。但得益于圈内的某些“优良”传统,几乎没有遵守协议,进行开源的。

这就是所谓的国产化。

参考