Below is a note that I sent to the WordNet-Similarity mailing list, and will slowly circulate around to some of our other packages...NSP, SenseClusters, etc. The idea is to try and provide some more information about the GPL, and also generate some discussion if anyone has any particular concerns about this form of license.
Most of our packages have a command line interface available, so that discussion below applies to most if not all of our packages (you'll see where command line fits into the picture here, and why it's an interesting angle with respect to the GPL). On the other hand, most of our packages do not have web interfaces, so that discussion may not always apply, but it might make the point that we should think about providing more and better web services for some of our packages....there are always concerns about licensing and portability, and providing them via a web service of some kind might well solve many or most of those... In any case, comments and questions are most welcome. Ted ------------------------------------------------------- Greetings all, I thought it might be good to post some informal musings on the GPL and what it means for the use and redistribution of WordNet-Similarity (or any other package that uses the GPL). The GPL is the General Public License, sometimes called the CopyLeft, and that is the license under which WordNet-Similarity is distributed. You can read the formal language within our package (GPL.txt in the main directory) or here : http://www.gnu.org/copyleft/gpl.html What does the GPL mean? Well, it means a few things ... you can use this software for any purpose you want, and you get the source code to study or modify, in short, you can do whatever the heck you want with it as a user. Now, if you decide to distribute what you have done using WordNet-Similarity, that's where the GPL kicks in. What the GPL says is that you can redistribute WordNet-Similarity as we provide or your modified version, if you do the following : 1) distribute or make easily available your modified version of the source code 2) retain the original copyright/author information 3) your modified version of the code must continue to use the GPL, and if your modified version of the code is embedded into a larger program then that whole program must also use the GPL (** this is where there is lots of confusion, and it centers around what it means to be "embedded", and we'll try and clarify here shortly. Note that I'm using embedded in a very informal non-computatinal sense here, meaning that it's just part of a bigger system in some way **) That's pretty much all that you are required to do. Now, some folks balk at the third condition above, and there can be good reason for that, especially if one is working at a company or organization that doesn't release source code or doesn't use the GPL in general. If that's the case, you can actually still use GPL code, you just can't modify it and then redistribute it. That may seem quite limiting, but in fact it might not be quite as bad as it seems at first... In fact you can still use GPL code and redistribute code that uses the GPL without having to use the GPL in your own code that does this, as long as you do this the "right" way. This requires a bit of planning and perhaps some conscious decisions on the software engineering side, but it can be done. More on that shortly. Now, if you modify WordNet-Similarity and you want to redistribute that modified version, that needs to be done following the GPL. That means distribute the source code, and keep the modified version under the GPL. No way around that, and we'd be happy to see new and improved versions of Similarity spring up in this way. :) But, if you simply want to use WordNet-Similarity within a program or package that does not actually modify WordNet-Similarity, you can do that by keeping an appropriate distance from WordNet-Similarity. This is where a bit of computer science terminology comes into play, but the basic distinction between distributing a modified version of WordNet-Similarity and simply using the existing one depends on the address space. If your program includes WordNet-Similarity in its virtual address space, that program needs to follow the GPL. If your program uses WordNet-Similarity but does not have it within its address space, your program does not need to use the GPL, although WordNet-Similarity is still governed under the GPL. How can WordNet-Similarity be kept at an appropriate distance, so that the program that uses it does not need to itself follow the GPL? There seem to me to be two ways of doing that... 1) via programmed calls to the command line interface. In perl, for example, you can make calls in your program like this: system("similarity.pl --type WordNet::Similarity::jcn dog cat") The effect of the system function is to create a new process (address space) to run similarity.pl, and so your program that does this does not need to use the GPL. 2) via programmed calls to our web interface. There the process running similarity.pl is actually on our server, so it's nowhere near your address space. :) Now, if you are using the API functions that WordNet::Similarity provides, then you are probably at a point where your address space will include WordNet::Similarity, so your program would need to be licensed with the GPL if you wanted to redistribute that program.... Now, please understand that this is meant to be an informal description, and mostly as a way to get people thinking about this issue. I have used some of my own terminology above just in an effort to explain, so you should certainly consult http://www.gnu.org for more definitive information. So...you've read this far and you are wondering, should you be concerned about the GPL at all? If you have not redistributed WordNet-Similarity then there is nothing to worry about. You can use it for any reason you want, you can look at the source code, you can modify it, whatever you like. :) If you have redistributed WordNet-Similarity in a program or package that uses the GPL and retained the GPL, no problems there. You can even sell that for money if you like and we won't ask for a dime. :) If you have distributed a program that uses WordNet-Similarity under something other than the GPL, that's where we all need to be a bit careful. If you have mainted an "appropriate distance" then even that is ok, if you have not, then perhaps we should talk. :) We do not have a team of lawyers waiting to sue people, btw. If you are wondering about some of these redistribution issues, please feel free to bring them up on this list or privately, we'd be happy to discuss them. Also, we are especially interested in the opinions of people who have felt constrained by the GPL in some way, and might have changed their plans for using WordNet-Similarity because of the GPL. If that's the case, we'd really like to hear from you. Finally, if I have messed up any of the above, please don't hesitate to correct or comment on it. I think it's best that we discuss these sorts of issues from time to time, just to make sure everyone is thinking of them. Most of us aren't lawyers, and this sort of stuff gets pretty complicated, and it can take a little time to truly understand what boundaries are established by the GPL or any other license. Cordially, Ted -- Ted Pedersen http://www.d.umn.edu/~tpederse

