Begin forwarded message:
From: "Schwab,Wilhelm K" <bschwab@anest.ufl.edu> Date: October 13, 2010 2:46:31 PM GMT+02:00 To: Paolo Bonzini <bonzini@gnu.org> Cc: "Fitzell, Julian" <jfitzell@cincom.com>, "stephane.ducasse@inria.fr" <stephane.ducasse@inria.fr> Subject: RE: [Pharo-project] License question
Paolo,
The language is not childish; it is a valid expression of how this looks to others; I know, because I had it blow up in my face. I am fairly content to use GSL for its feature set and working around its foibles, only because I use it internally and GPL is not a concern. I got a cold dose of reality in the form of resistance from other programmers - some of whom see the license as a legal virus. After reading your "clone the API, then you can run fast as GPL or slow as MIT," I am more than ever aware of just how on the mark that characterization might be.
Another indication of the extent of the problems with/from GPL arises from my planned use of the Pharo Inbox. Put the code in there, and it's MIT; that's good. But what mess does that cause with a binding to something that is GPL? The answer is not to change the Pharo license, it is to exclude GPL code. I can put something on my web site and allow people to grab it from there.
The base of the GSL binding is (from memory) 100+ structure definitions (most of which are correct in spirit but not yet tested) and 1800+ function definitions. It ends up being something like 20,000 things that have to be named and typed. They are not much good without wrappers that help with memory management and control flow. I would like to make at least some of the wrapper functionality available, but I am not willing to GPL it for fear of future problems using my own code. If you are telling me that anything that directly or indirectly calls GPL code becomes GPL on release, that will impact how much of the code I can release. One solution would be to clone and release just enough of the wrapper set to help people to roll their own wrappers, which might eventually spawn a clean-roomed set of wrappers. A good MIT library will eventually appear, and when it does, I want to be able to move my higher level code to it. I will not hobble that goal for short-term gains. Childish? Quite the opposite.
Bill
________________________________________ From: Paolo Bonzini [paolo.bonzini@gmail.com] On Behalf Of Paolo Bonzini [bonzini@gnu.org] Sent: Wednesday, October 13, 2010 3:50 AM To: Schwab,Wilhelm K Cc: Fitzell, Julian; stephane.ducasse@inria.fr Subject: Re: [Pharo-project] License question
On 10/12/2010 08:13 PM, Schwab,Wilhelm K wrote:
nor do I want my code, other than the binding itself, affected by GPL.
Code that uses the binding is obviously affected by the GPL, just like if you used GSL directly in C. It's not like using a different programming language is a magic wand that makes the GPL disappear.
However, your code that does not use the binding will not be affected by the GPL. Code doesn't fall under the GPL just because it lived for a short time in the same image. In particular:
1) the GPL does not kick in until you distribute the code. As long as GPL and non-GPL (or even GPL-incompatible) code resides in a private image (or even circulates within an institution such as a company) there is no distribution and the GPL is not involved at all.
2) let's say you juxtapose GPL and X11-licensed (MIT) code in the same image. The non-GPL code doesn't use your bindings or any other GPL code, it's just placed together in the same image. This time you distribute the image, and in order to do so you must follow the GPL. However, you can still extract the X11-licensed code and distribute _that_ code under its own original license, or even as proprietary code since _that_ code's license is what counts.
It would be a shame to have to limit the a release to just the binding, but if GPL starts to infect anything that connects to the binding
It doesn't "start to infect". Please do not use such childish language. The GPL simply "applies" to anything that connects to the binding, just like it would "apply" to anything that uses GSL using the C interface.
You probably would not say that using proprietary source code in Squeak or Pharo "infects" it with a proprietary license. You'd simply say "you have to respect the license of the proprietary source code", or you violate the copyright owner's rights. The GPL is absolutely no different. It tells you what you can do and what you cannot do.
Very frankly: if you think the GPL has "infected" something, well, it didn't do anything on its own, it was _you_ who did something stupid.
Paolo