Ask Slashdot: Could Linux Ever Become Fully Compatible With Windows and Mac Software?
dryriver writes: Linux has been around for a long time now. A lot of work has gone into it; it has evolved nicely and it dominates in the server space. Computer literate people with some tech skills also like to use it as their desktop OS. It's free and open source. It's not vendor-locked, full of crapware or tied to any walled garden. It's fast and efficient. But most "everyday computer users" or "casual computer buyers" still feel they have to choose either a Windows PC or an Apple device as the platform they will do their computing on. This binary choice exists largely because of very specific commercial list of programs and games available for these OSs that is not available for Linux.
Here is the question: Could Linux ever be made to become fully compatible with all Windows and Mac software? What I mean is a Linux distro that lets you successfully install/run/play just about anything significant that says "for Windows 10" or "for OSX" under Linux, without any sort of configuring or crazy emulation orgies being needed? Macs and PCs run on the exact same Intel/AMD/Nvidia hardware as Linux. Same mobos, same CPUs and GPUs, same RAM and storage devices. Could Linux ever be made to behave sufficiently like those two OSs so that a computer buyer could "go Linux" without any negative consequences like not being able to run essential Windows/Mac software at all? Or is Linux being able to behave like Windows and OSX simply not technically doable because Windows and OSX are just too damn complex to mimic successfully?
Here is the question: Could Linux ever be made to become fully compatible with all Windows and Mac software? What I mean is a Linux distro that lets you successfully install/run/play just about anything significant that says "for Windows 10" or "for OSX" under Linux, without any sort of configuring or crazy emulation orgies being needed? Macs and PCs run on the exact same Intel/AMD/Nvidia hardware as Linux. Same mobos, same CPUs and GPUs, same RAM and storage devices. Could Linux ever be made to behave sufficiently like those two OSs so that a computer buyer could "go Linux" without any negative consequences like not being able to run essential Windows/Mac software at all? Or is Linux being able to behave like Windows and OSX simply not technically doable because Windows and OSX are just too damn complex to mimic successfully?
Could it? Yes. Will it? No. The other OSes will always be putting something in that makes it break, and playing catchup isn't viable. You also don't want always to be the tail getting wagged by the big dogs.
Why is this even a question? If you want to run your Windows 10 applications, why don't you simply use Windows? Why switch to Linux if you just want it to be another form of Windows?
Next dumb question?
So rise up, all ye lost ones, as one, we'll claw the clouds.
Could WIndows and Mac ever become fully compatible with Linux software?
No, because OSX and Windows 10 contains proprietary code and probably 3rd party licensed code that Apple, Microsoft and their partners will never license under a free (libre) license that is usable in a Linux distribution. Projects like WINE will never be 100% compatible because they are trying to implement a moving target. As soon as they have reproduced the old API, there is a new not fully compatible API they have to work towards.
If this is what you want, I encourage you to become one with the community behind WINE. And, chances are they have already put a lot of effort into making, the few Windows apps worth your time, work (cough..Photoshop...cough...games...)
most computers are sold to OEMs and if an OEM pushes Linux Microsoft threatens to pull their OEM discounts. The CEO of Acer (Asus?) bitched about it publicly around the time netbooks took off.
On the plus side Linux _is_ competition. Microsoft was forced to drop prices substantially on a Windows license. On the downside this lead to them doing all sorts of nasty stuff to monetize Windows (subscription fees for business editions, installing demo software without permission, the Windows Store, etc, etc).
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Why? In order to run native windows software an emulator would be needed.
The better option is to find open source options for each of the windows type applications that are considered "essential".
Openoffice or what ever the current variation is, provides a majority of the applications typical users need.
Gimp provides another alternative, and so and so on.
Trying to run apps natively is folly. Better to get or make better alternatives to required functions.
Back in the day Wordstar was the required application until it was supplanted by Word. It can be done.
Also, don't go the dual boot route. Commit to linux and run it at all times. That is the way to find solutions to all the little programs people think they need.
Software can be cross-platform if that's one of the goals of the developer.
VLC is the best video player out there -- and it works for Linux/Windows/MacOS. So is Libre Office and Microsoft has even managed develop a cross-platform code editor -- and each one is in an entirely different programming language (C++/Java/Javascript respectively).
Will there be a day when developers mostly write cross-platform software? One can hope.
-- Political fascism requires a Fuhrer.
Windows 10 has implemented Linux system calls. You can run Linux apps on Windows.
Using what X server, if the app happens to be graphical? Microsoft doesn't provide one, and the free version of Xming hasn't been updated in a decade. Or would the app run in a localhost web server, with JavaScript in a web browser handling user interaction?
The "doesn't run ____" is fixed by spending a little time looking at Linux software till you find a replacement.
Since I posted this list of applications that are not ported to GNU/Linux several years ago, Netflix has become ported. But the majority have not been. So what replacement would you recommend for each of the following?
Adobe Photoshop, including adjustment layers, print color matching, and full compatibility with PSD files you receive from clients or team members
Adobe Animate (formerly Flash), including exporting vector animations to HTML5
TurboTax
Stone Edge Order Manager
Sonic Mania
Diablo III
StarCraft II
Street Fighter V
Call of Duty: Black Ops III
Computer literate people with some tech skills also like to use it as their desktop OS.
No, People with a lot of tech skills who don't mind spending a lot of time manually adjusting things on their computer use Linux as their desktop OS. People with better things to do use Windows or OS X.
But most "everyday computer users" or "casual computer buyers" still feel they have to choose either a Windows PC or an Apple device as the platform they will do their computing on.
No, most "everyday computer users" or "casual computer buyers" don't know or care about Linux and those that do know there are too many things in Linux require a lot of tech knowledge and the ability to use the command line that they don't wish to learn.
This binary choice exists largely because of very specific commercial list of programs and games available for these OSs that is not available for Linux.
The problem is the mindset of the Linux faithful.
"Closed source applications are EVIL!"
"Software should be free!"
"We want source code!"
"You need help?!? RTFM, you fucking n00b!"
"No one should use Windoze! You want us to make Linux more user friendly and accessible? Fuck you, Windoze Luzer!"
Until Linux gets a larger desktop user base, those applications you want to see on Linux won't be available because there is no profit in it. Linux won't get a larger desktop user base until the community gets it's collective head out of it's ass. Until then, the only hope for Linux on the desktop is a killer app and I don't see that coming anytime soon.
Bottom line, almost all Linux development is geared toward server use and even the people who want to see Linux succeed on the desktop either can't or won't do what is necessary to see it happen.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
Someone asked me to compare Windows with OSX and my answer is that I can't because I use OSX almost all the time. The only exception is two programs that I need to run. One of them has ported to OSX though and I will be purchasing it for OSX and running it. The other program is Windows-Only. No evidence that it will run under WINE. So I run a WIndows 7 VM on OSX to run it. It leaks VM on Windows 10. I would be so happy to get rid of Windows. Would I move from OSX to Linux. Unlikely. Too much nice UI candy and Apps that sync well with iOS.
Even in that case I'd have to say the answer is still no. There will be bugs that Microsoft isn't aware of, that game devs either intentionally or unintentionally exploit, which will always lead to discrepancies. The Windows APIs are just far too complicated to do the emulation precisely enough for it to always work.
For a simple kind of example, imagine a game dev writes a multi-threaded algorithm that has a concurrency bug. This concurrency bug remains undetected because in Windows, the various threads always execute in a certain order due to the way thread scheduling and timing work out. But the moment you port it to Linux, the thread scheduler is different, so the threads execute in a different order and the game deadlocks immediately.
This is just one possibility of many that can result in bugs when games run on an emulated Windows stack.
To highly just how absurdly difficult this is, notice that not even Microsoft can get it 100% right when trying to emulate older versions of Windows on modern versions. If you've ever tried to install really old games, you know how those edge cases can bite you. They do an impressively good job, but ultimately there are always edge cases that remain.
You probably actually want the answer to the question "when will the software I care about run on Linux"?
And the answer is "if there is a market for it, developers will port their software."
There are a fair number of games available via Valve Steam for Linux, there would probably be more if more if more people bought games on Linux. Hopefully Valve will put some more time into SteamOS as Windows 10 S is a threat to Steam's business model.
One thing that might also help is to set your browsers user agent to a Linux. The low representation of Linux on netcraft is used by larger companies to justify not supporting Linux.
Almost every one of Adobe's Creative Cloud products are for both Windows and OSX. What would they have to lose by selling Linux versions as well?
I guarantee you they have spent many times your annual paycheck in order to evaluate if they'll number of licenses they sell for Linux will pay off the development costs of making Linux versions of their desktop software.
For a totally contrary perspective to your argument, in the "enterprise" space (Microsoft Azure and Adobe Marketing Cloud respectively) both companies do a huge amount of revenue on Linux stacks.
I'm out of my mind right now, but feel free to leave a message.....
Half your list is games, there are now LOTS of good games that run on Linux. If you look around you can find games like those on your list.
But none that are network-compatible with those on my list. Unlike business software, whose users can collaborate through a shared file format, different games do not interoperate in multiplayer. A user would have to get all his friends to purchase a different game and switch from their preferred game to that (possibly inferior) game.
I don't know your use case for Stone Edge so kind of hard for me to find a drop in replacement.
Consider the e-commerce back end of a toy shop. Tasks include adding and updating product information, taking orders from customers in person (POS), importing customer orders from the seller's account on online sales channels such as Amazon, purchasing stock to cover existing and future orders (comprising making a purchase order with a distributor, adjusting the PO quantities based on the invoice, and receiving it to stock), updating stock quantity on online sales channels, allocating stock to orders, and mobile or web applications to pick, pack, and ship.
Photoshop can probably be replaced with GIMP. This again would require some learning and probably some plugins to get all the features you need.
In Photoshop, an adjustment layer is a layer generated by applying one or more filters to the pixels in layers below it. It automatically updates itself when the layers below it change. It's sort of like a spreadsheet, where a cell can contain a formula for its value, or a makefile, which applies a recipe to some files to create another file. A web search produces results showing that this functionality is highly desired by users of GIMP but not implemented, such as "How to create the equivalent of an Adjustment Layer in an editor that does not support it?". What plugin for GIMP automates this process of tracking dependencies on lower layers and applying a filter when they change?
Adobe Animate can be replaced by a number of animation tools. Again you would have to find best for your use case.
The features I'm looking for in a replacement for Adobe Animate include timeline-based editing, automatic inbetweening, rendering the finished animation to video, and exporting to HTML5 vector animation using Canvas or SVG (which is much smaller in bytes than video). Slashdot users often mention Synfig Studio as a replacement for Adobe Animate, but "export" in Synfig Studio means something completely different. If I wanted to animate and just render to video, I'd probably use Blender, but exporting to HTML5 vector animation is important to users on slow or capped connections to the Internet.
In the end though I am too lazy to do all your homework for you.
Then a measurable advantage of sticking with Windows, at least for a small business without the resources to hire a specialist in migration to GNU/Linux, is that sticking with familiar industry-standard software requires spending less time==money on doing homework.
The very worst case you use virtualbox and run a VM for that program.
Because this VM would require purchasing an operating system license, for the purpose of the article, this would correspond to Betteridge's answer: "no".