This almost turned into a "State of the Wine Project" discussion, but that's where your highest-moderated questions led, and Jeremy responded with his usual wit, wisdom, and candor. 1) Moving Target - by andrew_j_w
Do you ever get disheartened when Microsoft announces a new API, as that means you've suddenly got a whole load of new code to replicate? DirectX would seem to be a prime example of this. How do you see .Net/Mono in relation to Wine? Do you think they will ever become the prime method of running Windows applications under *nix?
We really don't care what APIs Microsoft publishes - the only thing that matters to us is what APIs are used by the applications we want to support. In fact, Wine only implements about half of the Windows APIs. Now some (like my wife) might argue that's because we're just lazy, but the truth is that over half of the Windows APIs have never been used!
So we certainly do have a moving target, but it's a target that moves at a relatively slow pace. We'll begin to feel some serious pain when applications are released as 'Longhorn only', particularly if those applications are dependent on some form of DRM or on some technology that is locked up by patents.
But luckily for us ISVs move much more slowly than Microsoft, so we should have plenty of time to keep up.
In fact, we get more pain from Linux distributions, who work at break neck speed to break Wine.
2) Educational Software - by north.coaster
It seems like most of the effort so far has been to get office productivity software (ie. Microsoft Office) to work on Linux. However, there is a market for low cost home computers that Linix could help to fill if the educational software that kids use (such as the Reader Rabbit series) could run on Linux. Why is this potential market being ignored?
Yes! I would dearly love to support schools and the use of Linux. Especially when you consider LTSP, Linux is just such a great fit for the educational environment.
Unfortunately, the reality of Wine and economics makes this hard. See, we do our best when we can focus in on a small number of applications (e.g. Microsoft Office) for which a lot of people are willing and able to pay money. Schools, unfortunately, have the reverse situation - they need support for tons and tons of applications, and they have no money .
Now the very first thing I'm going to do when I win the lottery is go buy a stack of kids games and pay some Wine hackers to get them to work (seriously; you can ask my co workers, they're sick of me talking about this pet project). Unfortunately, the last lottery ticket I bought was a bust.
But I am really encouraged in a variety of ways. First, we always hope that our paying customers will help us to do enough 'collateral damage' that more than just the applications we focus on will work; that seems to be really happening now. Second, there is a real growth in the games/DirectX support in the Wine project. There is a great group of games hackers on the Wine project - volunteers all - and their work is really helping Wine to run a lot of games (the fact that Half-Life now works in CrossOver has somehow made the proportion of QA time to development time go up around here *grin*).
Finally, we are starting to get some support for educational software; we have a very meaningful pledge for Acclerated Reader on our compatibility center (http://c4.codeweavers.com). We hope to get to that soon, and we're told that will help unblock a lot of educational organizations.
3) Isn't this effort endangered by software patents? - by rben
If the EU really does pass the software patent law under consideration and the U.S. adopts that treaty that Bush is pushing, won't MS just be able to sue any compatibility products out of business?
Yes, I think that all xGPL software is seriously threatened by patents.
Wine, I think, is safer than a project like Mono, in large part because Microsoft has only really started an aggressive patent process recently. I am not aware of any patent that the Wine project infringes upon, and no such infringement has been brought to our attention in the 10 years of the projects history.
That doesn't mean that the patent laws cannot be used as a club against Free Software projects, particulary when you realize that volunteer projects and smaller companies like CodeWeavers generally cannot afford to even fight for a dismissal of a ridiculous claim.
With that said, I think that there is a large number of very determined people in our community, myself included, that will fight strenously to see that any such abuse of the patent system will be challenged.
Further, Microsoft making the choice to use patents as an offensive weapon will be a clear sign that they are becoming desperate. It is fairly rare for a large company to use patents offensively against a smaller entity; it is generally frowned upon by the courts, and would also play very poorly in PR circles.
So, yes, it's a worry, but there will be reasons to rejoice should Microsoft try to wield that hammer.
4) LGPL Licensing - by Stealth Dave
How has the switch to LGPL affected contributions to the project, both positively and negatively? When the switch happened, there was a lot of noise from groups like Transgaming who needed to license proprietary technology from third parties, and the formation of the ReWind project. Has there been a noticable effect on contributions to WINE from outside groups as result of the licensing change?
Okay, I'm biased on this one. I am a strong advocate of the LGPL.
However, I think the effect has been extremely positive. For example, here is the historic count of lines of code added to Wine each year:
1998/1999 was when Corel's involvement in Wine was at its highest (and Wine owes Corel a debt of gratitude; they were great to Wine).
2003 was the first full year of the LGPL. You do the math.
Further, prior to the LGPL split, game development in the public Wine tree was pretty well dead. Everyone was waiting for Transgaming to return their changes, and nothing was happening.
After the split, it became clear that those changes weren't coming back to the public tree. This led to a number of volunteers taking up the challenge and improving Wine's DirectX and other game support. This has led to a resurgance in Wine's activity on games. Historically, Wine has always been focused on games, so I am personally gratified to see it return to those roots, since it's not an effort we've been able to help on much (because folks don't buy large corporate support contracts for games :-/).
Additionally, a number of people seem to prefer the LGPL; we seemed to get an influx of new blood to the project as a result of the change. Further, our cooperation with other xGPL projects like ReactOS improved, and so we got some further energy from there as well.
5) MS Security Updates Apply? - by PSaltyDS
I can see that security holes that come from Windows OS code shouldn't effect the CrossOver Office Win98-like implementation of the APIs. Security holes that come from the MS application's code may or may not be present in that environment, but how do I know? What types of MS security updates apply to my CrossOver environment, and which don't? Are any of the security houses (like e-Eye) testing for vulnerabilities in the Linux/CrossOver (or Linux/WINE) space?
Actually, much to our great surprise, the Windows Update service runs fully and completely in CrossOver. Further, we go to great pains to make sure that Office service packs apply cleanly (and we mostly succeed :-/).
We also go to all kinds of interesting lengths to avoid problems with viruses and worms. For example, we have a hack in our flavor of Wine*, in the CreateProcess call (the code to start an executable) that basically checks to see if the parent process is outlook.exe, and if it is, we crash and burn, preventing many of the worms and such from running. We also have customers that have set up chroot environments, and since Wine runs in user space, that is a theoretically perfectly secure environment.
Finally, one advantage of Wine/CrossOver, is that any infection is cleaned quite quickly with rm -rf ~/.cxoffice (and easy backup/restore methods exist).
But, for all of that, I don't want to dismiss this issue. I think anyone using Outlook (anywhere, not just CrossOver) should use a strong server side scanning product. Further, I think that the use of IE in Wine should be constrained to only those cases where it absolutely has to be used. The real truth is that when you're running Linux, you're inevitably going to be less paranoid about updating and securing any Windows environment, and that sort of neglect can lead to trouble.
6) Viral Licensing Question - by KlomDark* Changes such as this hack to Wine are internally referred to as 'Proprietary advantages'. We are seeking patents on such methods of gaining a market advantage (grin).
Aren't you worried that you'll corrupt Linux with the viral Windows licensing scheme?
Now you've learned my dirty secret, and I'll have to kill you all. I've actually been hired by Microsoft to poison this little communist enclave you have going here. You'll note that since our introduction of CrossOver Office, OpenOffice has withered and died on the vine, clear proof that we do great harm to open source projects. The dissolution of Mozilla into Firefox was a clear gesture of despair on their part over our support for IE.
Further, our use of 'proprietary advantages' to create lock in has clearly emboldened companies such as Novell to preserve and extend their proprietary lock ins on products such as the Ximian Connector...
Bwahahahaha. You're all doomed!
7) Source-level Compatibility? - by cgreuter
I hear a lot of talk about binary compatibility with Windows, but not so much about source-code-level compatibility. What sort of efforts, if any, are being made toward letting people trivially recompile existing Windows programs to run natively under Linux/X? Have any commercial software vendors considered taking this approach?
My original passion for Wine had nothing to do with running existing code. I've always loved the source porting angle much better than binary compatibility (hence my ill fated affair with TWIN aka Twine).
The good news, is that after seeing the error of my ways, we put a lot of energy into making source compatibility work extremely well. Francois did a lot of work on this, and Dimi and a few others have picked it up and really made this process sing.
I understand that the Windows build of Abiword now compiles and runs cleanly in Wine. I know that simple applications, like all of the Petzold examples, build and run in Winelib.
What's interesting (to me, anyways, the rest of you can yawn and skip to the next question) is that I've come to realize that source compatibility really isn't that important. The difference to the end user between a gcc compiled Winelib app and a Visual C++ build Windows app running with Wine is...nothing, except maybe the Visi C compiler builds slightly better, faster code.
Corel realized this; they spent an enormous amount of energy working towards a source port, and eventually just shipped a binary solution. It wasn't popular, but it was wise, imho.
However, what Winelib does allow, that *is* wicked cool, is that you can port a Windows app to a non x86 platform quite easily. I don't really know of anyone that really values this (i.e. is willing to pay big bucks for it), but it's cool, nonetheless.
8) Microsoft Source? - by NinjaPablo
If Microsoft were to release more source code (legally, not the leaked source from a while back), or if Microsoft approached the Wine team and offered access to portions of the Windows source code, would you accept it? What if it involved an NDA or adding non-GPL portions to Wine?
Well, I would refuse any kind of legal agreement that would jeapordize the ability of Wine to move forward openly and free of any MS license entanglements.
But that doesn't mean we couldn't use further help; there are certainly large areas of the Windows API that we struggle to understand, and we could certainly use some help. I, for one, would like to have seen the consent decree put in place an oversight board; while Microsoft has opened their documentation considerably since that decree, we have no one to turn to to ask for further clarifications and further information.
9) Tax Software? - by mengel
Every year I end up having to boot MSWindows in order to run Tax software. It's pretty much the only time I boot MSWindows anymore, and I end up doing a lot of work to keep that environment around and running just for that one, annual, task. And it's not just me, we have had several [slashdot.org] articles [slashdot.org] here at Slashdot discussing this topic at great length.
Are you guys working on a deal with any of the tax software publishers to ensure their software runs under Wine each year?
If not, would you consider it?
Well, we're working very hard to encourage ISVs of all kinds to work with us to bring their products to the Linux market.
And we've had some very positive responses, but I can't really tell you much more than that just yet. However, I will tell you that we are not working with any of the Tax software providers.
Candidly, that's a pretty tricky one. Because each version of Tax Software is so ephmeral, and because we get such a short time window to test and work on it, they're really hard to nail. Further, it's not clear to me that we'd really make enough money to begin to cover the costs involved. If we could, I'd do it in a heartbeat.
Feel free to assemble a possee of interested folks at http://c4.codeweavers.com; we will absolutely listen to customer demand.
10) Project David - by mfh
We've heard that Project David could be a CrossOver Office rip-off. To what extent is David a fraud and what are your options to combat those who would misrepresent themselves using your products for VC or even illegal/infringing sales revenue?
Well, I don't know anything more about Project David than anyone else who reads Slashdot, but imitation is the sincerest form of flattery, I always say. It's clear from Mike McCormack's research that it uses a version of Wine that we've released. Note that that's not necessarily fraud or a rip off of any kind - our Wine is LGPL, and it allows for just that sort of thing.
My opinion is much like others on Slashdot - they're clearly in the early stages, and don't really have a particularly impressive set of web pages. Further, they haven't really described their technology in any meaningful way.
However, this is one of the great things about the LGPL. It allows for us to have competitors spring up and try to build on our work. This is - heaven forbid - good for customers. We have to work harder and better to make sure that we continue to give our customers what they crave.
The only thing that bothers me when folks like the Project David guys come along is when they don't honor the work of those that have gone before.
I am only here today because I am able to use the hard work of many, many people who have generously given their work to us all to use. I think Alexandre has successfully eradicated the last line of my code in Wine (and he stubbornly rejects my patches, too), so nothing is Wine is anything I have built. And yet my entire livelihood and that of my family is built on Wine.
I am deeply grateful to the people that let me sell their work - even though I have paid them nothing - and the least I can do is respect and acknowledge their work.
So it bugs me when people like Project David (and others like it) come along touting their wonderful Windows compatibility without giving any props to the people that have worked so hard on Wine.
Ain't illegal, ain't fraud, but it just isn't cool in my book.
At any rate, I think that's it. Thanks for asking!