@david_chisnall
There are more problems with components than just monetization.
Plug-in style extensions add extra layers of complexity for both developers and users. End users have to source and manage thier plug-ins. Developers often build their plug-in for only one operating system or one version of the application then abandon it.
There are good technical and social reasons for projects (such as the Linux kernel) to use a monolithic model.