Wednesday, February 06, 2008

BSD impact ; take two.

Jimmy left a response on the GPL and BSD impact entry that I've been sitting on while I figured out how to address it. So, lets get started. My comments are in italics, Jimmy's responses in bold,
#4: Everybody who modifies the source code must submit the changes back to the original author

If I _distribute_ the changed software, I must make the sources available.
I am not forced to send my private changes back to the author.
Problem here is that that my original entry was not talking about private modifications. The examples and scenarios I gave dealt with the redistribution of a modified program, or inclusion in commercial software with a price tag. So, I'm not really sure what Jimmy is on about here. The licensing style of the GPL is designed to protect authors from having their code stolen or re-used. The BSD style license offers no such protection. Again, that is great if you don't care who uses it. It's perfect for items like the Ogg encoding formats where you will run into a lot of other licenses really quickly.
#5: Anybody can relicense modified code

With a BSD-Style license, while code can not be stolen, rights of ownership cannot be enforced either.

In fact, whoever made the changes could theoretically relicense the music program under a new license that would prevent Amarok from every implementing the performance fixes... even if they reversed engineered the fixes.

Further, the BSD license does not allow the licensed code to be re-licensed. It may, however, be included in a larger work which has a different license.
This is one of those comments where I'm not really sure the BSD communities and supporters really understand the implications of the BSD license style. Fact is, Microsoft has taken the BSD TCP/IP stack, has implemented into Windows, and has a restrictive license covering that usage. Fact is, once the BSD style licensed code is entered into another overall project with another license, that BSD style licensed code has effectively been relicensed. Sorry, that's reality. That's what has happened. Again, because of the terms of the BSD licensing style, whoever takes, modifies, and redistributes the code can effectively steal the code, and there is nothing the original author can do.

I'm not saying that is a bad thing. There are many cases in software where ownership of the code and contribution changes are deprecated points. I've already mentioned the Ogg Media formats. Another good case in point is the GATOS project. While it's been dead for a few years, it could not be merged into the X.org ATi drivers until it was relicensed under a BSD-Style license.
If you released your GPLv2 program at a cost, only people who have paid for the product have access to your source code.

Yeah, but if I buy your program I am allowed to make the binary and source available to everyone else, at no cost, if I want to.
Already went into this back with Auto Assault. Yes, you can make the binary and source code available to anybody else, but what about trademarked branding? The case in points are FireFox and MySql.

In the case of FireFox, only source code compiled into binaries by Mozilla can be distributed as FireFox. Binaries not compiled by Mozilla must be distributed with another name. There are also restrictions on the artwork. Which is why you have projects like SwiftFox and IceWeasel. Not that I'm a fan of wikipedia, but they do have a somewhat neutral write-up on the subject Ice Weasel.

The point is, despite relatively anybody being able to republish the FireFox source code with modifications once the branding is stripped, the source code spin-offs only have minor percentages of the overall FireFox market.

The real interest though is MySql. MySql charges for the enterprise edition, and ended public distribution of the Enterprise Edition source code. You can only get the code if you are a purchaser of the Enterprise Edition.

Ergo, the theory has already been put to the test. Only MySql clients buying the Enterprise Edition can get the code. Yes, somebody else could take it, and redistribute it, but they couldn't call it Enterprise Edition, could not call it MySql. Any changes made to the redistributed version would have to be submitted back to MySql themselves. Now I'm repeating the competitive advantage point I made in the initial run.

Now, I could go on and examine CentOS, or Sun's take on a branding stripped Linux, but I think the point has been made. Redistribution by a 3rd party isn't a big deal as long as the code changes keep flowing back. A GPL style license ensures that changes are at least submitted and known.

BSD? Doesn't do it. If that's what you want? It's there.
Post a Comment