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