Quotes of the week
Posted Mar 23, 2012 14:14 UTC (Fri) by khim
In reply to: Quotes of the week
Parent article: Quotes of the week
It would certainly be a good thing to have more cross-distribution standardisation for the benefit of third-party app developers but experience with the LSB effort tells us not to set our hopes too high.
LSB was and is hopeless because it does not give well-rounded set of APIs. It does not explain how to add your application to “start menu” or show a notification message. As I've already explained it's still does not include audio API! And even if your application belongs to a tiny subset of applications which are buildable with LSB… Sure, you can create LSB-certified .rpm, but what's the next step? “Joe Average” (who will happily install anything to see the dancing pigs) is not yet on Linux and existing users are trained not to install random .rpm's from unknown source. LSB was and is waste of resources. It can probably be fixed, but I fear by now it's too late: desktop developers have abandoned UNIX (and Linux) long, long, long ago.
Finally, I would like the whining to stop and to hear some actual constructive suggestions.
Well, the high-level list is easy:
- Admit that there are a problem.
- Separate technical and non-technical obstacles.
- Start removing obstacles one by one.
But then you need detailed follow-up. Something like this:
Problem: distributions don't have a fixed release schedule thus it's not possible to introduce new ABIs (demanded by application developers) on timely basis.
Solution: eliminate distributions from the equation. Provide self-contained packages for popular ones (they will probably use kernel and, may be, glibc, but nothing else).
Problem: your new scheme will not be used by developers unless you promise millions of users and users will not install it if you'll not give them thousands of applications.
Solution: embrace some existing “App Store”. Apple's App Store does not look feasible, but both Android's Google Play Shop and Chrome Web Store look promising. First one will mostly give you phone and tablet oriented apps (which is probably not a good thing for desktop Linux, but even so games will be welcome), second one will give you mostly webapps (but, again, games will be welcome) and will be much easier to adopt, but it's much smaller then Android's one. Both solution come with sandbox, which is a requirement as Ingo explained.
Problem: applications designed for Android and/or Chrome look and feel “alien” on a Linux desktop.
Solution: add Linux-specific extensions which will give developers the chance to better integrate with Linux desktop.
The recipe, in principle, is well-known, but for some reason is not followed. All the efforts try to enforce strict rules on developers before they have any developers and before they have any leverage over said developers! This will just not work for obvious reasons. Linux desktop had window of opportunity 10-15 years back when it was probably possible to create such an ecosystem (when Unix workstations were common and a lot of desktop developers had UNIX experience), but it was wasted because of “all the software must be in your repository” attitude. That's why I suggest using Google Play Store and/or Chrome Web Store to jumpstart the efforts.
to post comments)