Support Linux by Not Writing Linux-Only Software

Phoronix ran a story today about the keynote address at this year’s Fedora India Conference.  The speech can be viewed in its entirety here, but one quote in particular is drawing attention:

The number one enemy we have today is ourselves. And I mean that with all seriousness. Too many times we shoot ourselves in our own foot, by the way we act, the way we deal with people, in our narrowminded-ness that we develop.

The quote and ensuing explanation appears around the 44:00 mark.  It’s worth a watch.

This is a great quote not just for Linux developers and contributors, but for Linux users as well.  It’s especially interesting coming from a Fedora project leader, considering the Fedora project is well-known for its very myopic rules about included software.  (FYI – Fedora does not include any proprietary software, including proprietary drivers, Adobe Flash, Skype, etc.  Is that an example of “shooting yourself in the foot”…?)

In this article, I’m not going talk about the obvious “Linux is its own worst enemy” topics.  Plenty of other people are more qualified to talk about hardware support, FOSS jingoism, obnoxious users, design problems.  No, I’d like to mention something more obscure, but still deserving of attention:

Developing software exclusively for Linux.

Linux-exclusive software should be the exception, not the rule

One of the Linux-centric software projects I’ve followed over the past several years is the OpenShot Video Editor project.  I first discovered OpenShot while researching Linux video editing software in 2009 for a series of Ubuntu articles.  At the time, I considered OpenShot the best choice for default video editor in Ubuntu 10.10.  Canonical eventually went with Pitivi instead, a decision I and many others wondered about.  To quote one article on the topic:

In my view, Ubuntu is doing desktop Linux a huge disservice by putting in basic, buggy tools and then advertising its product as having “video editing” capabilities. The short point is that it hasn’t, and users moving to Ubuntu on the basis of this promise will be bitterly disappointed, tainting their overall view of Linux.

Canonical later rethought this decision; in 11.10 they removed Pitivi from the default install.  The reasoning behind the decision?  According to the linked article:

The lack of ‘polish’ and maturity to the application was also highlighted, with one attendee wondering whether its ‘basic’ nature impacted negatively on the perception of the Ubuntu desktop as a whole.

Ironic, eh?

I don’t mean to slam Pitivi.  Collabora, the company who funds Pitivi’s development, is an incredible contributor to the open-source world and they employ a team of very talented developers.  Seriously – they just released a demo of a video editor built entirely in HTML5.  They’re incredible.

But writing desktop video editing software is tough, especially video editing software provided for free.  Pitivi continues to grow and improve, but it simply wasn’t ready for the big-time in 2009.  That’s okay.

Anyway, OpenShot continues to improve at an impressive rate.  In late 2010, OpenShot crossed what I consider the “maturity line” for an open source project – it began work on a Windows port.  The response to this was mixed, as always.  Many users realized the benefits of making OpenShot cross-platform.  Some, unfortunately, did not.  As one commenter said:

When I’ve seen projects that aim to be multi OS, the Linux version is always the second hand version. More people use Windows so new features are added to the Windows version and no one gives a shit about the Linux users. I have seen it many times, haven’t you?

Why not just use all the time for the Linux version to make it as great as possible. There are already more than enough video editors for Windows anyway.

This is a valid concern.  Take Songbird, for example.  Songbird started out as a promising cross-platform media player with top-tier Linux support.  This lasted four years, until the team made the hard choice to completely drop Linux.  It was an unfortunate loss, but it’s hard to fault the Songbird developers.  They’re a small team and audio support in Linux has never been simple to work with.  (FYI, untested nightly builds are still available for adventurous users.)

But I would argue that projects like Songbird are the exception and not the rule.  While it may seem like Linux-only projects are betraying their loyal base by developing Windows or OSX versions, I would argue that cross-platform development is actually better for Linux as a whole, better for individual software projects and their developers, and ultimately better for Linux users.

Cross-Platform Software Removes One of Linux’s Biggest Barriers of Entry

It’s been said a million times before: one of the hardest things about switching from Windows to Linux is learning new software.  This has gotten easier over time; after all, modern users are probably using the same browser on Windows that they would on Linux, and mature open source projects like LibreOffice, Pidgin, GIMP and Inkscape provide a similar experience regardless of which OS you use.  As we move to a world where more and more software lives within the browser, the switch will get even easier.

But when a new Linux user can’t find a Linux version of software that he or she is used to (Adobe products, MS Office, etc), they suddenly have a very good reason to give up on the platform as a whole.  Even if a Linux alternative is better than whatever they were using before, the fact that it isn’t familiar is often enough to scare them away.

The typical answer to this is: “everything would be better if Adobe and Apple and Microsoft and everyone else just released Linux versions of their software.”  I agree.  That would be better.

But does anyone really think this is going to happen?  Do you really envision a day when you can buy a copy of Microsoft Office for Linux?  I’m afraid I don’t.

So if we can’t force companies to release their software on Linux, we have to do the next best thing – take the best of Linux software and make it available on other platforms.  In the last five years, projects like Firefox and Chrome have done way more to improve Linux adoption than the Linux-only competitors of Epiphany and Konqueror – not because either of those projects are crap (just the opposite, they’re great), but because creating software only for Linux users doesn’t help people make the switch.

Now please don’t misunderstand.  I am absolutely not saying that projects like Epiphany and Konqueror are stupid, or that they don’t serve a purpose, or that they are hurting Linux.  Both are mature, well-written, technical accomplishments from talented contributors, and they definitely fill a niche.

But when it comes to making Linux a viable competitor to OSX or Windows, Firefox and Chrome are the ones to thank.

(Note: yes, I realize that webkit came from KHTML which came from Konqueror.  This doesn’t invalidate my point.)

In the perfect world, Linux users would have access to all the same software as Windows and OSX users.  Releasing a Windows and OSX port of your awesome Linux-only project is a step toward making that happen.

As a Developer, You Will Get More Donations, Support, and Feedback from a Cross-Platform Release

Let’s return to the Songbird example.  In the team’s blog post about why they dropped Linux, they provide the following chart “for perspective”:

It’s hard to argue with those numbers.  Yes, in certain areas (like translations) Linux users contributed more on a per-user basis than Windows or Mac users.  But not that much more.  When you factor in the difficulty of working with audio in Linux, you can see why the Songbird team made the tough decision to drop Linux support entirely.

This same pattern shows up elsewhere.  For gamers, consider the Humble Indie Bundle – Linux users donated 3x more money, per user, than Windows users.  That’s an awesome statistic.  But the sad reality is that there are tons more Windows users, and for the Humble Indie Bundle that meant that revenue from Windows users as a whole was significantly larger than revenue from Linux users.

I point this out only to show that open source developers can receive many benefits – financial and otherwise – from releasing software on as many platforms as possible.  And if you as a developer get more feedback and more money, that will help you produce better software for everyone who uses your products – including your loyal Linux fanbase.

This Isn’t a Major Problem, But It’s Something to Consider

Is Linux-only software the biggest problem facing the open source community?  Hell no.  It’s probably not in the top 10 or 100 or 1000 problems.  But I do think it’s something to point out, especially for Linux projects that seem perpetually close to becoming “great”… only never quite getting there.  Several examples come to mind.

Calligra (formerly KOffice) is a promising open-source office suite developed by KDE.  Personally, I think the project is way ahead of LibreOffice in key areas, particularly the interface.  Consider their word processor, which is one of the few designed with widescreen monitors in mind:

Calligra Words screenshot. Note the very nice use of horizontal real estate. (image courtesy of

I’m not a Linux software developer, but I would love to contribute to the Calligra project as a tester.  My problem?  I spend most of my time in Windows, and I need a word processor that works in both OSes.  Calligra’s Windows version is in a perpetual state of disarray, and I don’t want the hassle of running my word processor in a VM.  How many testers and contributors is this very cool project missing out on because there is no Windows port?  Would a complex piece of software like LibreOffice or Inkscape be half as good if it had remained Linux-only?  I doubt it.

As another example – Linux video editors.  We’re finally reaching a world where Linux video editors are stable and usable (kudos to the excellent Kdenlive team and OpenShot, among others), but it has taken far, far too long to get here.  In my opinion, the biggest problem is that most major Linux video projects have remained Linux-only.  Kino and Cinelerra have always been in desperate need of testing and feedback, and by ignoring Windows they aren’t doing themselves – or their faithful Linux users – any favors.


Now I realize that you can’t just click a magical button that makes your Linux-only project compile under Windows and OSX.  I get that.  If you’re an individual developer who doesn’t have the time or the resources to test and compile your code for Windows, I totally understand.  Some projects don’t make sense multi-platform, and sometimes there are very good technical reasons why a project doesn’t make an OSX or Windows version available.

But if you haven’t considered cross-platform support, please do.  Look for help on developer forums or IRC.  Talk to Windows packagers of other open source projects.  Follow OpenShot’s example and ask your userbase for help.  Just don’t fool yourself into thinking that you are helping Linux by not providing Windows and OSX versions of your software.

Because you’re probably not.  By releasing your software for as many OSes as possible, you are not betraying Linux or open source.  You are helping it.  If people think Linux represents a small fraction of overall users now, imagine how much worse it would be if less cross-platform software were available.

As for my fellow Linux users: please don’t troll developers when they decide to go cross-platform.  FOSS is not just about developing for Linux.  Open source can – and should – work to increase the freedom of all users, everywhere, regardless of what operating system they use.  When your favorite piece of Linux software decides to release a Windows version, don’t think of it as betrayal.  Think of it as a way to advertise the benefits of open source to your heathen, Windows-using friends.

As always, I am extremely grateful to the talented individuals that use their time and talents to provide open-source software for free.  Thanks for all your hard work.

Similar Posts:

15 thoughts on “Support Linux by Not Writing Linux-Only Software”

  1. Well Said!

    And remember that there is a lot of “new” OSes as well; Android, IOS etc that has a significant user base nowadays.

    I my self has a liking for the Qt framework and aims to deliver my FOSS applications for Linux, Windows, and Mac OS with some help.


  2. I totally agree. I took the decision to go multi platform for GCompris a few years ago and it was a wise decision. It allowed me to increase my user base and at the same time monetise the project.

  3. This article has little merit? what do you care for Linux if your own *main* development platform is WindoW$. you know only less than a fraction of Linux and Opensource.

    As far as the issue, making cross-platform apps , ask the proprietory guys to port their apps to Linux , there are many people wanting to *pay* for those apps , why they don’t they do it?
    (Evil partners of Evil empire?)

    why the hell opensource projects go out of their way to support other platforms? It’s Ok if project lead wants his product/app to be cross-platform so is when he decides not.

    Dude,Opensource is power to the user absolute and utter power, the power of source if you really care port it yourself or ask the upstream for that particular package to help you out, if upstream is irresponsive *fork it* and *fork it hard* or if you feel you can’t maintain the port , everytime port it to your system and use privately , we *should not* infact seduce other distro users they are a lot of headaches in the forums

    right SongBird started supporting WindoW$ now they don’t even support Linux, you want all the software to end up like that , giving free software on a *totally* locked-down(and technically cr#$ too) operating system marketed by Evil Empire, sure you develop you own tools and give it window$ tell Micros$oft to make cross-platform apps, i bet they’ll destroy the world before doing it.

    and you mention about fedora, did you really read about the goals and objectives of their project? They are *truly* FOSS guys fanatic about openstandards and i have high regards for them. So please use the context properly.

    For Humble Indie guys it makes sense, games are more viral and popular on Window$ , but some gamers are the same geeks who use Linux as their platform for development and daily use platform.

    This issue doesn’t even need an entire post!!

    I have nothing against you developing proprietory apps or using propreitory OS, but your point of view of *how* , Linux development and Opensource work doesn’t have any merit to it.

    If by the way you are Micro$oft or associate company employee (which includes AttachMate), then don’t bother reading my response, you won’t or pretend not to understand this.For you we are just hippies.

  4. I think you nailed it. Speaking as a semi-converted Windows user I was happy to find Firefox & Chrome so that I could start browsing the web immediately. I missed decent Adobe Air to run Tweetdeck and getting Flash to work wasn’t easy but I persisted. And since I already used Thunderbird I found that easily back as well.

    There’s a saying in Sales: “people only change (product/service/supplier) when the pain to stay the same is greater than the pain to change”. For non-technical users, staying the same on Windows is still much less painful than having to learn new interfaces when switching.

    So yes, please make great FOSS Linux-only programs (like Amarok for example) available on Windows :)! A Linux distro that offers working MP3 & Flash support and an interface that sort of mimics Windows with familiar software for the end-user decreases the pain to change considerably.

  5. While I generally agree with your point of view, I do have to defend KDE a little here. KDE was held back for a long time from releasing on Windows due to the Qt license, but since the license change with Qt 4.0 we have been regularly releasing KDE 4 on Windows and support has been steadily improving. The installer does need improvements, but efforts have mostly focussed on getting the backend stuff into shape first.

    Our philosophy is that running on Windows and OSX will attract new users and contributors, but our primary focus will always be Linux. We certainly don’t deliberately write anything that is Linux only, we try to bridge all the platforms with a common design and implementation as that makes our software better (“We’ve abstracted your abstraction layer”), but sometimes there will be features that just work better on KDE on Linux due to having near total control of the underlying desktop environment.

    Our Windows team is small, and our Mac team even smaller, and they struggle to get the releases out, but we believe it’s worthwhile doing. Volunteers are always welcome to help build and package apps for Windows, they usually don’t take too much effort, see for details.

    Last I heard Calligra was actively working on Windows support and hoping for a release with 2.4, but it’s hard work on a large code-base and it’s not yet clear they will make it in time. It’s certainly not fair to say it’s in a “perpetual state of disarray” and only point to some end-user documentation as proof.

    1. Thanks for the comment, John. I appreciate the insight into the KDE project’s philosophy. I apologize if my Calligra example painted the KDE project in an unfair light. That certainly wasn’t my intention.

      As far as Calligra is concerned, the page I linked is the page that the Calligra project *itself* links to. If you go to and click on the “Windows” link, it brings you to the page cited in my article. To make matters even worse, that page just links to the full KDE on Windows installer, which hasn’t included KOffice or Calligra since at least June of 2011 (per the comment right there on the page – “KOffice or Calligra are not in the KDE Windows installer. Checked today, 23.06.2011”).

      I am a big KDE fan and I look forward to the day when I can use my favorite KDE apps on Windows. Thanks for all your hard work.

  6. I disagree with the notion that Epiphany and Konqueror are great software. Sure they are technical accomplishments (Most talking about KHTML/KJS here) but they are sub par. At least for those of us who have spent time with vastly superior heavily developed web browsers.

    As for the main point of the article I believe it more that opensource projects need to become as popular or more than their major commercial “competitors”. Almost no one uses OpenOffice/LibreOffice compared to MS Office. Even more so with Gimp vs Photoshop, Audacity vs Pro Tools, Scribus vs InDesign etc.

    Sure, being crossplatform is important but being on par with the popular alternatives is essential. That of course takes major resources in terms of developers and marketing. So major backing from huge corporations is very common among the few successful open source products. (Firefox and Google Chrome)

  7. As for the “proprietary guys”…

    They don’t ignore linux out of spite or anything. It’s a combination of not expecting many sales (in case of payware) and the fact that linux isn’t nearly a monolithic platform to target.
    Good luck supporting all those differently assembled and configured distributions which have one or two releases per year and there is no guarantee of forward compatibility on top of the fragmentation. With the MS system, you can be good with as many as 1-2 packages good for everybody (32bit and 64bit)… Often, you can release and more or less relax, with users being able to download that ancient installer and install your program 6 years alter – without a hiccup. (Well, with that ARM/tablet fad, we shall see. I hope this won’t change.)

  8. Whether proprietary, OSS, or cross-platform developers, there are companies out there which have been doing all three for years, and have always gotten slandered for it by the so-called OSS community. Shame this speech wasn’t written over 5 years ago, I’m not naming who I’m talking about, but “compression technology” will probably give most of the long-term avid OSS supporters a hint at the company I’m referring to.

  9. I certainly dont agree with you. Imagine an utopia, imagine if IBM AIX, Oracle Solaris, FreeBSD, etc were all killed and instead all developers switched to Linux! Now that would be great for us everyone. I dont see the point of lot of differing OSes out there. Linux is superior with excellent stability. Everyone should use Linux instead. I dont see the point of going cross platform. I say, only develop for Linux and only Linux will survive. Linux is the best. Cross platform is not smart.

  10. Agree 100%. The Windows versions of Firefox and Thunderbird helped lure me to Linux (about 4 years ago).

    I use several Linux versions of proprietary applications that I previously used in my pre-Linux days. VueScan is my scanner software, and Bibble is my photo browser and raw file converter. Both are available in Windows, Mac and Linux versions, and as far as I’m concerned, both are “best of breed”.

  11. I totally agree. Those multi-platform applications helped me to go Linux and I constantly recommend those applications to Windows users, hopping this will make them closer to Linux.

    I always was curious about Linux and it looked ideologically correct to make the transition. I made a couple of attempts by installing Linux as dual boot. But each time was a failure, because every single staff I needed to do, I had to learn a new application. Usually, I had no time, I needed to do staff ASAP. So I was rebooting back to Windows to do that staff. And after a while I just stopped booting to Linux in the first place, as I knew that I’ll have to reboot back.

    The last attempt to move to Linux was totally different, because I understood the “application issue” as the root of the problem; and, started my move to Linux not by installing it, but by installing multi-platform applications on the Windows and starting to use them. One-by-one. This way I didn’t needed to learn a lot of staff at the same time. After a few month or may be a year, I made a smooth transition to Linux. All I needed to learn is how to open applications. Well, may be I had to learn a couple minor applications too, like video player.

    I’m a happy Linux user for the last 3 years or so, thanks to Firefox, OpenOffice, GIMP and others.

  12. Making software cross-platform is what killed OS/2. IBM should have never made its software run on Microsoft systems when it was competing for operating system market share.

    With respect to Linux, Microsoft platforms are far too different from Linux for any software to work well on both. If it works on Microsoft it stinks on Linux. OS-X, BSD, Solaris, and other Unix like operating systems are close enough to Linux that software can reasonably cross over to those platforms.

  13. I’m using a lot of open source apps in Windows, like Gimp, Inkscape, VLC. But I don’t want to repartition my only hard disk to install a Linux distro, and deal with a host of problems (hardware compatibility), just to try out,for example, Krita.

    But there are serious obstacles on porting/help developing open source software under windows:

    1. I heard, that open source developing tools are harder to use under Windows, than any *nix. Because of this, there are painfully few Windows only open source devs in this system. For example, the Windows version of Gimp is maintained by only one guy.

    2. The immaturity of some Windows users. Many forums are spammed with complaints about how an open source app is harder to use, more clunky than it’s proprietary counterpart, and/or that the developers don’t listen to their feature requests. Most of the time however, they are just impolitely demanding to fix a bug, or add a feature, and don’t bother to add proper debugging information.

    3. Those Windows users that are not like that, still doesn’t know where to start, how to do a bug report correctly, don’t know the etiquette of open source community, and doesn’t help, that there are no centralized open source app to windows porter community nor any help to get start.

    4. The immaturity of some Linux users. Some (though NOT all of them) believe, that Windows users have no right to complain, because they could choose more software. They do not know, that many Windows users don’t want to pay/pirate commercial software anymore, and they want to help better the software they use.

    5. An app store/package manager like frontend, to ease the install and update of many open source apps, and prevent unnecessary re-bundling of common libraries.

    1. So your point 4 says it all , you consider OSS developers your slaves who should and must build free(gratis) software for you and take your B.S and say “yes master , though you don’t pay us, don’t behave politely , we will and must continue to serve you ,even though you pay Micro$oft, yes master , kick our rear”

      Wow,OSS guys should and must other OSS guys, if someone wants to support proprietory OS , fine but not at the cost of ignoring Linux or BSD.

      that’s why GPL makes more sense to me than BSD license, though BSD has its own merits.

      If you can pay for your OS why can’t for applications? Free-Software is *not* gratis software OSS devels are not slaves.

      My intention is clear, write Free-Software to make money , that’s why i say make more products for enterprise , get paid(ok more work is required in supporting the product , but that’s worth it).

      In mean time help your fellow mates (geeks,nerds,over-grown kids etc) by developing Linux/BSD only app or help maintaining existing software for different distros.

      There is no money on desktop , for ordinary users free means gratis and over the top , they treat OSS devels impolitely.

      So when you are giving away your software for gratis (free as in free drink), why not to students, fellow geeks , university staff/faculty and other OSS devels rather than arrogant and ignorant common users. Help OSS community not anyone else.

Leave a Reply