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.
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~
Cheers.
Say hello to my little sig.
Does it run linux?
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.
How will Vista affect this beta release?
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!
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.
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?
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.
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.
If you need web hosting, you could do worse than here
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
"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
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.
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.
Seastead this.
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.