GPL vs BSD

Here we go again!!

I know I will probably stir up the the sediment all over again, but this has to be clarified. If anything because this came up at work yet again. And It’s quite frightful at how ill informed people are on these licenses.

(This will be long and tedious, so feel free to browse away now)

Let’s clarify a few important points right here…

The GPL is not about “freedom”

In fact, the word “freedom” doesn’t even belong in there. The problem is that the GPL, and indeed many software projects that use it, has been turned a religion. And like all religions, it contradicts itself in sentiment… repeatedly.

I don’t have any problem with someone using the GPL in their work, and I’ve been happy using GPL’d products. But I will not treat this license as something it isn’t. That is, a doctrine on freedoms. A license is a license, and by definition all licenses carry restrictions. The GPL carries a particularly ridiculous combination of doctrine, philosphy, and law. Sounds like religion to me…

“The licenses for most software and other practical works are designed to take away your freedom to share and change the works”

The GPL does exactly the same, in that developers have to release every bit of derived or modified code under GPL or face legal action. That is a restriction placed upon the developers and distributors.

“To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.”

 
So you’re forcing the code to be free because you recieved it free?
You’re denying some of the developers’ rights to give more rights to users?
That’s a lot like “peace… through superior firepower”.

Where’s the developers’ freedom to not distribute the code when distributing the product? Or does that get swept under user rights? I didn’t realise there were different standards for developers and users when it came to “rights”.

The freedom to distribute code or programs is, and has always been, a choice. Much like selling cake vs selling the cake with the recipie. A baker may choose to do both or only one, however, the customer is not forced to do the same by eating the cake thereby entering into a binding contract with the baker. If the customers decide to make cake using improvements to the same recipie, then they’re automatically forced to sell it with the improvements in the recipie?

That’s what the GPL really is. A binding contract : That is a set of restrictions on those who use, develop or modify content licensed under it. It is not now or has ever been a formula on “freedom”. The GPL is not the definition of “generocity” that is giving without expecting any return. I hope all you GPL advocates would stop treating it as such and call it what it is. A license and a binding contract. Nothing more.

If you try to pass it off as anything other than that, then you have problems.

I’m well aware of the motivation of using the GPL and, in theory, it is a noble cause. You’re trying to ensure that quality code remains free and any quality modifications are returned to the community without becoming invisible. While distributing products for free or profit, you also want to ensure the sources are available to the community.
But let’s not call this “freedom”. Free code is just that… free code.

If someone modifies some code and chooses not to distirbute it for free or profit, it still becomes invisible to the community. So this is only for those who choose to distribute their work anyway.

The BSD is not about “freedom” either

It’s about not getting involved in what the end user chooses to do with their copy of the sources and protecting the developers from harm. It’s none of their duty nor concern to police the actions of users.

Specifically, the ISC License…
The only usage restrictions are the disclaimer and copyright.

Copyright (c) Year(s), Company or Person’s Name

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

That’s it!
That’s the whole license.

Notice anything about “freedom” or philosophical ramblings?
Notice anything other than what the license is about and the criteria?
NO!

Unlike the GPL, the BSD license doesn’t pretend to be something it isn’t and users of BSD license are well aware that, like all licenses, it is a binding contract between developers, distributors, and users. They have no delusions about how much “freedom” both licenses afford however the BSD still being a license it still has usage restrictions. Namely the copyright and disclaimer.

Developers using the BSD license don’t care nor want to police the actions of users once the source is copied. They’re not interested in “freedom” through coersion, which is actually slavery. They just want to make sure their products and sources are available from them regardless of need or future availability. If the users want to share their own modifications, then more power to them. But they’ll be damned if it’s by force.

—————

That said, I don’t use the BSD license in examples I’ve posted here. I would have placed them in the public domain if not for one indemnity clause. That’s the only reason every single line of code/HTML/CSS I’ve posted on this blog isn’t in the public domain.

I don’t want to get in trouble when someone using my work didn’t have things go over so well. Except for that, everyone is free to do whatever they please with it. Use it in personal  or professional projects, buy, sell, modify, reverse engineer, give me credit or not give me credit… whatever! I pretty much wash my hands of any responsibility after it’s posted. I don’t expect anything in return.

I’m not forcing anyone who uses any of my examples to treat their work as I do mine. In fact, I’m not forcing anyone to do anything at all with it or while using it. With the exception of the indemnity clause, there is no “law” involved in the source.

I only require anyone using my examples to agree to the following disclaimer :
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

That’s it! That’s the sum total of the “restrictions” I place on anyone using my examples. Keen observers will note, it’s identical to the disclaimer in the ISC license as I want to make sure that I don’t tread around on someone else’s needs while protecting myself.

In that aspect, it’s the closest I could come to placing everything in the public domain.

Public Domain : That’s freedom, folks.

A utopia by choice is heaven. A utopia by force is hell.

About these ads

16 thoughts on “GPL vs BSD

  1. peace… through superior firepower

    MISSION ACCOMPLISHED!

    In my work with the Google Summer of Code, it was amazing how devoted all my coworkers were to the cause of open source and keeping software free. Even though it was an admirable ambition, I couldn’t help the nagging thought that, at least in some cases, it was motivated more by reaction to closed-source software giants than actual nobility. It’s a fine line for sure, and a slippery slope as well: it’s deceptively easy to become the very thing you originally sought to change.

    GPL was the crux of everything. And, to my dismay, I discovered there were several versions of the GPL. Nevermind the fact that Apache has their own licensing system, much of which is incompatible with two of the three GPL versions, which actually put a huge obstacle in my project.

    I was thinking: Wait a minute…my project here involves integrating two open source software packages from two different companies that take GREAT pride in releasing their products and the corresponding source code absolutely free…and I can’t legally make the two products work together?

    Fundamental philosophical contradiction, anyone?

    A utopia by choice is heaven. A utopia by force is hell.

    I would ask you if it’s ok that I use this quote as a tagline (though I’ll still credit you, because that’s how I roll), but I get the feeling that doing so would somehow violate the spirit of this entry. :P

  2. Hey, you go right ahead ;)

    Yeah, it’s when people loose their objectivity during the licensing process, that it really gets them into trouble years down the road. I do appreciate the passion people have for Open Source, but it must not cloud their judgement.

    I think I just want people to treat licenses as licenses instead of adopting this psudo-philosophical stance. Call it what it is, I say : A contract.

    I mean, I understand the motivation and RMS is certainly very passionate about these things, but they shouldn’t spill over to contracts. They need to be objective and conicise.
    The multitude of OS licenses certainly don’t help much (there may be another version of the GPL down the road), but this issue can be mitigated by objectively looking at the project at hand.

    What is appropriate for our situation?
    Is the question all developers must ask themselves.
    They need to think this through calmly and objectively, while keeping an eye out for the future. Licensing isn’t something to take lightly as it will (as you’ve already found out) affect the way others will(not) be able to use their code.

  3. Pingback: License wars: GPL vs. BSD (or What happened to the public domain?) « UNIX Administratosphere

  4. Pingback: This software is n-tuple licensed « This page intentionally left ugly

  5. Pingback: Goodbye public domain dedication. Hello CC0 waiver. « jorel314

  6. Pingback: Let’s build a free “indiscriminate collection of information” « This page intentionally left ugly

  7. Because it is simpler to run an electronic on-line shop than to run
    a shop in the market-place that to your shop which offers anything to
    you under the sun that are available online retailers offer year long reductions.
    Also these online stores like Overstock.com give specific discount including
    overstock promotion rule for promotional and publicity function.
    Though a traditional Overstock voucher is hard to find
    but once you acquire it be sure to be impressed.

    Overstock Coupon is of very good use, as it has improved the trend of
    online shopping by often among your head of individuals.

    It has also several availing things which improve its need.
    Several kinds of voucher rules are there namely Money Saver Coupon Code,
    Free Ship Coupon Code and many more; all are used for various purposes.

    Today these limitations are being sold-out to complete business.
    This is also comfortable for the customers as they
    are now free from the risk of marketing using a large
    amount of money. Actually some re-charge web sites and internet sites have started the Overstock
    Coupon program. They offer strategies like on a re-charge of Rs.
    10 only one will get two decades concession on looking
    for Rs 999 and above. By using these schemes, also the websites are extending their sales.
    Many shopping sites have set a profit such that shopping beyond that certain amount would endure no delivery cost.
    Coupon codes are actually available to even reduce the delivery cost.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s