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

Re: license questions.



On Mon, 2002-10-07 at 20:01, Auke Jilderda wrote:
> Ok, but is this about copyright law? AFAIK, the source code is
> automatically copyrighted to the author but that is something different
> than the actual license under which the software is distributed.

My (probably hazy understanding) is as follows:

Any work has an owner. That owner may do anything it likes with it,
regardless of the license. In most cases, the owner is the creator of
the work, i.e. the programmer.

By default, the work may not be distributed by anyone other than the
owner UNLESS the owner explicitly grants permission to do so.

AFAIK, the only cases where this may happen are as follows:

        * The owner may put the work into the public domain. This means
          that the work's owner is now the state, and the original owner
          loses all rights over it. The state automatically grants
          everyone a license to do whatever the hell they like with it,
          which includes changing the name and passing it off as your
          own work. The only thing you *can't* do with it is make
          yourself the new owner.

        * The work may go out of copyright. See above.

        * The owner may grant a limited license to allow other people to
          redistribute the work in exchange for certain things, e.g.
          money. You pay the owner, the owner gives you a copy of the
          work. But you don't get permission to redistribute it, unless
          you can persuade the owner otherwise (with, e.g., more money).

Open source licenses are a variant on the third option. The owner grants
you a license to modify and redistribute the work, *provided* you grant
the same license to your modifications (which you own). Note that
because you own the modifications, they're yours, and you can do
whatever you like with them. But the rest of the work isn't yours, and
you're required to follow the license. If you don't follow the license,
you're not allowed to distribute the modified work at all.

[But you can still distribute your changes. A common way of getting
round unpleasant licenses is to distribute a copy of the original,
unmodified work, plus a patch file containing the changes --- all
perfectly legal. That's one reason why Debian packages work the way they
do.]

Licenses like the GPL are called 'viral' because they require you to
license your own work (the modifications) with the GPL if you want to
distribute those modifications with a copy of the original work. If you
make changes to a piece of GPLd software, the only way you can legally
distribute the changed software is if you make your changes GPLd as
well. This is where the derived work business comes in.

[The company I work for makes an embedded operating system. It so
happens that the entire operating system is compiled together into one
monolithic chunk, applications and all, when it's used. Unfortunately,
this means that there are no clearly defined application boundaries, so
you would have a good chance of arguing that the entire OS is a derived
work if it contained a single piece of GPLd code; which means we can't
use any GPLd code at all. Which is a bummer.]

Another useful license I use is the Modified MIT license. This is much
laxer than the GPL. It states that I may modify and redistribute the
software without limitation. I can, basically, do whatever the hell I
like with it. This is *not* the same as the software being in the public
domain; the owner of the original work remains (but I'm the owner of the
modifications, of course).

The whole point of open source licenses is to allow people to modify and
redistribute the software. This includes forking. Allowing forking is
essential if the software is to be sufficiently free (in the speech
sense): if I got hit by a bus, and my software was under a license that
disallowed forking, noone would be able to modify any of my code until
the copyright expired.

There are licenses that allow redistribution of the unmodified code
only. The vbcc C compiler, which I did some work on, is under such a
license. I tried to talk the author into releasing it under an open
source license but he didn't like the idea of people forking the code
--- people keep asking you about versions of the software that you don't
support, and it's a pain, etc. Which is fair enough; it was his code, he
was the owner, and he could do whatever the hell he liked with it. He
was perfectly happy with accepting patches; he just wanted it to
centralised.

You don't have to release your software as open source if you don't want
to. It's your software, and your choice. It's just: (a) you will tend to
get more users and more feedback if it *is* open source, because open
source is trendy, and (b) certain major Linux distributions won't accept
the software because the license violates the distribution's license
policy. But if you're okay with that, go for it. The opposite of open
source is *not* closed source. You can have distributable source that's
not Open Source[tm]. It's just... not as open as it could be.

...

Wow. That was a bit longer than I expected. (I seem to have triggered
the Standard Management Lecture on Open Source.) Have I got anything
spectacularly wrong?

-- 
David Given
dg@cowlark.com



Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: