Here are some views expressed by Linus Torvalds about the Linux kernel, plugins and how he thinks about derivative work. Very relevant to what I said about plugin interfaces and user space.
So, do themes and plugins serve a system-level or a user-level function?
p.s. Some have compared WordPress plugin and theme API to the way Linux loads kernel modules, when in fact relating it to system call interface (SCI) would be more appropriate.
Both themes and plugins are definitely something that is a user-level function, simply because not everyone has the exact same tastes or needs. What’s interesting is how much most people will go to incredible extremes with cluttering up both their theme and their site with way too many things they don’t need. On the theme side it becomes a visual overload to the point where everything is a blur, and on the plugin side they load so many plugins that the site will crash constantly and grind to a halt whenever anything needs to be done in admin.