Microsoft is continuing its efforts to attract more open-source developers to make their wares available on Windows. The latest component of that strategy is CoApp, a new open-source package-management platform that one of the company's developers is starting to assemble.
The goal of CoApp is to assemble in a single place a "community-driven package-management system" and associated tools to encourage the development and maintenance of open-source applications on Windows, according to a March 31 blog post by Garrett Serack, Microsoft's Open Source Community Software Developer.
Open-source developers need a better way to get current binaries, compilers and libraries they need to get their software working on Windows, Serack said. Consumers of open-source software on Windows need these things, too.
"Clearly there is a strong need for a package management system, along the same lines as apt, rpm, synaptic (and others) but built for the Windows platform, and compatible with Windows features," Serack said. "I’m not interested in simply making a knock-off of the Unix-style way of doing things. Windows doesn’t store binaries in c:\usr\bin (/usr/bin) and libraries in c:\usr\lib (/usr/lib), so we’re not going to do things like that."
Serack explains more of the background of why he is creating CoApp in his post:
"The biggest challenge to using/building/maintaining many Open Source applications on Windows, is that Windows does a lot of things differently than Linux and Unix . Different filesystems, command lines, APIs, user experiences … well, pretty much everything. Regardless of personal opinions about it being the ‘right-way’ or ‘wrong-way’, it suffices to say that it is just simply different.
"In order to build an Open Source application like PHP for Windows from scratch, I need to have a collection of libraries created from a fair number of different projects."
CoApp will handle multiple versions of binaries using WinSxS (side-by-side), including multiple copies of the same version of the same library, compiled with different compilers. It also will support both 32- and 64-bit systems; provide tools and methods for handling dependencies; allow for upgrades and patching of libraries and apps, and more.
Serack has started putting together the specifications and tools for CoApp on Launchpad and the wiki at http://CoApp.org. He said he welcomes contributions and feedback.
Update (April 7): Serack is remaining a full-time Microsoft employee but he and his project are moving to the CodePlex Foundation, which is the Microsoft-founded and funded open-source foundation.