I think we're looking at this from the wrong end. Using Free Software, it's easy to produce more Free Software in such a way that it will run on all Free platforms. This is normal; most, if not all, Free Software is built by people who mainly (or only) use Free Software, so they do not usually look at the specific needs that developers of non-free software have.
At some point, developers of non-free software came along, and tried to produce non-free software for the Free platforms. These non-free developers had a background on non-free platforms, where "a platform" is a bunch of binaries that were compiled at a single "vendor". Since everyone running one of those platforms has the exact same compiled form, it is easy to produce a standard so that one can compile software that will run on /all/ versions of the same platform; after all, there is only "one" version (not considering later or earlier iterations of the same platform). This is not true if you're running a free software platform, where technically everyone can create his 'own' version. As a result, people who write non-free software are having issues. To address these issues, the Free Software people created the LSB: a standard that defines what a binary form of the source "out there" should look like. This way, non-free developers can theoretically write against that standard, and distribute a compiled binary that will run "everywhere". Obviously, that hasn't worked. The non-free developers are having issues with their software if they write against the standard, so that it does not, in fact, run everywhere. They look at the non-free platforms and say 'it works over there, so it should work here'. They look at the differences between the non-free platforms and the Free platforms, and see that the non-free platforms are bit-by-bit the same thing everywhere whereas the Free platforms are not. Thus, they conclude that to solve the issue, the Free platforms should be bit-by-bit the same thing everywhere, too. That is, indeed, one way to solve it: throwing out the Freedom we, Free Software developers, have, and slowly starting to move towards a non-free platform. But is that really what we want? I would think it is not. Instead of pointing us towards the non-free platforms with their binary-identicalness, I think the non-free software developers should tell us why the LSB has failed. They should tell us where the standard is not clear enough, or where the issues with the LSB are, so that they can be solved. This will require them to exhibit a level of cooperation that we are not used to see from non-free developers, but does that matter? After all, they want to get Free Software modified for their purposes. That is possible -- it is the very heart of Free Software that it can be modified for your own purposes -- but they should do it by using the rules of Free Software, not by trying to mold the Free Software in something which approximates the (to them more familiar) non-free software. Thus, the answer to the failure of the LSB is not "the Free Software people should be more helpful to the non-free people"; the correct answer is "the non-free people should be more helpful to the Free Software people". -- EARTH smog | bricks AIR -- mud -- FIRE soda water | tequila WATER -- with thanks to fortune