通用开源应用软件发布平台(CoApp)是一个为Windows 打造的包管理系统。它为编译、构建和部署那些通常在其他操作系统——如Linux,Mac 等——上开发的开源项目提供支持。
为什么要将非Windows 开源软件移植到微软的操作系统上呢?直接原因是这些开源软件将会拥有更多新用户,从而促进项目本身的发展。另一个原因是可以加强Windows 和Linux/UNIX/Mac 社区的交流,这对大家都有好处。
将开源项目从UNIX 移植到Windows 存在很多问题,比如不同的文件系统、命令行、底层API、用户界面以及程序库。虽然 Cygwin 为 Windows 提供了一个类 UNIX 环境,但是它并不能提供在 Windows 上构建应用程序的所有东西。正确的方法是创建合适的工具来自动化大部分编译、打包和部署工作,使程序像其它 Windows 原生程序一样运行。
CoApp 项目由 Garrett Serack 发起,他目前受雇于微软全职开发这个项目,但是 CoApp 并不属于雷蒙德巨人(译者注:微软)。据项目发起人说:
微软的一些人意识到这个项目的价值——并为我提供全职工作于这个项目的机会。在我开发这个项目的同时,微软为我提供了 100% 的支持。软件的设计工作完全由我和 CoApp 社区完成,不需要接受公司内部的任何审查。这让它成为我梦想中的工作——我对这个项目充满激情,我开放源代码,并让它带我去找寻它价值。
Serack 打算利用 Windows 安装程序(MSI)和微软开发的并存(side-by-side)技术 WinSXS 来解决 DLL 问题。CoApp 将实现的其他功能有:
- 无缝支持 64 位和 32 位系统
- 将二进制文件,库文件和头文件放在一致的逻辑位置
- 协调组件的共享,并允许多个项目提供和消费这些共享组件
- 可以为库和应用程序升级和打补丁
- 对 Windows 开发人员更加友好。不强制使用“make”构建,而是利用已有的集成开发环境
- 对 Windows_ 管理员 _ 友好。即使它是开源的,你也不需要成为开发人员才能将开源应用安装到 Windows 上
CoApp 最重要的功能恐怕就是处理依赖关系了。CoApp 能够下载(程序)所依赖的代码和头文件,能够解决大部分配置问题,并构建一个可以在所有 Windows 上都能运行的 *.msi 包。
CoApp 开发小组计划从打包 WAMP 栈的主要部分开始,包括 Apache,PHP 和 Python,边做边学。CoApp 有一个项目网站项目网站和一个 wiki 页,目前它还处于初级阶段。
查看英文原文: A Packaging System for Open Source Projects on Windows
评论