Hi,
here are, from an obvious user perspective, my 0.02$ on the issue.
- Platinum: app works "out of the box" -- without changing any settings -- *and* as well as on MS-Windows. That means no feature is missing: music plays, graphics look similar on both plattforms, the perceived speed or responsiveness is similar, ... (Question: does the need to install thrid party SW like codecs or Quicktime preclude "platinum" because it's not "out of the box"?)
For anything below platinum, I don't want AppDB to ask users to compare with MS-Windows. Users either don't care about MS-Windows or don't have the time to perform a dual installation or don't even have a MS-Windows machine! Yet to gain platinum rating, I concede that the additional effort to test the application's behaviour on MS-Windows is valuable to detect discrepancies between the two ("hey, I didn't know before that the application would play background music!").
- Garbage: nobody knows how to make this app work with that version of wine. Don't buy it, you are likely wasting your time & money.
Anything else gets a rating above garbage, no matter how ugly the fix or patch is. What counts is that there's a known way to make it work.
- Bronze: the application shows a "promise" that some additional fixes and patches may make it work well.
I'm opposed to the idea that a given AppDB version should only denote an unpatched wine in test results. Consider how Dan Kegel recently recommended distributors not to distribute 1.1.12. E.g. a hypothetical future Ubuntu package "1.1.12" may contain the official 1.1.12 plus the three patches that Dan Kegel recommends. Users would likely not know nor notice. Typically, distributors add whatever patches they feel right to the upstream releases. So it does not seem practical to have the need for a patch prevent ratings above garbage (or bronze), as some people suggested here.
To me, 1.1.12 plus N patches (N "small") is still 1.1.12 as far as the AppDB is concerned. However N>0 might preclude platinum, as defined above (except for Ubuntu users).
Similarly, AppDB might prevent Gold or Silver ratings depending on qualitative aspects of the steps needed to make an app work: - need for known distributable third party libraries (e.g. codecs, Quicktime) (not provided with the application's installer) - complexity of settings (winecfg vs. *.reg vs. environment variable vs. ...) - nocd or not copy-protected executables - patch to source, requiring compilation of wine E.g. Recompilation would prevent Gold?
Would you agree that any application in need of a nocd would necessarily rate one level below another one not "equipped" with copy protection?
Or does only the result count, and e.g. "Gold" is perfectly describing an application that works flawlessly "out of the box", except you need to replace the .exe with the nocd one between install and run? (So far I have handled it like this, a patch is not enough reason to drop a rating to garbage, this does not effectively describe the user experience.)
Regards, Jörg Höhle
2009/1/20 Joerg-Cyril.Hoehle@t-systems.com:
Hi,
here are, from an obvious user perspective, my 0.02$ on the issue.
- Platinum: app works "out of the box" -- without changing any
settings -- *and* as well as on MS-Windows. That means no feature is missing: music plays, graphics look similar on both plattforms, the perceived speed or responsiveness is similar, ... (Question: does the need to install thrid party SW like codecs or Quicktime preclude "platinum" because it's not "out of the box"?)
3rd-party software like codecs or Quicktime do not ship as part of Windows, they ship as part of the software that depends on them. I cover this again further down.
For anything below platinum, I don't want AppDB to ask users to compare with MS-Windows. Users either don't care about MS-Windows or don't have the time to perform a dual installation or don't even have a MS-Windows machine!
This appears to defeat your argument, since the appdb is maintained and updated by users. If users "don't care about" or "don't have the time" for Windows, then you'll end up never getting a platinum rating with this qualification.
Yet to gain platinum rating, I concede that the additional effort to test the application's behaviour on MS-Windows is valuable to detect discrepancies between the two ("hey, I didn't know before that the application would play background music!").
Yes, it is valuable, however it's not practical, as you pointed out earlier. It's also implying that you need a copy of Windows to use Wine to its fullest. We shouldn't assume that *anyone* using Wine has a copy of Windows too.
- Garbage: nobody knows how to make this app work with that version of
wine. Don't buy it, you are likely wasting your time & money.
Wine does not only run commercial applications. Instructing users to not buy products in the rating definitions is, again, assuming far too much about what the users are trying to do.
In some cases, there are apps that are impossible to make functional in Wine. Your suggested description implies that there are no such cases, and that some future version of Wine will be able to handle it.
Anything else gets a rating above garbage, no matter how ugly the fix or patch is. What counts is that there's a known way to make it work.
- Bronze: the application shows a "promise" that some additional fixes
and patches may make it work well.
Wow, this is completely unsuitable as a rating description without a detailed definition of what a "promise" means. It also disqualifies cases of "it runs, but not well" where no known patches or "fixes" make it run better.
I'm opposed to the idea that a given AppDB version should only denote an unpatched wine in test results. Consider how Dan Kegel recently recommended distributors not to distribute 1.1.12. E.g. a hypothetical future Ubuntu package "1.1.12" may contain the official 1.1.12 plus the three patches that Dan Kegel recommends.
I thought you just said Dan was recommending distributors NOT distribute 1.1.12!
Also note that WineHQ distributes its own packages of Wine for Ubuntu. Technically, we should only support these packages, and not those shipped by Ubuntu.
Users would likely not know nor notice.
This is the problem. If a user doesn't know what patches have been applied to their Wine that make their application work, then the AppDB will have blatantly incorrect information. AppDB implies that *no patches* were applied to Wine when the apps were tested. Saying we only want test data from unpatched Wine releases makes the implication explicit instead. This is a good thing.
Typically, distributors add whatever patches they feel right to the upstream releases. So it does not seem practical to have the need for a patch prevent ratings above garbage (or bronze), as some people suggested here.
It's more impractical to allow users to submit test data from patched Wines. What happens if the patches aren't specified in the test data, or if the patches are something the user has written but hasn't made public?
To me, 1.1.12 plus N patches (N "small") is still 1.1.12 as far as the AppDB is concerned. However N>0 might preclude platinum, as defined above (except for Ubuntu users).
You have to define what "small" is. Even then, it doesn't help, because you could have one really big patch, or one really small (as in one-line) patch that violently changes the behaviour of Wine.
To me, and I would guess to most Wine developers, 1.1.12 means 1.1.12 as accessible from upstream. So if you go to Wine's directory on ibiblio.org and download a tarball, you get the exact source used to compile that version of Wine.
Note that some common patches, like the CoD/3DMark patch, break more apps than they fix. In your opinion, should there be any criteria on what patches should be allowed in test data for appdb?
Similarly, AppDB might prevent Gold or Silver ratings depending on qualitative aspects of the steps needed to make an app work:
- need for known distributable third party libraries (e.g. codecs, Quicktime)
(not provided with the application's installer)
This is already covered in the current "Gold" rating description. If the application requires such 3rd-party libraries that are *not normally present* on Windows (e.g. codecs, Quicktime), then it should ship with them. If the shipped 3rd-party libraries do not install for whatever reason, it's not a Platinum app.
- complexity of settings (winecfg vs. *.reg vs. environment variable vs. ...)
Current "Platinum" description mentions winecfg. If you have to change settings in winecfg to make it work, then it's not "Platinum". E.g, copy-protection that disables itself when it detects WinNT. In theory, the copy-protection should work correctly (or, "as expected"), regardless of what Windows version is reported by Wine.
- nocd or not copy-protected executables
Unless these are shipped by the developer (e.g. the no-CD patches to Starcraft and Diablo II released by Blizzard), these are 3rd-party software. They're also more dangerous than just codecs and Quicktime, which you mention before.
- patch to source, requiring compilation of wine
E.g. Recompilation would prevent Gold?
There is no case where this _should_ be true. In reality, recompiling Wine from source could produce different results if the original was patched, or if some dependant libs (e.g. OpenGL, a common omission for new users) are missing at configure stage, or if some incorrect or incompatible CFLAG has been used.
Would you agree that any application in need of a nocd would necessarily rate one level below another one not "equipped" with copy protection?
This is essentially what's covered in the current "Gold" description. If it runs perfectly, but only with a no-CD patch, it's "Gold", not "Platinum". However, if it runs like crap (i.e. "Bronze") but only with a no-CD patch, I don't think "Garbage" would always be the most suitable rating. It should be up to the user to decide just how badly their app runs.
Or does only the result count, and e.g. "Gold" is perfectly describing an application that works flawlessly "out of the box", except you need to replace the .exe with the nocd one between install and run? (So far I have handled it like this, a patch is not enough reason to drop a rating to garbage, this does not effectively describe the user experience.)
Again, this is not different from what the current rating descriptions say.
Regards, Jörg Höhle
On Tue, Jan 20, 2009 at 12:39:25PM +1100, Ben Klein wrote:
2009/1/20 Joerg-Cyril.Hoehle@t-systems.com:
Similarly, AppDB might prevent Gold or Silver ratings depending on qualitative aspects of the steps needed to make an app work:
- need for known distributable third party libraries (e.g. codecs, Quicktime)
(not provided with the application's installer)
This is already covered in the current "Gold" rating description. If the application requires such 3rd-party libraries that are *not normally present* on Windows (e.g. codecs, Quicktime), then it should ship with them. If the shipped 3rd-party libraries do not install for whatever reason, it's not a Platinum app.
What about apps that fail to include a necessary third-party library?
If I understand the AppDB comments and followed the IRC discussion correctly, Warcraft 3's latest patch (1.22) was built with a newer Visual Studio and so requires new Visual C runtimes, while previous versions did not. And the patcher doesn't install these runtimes.
Assuming the above is correct (if I'm wrong, take it as a hypothetical) then would that rate as Platinum if it's otherwise perfect?
I'm of the opinion that it does, on the grounds that Wine itself is working fine, the problem is actually an upstream bug.
The maintainer of the relevant AppDB page (or at least the author of one of the notes on that page, I presume the maintainer does that) does not.
On Wed, 21 Jan 2009, Paul TBBle Hampson wrote: [...]
What about apps that fail to include a necessary third-party library?
If I understand the AppDB comments and followed the IRC discussion correctly, Warcraft 3's latest patch (1.22) was built with a newer Visual Studio and so requires new Visual C runtimes, while previous versions did not. And the patcher doesn't install these runtimes.
If you don't need to manually install the third-party library on a stock installation of the application's officially supported Windows platform (e.g. Wow on Windows XP), then you should not need to manually install it in Wine. If you do, then that application cannot be rated platinum.
On Tue, Jan 20, 2009 at 06:34:14PM +0100, Francois Gouget wrote:
On Wed, 21 Jan 2009, Paul TBBle Hampson wrote: [...]
What about apps that fail to include a necessary third-party library?
If I understand the AppDB comments and followed the IRC discussion correctly, Warcraft 3's latest patch (1.22) was built with a newer Visual Studio and so requires new Visual C runtimes, while previous versions did not. And the patcher doesn't install these runtimes.
If you don't need to manually install the third-party library on a stock installation of the application's officially supported Windows platform (e.g. Wow on Windows XP), then you should not need to manually install it in Wine. If you do, then that application cannot be rated platinum.
True, but not the point I'm talking about.
On a stock install of Windows XP, you'd have to go get the runtimes and install them, same as under a stock Wine prefix.
On a well-used Windows XP install, you most likely already have the Visual Studio 7 runtimes installed, so won't notice the flaw in the installer. Same as under a well-used Wine prefix.
To my mind, this shouldn't prevent the application being rated platinum.
The maintainer of Warcraft 3 rather feels that until Wine implements the Visual Studio 7 runtime libraries as builtins, Warcraft 3 cannot be rated platinum.
On Thu, 22 Jan 2009, Paul TBBle Hampson wrote: [...]
If you don't need to manually install the third-party library on a stock installation of the application's officially supported Windows platform (e.g. Wow on Windows XP), then you should not need to manually install it in Wine. If you do, then that application cannot be rated platinum.
True, but not the point I'm talking about.
Strange. It seemed spot on to me and I have not seen anything that would make me think otherwise so far.
On a stock install of Windows XP, you'd have to go get the runtimes and install them, same as under a stock Wine prefix.
Are you sure? It's quite possible that some Windows component (IE 7, Messenger, a service pack, etc) installs these runtimes so that you would not see this issue on Windows XP (or Vista). If so the Warcraft 3 maintainer is correct and the application cannot be rated platinum.
So maybe rather than 'stock Windows installation' I should say an 'up to date Windows installation with no third party software'.
On Thu, Jan 22, 2009 at 12:09:52PM +0100, Francois Gouget wrote:
On Thu, 22 Jan 2009, Paul TBBle Hampson wrote: [...]
If you don't need to manually install the third-party library on a stock installation of the application's officially supported Windows platform (e.g. Wow on Windows XP), then you should not need to manually install it in Wine. If you do, then that application cannot be rated platinum.
True, but not the point I'm talking about.
Strange. It seemed spot on to me and I have not seen anything that would make me think otherwise so far.
On a stock install of Windows XP, you'd have to go get the runtimes and install them, same as under a stock Wine prefix.
Are you sure? It's quite possible that some Windows component (IE 7, Messenger, a service pack, etc) installs these runtimes so that you would not see this issue on Windows XP (or Vista). If so the Warcraft 3 maintainer is correct and the application cannot be rated platinum.
So maybe rather than 'stock Windows installation' I should say an 'up to date Windows installation with no third party software'.
Warcraft III and Frozen Throne expansion was released to support Windows 98/ME/2k/XP. Nowhere in it's patch notes does it say that the minimum requirements to run Warcraft 3 have changed to have the minimum requirements of Windows 2k & XP only. Since to my knowledge the Visual Studio 2008 (I believe that is 7, right?), doesn't have an runtimes for Windows 98 or ME.
Basically to me the game developer dropped the ball, they shouldn't have compiled the patch contents in such a way that a) required a distributable that is not supported on all of the platforms they originally released a product for or b) failed to include the necessary runtimes when using any Visual Studio product.
On Thu, 22 Jan 2009 11:48:34 +0000 Darragh Bailey felix@compsoc.nuigalway.ie wrote:
Warcraft III and Frozen Throne expansion was released to support Windows 98/ME/2k/XP. Nowhere in it's patch notes does it say that the minimum requirements to run Warcraft 3 have changed to have the minimum requirements of Windows 2k & XP only. Since to my knowledge the Visual Studio 2008 (I believe that is 7, right?), doesn't have an runtimes for Windows 98 or ME.
Warcraft III and Frozen Throne needs MS Visual C 2005 Runtimes for patch 1.22 and newer.
2009/1/22 Paul TBBle Hampson Paul.Hampson@pobox.com:
On Tue, Jan 20, 2009 at 06:34:14PM +0100, Francois Gouget wrote:
On Wed, 21 Jan 2009, Paul TBBle Hampson wrote: [...]
What about apps that fail to include a necessary third-party library?
If I understand the AppDB comments and followed the IRC discussion correctly, Warcraft 3's latest patch (1.22) was built with a newer Visual Studio and so requires new Visual C runtimes, while previous versions did not. And the patcher doesn't install these runtimes.
If you don't need to manually install the third-party library on a stock installation of the application's officially supported Windows platform (e.g. Wow on Windows XP), then you should not need to manually install it in Wine. If you do, then that application cannot be rated platinum.
True, but not the point I'm talking about.
On a stock install of Windows XP, you'd have to go get the runtimes and install them, same as under a stock Wine prefix.
On a well-used Windows XP install, you most likely already have the Visual Studio 7 runtimes installed, so won't notice the flaw in the installer. Same as under a well-used Wine prefix.
To my mind, this shouldn't prevent the application being rated platinum.
The maintainer of Warcraft 3 rather feels that until Wine implements the Visual Studio 7 runtime libraries as builtins, Warcraft 3 cannot be rated platinum.
Perhaps this argument can be summarised thusly: If 1. the required libraries are not intended to be a part of Wine (e.g., obscure 3rd-party runtimes) at any time in the future, and 2. the application requiring the libraries does not correctly ship the runtime libraries, then C. the requirement of native versions of the libraries separate from an application's installer should not impede an application from being rated "Platinum".
So in the case of Warcraft 3 (or WoW, or whatever we're talking about now), we've established that #2 is true for the patch (the patch does not ship with the VC7 runtime, required to run the game after patching). Perhaps the question remains, is a VC7 runtime library intended to be developed and shipped with Wine? I don't think this is the case.
What it boils down to is expected behaviour. Is it expected that the patched game should fail, due to missing VC7 runtime, on a regular Windows system (assuming no other software has installed VC7 runtime already)? If so, then it is in fact working correctly, and perhaps does deserve a "Platinum" rating.
On Thu, 22 Jan 2009, Ben Klein wrote: [...]
Perhaps the question remains, is a VC7 runtime library intended to be developed and shipped with Wine? I don't think this is the case.
We have msvcirt, msvcrt, msvcrt20, msvcrt40, msvcr71 so I would not be so sure. Which dlls are we talking about anyway?
msvcp80 and msvcr80? Or is it mfc80 that's needed?
Btw, the AppDB mentions Visual C++ 2005 which means we're talking about VC8, not VC7. Or is the AppDB wrong? Or maybe I'm looking at the wrong AppDB entry: there's Reign of Chaos (rated platinum), and the Frozen Throne (rated gold).
2009/1/22 Francois Gouget fgouget@free.fr:
On Thu, 22 Jan 2009, Ben Klein wrote: [...]
Perhaps the question remains, is a VC7 runtime library intended to be developed and shipped with Wine? I don't think this is the case.
We have msvcirt, msvcrt, msvcrt20, msvcrt40, msvcr71 so I would not be so sure. Which dlls are we talking about anyway?
I'm always happy to be corrected :)
msvcp80 and msvcr80? Or is it mfc80 that's needed?
Btw, the AppDB mentions Visual C++ 2005 which means we're talking about VC8, not VC7. Or is the AppDB wrong? Or maybe I'm looking at the wrong AppDB entry: there's Reign of Chaos (rated platinum), and the Frozen Throne (rated gold).
Someone mentioned Warcraft 3, someone else mentioned WoW, I'm not sure any more. It's all too confusing when you're low on coffee :P
On Thu, Jan 22, 2009 at 10:56:50PM +1100, Ben Klein wrote:
2009/1/22 Francois Gouget fgouget@free.fr:
On Thu, 22 Jan 2009, Ben Klein wrote: [...]
Perhaps the question remains, is a VC7 runtime library intended to be developed and shipped with Wine? I don't think this is the case.
We have msvcirt, msvcrt, msvcrt20, msvcrt40, msvcr71 so I would not be so sure. Which dlls are we talking about anyway?
I'm always happy to be corrected :)
I guess that's the crux of the question. To my mind, msvc runtimes are normally distributed with the using application (except some early ones which I think comes with all the versions of 32-bit Windows) and operate without hardware/HAL dependencies so they're not something that Wine needs to implement to be a complete implementation of Win32.
They would be nice to have, sure. And then the upstream redistributable package will see that they are already installed and not install them. I presume this is the eventual goal for DirectX 9's D3DX support.
Is bug-for-bug compatibility enough for platinum? Or do we need to be not just bug-for-bug compatible, but catching and fixing application bugs or installer bugs which trigger more frequently under Wine than Windows?
The .NET 2.0 installer comes to mind here as a counterexample. It fails under Wine's WinXP mode because it uses a capability test which infers the right conclusion under Windows, but the wrong conclusion under Wine, despite there being a different test which actually answers the question being inferred. I guess under the above reasoning, that would not prevent it from being platinum, despite it being non-functional under the default configuration.
.NET 2.0 is actually another example of a runtime which is often left out of installers, with a note at the website (or not at all) saying "You need .NET 2.0 installed". (I guess the eventual plan is to integrate an mscoree.dll that points to Mono? I think I saw that on the Wiki, anyway)
Should Wine act like a stock Windows (or stock + service packs) or should it also be expected to provide whatever other random extension libraries Microsoft publishes? (eg. Speech SDK...)
I hadn't realised Wine provided a msvcr71 implementation for that matter.
msvcp80 and msvcr80? Or is it mfc80 that's needed?
Btw, the AppDB mentions Visual C++ 2005 which means we're talking about VC8, not VC7. Or is the AppDB wrong? Or maybe I'm looking at the wrong AppDB entry: there's Reign of Chaos (rated platinum), and the Frozen Throne (rated gold).
Someone mentioned Warcraft 3, someone else mentioned WoW, I'm not sure any more. It's all too confusing when you're low on coffee :P
The DLL confusion is my fault, I misaligned Visual C and Visual Studio versions in my head.
In this case, it's Visual Studio 2005, msvc?80.dll.
Which coincidentally is the first one to implement SxS, which means it behaves differently under <= Win2k and >= WinXP.
I dunno where WoW came into it, I was talking about Warcraft 3.
Mind you, occasionally AppDB users (and bug reporters) confused the two as well. It doesn't help that WoW hit version 3 late last year.