I think a lot about binary compatibility with Linux – the actual situation is, that a normal computer user is unable to install new software on a linux system.
Normally the software is given as a source file because now software vendor and now software developer can manage to provide such an ammount of different software packages for all these distributions.
Fortunately, the LSB has been accepted as an ISO standard now, and we can only hope that the Linux distributors will start to adopt it. At the moment they are all suffering from good LSB support, and their are not so many LSB packages out there.
But even if their would be more and more LSB packages, there are still fundamental problems around which make the LSB binary standard look as a 2nd class solution:
If you install such an software package, you would have to take care of the update status by yourself – there is no package format out there which integrates its update sources automatically into an existing package management system.
And you do not only need one url to the main server, you need an url to a mirrorlist, an url to the gpg key, maybe an url to a fallback server, and maybe an url for a bittorrent – why not use the systems which are good?
And even if you integrate update sources by yourself, there are no package managers which are able to use authentification systems like tls, ssh or whatever. But a proprietary software vendor would need this to save his stuff.
So the perfect package should have these information, too.
There are some other information, which would be nice, but which are not really needed, like a direct link to the source files, etc.
So what to do now? Create a new binary interface and try to find enough people and distributions to support it? I thought about it a long time, maybe producing pressure with an online petitition, but we already have LSB, and we shouldn’t split the Linux world more.
Fortunately, all the missing information are just plain text information which can be put in a nice xml sheet, and packaed together with the according rpm package to something different. It would be comparable easy to create such a new package, it would be binary compatible to all the LSB compatible distributions outside there, and it would be a real possibility for software vendors – and it would be easy to use for new users, because they don’t have to worry which distribution they are using, they only have to worry which LSB version they are using (yes, and if this would become reality, than the normal, average user would say “I’m using Linux 5.3”).
What to do to come closer to this dream? Well, first we would need the specs, that should be quite easy. The next step would be to show that this can work – for this there would be the need of a new package manager, which is able to read all this data and to handle it.
And after that, if everything would be prepared? Then there should be an campaign for this new format, a campaign for users, distributors and software vendors. With shiny little flash movies and so on – and with a bunch of pacakges to test the new system.
And another thing must be there, too: a wide acceptance of the LSB, and for a wide acceptance you need good LSB specifications which are including gtk and the kdelibs. Without it there would be no need to bundle such an new format to the LSB packages.
So, force your distributors to use the LSB – and force the LSB to specify that what is already a standard in reality (gtk and kdelibs).
So, it’s just forcing, hoping, creating new software, and bring others to the point where they accept it – nothing more 😉