they both break library compatibility and break their environment (like when kde removed the widget toolbar and a whole lot of app suddenly stopped working)<p>sure you can have bunch of ifdef in the code, and an autoconf, and make sure you support a wide set of options, but that is basically the whole point, it makes for a painful experience and costlier, slower development (for closed source application that comes prepackaged)