Hey team,
After thinking about it a lot and discussing it extensively in IRC and with a few other knowledgeable people, I think it's time to share my economic analysis of the impact of Apple's decision to move to x86 as it relates to us.
In short, Apple's move is nothing short of a tremendous potential boon. Getting Wine to work on OSX-x86 is probably one of the easier projects to do, and most of the work has been done already by the Darwine project, such as a Cocoa layer in XCode for the various graphical pieces they've created.
While XCode objective C isn't importable to the main tree, most of Wine is portable to OSX-x86 very easily. X11, while not installed by default, works just as well on OSX as it does on Linux, and unlike most projects we don't need to worry too much about adopting the OSX look and feel, since we can't do that for applications that need to look and feel like Windows to behave properly.
That said, Darwine needs to remain a fork, though perhaps a more closely-related one. We might want to host or link them more from the main page. What's needed for Darwine that isn't needed for Wine are some OSX specific things - OSX doesn't use the freedesktop.org standards, for instance, so it will have to be specially coded for. I hope to soon be working on some of the freedesktop things for Wine (such as getting that infernal start menu working in Gnome), but that's a different matter for now.
Anyway, Apple's decision has fundamentally changed Wine's market environment in a way that's extremely friendly to us. With the Mac users going to Intel, the number of potential Wine users has somewhere between tripled and quintupled, and all we have to do to get them is some relatively easy Cocoa work that's mostly done already.
More economically visible than the user base, however, is the almost overnight growth in Wine's potential market Apple's decision has caused. Right now, there are quite a few small firms roughly the size of Codeweavers that make a majority of their money JUST porting games from Wintel to OSX on PowerPC. As we know, porting these programs with Wine is far more efficient than rewriting the code from scratch to use completely different APIs, even if we have to expand Wine a little in the process. Moreover, as Wine gets better and better it becomes increasingly easier to port applications - I'm sure our users (and Transgaming's customers) wouldn't mind games working better in the free version of Wine. In economic terms, that not only means that our production technology is much better, it means we face increasing returns to scale: we can provide the same service cheaper, and the advantage is increasingly ours the more we do it.
Simply put, with Apple's move to x86 companies using Wine now have the potential to displace these small porting firms very quickly. Since Codeweavers is currently the only company of Wine experts out there, I can't think of a better firm to enter this newly changed market. If I were Codeweavers, I'd strongly consider investing in a Cocoa developer and a development kit, and put him to work making a Cocoa version of the Crossover interface. At the very least, I'd give Apple a call and see if they have any desire to help.
And Apple should be helping a lot. Now, I can't be sure if Codeweaver's don't have a secret agreement with Apple already (it would certainly be Apple's style), nor can I be sure that Apple isn't already secretly forking Wine (much like they did with Konqueror). However, the point still stands - in about a year's time, when Macs on the x86 are being sold, Longhorn still isn't out, and Wine is a stable, functional, and usable piece of free software, things are really going to shake up.
Now, firms that stand to lose out by this shakeup may be in a bit of a daze right now. They might try and deny it will ever happen, claiming Wine will never be good enough, or usable enough, or whatever, but we can all see the writing on the wall from here - the Mac Porting firm is fundamentally doomed unless they embrace our new, cheaper technology. If I had a bit of capital or a rich friend, I might even buy one of those firms myself, turn them into Wine people, help perfect Wine's gaming support, and conquer the world of porting software to OSX on the cheap.
Thanks, Scott Ritchie -YokoZar
Scott Ritchie schreef: <snip of very interesting analysis>
And this would "explain" why Wine suddenly showed up on MS's radar so publically-- a move like Apple's doesn't happen overnight, nor secretly within the industry. MS may not be the brightest bulb in the box, but even they would see the necessity to start building a framework for some form of pre-emptive strike.
Seems to me that all projects affected would want to ensure that their wagons are circled and their hatches are battened, because if the two "major minority" players jointly become able to use Windows-based applications without Windows, the trickle of migrators to both systems is likely to become a flood, and that flood will be leaking directly from MS's pockets.
And we all know how they respond to potential encroachment on "their" territory. "Competitive market"? Yeah, right.
Holly
On Thu, 09 Jun 2005 11:59:59 -0700, Scott Ritchie wrote:
In short, Apple's move is nothing short of a tremendous potential boon.
The alternative analysis is that it's bad, as it'll mean people porting their apps from Win32 to the Mac APIs using Wine, and not Linux. Porting proprietary apps from one proprietary platform to another is sorta not the point in my view. Wine isn't an end, in other words - it's a means.
By the way, this already happens. I've worked with one small game publisher who porting their Windows app to Linux first, but never released it, and then onto the Mac which was released. This is entirely without Wines intervention but it does reveal a problem we have in the community. We don't want this to get any worse than it already is.
Anyway. All this is being/has been discussed inside Codeweavers. I am resigned to being basically the only one who doesn't care and/or thinks it's bad. We'll see where this goes.
thanks -mike
On Sat, 2005-06-11 at 16:37 +0100, Mike Hearn wrote:
On Thu, 09 Jun 2005 11:59:59 -0700, Scott Ritchie wrote:
In short, Apple's move is nothing short of a tremendous potential boon.
The alternative analysis is that it's bad, as it'll mean people porting their apps from Win32 to the Mac APIs using Wine, and not Linux. Porting proprietary apps from one proprietary platform to another is sorta not the point in my view. Wine isn't an end, in other words - it's a means.
If it works for Wine on Mac, why wouldn't it work for Wine on Linux? Maybe if they do some sorta half-baked frankenstein port mixing APIs, but in that case all Wine did was reduce the expense of porting to Mac, rather than raise the expense of porting to Linux. Such a port, incidentally, would mean Wine was missing a key part of the Windows API, and extending Wine rather than converting to use the Mac APIs may be a lot more efficient.
By the way, this already happens. I've worked with one small game publisher who porting their Windows app to Linux first, but never released it, and then onto the Mac which was released. This is entirely without Wines intervention but it does reveal a problem we have in the community. We don't want this to get any worse than it already is.
Not releasing a working port is...a strange business decision. Linux ports don't have to be particularly friendly to generate a return - look at how difficult Neverwinter Nights and Doom 3 were, for example. Those two games basically had a small readme file telling people how to rip files indirectly off the CD and manually apply patches in the console - they also went rather unsupported. If that kind of a hackjob of a Linux port can still make those games popular (and, indeed, generate sales), imagine what a program with a working Wine-based installer can do.
In other words, if the game is working using Wine in Linux, or with an internal port, what on earth does an ISV have to lose by releasing it?
Anyway. All this is being/has been discussed inside Codeweavers. I am resigned to being basically the only one who doesn't care and/or thinks it's bad. We'll see where this goes.
thanks -mike
Well, the good news is that whatever it means our strategy in the coming months is still the same - make Wine a damn fine piece of software for Linux.
Thanks, Scott Ritchie
On Sat, 2005-06-11 at 11:40 -0700, Scott Ritchie wrote:
If it works for Wine on Mac, why wouldn't it work for Wine on Linux?
Well, Mac users/developers tend to write Mac software which isn't portable anywhere. That's my primary concern.
Maybe if they do some sorta half-baked frankenstein port mixing APIs, but in that case all Wine did was reduce the expense of porting to Mac, rather than raise the expense of porting to Linux. Such a port, incidentally, would mean Wine was missing a key part of the Windows API, and extending Wine rather than converting to use the Mac APIs may be a lot more efficient.
A (good) Mac port of an app basically implies rewriting the GUI anyway, you can't get native look'n'feel without it. That's not *such* a huge deal on Linux, partly because expectations are lower, and partly because the GUI is more similar to Windows anyway so you can do a lot more with theming and such.
Not releasing a working port is...a strange business decision.
They didn't want the tech support problems, unfortunately our reputation for crappy binary portability has this effect sometimes ...
Well, the good news is that whatever it means our strategy in the coming months is still the same - make Wine a damn fine piece of software for Linux.
Yes, that'll hopefully be my focus as well. My primary concern is that as software is ported or written from scratch, it targets open source APIs as then that software can easily run on Linux, MacOS, Windows, SkyOS, whatever. Whereas if people are running proprietary operating systems they tend to write apps for large and hard to emulate APIs like Win32 or Carbon/Cocoa, which isn't good for the free market.
thanks -mike
On Sat, 2005-06-11 at 20:16 +0100, Mike Hearn wrote:
On Sat, 2005-06-11 at 11:40 -0700, Scott Ritchie wrote:
If it works for Wine on Mac, why wouldn't it work for Wine on Linux?
Well, Mac users/developers tend to write Mac software which isn't portable anywhere. That's my primary concern.
Well, increased Mac-only API usage would only be caused by an increase in Apple's marketshare. But if Apple's marketshare is going up because it is more useful now that Wine works in more instances, then Linux would be experiencing the same growth in utility. Even if Linux doesn't grow that much during this period (which would be unexpected given its rapid growth and the increasing utility of Wine), I'd still rather Apple be gaining ground instead of Microsoft.
People switching from MS to Apple helps Linux too, in an indirect way - it lowers Microsoft's ability to break standards (standards that Linux wins on), and it is slightly easier to make things Apple/Linux interoperable than Windows/Linux interoperable.
In the unlikely event Apple becomes big enough to become the next Microsoft and Linux users have to start worrying about how to run Cocoa apps without equivalents, well, there's already a wine-like project to get them working :)
Maybe if they do some sorta half-baked frankenstein port mixing APIs, but in that case all Wine did was reduce the expense of porting to Mac, rather than raise the expense of porting to Linux. Such a port, incidentally, would mean Wine was missing a key part of the Windows API, and extending Wine rather than converting to use the Mac APIs may be a lot more efficient.
A (good) Mac port of an app basically implies rewriting the GUI anyway, you can't get native look'n'feel without it. That's not *such* a huge deal on Linux, partly because expectations are lower, and partly because the GUI is more similar to Windows anyway so you can do a lot more with theming and such.
And it's especially not a big deal with full-screen games, which have their own internal look and feel already. This is why games are the easiest thing to create a true port using Wine, and why I'm really excited about the future of gaming on both Macs and Linux. It's also why I claim the Mac game porting firms are in a load of trouble unless they embrace Wine.
Cheers, Scott Ritchie
On Sat, 2005-06-11 at 12:36 -0700, Scott Ritchie wrote:
Well, increased Mac-only API usage would only be caused by an increase in Apple's marketshare. But if Apple's marketshare is going up because it is more useful now that Wine works in more instances, then Linux would be experiencing the same growth in utility.
Well, I am not sure I agree with this proposition. The problem is that MacOS would now be Windows compatible, Linux/BSD compatible and Mac compatible. But there is no Mac emulator and probably won't be one for many years, if ever. So Linux can't match that level of compatibility, neither can Windows, therefore Apples utility would increase faster.
Basically the classical supply/demand based free market can't cope with the idea vendor lockin at all, it seems to degenerate into monopoly. Same is true in the digital TV market for instance.
Even if Linux doesn't grow that much during this period (which would be unexpected given its rapid growth and the increasing utility of Wine), I'd still rather Apple be gaining ground instead of Microsoft.
Hmm, why? I don't see them as being any better than each other, really. Microsoft has good points Apple lacks, Apple has good points Microsoft lacks ... it's a bit of a wash.
People switching from MS to Apple helps Linux too, in an indirect way - it lowers Microsoft's ability to break standards (standards that Linux wins on), and it is slightly easier to make things Apple/Linux interoperable than Windows/Linux interoperable.
I'm not sure I agree with this either. Why is it easier? Mac apps are not written to POSIX, they are written to the old Mac (Carbon) or NeXT (Cocoa) type APIs.
In the unlikely event Apple becomes big enough to become the next Microsoft and Linux users have to start worrying about how to run Cocoa apps without equivalents, well, there's already a wine-like project to get them working :)
If you mean GNUstep, they chose long ago not to go for Apple compatibility. Many interesting apps (like Photoshop or iTunes) also use Carbon not Cocoa. So I think it would be a Wine scale effort. Like, 10 years to get something that can run a few popular apps. Well 10 years is a long time ... in that period (the 1990s) Microsoft grew from being a small company into a really big company.
thanks -mike
On Sat, 2005-06-11 at 20:55 +0100, Mike Hearn wrote:
On Sat, 2005-06-11 at 12:36 -0700, Scott Ritchie wrote:
Well, increased Mac-only API usage would only be caused by an increase in Apple's marketshare. But if Apple's marketshare is going up because it is more useful now that Wine works in more instances, then Linux would be experiencing the same growth in utility.
Well, I am not sure I agree with this proposition. The problem is that MacOS would now be Windows compatible, Linux/BSD compatible and Mac compatible. But there is no Mac emulator and probably won't be one for many years, if ever. So Linux can't match that level of compatibility, neither can Windows, therefore Apples utility would increase faster.
This is true. However, Apple still has their main disutility working against them - much higher prices, both due to software and hardware costs. That's something they'll never be able to compete with Linux on, since Linux is free and hardware costs are at most the same as Mac.
Basically the classical supply/demand based free market can't cope with the idea vendor lockin at all, it seems to degenerate into monopoly. Same is true in the digital TV market for instance.
No argument there - monopoly creates dead weight loss felt by all consumers. We're feeling it first hand, even if we don't pay for Windows.
Even if Linux doesn't grow that much during this period (which would be unexpected given its rapid growth and the increasing utility of Wine), I'd still rather Apple be gaining ground instead of Microsoft.
Hmm, why? I don't see them as being any better than each other, really. Microsoft has good points Apple lacks, Apple has good points Microsoft lacks ... it's a bit of a wash.
Yeah, I suppose there's ups and downs to both. However, the best thing for Wine and Linux other than increasing Linux usage is probably a marketshare distribution between two extremes of Apple and Microsoft such that neither has a monopoly - in other words, more in the Apple direction than it is currently.
People switching from MS to Apple helps Linux too, in an indirect way - it lowers Microsoft's ability to break standards (standards that Linux wins on), and it is slightly easier to make things Apple/Linux interoperable than Windows/Linux interoperable.
I'm not sure I agree with this either. Why is it easier? Mac apps are not written to POSIX, they are written to the old Mac (Carbon) or NeXT (Cocoa) type APIs.
Well, code-compatibility is harder with the Mac APIs that don't have their replacements, but interoperability also includes other stuff Microsoft likes to break regularly, like network integration. Just ask our friends over at Samba :)
In the unlikely event Apple becomes big enough to become the next Microsoft and Linux users have to start worrying about how to run Cocoa apps without equivalents, well, there's already a wine-like project to get them working :)
If you mean GNUstep, they chose long ago not to go for Apple compatibility. Many interesting apps (like Photoshop or iTunes) also use Carbon not Cocoa. So I think it would be a Wine scale effort. Like, 10 years to get something that can run a few popular apps. Well 10 years is a long time ... in that period (the 1990s) Microsoft grew from being a small company into a really big company.
And many interesting apps, like Photoshop and iTunes, are also ported to Windows. Good examples too - ones that work in Wine :) I suppose you're right about the difficulty of providing an OSX compatibility layer, though it'll probably slightly easier than Wine since the Apple environment is a bit more open.
Thanks, Scott Ritchie
On Sat, 2005-06-11 at 20:22 -0700, Scott Ritchie wrote:
This is true. However, Apple still has their main disutility working against them - much higher prices, both due to software and hardware costs. That's something they'll never be able to compete with Linux on, since Linux is free and hardware costs are at most the same as Mac.
Linux is only really free if you build your own computer which is more expensive than buying one pre-made since a few years now. If you buy a computer then you have to buy either a Windows or MacOS X license with it, so Linux ends up costing more (in terms of time) than either competitor. That'll remain true until it's widely pre-loaded onto hardware.
Well, we'll see where this goes. I'm not really convinced it's a good thing but seeing as how the license allows for it, it's a somewhat academic point anyway.
thanks -mike