Jim Zemlin (Executive Director, Free Standards Group) gave the afternoon tutorial Application Portability in a Linux Environment. This was the business backing tutorial for Mats technical howto of the morning. Chris Maresca (Olliance Group) delivered part of the presentation as well.
It was a well delivered presentation, but raised all the problems and questions around application certification. Implementation certification to the LSB (i.e. the distros) is fundamentally important and necessary for the growth of Linux systems in the mainstream. The forward/backward compatibility problem will be fundamentally a distro or system vendor quality of service issue and the "best" vendor will support the most for their ISVs and customers, just like every other real operating system has done. (A friend that worked at Digital Equipment Corp through the VMS 5.0 release remembers unpacking old DECUS tapes of RSX binaries to ensure they all still ran correctly.)
Application certification seems less certain. Not surprisingly there are very very few app certs compared to the growing list of implementation certs. The idea of a "conforming application" goes back to the C language standard (1989) as a way to describe something a "conforming implementation" had to run. It was not valuable in its own right. The idea that an ISV (i.e. the app vendor) wants to certify the app rather than gaining the engineering efficiency and expediency of targeting certified platforms seems a reach.
- The Technical Problem: Getting a simple app to build that is binary portable is relatively straight forward. Getting complex apps to build and then guarantee they will work on systems against which you haven't tested (but are certified) is a technology gamble that can hurt your customers.
- The Customer Problem: When the app breaks on an implementation (not if), the customer is left arguing with the app vendor and the implementation vendor as to who is responsible. Not a good customer position.
- The Business Problem: I will ship and support and maintain apps on platforms against which I test. I will not warrant to ship on any other platform.
The FSG sees these problems and is wrestling with them in a very inclusive discussion. It will be fascinating to see where this lands.
Cynical Observation of the Day: Every one assumes the UNIX standards efforts "failed", and often link this indirectly to the subsequent rise of the PC. I observed for the room that maybe they didn't actually fail from the vendor point of view. This was taken to mean that I considered that POSIX/UNIX are a success. Well, yes, because as an app developer I can write infinitely more portable code today on UNIX-based systems than I could 15 years ago. But what I meant was their effort did exactly what it was supposed to do: supplant DEC's dominance on minicomputers, and the PC rise was actually in a different plane of competition. I'll save that discussion for another day. But it is relevant to this whole app portability issue.