I'm using Linux for the past 15 years, in various flavors and to varying degrees. My current desktop PC is a dual-boot Linux and Windows XP rig.

There are so many things I like about Linux, and I would be a happy camper if only I could have a single-boot Linux PC. Unfortunately that is not possible!

Why? The commercial (=paid for) applications I'm using under Windows are not available on Linux !

Before you say "go and find an open-source freeware software, there are tens of thousands of applications available, sure there's one that fits you" - I've tried it. Again and again and again. And no, for what I want to do there are perhaps many Linux-based applications but none that is even remotely up to the task.

So why is it that so few software vendors dare to bring out Linux-based releases?

Here some possible reasons:

  • Difficult to port Windows / Mac code to Linux - it has been done and there are many open-source applications available for Linux and Windows and/or Mac;
  • Lack of Linux know-how/manpower - that's possible, but I doubt this is the reason;
  • Supporting Linux users - this I believe is the main problem.

Support for Linux starts with the distribution support. With Windows it's quite easy: Win XP, Vista, and Win 7 would cover the vast majority of the desktop users, with Win XP going back 10 years or so. In Linux we would have Ubuntu, Fedora, Debian, Suse, at the very least. One could go on with Gentoo, Puppy, Arch, etc. I'm not even counting Linux Mint since it's either Ubuntu or (lately also) Debian based. So to be on the save side, a vendor would have to support the top 3 or 4 distributions, or perhaps Linux "flavors". One could compare that to the support effort for Windows in its different versions, only that Linux users make only a fraction of the Windows users (and thus increase the support costs).

But wait a minute - the analogy of different MS Windows versions to different Linux distributions is somewhat faulty. Different Windows versions could be better compared to different Linux releases of the same distribution. So if we take one distribution, for example Linux Mint, we can see that over a relatively short time (from 2006 until now, i.e. 6 years) it saw 12 major releases, with more or less dramatic changes underneath the hood (e.g. Gnome, Gnome2, Mate, Cinnamon, just to give an example). Other distributions produce releases at a similar pace.

Now let's just assume some software vendor has fallen in love with Linux and is willing to pay the extra cost for releasing his proprietary (closed-source) application for 3-4 major distributions. He then needs to cope with the ongoing changes and updates that are being produced, some of which may break his application. If a vendor runs into problems with modifications/updates brought by the open-source community, he will most likely be left on his own to fix the problem (he didn't create) or find workarounds.

There are legal issues, too. A vendor selling software to run on certain Linux distros has obligations towards the customers. This is quite different from open-source software which usually comes without any guarantee.

Let's make it short: there are very little incentives for software vendors to release Linux-versions of their Win or Mac applications.

This is a bad sign !

Linux has come a long way. Today's most popular Linux distros are desktop-oriented distributions such as Ubuntu or Linux Mint. These are user friendly systems that are in most situations easy to install. They also come with a wealth of applications that cover all the everyday tasks and much more.

However, like myself, I know enough people that require a Windows or Mac OS to do what they want or need to do, because Linux lacks support for closed source commercial software, or perhaps more correctly:
The Linux ecosystem does not attract software vendors to release their popular titles on Linux. This slows down the acceptance and growth of Linux.

I'm no software expert, so please feel free to comment and correct me where I missed the point. I do have some background in software and technology-related management.

Here is what I suggest:

Define a Linux SDK that includes everything to successfully port software to Linux. An example from the past is the Linux SDK for UPnP Devices (libupnp). It is hoped that different distribution developers would cooperate in creating a common SDK. Moreover, the distribution developers should agree to test their own releases and updates against these SDK specs and make sure they don't break anything. In other words: a standardization for installing and running closed-source applications on Linux.

Would that be practical? Would it work - technically speaking?

What do you think?