Subject: Re: Proper license for plugins
From: Kelly Anderson <>
Date: Mon, 17 Jan 2005 10:36:47 -0800

I appreciate your replies on this apparently complex subject. I've learned 
a lot from your answers, and most particularly the additional details that 
you might need to help me make a more informed decision.

To clarify based upon your feedback, what I'm thinking about is creating a 
"base" or "core" program that can be dynamically "modified" with one or 
more DLL type plug-ins. These plug-ins would function in an analogous way 
to the old inside-out OLE widgets. That is, they can (temporarily and 
dynamically) modify the menus of the containing program, swap out the main 
contained view entirely, but they don't modify the code of the container 
per se since it's all done dynamically at runtime.

My objective is to create a "shell" for a particular kind of program (in 
the particular case I have in mind, it's an email shell) that contains a 
default implementation (a simple email client in a DLL that would itself be 
released under something like the BSD license and would serve as an example 
program) but which can be modified for specific uses. For example, you 
might create a special plug-in for lawyers that added features to allow 
them to keep track billing clients for time spent on email. I would want 
people to be able to create and sell these plug-ins as commercial code or 
as open source code. There are cases where someone might put a huge amount 
of effort into developing a plug-in that they might want to be able to sell 
to someone else.

Of course, if someone wanted to release a plug-in as GPL, BSD or whatever, 
that is all right with me as well.

While I agree with most of the basic points made by the open source and 
free software folks, I do not share RMS's apparent hatred for the 
commercial environment. Without commercial software, there would be no way 
for me to feed my family. I like seeing them eat. I see that there is room 
for both open source and closed source programs. However, the effort 
required to create the container is part of what I would see as the old 
style precompetitive collaboration that occurred in the 50s and 60s to 
develop the building blocks like compilers and operating systems. After 
that, it was open season for commercial development.

This link was particularly informative, thank you:


This additional language could work, but if you add this, is it REALLY 
still GPL? And if the controlled interface allows you to change the 
containing program's menus and such is it really in the spirit of what was 
imagined by the GNU people?