GNU Emacs---like every computing platform---sorely needs an official package system and software repository. This is no simple matter of convenience for users, although convenience is a big motivating factor. I argue that the official adoption of package.el and ELPA will have an enormously beneficial impact on the Emacs Lisp development community, and that not doing so will hold back Emacs as a development platform.
It's common to base one's code on libraries included with Emacs (for example comint-mode) because you know they'll be available to all Emacs users. But building your application to re-use code from multiple non-FSF packages from all over the Internet isn't such a safe bet, because your users will have to locate and install these separately-maintained packages by themselves, and hope that the URLs don't change, and hope that when they're finally installed they will work together. As a result people play it safe, and thus there are many different reimplementations of common things like dired-ish interfaces in the elisp space; countless packages have their own way of doing it, some more featureful, some less, all with different commands and faces (so that you cannot easily customize their behavior and appearance as a group.) Such lack of re-use is, in my view, a drag on the overall development of Emacs Lisp as a language and as a computing platform. And I don't mean "re-use" in any sort of fancy object-technology brochure sense of the term, but rather simply recognizing that we don't have to reinvent the wheel.
RMS is against adopting a package system, for several reasons. Here is the first:
1. It could reduce the incentive for people to assign copyright on their code.
(Excerpted from this rms email).
There are so many things wrong with this first item that I need a bullet list:
As for the second of RMS's reasons for not adopting a package system:
2. It would mean that Emacs refers people very strongly to a site that isn't run by the GNU Project. I don't know what their policies are. But even if they are good, now, we have no way to assure that remains so.
(Excerpted from this rms email).
This is pretty simple to deal with. We can have this problem with one site that is at least affiliated with the GNU project in some way (i.e. ELPA), or we can have this same problem with the thousand sites that currently distribute the non-FSF elisp that Emacs users use every day. We cannot wish away the user's need to develop and use third-party code, or their right to do so outside the FSF's umbrella.
RMS presents an alternative:
These problems would be eliminated if we put the package repository on gnu.org and limit it to packages that are copyright FSF.
(Excerpted from this rms email).
But then the package system would be pointless---could it really be useful for installing just the software that already comes with GNU Emacs?
You can help this situation by supporting ELPA and contributing your code.