How much of these sorts of patches are specifically checking if a certain application is running, and then changing behavior to match what that application expects? And how much of it is simply better emulating the Windows API in general?
I think there are benefits to both approaches, not criticizing either one. I'm just curious if the implementation of a patch like this is "We fixed an inconsistency between Wine and Windows" vs "We're checking if Photoshop is running and using a different locking primitive" or whatever.
The vast majority of Windows applications uses probably 1% of the API. That's why you can play a lot of games or run a lot of different apps and they mostly seem to work and only usually the obscure features like the help section or something might not work correctly.
In this case it looks like Adobe was doing a bunch of stuff related to Internet explorer that was critical to even having the basic functionality of their installer or launchers working.
Oftentimes if you take a program that is not running correctly or at all you can look at the log output and see a large stream of unsupported or partially supported API calls.
I can't speak to this case specifically, but it's worth pointing out that Windows itself applies many patches for specific applications, so it follows that Wine could be obliged to mimic that behavior in cases where the application relies on it.
In general free open-source Wine has been developed with the philosophy of of not allowing application-specific code. Crossover (and presumably Photon), however, allows such patches for supported applications.
Patches can be motivated by specific apps, of course, but generally the requirement is to complete the patch implementing/fixing some API in a generic way, proven by additions to the test suite showing the same behavior on Windows.
What is preventing Microsoft from pulling an Oracle and suing Valve, CodeWeavers, or individual Wine maintainers for re-implementing Win32?
This question has been nagging at me for a while. Regardless of how much validity there is to the lawsuit, I imagine that going to trial would be supremely risky, because if you happen across anybody working on Wine that saw something they weren't supposed to, you could sink the whole project.
I cannot imagine Microsoft sitting by and quietly letting their Windows monopoly vanish between their fingers. Selling Windows may not be their primary focus these days, but why give up an advantage like that?
First, they probably wouldn't win. Oracle lost Google v Oracle. Wine is pretty serious about clean-room principles -- they won't accept a patch from anyone who's ever so much as looked at Microsoft-owned source code.[1] Valve has the means and motive to fight a lawsuit to the bitter end.
Second, it would be a PR disaster. "Microsoft sues to kill the Steam Deck" is an awful look for the company. Their strategy in recent years has been to say "actually we like Linux now" and play friendly to try to win developers; this would run completely counter to that. There may not be much of an immediate consequence to this, but in the long run I think we'd see developers try to reduce their reliance on Microsoft/Windows.
Third, I don't think it would actually stop the tide. Wine and Proton are a big piece of the movement away from Windows, but they're not the only piece. The legal process would take many years to play out; during that time, we'd likely see tons of movement on making it easier for developers to create native Linux builds, and perhaps even new projects that try to find other ways to do Wine-like things without actually reimplementing Win32. Losing Wine would be a huge blow, but I don't think it'd be the end of the story.
How is the Xbox market related to SteamDeck? SteamDeck plays PC games (which XBox doesn't), and XBox plays its own console games (which PCs and thus the SteamDeck don't)
(And, of course, Microsoft would also have to consider whether such a lawsuit would have greater benefits than costs. I would like to think that customer goodwill has more than zero value, for example.)
This fact pattern (reimplementing API functions for emulation or interoperability) tracks even more closely with the Connectix case than Oracle. Google reimplemented a huge swath of the Java API surface so developers could reuse libraries, but actual applications still needed porting, so there's less protection from a fair use perspective; and even then copying APIs was still ruled to be fair use.
I just don't see how Microsoft could contort the facts to achieve a meaningfully different outcome. It doesn't matter if APIs are copyrightable if copying them is fair use for just about any purpose.
I think there are two reasons this hasn't happened: (1) Wine might be useful to Microsoft at some point for providing backward compatibility in Windows itself; (2) it would be an extremely bad look/PR disaster to go after this project after spending so much time and money positioning yourself as an open source supporter
If anything Microsoft will give up their advantage by making Windows 11 a UX dumpster fire. If Windows 11 had an official way to turn off all of the garbage and opt out of their monopolistic PM-brained “features” a lot of us who switched to Linux probably wouldn’t have happened.
i was using wsl2. and got weird slowness and high cpu. appeared it was their built in antivirus(av). i disabled av, but it autoenabled later and did same.
it is possible to secure windows other way without active protection btw.
i used git on wsl2. it got weird issues with git connectivity over wifi.
github ticket not solved. one of most popular and essential dev tools is not stably working in wsl2.
many rust crates supported only mac, bsd and linux. nobody cared windows.
so even without ux of recent version, i had to leave.
for my wife is still run windows.
but. she had fully official surface laptop with official office. not 3rd party or pirated things.
and... office became very very slow just typing... it was 3 years ago.
i have run script disabling all things. it good for 3rd year now.
but how they managed to make their laptop new one, with all their things so bad?
It will kill GitHub I suspect. Who will trust them if they can pull the plug on open source projects using the dumb "API is copyrightable" claim? I'd say last time they tried to pull that by backing Oracle in that legal case, they already damaged their reputation enough.
There's no way. GitHub is already pretty hostile, but the only people who care — like in most hostile platform cases — are the ones who are directly affected.
It's a reputational thing. There is already a trend of exodus from GitHub. This Oracle style garbage will just exacerbate it. Whether they care - who knows, but it can be a reason.
But in general - as a developer you surely don't want to host your projects using someone who thinks APIs are copyrightable.
It does work reliably enough though. A huge portion of games on Linux do so via pretending to be windows via wine/proton. It’s what allows the Steam deck to exist as a product at all.
And Linux on those handheld devices out-performs windows to such a degree that Microsoft has noticed and is trying to make windows perform better on those devices, basically making a gaming mode / handheld mode for their Xbox Ally.
It's not nearly enough to matter to Microsoft. An absolute tiny percentage of desktop computers/laptops run Linux.
This is actually a good thing if you're hoping WINE avoids a legal fight with Microsoft. It doesn't matter who's right, Microsoft has deep enough pockets to drag anyone through expensive litigation.
I'm an active Linux user and I play tons of games via Proton. But this isn't something I'd suggest to normal people. I've spent more time than I'd like to admit keeping Linux working.
They also served as a foundation for much of my career growth. But I understand it's not for everyone.
I don't think it matters very much. It's not a matter of "if" but of "when": one is consistently getting worse, and the other is measurably getting better and more compatible with the former. Unless of a drastic paradigm change, Linux will see more and more users. Trump dismantling of the global system of trade might also add another nail to this coffin (the recent talk by Cory Doctorow at CCC gives a good picture of how and why).
This is just for the installer so it saves you the "install on Windows and move files to Linux" step however the Adobe suite still runs poorly in WINE.
I'd be pretty thrilled if I could run Lightroom on Linux. Photoshop is great too but Lightroom is my main app for my biggest hobby and I've had to buy myself a whole MacBookPro just to do it without dual booting Windows, which really raises the mental barrier for me to jump in and edit photos, which makes me want to take them a lot less.
I've tried Darktable and it's pretty impressive software and could probably handle most of my needs. But apparently I'm now that old guy who's been using software X for 20 years and refuses to change his ways because it's not worth it. At least when it comes to Lightroom.
You could run in a VM - check out WinBoat which allows individual apos in a containerised Windows install to integrate seamlessly with your linux desktop environment
Curious if someone could enlighten me-
How much of these sorts of patches are specifically checking if a certain application is running, and then changing behavior to match what that application expects? And how much of it is simply better emulating the Windows API in general?
I think there are benefits to both approaches, not criticizing either one. I'm just curious if the implementation of a patch like this is "We fixed an inconsistency between Wine and Windows" vs "We're checking if Photoshop is running and using a different locking primitive" or whatever.
The vast majority of Windows applications uses probably 1% of the API. That's why you can play a lot of games or run a lot of different apps and they mostly seem to work and only usually the obscure features like the help section or something might not work correctly.
In this case it looks like Adobe was doing a bunch of stuff related to Internet explorer that was critical to even having the basic functionality of their installer or launchers working.
Oftentimes if you take a program that is not running correctly or at all you can look at the log output and see a large stream of unsupported or partially supported API calls.
I can't speak to this case specifically, but it's worth pointing out that Windows itself applies many patches for specific applications, so it follows that Wine could be obliged to mimic that behavior in cases where the application relies on it.
A tale as old as time.
https://arstechnica.com/gadgets/2022/10/windows-95-went-the-...
https://devblogs.microsoft.com/oldnewthing/20031015-00/?p=42...
https://devblogs.microsoft.com/oldnewthing/20160418-00/?p=93...
Not just Windows, it’s pretty common all over the place. I know for a fact web browsers and GPU driver will do the same
In general free open-source Wine has been developed with the philosophy of of not allowing application-specific code. Crossover (and presumably Photon), however, allows such patches for supported applications.
Patches can be motivated by specific apps, of course, but generally the requirement is to complete the patch implementing/fixing some API in a generic way, proven by additions to the test suite showing the same behavior on Windows.
What is preventing Microsoft from pulling an Oracle and suing Valve, CodeWeavers, or individual Wine maintainers for re-implementing Win32?
This question has been nagging at me for a while. Regardless of how much validity there is to the lawsuit, I imagine that going to trial would be supremely risky, because if you happen across anybody working on Wine that saw something they weren't supposed to, you could sink the whole project.
I cannot imagine Microsoft sitting by and quietly letting their Windows monopoly vanish between their fingers. Selling Windows may not be their primary focus these days, but why give up an advantage like that?
First, they probably wouldn't win. Oracle lost Google v Oracle. Wine is pretty serious about clean-room principles -- they won't accept a patch from anyone who's ever so much as looked at Microsoft-owned source code.[1] Valve has the means and motive to fight a lawsuit to the bitter end.
Second, it would be a PR disaster. "Microsoft sues to kill the Steam Deck" is an awful look for the company. Their strategy in recent years has been to say "actually we like Linux now" and play friendly to try to win developers; this would run completely counter to that. There may not be much of an immediate consequence to this, but in the long run I think we'd see developers try to reduce their reliance on Microsoft/Windows.
Third, I don't think it would actually stop the tide. Wine and Proton are a big piece of the movement away from Windows, but they're not the only piece. The legal process would take many years to play out; during that time, we'd likely see tons of movement on making it easier for developers to create native Linux builds, and perhaps even new projects that try to find other ways to do Wine-like things without actually reimplementing Win32. Losing Wine would be a huge blow, but I don't think it'd be the end of the story.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Submitting-Patch...
> Second, it would be a PR disaster. "Microsoft sues to kill the Steam Deck" is an awful look for the company.
If the alternative is losing the entire Xbox market? Money makes people and companies do funny things.
How is the Xbox market related to SteamDeck? SteamDeck plays PC games (which XBox doesn't), and XBox plays its own console games (which PCs and thus the SteamDeck don't)
Oracle lost Google v. Oracle.
The main issues I'm aware of are whether APIs are copyrightable, and if so, whether implementing them qualifies as fair use.
https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....
(And, of course, Microsoft would also have to consider whether such a lawsuit would have greater benefits than costs. I would like to think that customer goodwill has more than zero value, for example.)
Going back a bit further:
https://en.wikipedia.org/wiki/Sony_Computer_Entertainment%2C...
https://en.wikipedia.org/wiki/Sega_v._Accolade
This fact pattern (reimplementing API functions for emulation or interoperability) tracks even more closely with the Connectix case than Oracle. Google reimplemented a huge swath of the Java API surface so developers could reuse libraries, but actual applications still needed porting, so there's less protection from a fair use perspective; and even then copying APIs was still ruled to be fair use.
I just don't see how Microsoft could contort the facts to achieve a meaningfully different outcome. It doesn't matter if APIs are copyrightable if copying them is fair use for just about any purpose.
I think there are two reasons this hasn't happened: (1) Wine might be useful to Microsoft at some point for providing backward compatibility in Windows itself; (2) it would be an extremely bad look/PR disaster to go after this project after spending so much time and money positioning yourself as an open source supporter
Also, to add the current CEO doesn't care about the OS. All he cares about is the stock price, and his AI mistake.
If anything Microsoft will give up their advantage by making Windows 11 a UX dumpster fire. If Windows 11 had an official way to turn off all of the garbage and opt out of their monopolistic PM-brained “features” a lot of us who switched to Linux probably wouldn’t have happened.
i was using wsl2. and got weird slowness and high cpu. appeared it was their built in antivirus(av). i disabled av, but it autoenabled later and did same. it is possible to secure windows other way without active protection btw.
i used git on wsl2. it got weird issues with git connectivity over wifi. github ticket not solved. one of most popular and essential dev tools is not stably working in wsl2.
many rust crates supported only mac, bsd and linux. nobody cared windows.
so even without ux of recent version, i had to leave.
for my wife is still run windows.
but. she had fully official surface laptop with official office. not 3rd party or pirated things.
and... office became very very slow just typing... it was 3 years ago.
i have run script disabling all things. it good for 3rd year now.
but how they managed to make their laptop new one, with all their things so bad?
It will kill GitHub I suspect. Who will trust them if they can pull the plug on open source projects using the dumb "API is copyrightable" claim? I'd say last time they tried to pull that by backing Oracle in that legal case, they already damaged their reputation enough.
There's no way. GitHub is already pretty hostile, but the only people who care — like in most hostile platform cases — are the ones who are directly affected.
It's a reputational thing. There is already a trend of exodus from GitHub. This Oracle style garbage will just exacerbate it. Whether they care - who knows, but it can be a reason.
But in general - as a developer you surely don't want to host your projects using someone who thinks APIs are copyrightable.
This stuff will never ever ever work real and reliably enough for Microsoft to care.
Normal people don't want to use Linux. Normal people can't even install an OS. None the less fight kernel regressions for days.
I can even imagine Microsoft coming out with MS Linux one day and contributing to Wine. That's far more likely at this point.
It does work reliably enough though. A huge portion of games on Linux do so via pretending to be windows via wine/proton. It’s what allows the Steam deck to exist as a product at all.
And Linux on those handheld devices out-performs windows to such a degree that Microsoft has noticed and is trying to make windows perform better on those devices, basically making a gaming mode / handheld mode for their Xbox Ally.
It's not nearly enough to matter to Microsoft. An absolute tiny percentage of desktop computers/laptops run Linux.
This is actually a good thing if you're hoping WINE avoids a legal fight with Microsoft. It doesn't matter who's right, Microsoft has deep enough pockets to drag anyone through expensive litigation.
I'm an active Linux user and I play tons of games via Proton. But this isn't something I'd suggest to normal people. I've spent more time than I'd like to admit keeping Linux working.
They also served as a foundation for much of my career growth. But I understand it's not for everyone.
> It's not nearly enough to matter to Microsoft. An absolute tiny percentage of desktop computers/laptops run Linux.
It matters enough to launch WSL, WSL2, etc. which are the "embrace & extend" part of the strategy.
I don't think it matters very much. It's not a matter of "if" but of "when": one is consistently getting worse, and the other is measurably getting better and more compatible with the former. Unless of a drastic paradigm change, Linux will see more and more users. Trump dismantling of the global system of trade might also add another nail to this coffin (the recent talk by Cory Doctorow at CCC gives a good picture of how and why).
It already works for gaming reliably enough.
This is just for the installer so it saves you the "install on Windows and move files to Linux" step however the Adobe suite still runs poorly in WINE.
Previous discussion: https://news.ycombinator.com/item?id=46749508
I'd be pretty thrilled if I could run Lightroom on Linux. Photoshop is great too but Lightroom is my main app for my biggest hobby and I've had to buy myself a whole MacBookPro just to do it without dual booting Windows, which really raises the mental barrier for me to jump in and edit photos, which makes me want to take them a lot less.
I've tried Darktable and it's pretty impressive software and could probably handle most of my needs. But apparently I'm now that old guy who's been using software X for 20 years and refuses to change his ways because it's not worth it. At least when it comes to Lightroom.
You could run in a VM - check out WinBoat which allows individual apos in a containerised Windows install to integrate seamlessly with your linux desktop environment