Strategies for Application Portability
As you seek to create a new Linux application, or improve upon an existing app, trying to achieve the benefits of cross-distribution portability may seem daunting. Fortunately, there are a number of tools and strategies to help you meet this goal.
One strategy is to simply strive to create a fully LSB-compliant application. This involves using the LSB build tools and restricting the application to use only interfaces that are guaranteed to be present on all LSB-compliant distributions. There are advantages to using this strategy; the application will likely work on all major distributions with only minor tweaks, and it will very likely continue to work on future versions of those distributions. However, this strategy may not be right for all applications.
Another strategy is to use to the Linux Application Checker to test your application, and explicitly testing your application on a number of distributions. Techniques on the Linux Developer Network will provide tips and tricks on increasing your application's portability, and the Linux Application Checker will also provide suggestions for more portable interfaces to use.
Of course, these two strategies are not mutually exclusive. Reducing the number of non-LSB libraries used by your application can be used in combination with portability techniques and targetting a strategic set of applications. This would ultimately maximize your applications' portability and widen your potential end-user base.