How software is installed on Linux/OSS systems is not totally standardised. The key question is this, do we allow users to install software that does not form part of a particular distribution or do we allow them to install any third-party software. Well the obvious answer is to allow any type of software to be installed onto a privately owned system. This means there will be a mix of distribution software and third-party software on the computer. How this will be managed is evolving in the Linux community. The ideal is to create one package that can be installed on any Linux and/or Microsoft Windows system and will work. To this end work on the Linux Standards Base has started.
To handle software/package managment, Redhat created the Redhat Package Management (RPM) system to do this. Debian created the Debian Package (DEB) management system. So, Redhat has packages with an .rpm extension and Debian has packages with an .deb extension. In addition Debian created the Advanced Package Respository (APT) for storing multiple packages in one place. Mandrake uses the 'urmpi' method and Gentoo uses the 'emerge' method and Ximian, now part of Novell uses the 'Red Carpet' method. In addition software can be installed with the old './configure' then 'make' then 'make install' method from the source software.
Backwards compatibility is also an issue when packaging see: http://navi.cx/~mike/writing-shared-libraries.html