[plug] Trying to comprehend Open Source speak
pete at flooble.net
Wed Nov 7 22:07:02 WST 2007
On 07/11 16:17:29, Ian Kent wrote:
> On Wed, 2007-11-07 at 15:38 +0900, Bruce M. Axtens wrote:
> > The documentation for a SNOBOL-style library at
> > http://www.dmitry-kazakov.de/match/match.htm says:
> > "As a special exception, if other files instantiate generics from
> > this unit, or you link this unit with other files to produce an
> > executable, this unit does not by itself cause the resulting
> > executable to be covered by the GNU General Public License.
[ snip the rest as it's irrelevant ]
> > What does that mean in the situation where I compile the code into
> > a Windows DLL and use it in my commercial application? Does it
> > force me to release the whole of my application under the GPL?
> This isn't Open Source speak, it's licensing speak.
> Anything that anyone says, who isn't totally up on the legal aspects
> of licensing would be speculation, seek legal advice.
Yeah, I'd have to mostly agree with Ian here. Though I'd also strongly
recommend one simple approach - just email the author of the library
directly and (very *very* politely) ask him for clarification. If he
responds in writing and says your intended usage is okay (and doesn't
mean your code must be under GPL), that should be of more weight than
just about any legal opinion. And if he says it wouldn't be okay (and
all the code is copyrighted by him and him alone), you could simply
ask if he'd consider letting you pay him for a commercial license.
The special exception clauses that I've seen (almost always for things
that are otherwise covered by GPL) usually make at least _some_ sense
(an ultra-confusing exception, for me at least, being CLisp -
But this one - I've got absolutely no idea what the author might mean
by "instantiate generics from this unit". It could mean almost anything.
I'd strongly suspect his English language skills may have been a bit
dicey when he originally wrote that :).
The other bit about the "link with other files to produce an
executable" is clearer, but still not clear enough. One might wonder
why he didn't just license it under LGPL if he wanted that sort of
effect - though it's probably worth noting that he specifically says
"executable" here, not "library". He may be deliberately trying to
prevent people doing exactly what you're trying to do, while still
allowing people to make statically-linked non-GPL executables.
I do have one final suggestion, which may or may not be useful :).
Depending on exactly how you'd like to use this functionality, you may
simply be able to use it as an external program! This sort of
technique is extremely common in the Unix/Linux world (less so in the
Windows world), especially in Perl or shell scripting - but it's still
useful even in C/C++ code. Something like (shell code):
RESULT=`echo $LOTS_OF_DATA | match "<ABC>"`
...is the essential idea I'm trying to get across.
Using the "match" code in this was is completely okay - the GPL
doesn't (can't?) affect that sort of usage.
You may even find it useful to write a small amount of code to make a
customised version of "match" that does exactly what you want and no
more - and while _that_ code may have to be under GPL, it'd be so
trivial that you wouldn't care.
Hope that helps a bit. Good luck. :)
When someone says "I want a programming language in which I need only
say what I wish done," give him a lollipop.
More information about the plug