Slashdot Mirror


No WINE Before Its Time

Joe Barr writes "Stephen Feller has a story about WINE on NewsForge this morning ahead of next week's expected Beta release. The WINE project is 12 years old, so it's just about time." From the article: "'Wine has historically had a very frustrating history because it has been alpha software,' White said. 'This is really hard work. We're replicating the work of a billion-dollar company. The reason we're saying it's alpha is because we believe we still have fundamental changes to make on the way the internals work.' Noting that it has not always been easy to install software with Wine's alpha releases over the last decade, White said that once you got something working it has never meant it would continue to do so, or do so properly. There may have been display glitches or things not functioning properly, if a program even worked with Wine at all." OSTG is the parent company of both Slashdot and NewsForge.

23 of 192 comments (clear)

  1. More info.. by jkind · · Score: 5, Informative

    LWN.NET has a good rundown of new features, including Direct X 9 support and a new RichEdit control :)
    http://lwn.net/Articles/154451/

    --
    ~jennifer.k~
  2. Great Wine Quote by xactuary · · Score: 5, Funny
    The post reminded me of an old wine quote which I've used quite often... Just take a sip and say, "A naive domestic with little breeding, but I'm amused by its presumption."

    Cheers.

    --
    Say hello to my little sig.
  3. Yes but.. by Anonymous Coward · · Score: 4, Funny

    Does it run linux?

  4. VisualStudio Plugin by Anonymous Coward · · Score: 5, Interesting

    I think it would be incredible to have a VisualStudio plugin that would allow developers to target the Wine API and at least indicate if a particular API will not be supported under it. That way it makes the API less of a moving target in that it establishes WINE as the authoritative API for development of Windows applications that will work across platforms. Once people recognize that Windows is not the way forward they will appreciate having their options open.

  5. Moonbase Alpha by fm6 · · Score: 4, Funny
    The reason we're saying it's alpha is because we believe we still have fundamental changes to make on the way the internals work.
    Microsoft seems to have the same problem.
  6. vista by CDPatten · · Score: 5, Interesting

    How will Vista affect this beta release?

    1. Re:vista by smittyoneeach · · Score: 4, Funny

      Category 5 hurricane

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  7. Wine for OSX by Dr.+Spork · · Score: 5, Interesting

    You know, starting about next year, WINE will suddenly find a new big customer base, provided they can abstract the design enough to run on OSX-x86. I'm not sure how much work that would take but it certainly seems worth doing. I imagine that the people on OSX with an urge to run Windows apps will outnumber users of Linux with the same urge. Hell, if I were Codeweavers, I'd be working really hard on CrossoverOSX. There might even be good money in it!

    1. Re:Wine for OSX by fm6 · · Score: 4, Insightful
      No matter how quiet they did it, it would get back to Microsoft — and the repercussions would be extreme. The Mac still relies heavily on Microsoft's goodwill.

      The idea of running Wine on Intel Macs probably occurred to every WINE enthusiast roughly 300 milliseconds after Apple announced they were abandoning POWER. No doubt many people are working on it, including Codweavers. But forget about financial support from Apple.

    2. Re:Wine for OSX by timeOday · · Score: 4, Funny
      I'm not sure it's such a good fit:

      Mac: It Just Works.

      Wine: Whoah, something almost worked!

    3. Re:Wine for OSX by pwagland · · Score: 3, Informative
      Hell, if I were Codeweavers, I'd be working really hard on CrossoverOSX. There might even be good money in it!
      http://www.codeweavers.com/about/general/press/?id =20050622

      It would appear that you are not alone...

  8. Obsolete model? by Slashdiddly · · Score: 5, Interesting

    Could it be that the hardware improvements made over the last 12 years may have made library-level emulation unnecessary? Device-level (eg, vmware) and architecture-level (eg, virtual pc) are both simpler and more robust.

  9. Windows Standard Base by shumacher · · Score: 3, Interesting

    In the hardware-side x86 world, at least for the last fifteen years or so, you could buy a complete system, and no single company could be guaranteed a cut. AMD might get money, Intel might get money, but nobody had it locked down. Over time, the x86 has become something of a standard hardware platform. With WINE, I'd love to see a Windows Standard Base created. A single software environment that would be very commonplace, widely supported, shipped on almost all hardware, but not tied to a single company. In a sense, push Microsoft in software where IBM went with hardware. Eventually, you'll see vendors start creating secure versions, embedded versions, silly hacks to the PSP, and the money could go anywhere. Microsoft's Windows division could use some more direct competition.

    Wouldn't that be great, or am I wrong?

  10. Not as hard as quote suggests by AHumbleOpinion · · Score: 4, Insightful

    This is really hard work. We're replicating the work of a billion-dollar company.

    Yes and no. It is a little simpler than this quote suggests. Wine does not need to implement every API that Microsoft produces. It needs to implement every API that desired Windows applications use. In some ways it is a quality of service problem, the marginal cost between supporting 90% of apps and 100% of apps may be too expensive. Maybe 80% to 90% is too expensive. I don't pretend to know what the optimal percentage is but it is surely not 100% or even mid to high 90%s.

    In any case this is a monumental task and the Wine developers deserve an awful lot of credit and thanks.

    1. Re:Not as hard as quote suggests by IamTheRealMike · · Score: 5, Informative
      It's not quite that simple I'm afraid.

      Take the recent DCOM work we did. This is what I'm going to talk about because it's what I know - myself (CW) and Rob Shearman (CW), along with some help from Marcus Meissner (Novell) and Huw Davies (CW) reimplemented large parts of DCOM mostly for one application. The work took many months - starting from a pre-existing codebase written by Marcus years earlier, we were "finished" ~135 patches later.

      What was that one application which was so important?

      InstallShield.

      Now perhaps you see the problem - sure, not every API is used by every app. But there are hundreds of thousands of APIs, many extremely complex, and many millions of applications. All it takes is ONE popular application to use a single API that was not yet reimplemented and you have months of work ahead of you.

      This is especially true of something like DCOM where the supporting infrastructure for 4 or 5 functions can run to 10,000+ lines of code.

    2. Re:Not as hard as quote suggests by AHumbleOpinion · · Score: 3, Interesting

      Please don't misunderstand. I am not suggesting that targetting a subset of MS APIs is fast or easy. I've been down that road in a product far more limitted in scope than Wine, it was painful for us too. I just wanted to clarify that a successful project does not need to be a perfect, or even near perfect, Windows clone (API perspective). I suspected that some readers would focus on the entirety of MS APIs and I wanted them to reconsider doing so.

      Your point is well taken but it really seems to address how to pick which APIs go into that xx% that gives you optimal coverage. Optimal coverage is also not something that is fixed. Naturally as new or updated apps come out there will be more work (and pain) for the Wine developers. I guess another way to describe the point that I was trying to get at is that there is a lag between Microsoft introducing APIs and applications beginning to use those APIs, and that it would seem the latter is more important than the former. Adopting a new API can be tricky for a developer because that API may not be supported on older versions of Windows. I'm guessing here but I would expect apps with broader appeal, and more importance to the average Wine user, would be more resistant to requiring newer APIs with little backwards compatibility. I would expect that apps that immediately jump on new APIs and ignore backwards compatibility would tend to be more specialized and more niche oriented and less likely to be needed by Wine users. Again, just guessing.

      Maybe this leads us to a way to estimate what xx is. Take the top 10 most commonly used apps, what APIs are used? Now the top 50, then top 250. Plot the % of API coverage required, maybe we'll have a useful curve.

  11. Re:Welld duh its written in C by man_of_mr_e · · Score: 4, Interesting

    The core API is definately C, but most of the ancillary libraries are C++. Pretty much anything COM based is C++ (DirectX, OLE, GDI+, etc...).

    Not that I agree with the original poster, you can certainly emulate C++ in C.

  12. Good clone by Baramin · · Score: 5, Funny
    White said that once you got something working it has never meant it would continue to do so, or do so properly. There may have been display glitches or things not functioning properly, if a program even worked with Wine at all.


    That's what I get from WinXP on a regular basis, so I guess I could stand using Wine.
    --
    There's no place like 127.0.0.1
    MyBlog
  13. ABRs of OSS by Doc+Ruby · · Score: 4, Interesting

    "Alpha" is not a subjective measure of the quality or maturity of code. Alpha means the code has never been modified by feedback from testers who are not part of the development team. "Beta" means code that has been or is being modified after receiving beta test results from people without the expectations, therefore the blind spots and other biases, of the developers themselves. Alpha tests are important, but beta tests are much more important to determine whether the code will be acceptable by its users, especially when those users aren't the developers. The "release" test is a more subjective delineation, especially since Netscape got everyone to accept that we'd use "beta" software the same way we'd use a general release.

    So WINE might have good reasons (eg. moving Microsoft target) for remaining relatively "immature", incomplete, or buggy. But once they revised it on feedback from people outside the WINE development team, it is beta, regardless of what they call it.

    This is not a semantic argument. It's a very important point about how development/testing patterns affect code quality. Incorporating the "social" aspects of development, and their constructive/destructive effects on projects, makes development more productive. This is especially true of OSS, as projects often lack the discipline that comes with keeping the code hidden from "outsiders". Without the proprietary discipline, the alpha/beta/release discipline lets OSS projects have more flexibility, and therefore more productivity when used right. Without even the alpha/beta/release discipline, OSS projects need another to produce quality, or fail to do so.

    --

    --
    make install -not war

  14. ReactOS and WINE by Anonymous Coward · · Score: 5, Interesting

    In case anyone doesn't know. The ReactOS project works closely with WINE. They are implementing the API from WINE on a replica of the Windows 2000 kernel.

    This means that both Windows drivers and applications will work natively without any changes. They seem to have come on leaps and bounds in the past year with many applications working straight away (OpenOffice, Abiword, mIRC, Unreal Tournament, InfranView, PuTTY as some). Once they start implementing some of the security features then there will be another viable alternative.

    In the future I can imagine ReactOS coming on a CD with OpenOffice, Apache etc, much like Linux distributions do, which creates an easy migration path:

    Windows + Apps -> Windows + OSS Apps -> ReactOS + OSS Apps then then off to a Linux or *BSD varient if you want.

    1. Re:ReactOS and WINE by TwoTailedFox · · Score: 4, Informative

      Replica? Almost. ReactOS is designed to be compatible, first-off, with Windows NT 4.0.

      Networking is the next big leap for the 0.3.0 ReactOS Release. Some parts work quite well already.

      --
      ~The TwoTailedFox posts again....
  15. Property rights are a social construct. by Baldrson · · Score: 4, Insightful
    The day Bill Gates, Steve Balmer, Paul Allen, Larry Ellison, Warren Buffett, et al pay the cost of protecting their property rights is the day I'll consider respecting those property rights. Until then, everything they own is fair game.

    Since the primary function of government is the protection of non-subsistence property rights, it is sensible to charge a use fee for those rights. Note, I said "non-subsistence" property rights. The point here is that house and tools of the trade are protected from confiscation under bankruptcy law precisely because they are subsistence assets. Where government does not exist, subsistence properties are typically defended by the occupant, whose life is sustained by those assets. Government brings precisely the property rights we associate with civilization -- assets beyond home and tools of the trade.

    Given the relatively liquid nature of civilization, it makes sense to define "non-subsistence" in some dollar value of assets. Various ways of defining the dollar value are all approximately equal:

    • The median price of housing a person plus the median price of capitalizing a job.
    • The threshold used by the SEC for "qualified investor".
    • The level of savings insured by the FDIC.
    • Or, for the historically inclined: The market price of 20 arable acres in the Confederate south, a mule, a plow and a small house on such land.
    Until a citizen accumulates the subsistence net asset level, they should pay no tax and then pay tax only on the net assets they own above subsistence.

    Assessment should be by the owner, thereby establishing a "fair market value" for the exercise of eminent domain. Net assets only would be taxed and would be calculated by subtracting the fair market value of debts against the estate from the self-assessment of the occupant.

    Other forms of taxation could be eliminated in a revenue neutral way if net assets, in excess of subsistence levels, were taxed at the risk free interest rate (approximately the interest rate on the national debt).

    Indeed, given the centralization of asset ownership that has resulted from the subsidy of non-subsistence property, a subsidy inherent in civilization, it may be the failure to use this tax base is the ultimate cause of the repeated decay of civilizations from ancient times.

  16. Re:Welld duh its written in C by Anonymous Coward · · Score: 3, Informative

    How old are you, twelve? Because you're obviously not a C programmer, nor have you any idea how any of this stuff works. This much is clear from your post.

    Quit making shit up. Seriously.

    Gtk+ and by extension Gnome is object oriented and always have been. So are parts of Win32. Both use C, not C++. It is very possible to do object orientation in C. The earliest C++ compilers took C++ code and turned it into C, then passed it into a C compiler. It would still be possible to do a modern C++ compiler this way, because C++ doesn't do anything fancy that can't be expressed in C.

    Templates? Use #define or possibly some other trick. Namespaces? Put extra namespace_ crap in your symbols. Classes? Use structs. Virtual methods? Put function pointers in the structs. Inheritance? Cast structs to other structs, or store different structs in object wrappers. These are just a few ideas. What you end up with may not have as nice syntax, but it still does everything that C++ can. It is done by Microsoft. It is done by Gnome. It's really no big deal.

    I really hate it when people assume that object-oriented design depends 100% on the presence of a "class" keyword. To say that is narrow minded and shallow.