Linux Standards, And Why They Shouldn't Matter
The old debate about lack of standardization among different Linux platforms flared up on Slashdot this weekend. It’s a complicated topic, with complex arguments both for and against greater consolidation among Linux programming interfaces and distributions. It’s also something that would be a nonissue if developers could find the courage to declare certain subsets of the Linux community more worthy than others of support, based simply on their size.
As the Slashdot commentators point out, programmers trying to write applications for Linux–especially proprietary ones that can’t easily be adapted by third parties to work in nuanced environments–are hampered by the diversity of Linux APIs and subsystems. If only there were greater standardization among distributions, desktop environments, sound systems and so on, the argument goes, Linux would become much more attractive to developers, and by extension to users.
There’s no doubt that the wide variety of Linux environments makes it difficult for developers to support all Linux users. Producing binaries that will “just work” on any distribution, regardless of its nuances or customizations applied by the user, is nigh-impossible.
But the fact that supporting every Linux user is unrealistic doesn’t mean that writing applications for many or most users is a lost cause. Sure, there are hundreds of distributions and dozens of desktop environments out there, but only a few have any real traction. Rather than trying to support every obscure environment, developers should simply shift their attention to the handful that have enough users to make the effort worthwhile.
One of the chief reasons developers remain reluctant to target only specific Linux platforms, rather than the entire spectrum, is the inevitable backlash that would result when die-hard geeks are told they can’t run application X on their custom-compiled kernels and obscure desktop environments because the application developers have deemed their system too difficult to support. They”ll whine about their freedom of choice being violated, and complain that their platforms are technically superior to mainstream environments. Thanks to the backlash of such militant geeks, developers will feel alienated and unappreciated, and will conclude that since there’s no pleasing all Linux users, they may as well not bother trying to please any.
Such logic is very unfortunate for the vast majority of Linux users who run mainstream environments and just want their computers to work as well as possible, without being encumbered by ideological debates about freedom or arguments over whose C library or audio subsystem is most stable/developer-friendly/maintainable/has the coolest name.
The bottom line
If vendors like Adobe and Google want to support Linux users, they should release applications for a realistic subset of environments, and be willing to announce explicitly that Linux support will only be available on mainstream platforms. There’s nothing wrong with favoring Ubuntu, Fedora and SUSE over obscure alternatives based on the simple logic that most people use those distributions. It might not be a popular decision among militant geeks who aren’t satisfied until they’ve imposed their agendas of radical equality on everyone and everything, but for the other 99% of Linux users, targeting a limited range of environments in order to simplify development would be a welcome change.