[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Licenses for Dummies



On Wed, May 21, 2003 at 10:26:58AM -0700, Bill Moseley wrote:
> I figure there's people here that can help point me to good resources.
> 
> I've read LGPL and GPL and the "why not use LGPL" page[1].  Still, I'm not that clear in
> simple terms what is allowed.  And also how BSD or Apache or Artistic compare.

Quick summary, since I can't think of any pages that are sufficiently
unbiased right now ;^).  IANAL, IANAA, IANAVC, etc.

* GPL says you can use this source, but all derived works must be
  distributable under the terms of the GPL; not necessarily explicitly
  under the GPL, but you must have all the rights it enumerates.  The
  FSF pages do a far better job explaining the GPL than I ever could.

* The LGPL is the same as the GPL, but explicitly allows you to link
  things together.  So someone could take your library and link against
  it, and sell the combined work under a proprietary license.  They are
  still required to credit you, though, and any changes they make to
  libswish-e itself must be made available under the LGPL.

  Point 3 of the LGPL gives people the right to (optionally) take the
  code under the original GPL, so people can continue to use it exactly
  as they have in the past.

* The BSD license (the modern, 3-clause one, anyway) says "do what you
  want with this, but a) don't remove our copyright from the source, b)
  mention in the documentation or about box or whatever that you got the
  code from us, and c) since you modified it, you can't claim we endorse
  you or your product."  This is a very liberal license; people can (and
  often do) embed your code in their proprietary software, and they
  don't have to contribute fixes or improvements back to you.  Of
  course, some do, out of the kindness of their heart.  Apple, for
  instance has released Darwin, the unixy underpinnings of Mac OS X
  under a BSD-ish license, even they the original license of the BSD
  code they used did not require it.

* The Apache license is very similar to the BSD one, but it requires you
  to rename modified works, which takes the no-endorsement clause (c) of
  the BSD license to the next level, I guess.

* The artistic license is a funny one, since there are a few different
  versions around.  If you're considering it, make sure you use the
  'Clarified Artistic License', since the original has some issues
  (which the FSF discusses on their page).  A lot of stuff under the
  Artistic license is dual-Artistic/GPL-licensed to that everyone can
  stay happy :)

All five of theses license are available on any Debian system for the
reading, in /usr/share/common-licenses/.

> Specifically, this is for swish-e, which is a search engine.  The swish-e source is built 
> into a C library, and also into a binary program "swish-e" that is a small front-end to the 
> library.  Currently it's all GPL.
> 
> People have been asking for different licensing -- I guess they want to include a search 
> engine in their proprietary products.  For some it's just a matter of providing a search to 
> their included documentation.  For others it's perhaps more integrated with their product.
> 
> I'm not clear if there's a difference if they have their program run the swish-e binary vs. 
> linking directly with the swish-e C library.  I frankly don't see any difference there.

This is where it gets hazy.  The general argument seems to be about
whether designing their program to use yours (say, by calling it from
within their program, with fixed, no-modifiable arguments) is different
to linking, and thus a derived work...This is something you need to
decide yourself, I guess...It's never been tested in court, as far as I
know.  Searching the debian-legal archives will uncover lots of
interesting cases along these lines.

So, in the end, you have to decide how much control you want.  Some
possible solutions:

1) Leave it under the GPL.  People can call the command line program, but
   not link to it from non-GPL-compatible software.  GPL-compatible
   software can link to it just fine.
   
   As an option to consider, you can license the software to people who
   ask under a traditional you-give-me-cash-and-I-let-you-use-my-code,
   or even let them use it for free, if you so desire.

2) License libswish-e under the LGPL, and (optionally, depending on how
   much you care) leave the frontend under the GPL.  Anyone can use
   libswish-e in their software as a search engine, but they have to
   give back the modifications to libswish-e itself to their customers,
   and presumably the world.

3) BSD/Apache/Artistic-license the whole thing.  Anyone can take your
   code and embed it into their own, without giving back changes, or
   even really telling you they've done so.  They can of course choose
   to give hunks back, but they're not required to.

Just to emphasise: any sort of license change, including re-licensing it
under a proprietary license to some people requires the consent of ALL
the copyright holders.  If this is a project that only you work on, then
it'll be fine.  If other people have contributed 'non-trivial' (which
is, of course, something that has to be decided on a case-by-case basis)
amounts of work, then you need to get them to agree, too.  This is a
huge issue for large projects; Mozilla is trying to relicense nearly all
of Moz under a triple GPL/MPL/LGPL license, and they *still* (after over
a year) can't find everyone...

> I'm also not clear if their use of Swish-e (linked with libswish-e or just running the 
> binary swish-e) effects their software's license.   GPL talks about "derivative" works which 
> I'm not sure how to define.

Programs that include GPL code, including those that just link it in,
are generally considered to be derived works, and thus subject to the
terms of the GPL, too.  Note that the GPL is only a *distribution*
license.  I'm free to (if I had access to the MS source, at least) link
IE with wget (which is under the GPL) and happily run this.  The GPL
only kicks in if I try to distribute this hunk of code (and would in
fact prohibit me from doing so, since the IE license is highly
incompatible with the GPL).

> I don't want to start a big debate about the details of the licenses.
> I'm more interested, in simple terms, in the major differences in
> them, and what general restrictions and rights they provide to the
> developers and users.

Hmm, this turned into a much longer email than I thought it would be; I
hope there's some useful information in there.  Also try the
debian-legal list; it's full of amateur legalicians :)

Oh, and: I AM NOT A LAWYER.  THE ABOVE IS NOT LEGAL ADVICE.  YOU SHOULD
ALWAYS CONSULT A LAWYER BEFORE DOING LAW-RELATED STUFF.

-- 
Rob Weir <rweir@ertius.org>  |   mlspam@ertius.org   |   http://www.ertius.org/
GPG keys: 1024D/1E73B7CD, 4096R/3ABDE5EC     |      Do I look like I want a CC?
Words of the day:   Croatian Janet Reno AUTODIN Roswell security PGP UFO threat

Attachment: pgpX_Yn3zuCu7.pgp
Description: PGP signature


Reply to: