2010/03/07

MMC - the Microsoft death blow for non-Enterprise markets

MMC, "Mostly Macintosh Compatible", the equivalent for OS/X of WINE for Windows, doesn't yet exist, that I'm aware of.


This comes from a personal need: on my Intel linux systems, I'd like to be able to load and run the Mac software out there, especially for things like printer drivers.
  • Why would MMC be a Microsoft killer?
    • And why only for non-Enterprise markets?
  • What's needed to build MMC for Linux?
  • What might Apple have to say?
The average "Joe User" who's price sensitive, will want to buy a commodity Intel PC, more commonly a laptop or netbook these days.  If they weren't price sensitive, they would buy an Apple product and this discussion is moot. Enterprises have a very different cost-structure and set of concerns. Anyone who's locked into Microsoft will first consider moving to Apple products, not Linux. Only organisations who need a "poverty pack" solution will consider Linux+MMC. By their nature, they are difficult customers and any solution is likely to be judged "expensive".

Windows and OS/X have a slam-dunk advantage for home users: you can buy software and support for it.
Linux often fails because ISV's only make their product available for Windows or OS/X platforms - hence the interest in WINE and the commercial variant, CrossOver.
MMC would make a large number of Apps sold or available on OS/X to be used simply on Linux.
This is the potential death blow for Windows in the home: It Just Works. (with only a little configuration).

MMC is a way for ISV's to generate one package and satisfy multiple markets.
They are an obvious point of leverage and potential partners.
Would Adobe and Oracle rather try to support the myriad Linux & Unix variants out there, or meet their needs with just one (OS/X) package plus an emulator supported by someone else.

MMC would target the commercial software deficit from the OS/X, rather than Windows side.
This is significantly easier because OS/X and Linux are both POSIX-like systems underneath and the raw OS/X System calls and libraries are public via "Darwin".

OS/X also uses common software for tasks like printing (CUPS). Extracting and translating the corresponding files and executables should be straightforward.

The requirements to emulate an environment include, but aren't limited to:
  • CPU, support chips, hardware drivers, 32 or 64-bit, endian memory layout,
  • System calls,
  • standard libraries,
  • file system and package/distribution file formats,
  • file system and directory layout and naming,
  • networking,
  • packaging and distribution system, scripting languages, assumed tools and support libraries,
  • GUI calls, tools and functions.
With Windows, OS/X and Linux all running commodity IA32 hardware, many of these problems are solved.
Please be clear: MMC will not be trivial to create, nor can it ever be a perfect replica of OS/X.
Often, close, not 'perfect', is all a user wants or needs.
People who want full OS/X and are not prepared to pay Apple for a properly licensed copy, won't find an alternative with Mostly Mac Compatible.  That argument is one for Apple and those people to have.

One of the hardest low-level facilities of Windows to emulate elsewhere is file I/O and networking because of the very different approaches and structures used.
Linux and OS/X both share a common heritage , POSIX, making this an already solved "porting problem".

 Filesystem and package file formats have proven to be difficult for Windows to Linux.
OS/X ".dmg" files are compressed HFS+ filesystem images - already supported "read-only" in the Linux kernel. I've not looked into OS/X "packages" or ".mpkg" format.

Googling suggests there is an OS/X (Cocoa or Aqua?) emulator for Linux.

Most of the necessary components might already exist.

But Apple is litigious. This is a show-stopper. They are very protective of what they see as their competitive advantage...

How to sell MMC to them?
There's no way MMC can ever run applications faster or completely without problems on Linux. People who would've bought a Mac won't buy Linux+MMC instead.
MMC can only ever be a stop-gap or compatibility measure.

The real plus for Apple is that there will be a proportion of MMC users that will decide to "upgrade" to a Mac. That will steal sales directly from Microsoft at the high-end, where it hurts most.

Two Open Source companies, RedHat and Canonical,  have the technical and marketing ability to negotiate with Apple and potentially agree licensing deals with Apple.

Apple would be a lot happier and supportive of any project that both paid them money and brought them new clients.

So, what next?? I'm not sure...

No comments: