Closed source on Linux is hard

Update: Please read the article carefully before commenting. If you notice, most of the problems being described here is part of Eclipse, which is open source. So, usability issues are faced by open source programs as well, and not just proprietary programs on Linux. The reason I wrote that title was because this pain is usually felt by people who are making closed source packages that works on different Linux distributions. The real issue is about unneeded incompatibilities between different Linux distributions.



After working on the porting project to make Flex Builder run on Linux, I am starting to see why closed source software on Linux is hard.

There are just a handful of closed source products on Linux (counting only the famous ones) – Opera, Skype, Nero, Acrobat Reader, and Flash Player. Hmmm, I can think of just 5.

Why is that important at all? Because software developers who are not initiated to the FOSS philosophy will be scared off the platform because of its inherent complexities. For example, in this project, getting the software to run on the various Linux distros was, to put it lightly, troublesome.

There are a number of issues that we faced, which I’m certain is the reason others don’t want to get into this as well.

Let’s start with Eclipse. Eclipse runs fairly well on different platforms (let’s ignore the memory-hogging issue here), but on Linux, it’s a different ballgame. Somehow, the polishing of the UI is markedly lacking. Yes, we’ve filed bugs, but turns out it’s not really Eclipse’s fault, it’s simply because different window managers work differently on Linux, and handling all of this is a nightmare.

Oh, and this gets better when it comes to distros. For example, the latest released Eclipse 3.3 won’t run on the latest released Fedora version. You have to wait till Fedora 8! Because of this, we had to drop support for Fedora, and instead concentrated on other distros such as Suse, Red Hat and Ubuntu.

That brings up another problem – the number of distros. The QA effort required for the Flex Builder (FB) on Linux project was huge indeed. And yes, we found problems that occurred only on Red Hat but not on Ubuntu, and so on. For example, clicking on help links in Eclipse on Red Hat opens a new window every time whereas it properly displays in the same window on Ubuntu. Again, it’s not really Eclipse’s fault. Go figure.

Then, there’s the issue of running Firefox. There’s nothing wrong with Firefox itself, but what’s with each distro trying to customize the Firefox startup script?! FB on Linux has to check whether the correct version of the Flash Player plugin is installed in the browser, and checking this is a long procedure - do we check in ~/.firefox/plugins/ directory or ~/.mozilla/plugins/ or $MOZ_PLUGIN_PATH or some Suse-distro-specific directory such as /usr/lib/browser-plugins/!

Life is simply too hard compared to other operating systems.

Isn’t it a wonder that nobody wants to develop a closed source product for Linux? Even Microsoft is just handing over the audio video codecs to Novell and letting them to do the hard work of creating Moonlight on Linux. Microsoft is smart enough not to try to maintain a Linux version of Silverlight on its own (I’m considering only technical issues, let’s set aside philosophical issues on this one).

If we really want to make Linux a good platform, then we need to stop messing around with the basics – at least please don’t muck up the basic shell scripts and paths.

The way to get more people, in large numbers, to understand the open source and free software philosophies is by making their first steps easy. It cannot be an all-or-nothing approach. Closed source software on Linux is not practical. And that’s a bad thing because if we can’t convert software developers to use a different platform, how can we expect mom and pop to switch to Linux?

In spite of all this, I think we’ve done a good job of FB on Linux, and happy to see all the great response we’ve seen so far, including reports of success on various distros that we’ve never even heard before. So please keep the feedback coming!

Standard disclaimer: The opinions expressed here are my own, not Adobe’s.

Please rate whether you liked this article:

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...