GNU versus BSD

Please compose all posts in Emacs.

Moderators: phlip, Prelates, Moderators General

Re: GNU versus BSD

Postby Anpheus » Wed Dec 05, 2007 6:57 am UTC

btilly wrote:Good grief.

The FSF does not hold a gun to your head and say, "Use our license!" While the FSF wants you to say "GPL v3 or later" they can't make you. If you prefer the GPL v2, you're free to do that. Similarly nobody makes you put GPLed code in your codebase, forcing you to GPL your code.

These are all choices that you're free to make. If you don't like them, don't make them. If you do like them, do make them. Either way you really have nothing to complain about.

In the open source world, I'd equate the GPL and the other viral, incompatible licenses to cell phone carriers. There's a huge barrier to entry, they don't work with each other, and you have to agree to their contract whether it includes terms you like it or not because it's snowballed into this huge, massive community of like-minded people using this license that basically has a trojan horse in it. I totally agree that no one forces me to agree to the GPL or put it on my code, or to do anything related to it. Likewise, people are in no way required to agree to any of the numerous and painfully long cell phone contracts. Yet, I bet you own a cell phone. I do. Yet pretty much every cell phone contract includes an unfair and legality-yet-to-be-decided-upon clause about binding arbitration wherein you give up your right to sue the cell phone carrier.

This is kind of like that, I understand it's a weak metaphor, but the parts that are important are there: ubiquity of the agreement, a limited number of choices in the market (community) and user lock-in once you give in and agree to it. The moment you agree to CDDL, GPL, or any of a number of agreements, you're pretty tied down the moment someone else contributes an edit. When you're the sole copyright holder, everything is easy, when you're not... those viral licenses make it extremely easy for code to fracture, that is, for forks to be required. And once your beautiful megalicensed work forks into a dozen different licensed versions, it's illegal to merge any two without getting a whole lot of people's approval.

Hey, the FSF hasn't forced me to GPL any of my code, and they never will. But at one point or another, due to the nature of the open source community as it is, I'm going to have to either agree to use the GPL for some of my code or just not code at all. Given that I like to be able to assert my rights, I choose the latter. If the GPL included a 'this work can be considered public domain x years after copyright' where x was sufficiently small, I'd use it in a heartbeat. But as it is, the FSF is asserting greater bargaining rights than I have when I GPL my code unless I remove the "future version" clause. Regrettably, if I remove that clause my code is no longer entirely GPL compatible. It's a sad state of affairs.

btilly wrote:Secondly the benefit of doing things the FSF's way is that when new versions of the GPL come out, you're free to move to them. Contrary to your claim that more freedoms can only be given, the GPL v3 has several restrictions that were not in the GPL v2. There are developers that are very glad that it is easy now to switch licenses to get a stronger license.

You misinterpreted me and that's ok. I am referring to application of the "future versions" clause. The restrictions of the GPLv3 do not apply retroactively, that is, if I take GPLv2 with "or later version" software and convert it to GPLv3, I do not gain patent protection from all previous contributors. That is what I am referring to. The "Or later version" clause can only grant more freedom to modify the code and distribute it, because the obligations of the new license will not apply retroactively. The GPL's "or later version" clause can never result in a greater restriction upon the original distribution of the code, so you just have to wait until a GPL comes out that favors your use. So far, the FSF has only increased restrictions, but if they ever go lax on them, then that GPL version could be used to subvert the author's intentions from before. So long as contributors to the project continue to stamp everything GPLv2, you cannot hold GPLv3 restrictions against them. If, however, GPLv4 is the BSD license, you can remove restrictions willy-nilly and continue to use any new contributions to the code.

I would like to quote the FSF GPL FAQ:
FSF wrote:Suppose a program says "Version 3 of the GPL or any later version" and a new version of the GPL is released. If the new GPL version gives additional permission, that permission will be available immediately to all the users of the program. But if the new GPL version has a tighter requirement, it will not restrict use of the current version of the program, because it can still be used under GPL version 3. When a program says "Version 3 of the GPL or any later version", users will always be permitted to use it, and even change it, according to the terms of GPL version 3—even after later versions of the GPL are available.



Btilly, I think you have grossly misinterpreted my argument here as being 'against' the FSF, they haven't yet done anything to hurt me or my family or my cats, so I don't really have any reason to hate them. Nor do I think that it was an intentional act upon their part to put in a clause that could, if the FSF chose to, subvert the copyright of the owners. I do not feel like I am required to use the GPL, however, if I am to participate actively in the open source community eventually... heh... Using the GPL will be like those cell phone contracts. Either that or I have to come up with my own, unique license that will undoubtedly be incompatible, in which case, I've just become a minor carrier with my own contract according to my own metaphor. It's not a good situation.
Spoiler:
Code: Select all
  /###\_________/###\
  |#################|
  \#################/
   |##┌         ┐##|
   |##  (¯`v´¯)  ##|
   |##  `\ ♥ /´  ##|
   |##   `\¸/´   ##|
   |##└         ┘##|
  /#################\
  |#################|
  \###/¯¯¯¯¯¯¯¯¯\###/
User avatar
Anpheus
I can't get any worse, can I?
 
Posts: 860
Joined: Fri Nov 16, 2007 10:38 pm UTC
Location: A privileged frame of reference.

Re: GNU versus BSD

Postby blob » Wed Dec 05, 2007 8:48 am UTC

Anpheus wrote:On the other hand, if they're using it only a small number of times, and only using a small part of the library, it's almost unethical to say that developer should have to open-source his code too.

I don't see anything unethical in giving people extra choices. If they barely use the GPL'd library, they can choose to rewrite the 1% of the code that uses it, stop using the library, and behold - no more obligation to release the source when distributing.

Anpheus wrote:If the GPL included a 'this work can be considered public domain x years after copyright' where x was sufficiently small

It happens automatically on copyright expiration. Do you mean earlier? You can certainly release your code into public domain earlier; it's only GPL incompatible if you force derivative works to too.
Avatar yoinked from Inverloch.

"Unless ... unless they kill us, then animate our corpses as dead zombies to fight for them. Then I suppose they've taken our lives, AND our freedom."
- Elan, OOTS 421.
User avatar
blob
 
Posts: 343
Joined: Thu Apr 05, 2007 8:19 pm UTC

Re: GNU versus BSD

Postby Anpheus » Wed Dec 05, 2007 8:49 am UTC

I think current copyright law is far too long for programming, yes. I can't imagine we'll even be using the same instruction sets in seventy years, though I imagine C might still be popular. (I hope not, but, meh.) I think programs have such a short shelf life that any sort of copyright on code that lasts more than a decade is ridiculous, and I'd even go so low saying five years is OK, as per my post.


As for the 'giving people choices' part, do you really steadfastly believe that using one call to a GPL library, and having that call take... less than a hundredth of a percent of the CPU time that the rest of the application does... is enough to call it a derivative work? I'd say it's fair use, but the FSF thinks anything is a derivative work.

So, it's a derivative if I statically link...

But if I compile it into a dynamically linked library, is it still a derivative even though my code is compiled separately, potentially even in the absence of the library?

If I compile a dynamically linked library separately, my code separately with an ambiguous API, then write a GPL'd DLL to filter all the calls and translate the API from mine to theirs, is it still a derivative?

On a Unix machine, if I compile the GPL code separately from my program and just use pipes to use the library, is it still a derivative?


How much abstraction has to occur before someone acknowledges that it's not a derivative work? We're talking about computers here, they spend their entire lifetime copying bit a to bit b, regardless of the copyright on either. Computers constantly mish and mash two programs together. If I compress a GPL program and a non-GPL program and distribute the zip file, am I violating the copyright on the GPL because its bits are all mixed up with the bits of something that isn't GPL? If I write a program for extracting some meaningful use from that zip file, that is, if I were to write a program that in memory decompressed the zip and then linked the programs together in memory, would I be violating copyright? I mean, how ridiculous can copyright get for computers?
Spoiler:
Code: Select all
  /###\_________/###\
  |#################|
  \#################/
   |##┌         ┐##|
   |##  (¯`v´¯)  ##|
   |##  `\ ♥ /´  ##|
   |##   `\¸/´   ##|
   |##└         ┘##|
  /#################\
  |#################|
  \###/¯¯¯¯¯¯¯¯¯\###/
User avatar
Anpheus
I can't get any worse, can I?
 
Posts: 860
Joined: Fri Nov 16, 2007 10:38 pm UTC
Location: A privileged frame of reference.

Re: GNU versus BSD

Postby zenten » Wed Dec 05, 2007 12:30 pm UTC

Anpheus wrote:As for the 'giving people choices' part, do you really steadfastly believe that using one call to a GPL library, and having that call take... less than a hundredth of a percent of the CPU time that the rest of the application does... is enough to call it a derivative work? I'd say it's fair use, but the FSF thinks anything is a derivative work.


Why do you care what the FSF thinks? All that matters here is the law.
zenten
 
Posts: 3797
Joined: Fri Jun 22, 2007 7:42 am UTC
Location: Ottawa, Canada

Re: GNU versus BSD

Postby Anpheus » Wed Dec 05, 2007 12:33 pm UTC

Regrettably, there aren't many precedents on it, and so while the FSF is of course an unbiased source, they also don't seem to be writing the law or pushing too many cases through on what is and is not a derivative work.
Spoiler:
Code: Select all
  /###\_________/###\
  |#################|
  \#################/
   |##┌         ┐##|
   |##  (¯`v´¯)  ##|
   |##  `\ ♥ /´  ##|
   |##   `\¸/´   ##|
   |##└         ┘##|
  /#################\
  |#################|
  \###/¯¯¯¯¯¯¯¯¯\###/
User avatar
Anpheus
I can't get any worse, can I?
 
Posts: 860
Joined: Fri Nov 16, 2007 10:38 pm UTC
Location: A privileged frame of reference.

Re: GNU versus BSD

Postby hotaru » Thu Jul 31, 2008 7:41 pm UTC

sorry for bumping an ancient thread that i haven't really read, but i need to say something and this seemed like the best place for it.
the GPL is not free as in free speech.
the BSD and MIT licenses are closer but not really free as in free speech either.
if you're required to say certain things when you say something you heard someone else say, that's not free speech.
Code: Select all
uint8_t f(uint8_t n)
{ if (!(
n&1)) return 2;
  if (
n==169) return 13; if (n==121||n==143) return 11;
  if (
n==77||n==91) return 7; if (n==3||n==5) return 0;
  
n=(n>>4)+(n&0xF); n+=n>>4n&=0xF;
  return (
n==3||n==6||n==9||n==12||n==15)?3:(n==5||n==10)?5:0; } 
User avatar
hotaru
 
Posts: 949
Joined: Fri Apr 13, 2007 6:54 pm UTC

Re: GNU versus BSD

Postby Anpheus » Thu Jul 31, 2008 8:00 pm UTC

You're using a tricky logical fallacy there. The general belief is that free speech is good. It's a "glittering generality." People who support free speech are good, etc. So of course, licenses that are like free speech are good too, right?

Wrong.

Licenses aren't like free speech at all and you shouldn't use logical fallacies, no matter how cleverly worded they are. Creating these metaphors by linking one thing to a known, good concept and then saying, you know, they aren't quite exactly like it... you're saying they're not good licenses in a very, very subtle way.

So let's not compare copyright and free speech even subtly. They protect different things for different reasons. The FSF is very guilty of this too.
Spoiler:
Code: Select all
  /###\_________/###\
  |#################|
  \#################/
   |##┌         ┐##|
   |##  (¯`v´¯)  ##|
   |##  `\ ♥ /´  ##|
   |##   `\¸/´   ##|
   |##└         ┘##|
  /#################\
  |#################|
  \###/¯¯¯¯¯¯¯¯¯\###/
User avatar
Anpheus
I can't get any worse, can I?
 
Posts: 860
Joined: Fri Nov 16, 2007 10:38 pm UTC
Location: A privileged frame of reference.

Re: GNU versus BSD

Postby hotaru » Thu Jul 31, 2008 11:15 pm UTC

i'm not saying they're not good licenses. i'm just saying that claiming the GPL is more like free speech than the BSD and MIT licenses is flat out wrong, and that the whole "free as in free speech" thing is intentionally misleading. if the GPL is a better license, why not let it rise or fall on it's own merits rather than trying to trick people into thinking it's less restrictive?
Code: Select all
uint8_t f(uint8_t n)
{ if (!(
n&1)) return 2;
  if (
n==169) return 13; if (n==121||n==143) return 11;
  if (
n==77||n==91) return 7; if (n==3||n==5) return 0;
  
n=(n>>4)+(n&0xF); n+=n>>4n&=0xF;
  return (
n==3||n==6||n==9||n==12||n==15)?3:(n==5||n==10)?5:0; } 
User avatar
hotaru
 
Posts: 949
Joined: Fri Apr 13, 2007 6:54 pm UTC

Re: GNU versus BSD

Postby Rysto » Fri Aug 01, 2008 12:03 am UTC

Get a clue. The full phrase is "free as in speech, not beer". The point is that the word free in "free software" refers to freedom, not price. Just because you don't understand what "free as in speech" means doesn't make it intentionally misleading.
Rysto
 
Posts: 1443
Joined: Wed Mar 21, 2007 4:07 am UTC

Re: GNU versus BSD

Postby Xbehave » Fri Aug 01, 2008 12:57 am UTC

the way i see it is that GPL is freedom as in the source code will always be freely avalible for anybody to see.
and BSD is freedom as in the code can be used by anybody without any restrictions

but why choose bsd over public domain?
GENERATION 20: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.
Xbehave
 
Posts: 54
Joined: Wed Jan 09, 2008 4:45 am UTC

Re: GNU versus BSD

Postby Rysto » Fri Aug 01, 2008 1:00 am UTC

Xbehave wrote:but why choose bsd over public domain?

There's disagreement over whether anyone can actually renounce copyright and place code in the public domain.

Besides, by using the BSD license you disclaim any warranties, which is a very good idea.
Rysto
 
Posts: 1443
Joined: Wed Mar 21, 2007 4:07 am UTC

Re: GNU versus BSD

Postby Anpheus » Fri Aug 01, 2008 6:24 am UTC

I'm afraid I fail to see why it is difficult to place something in public domain when the BSD license itself is in public domain?
Spoiler:
Code: Select all
  /###\_________/###\
  |#################|
  \#################/
   |##┌         ┐##|
   |##  (¯`v´¯)  ##|
   |##  `\ ♥ /´  ##|
   |##   `\¸/´   ##|
   |##└         ┘##|
  /#################\
  |#################|
  \###/¯¯¯¯¯¯¯¯¯\###/
User avatar
Anpheus
I can't get any worse, can I?
 
Posts: 860
Joined: Fri Nov 16, 2007 10:38 pm UTC
Location: A privileged frame of reference.

Re: GNU versus BSD

Postby EvanED » Fri Aug 01, 2008 6:40 am UTC

Anpheus wrote:I'm afraid I fail to see why it is difficult to place something in public domain when the BSD license itself is in public domain?
The BSD license isn't public domain, tat's why.

If something is public domain that means that it's not under copyright. BSD means you retain copyright, but that anyone has rights to do basically whatever with it.

(There's also the disclaimer thing.)
EvanED
 
Posts: 4133
Joined: Mon Aug 07, 2006 6:28 am UTC
Location: Madison, WI

Re: GNU versus BSD

Postby Anpheus » Fri Aug 01, 2008 6:41 am UTC

No, the BSD license itself, the wording of the license, is in public domain.
Spoiler:
Code: Select all
  /###\_________/###\
  |#################|
  \#################/
   |##┌         ┐##|
   |##  (¯`v´¯)  ##|
   |##  `\ ♥ /´  ##|
   |##   `\¸/´   ##|
   |##└         ┘##|
  /#################\
  |#################|
  \###/¯¯¯¯¯¯¯¯¯\###/
User avatar
Anpheus
I can't get any worse, can I?
 
Posts: 860
Joined: Fri Nov 16, 2007 10:38 pm UTC
Location: A privileged frame of reference.

Re: GNU versus BSD

Postby toysbfun » Thu Nov 27, 2008 4:18 am UTC

Here's what I don't understand about some BSD licensers. It seems to be, "Sure, you can take our BSD code and use it to make a proprietary version and not share the source code with us. It's free for everyone to use however he likes... Hey! GPL guys! What are you doing? We can't use those improvements the code!"

Oh. Would you be happier if it was used in proprietary software? You wouldn't be able to use the improvements then either. Or would you be happier with a share-alike condition, like the GPL has?
toysbfun
 
Posts: 171
Joined: Fri Apr 13, 2007 5:14 am UTC

Re: GNU versus BSD

Postby hotaru » Thu Nov 27, 2008 5:54 am UTC

toysbfun wrote:Here's what I don't understand about some BSD licensers. It seems to be, "Sure, you can take our BSD code and use it to make a proprietary version and not share the source code with us. It's free for everyone to use however he likes... Hey! GPL guys! What are you doing? We can't use those improvements the code!"

Oh. Would you be happier if it was used in proprietary software? You wouldn't be able to use the improvements then either. Or would you be happier with a share-alike condition, like the GPL has?

people who make improvements and don't release the source code don't pretend they're helping the community by releasing their derivative works under a non-free license.
Last edited by hotaru on Thu Dec 04, 2008 11:55 pm UTC, edited 1 time in total.
Code: Select all
uint8_t f(uint8_t n)
{ if (!(
n&1)) return 2;
  if (
n==169) return 13; if (n==121||n==143) return 11;
  if (
n==77||n==91) return 7; if (n==3||n==5) return 0;
  
n=(n>>4)+(n&0xF); n+=n>>4n&=0xF;
  return (
n==3||n==6||n==9||n==12||n==15)?3:(n==5||n==10)?5:0; } 
User avatar
hotaru
 
Posts: 949
Joined: Fri Apr 13, 2007 6:54 pm UTC

Re: GNU versus BSD

Postby bigstrat2003 » Thu Dec 04, 2008 10:19 pm UTC

toysbfun wrote:Here's what I don't understand about some BSD licensers. It seems to be, "Sure, you can take our BSD code and use it to make a proprietary version and not share the source code with us. It's free for everyone to use however he likes... Hey! GPL guys! What are you doing? We can't use those improvements the code!"

Oh. Would you be happier if it was used in proprietary software? You wouldn't be able to use the improvements then either. Or would you be happier with a share-alike condition, like the GPL has?


The only controversy I recall was over people in GPL projects taking BSD code and making it GPL code wholesale. I'm sorry, but using a permissive license does not allow you to delete my permissive license and insert your restrictive license.

Plus, it's much more rankling when someone using the GPL does this. When someone takes my code and puts it into their closed-source project, at least they're being honest and open about what they're doing. They have a closed-source project, and you are under no illusions about that fact (generally). The GPL, though, is essentially hypocrisy in the form of a copyright license... "We're about freedom! We're nice guys, and we want to empower you to do stuff with our software... but only if you submit to our ideals! You aren't really free!". So, with the GPL, it may seem counterintuitive, but it's much more aggravating to see my code used in that arena. I wouldn't try to stop them (barring jumping down their throats if they copy huge chunks of my code and just change the license on it), because that would make me no better than them, but it is irritating.
bigstrat2003
 
Posts: 420
Joined: Sat Oct 27, 2007 2:18 am UTC

Re: GNU versus BSD

Postby Berengal » Thu Dec 04, 2008 11:05 pm UTC

bigstrat2003 wrote:I'm sorry, but using a permissive license does not allow you to delete my permissive license and insert your restrictive license.

Yes it does. If it didn't, it'd be equivalent of the GPL (except distributors of GPLed software have to provide the source if you ask for it). If you don't want people changing the license of your open-source code willy-nilly, release it under the GPL. If you want others to be able to release their modified versions under any random license, including GPL, use the BSD.

bigstrat2003 wrote:Plus, it's much more rankling when someone using the GPL does this. When someone takes my code and puts it into their closed-source project, at least they're being honest and open about what they're doing. They have a closed-source project, and you are under no illusions about that fact (generally). The GPL, though, is essentially hypocrisy in the form of a copyright license... "We're about freedom! We're nice guys, and we want to empower you to do stuff with our software... but only if you submit to our ideals! You aren't really free!". So, with the GPL, it may seem counterintuitive, but it's much more aggravating to see my code used in that arena. I wouldn't try to stop them (barring jumping down their throats if they copy huge chunks of my code and just change the license on it), because that would make me no better than them, but it is irritating.

It's more like "You can use our source freely, provided you also enable everyone else to use your source based on our source freely, provided they too agree to these terms." GNU and FSF might have their ideologies, but you don't have to agree with them for the GPL to be a good choice for you, for either ideological or practical reasons.
Sometimes you need some restrictions to get the most freedom. That's basically why we have laws at all.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.
User avatar
Berengal
Superabacus Mystic of the First Rank
 
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway

Re: GNU versus BSD

Postby btilly » Sat Dec 06, 2008 1:51 am UTC

bigstrat2003 wrote:The only controversy I recall was over people in GPL projects taking BSD code and making it GPL code wholesale. I'm sorry, but using a permissive license does not allow you to delete my permissive license and insert your restrictive license.

Methinks someone does not understand what it means to have a permissive license. If you don't want people to do that, then don't allow them to do that. It is trivial to write code that is BSD EXCEPT that it cannot be included in GPLed code. However straight BSD code gives sufficient permissions to have someone make modifications under a GPL copyright, and once you are including a piece under the GPL, the whole can only be distributed under the GPL.
bigstrat2003 wrote:Plus, it's much more rankling when someone using the GPL does this. When someone takes my code and puts it into their closed-source project, at least they're being honest and open about what they're doing. They have a closed-source project, and you are under no illusions about that fact (generally). The GPL, though, is essentially hypocrisy in the form of a copyright license... "We're about freedom! We're nice guys, and we want to empower you to do stuff with our software... but only if you submit to our ideals! You aren't really free!". So, with the GPL, it may seem counterintuitive, but it's much more aggravating to see my code used in that arena. I wouldn't try to stop them (barring jumping down their throats if they copy huge chunks of my code and just change the license on it), because that would make me no better than them, but it is irritating.

This is the age-old argument between GPL and BSD. Whose freedom are we protecting at what does freedom mean? GPL folks don't want to see their software disappear into a proprietary code base. BSD folks are happy to see that happen knowing that reasonably often, people will realize it is in their interest to contribute back. But the GPL folks are never going to even think about contributing back to the BSD folks, and therein lies the conflict.

Personally I won't try to change someone else's license. But I lean towards a BSD approach for stuff I write.
Some of us exist to find out what can and can't be done.

Others exist to hold the beer.
btilly
 
Posts: 1877
Joined: Tue Nov 06, 2007 7:08 pm UTC

Re: GNU versus BSD

Postby zerohero » Sun Jan 04, 2009 1:27 pm UTC

The problem with the GPL is that you lose a lot of your rights when you release software under that license. Yeah, users get something for free, and they can choose. But what about the developer? They suddenly want to not release the source, but can't.
Worse yet, GPl projects can steal code from BSDL projects, but BSDL projects cannot steal GPL code without in return converting to the GPL. It's a "liberty monopoly". Free, my ass.

It should also be noted that most users don't care if source code is available. They don't care about "ethics" when it comes to software.
No, they first look to see if software is of good quality. Guess what many will do if something costs too much?

Also, can you seriously imagine what would become of the computer industry if all code was GPL'd?
Fact of the matter is... the FSF is a cult... can one seriously argue intelligently with Richard Stallman?
The OSI is logic.


I could go on and on in depth, but hey, byuu (author of bsnes, a snes emulator) has the right idea, his views are basically the same as mine:
http://byuu.cinnamonpirate.com/articles/licensing/
.narfNET - http://narf.byethost16.com
This is a personal site of mine catering to console emulators and other things of interest
.narfNET forums - http://narf.byethost16.com/forums
Give us a visit! We're always happy to accept new members
User avatar
zerohero
 
Posts: 30
Joined: Fri Jan 02, 2009 5:05 pm UTC
Location: Up (yes, up)

Re: GNU versus BSD

Postby Berengal » Sun Jan 04, 2009 3:32 pm UTC

zerohero wrote:The problem with the GPL is that you lose a lot of your rights when you release software under that license.

The original developer remains free to change the licence at any time for any new versions he develops. The GPL is a copyright licence that grants others the rights to redistribute the program provided they follow the restrictions put forth. The original developer doesn't need such a licence as it's his work that he's free to do with as he wishes.

The point of the GPL isn't to give the users of the original work rights, because any other free licence will do that. The point is to ensure the rights of the users of the derivative works, or "third generation" developers. Let's say I develop a library that is of some use to a company. The company doesn't really care about the software it develops because it's secondary to the product they sell, like a cell phone or a router. If I were to release my library under the BSD licence, the code that company writes will probably be under lock and key for its entire lifespan. You, the third generation developer could have some uses for the code they wrote, but you can't get it. If I released my library under the GPL, they'd be forced to also release their code under the GPL, free for you to use as you wish for your project, and since they don't really care about their code as much as they care for my awesome library they'll do it instead of coding from scratch. You're then free to use their code in a one-week project that otherwise would've taken six months, or fix that bug in their code that keeps sending your credit card info to the russian mafia.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.
User avatar
Berengal
Superabacus Mystic of the First Rank
 
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway

Re: GNU versus BSD

Postby zerohero » Sun Jan 04, 2009 5:16 pm UTC

The original developer remains free to change the licence at any time for any new versions he develops. The GPL is a copyright licence that grants others the rights to redistribute the program provided they follow the restrictions put forth. The original developer doesn't need such a licence as it's his work that he's free to do with as he wishes.

No, this statement is false. If it were true, Microsoft could in theory, pay some author of a GPL project money for that persons rights to the software and then change the license.
So for example, they could offer Linus Torvalds billions of dollars for the rights to Linux, and then screw millions of people in both ears.

Unless of course, I've been living under a rock? An unlikely case.

http://www.gnu.org/licenses/gpl-faq.htm ... ThirdParty
The developer can only change the license if he NEVER releases it to the public.
http://www.gnu.org/licenses/gpl-faq.htm ... erGPLAndNF
Of course, he can use parts of the software in other projects. But he can't re-license the entire original program.
But we realize that these two statements contradict each other, so we have to look at the actual license, and not the FAQ :)

I will look more into GPl version 2 and 3 later just to prove my point further (been a long time since I read either of them).

GPL2 wrote:For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

Since the user cannot change the license, the text highlighted in bold logically implies that you, the author who holds the copyright for the given work, cannot change the license, either.
.narfNET - http://narf.byethost16.com
This is a personal site of mine catering to console emulators and other things of interest
.narfNET forums - http://narf.byethost16.com/forums
Give us a visit! We're always happy to accept new members
User avatar
zerohero
 
Posts: 30
Joined: Fri Jan 02, 2009 5:05 pm UTC
Location: Up (yes, up)

Re: GNU versus BSD

Postby Berengal » Sun Jan 04, 2009 8:34 pm UTC

Well, see, ignoring the fact that Linus doesn't have the copyright to the kernel all by himself, he could in fact change the license on the next release of the kernel any way he wanted, even if it's just minor changes. He can do that because the GPL is a copyright license, and he doesn't need one to still have the right to copy it as the original creator. Nobody are bound by the GPL for anything that's entirely their own work. To be bound by the GPL you need to not have ownership of the original IP of the program in question. Also, since it's a copyright license, you're free to license your work based on a GPLed program any way you want, but you're not allowed to distribute it unless you comply with the GPL.

Also, since the original creator isn't bound by the GPL, he doesn't have to give all recipients the same rights as he has. That would be impossible, because that would also give all of them the right of ownership to the IP.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.
User avatar
Berengal
Superabacus Mystic of the First Rank
 
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway

Re: GNU versus BSD

Postby Wiglaf » Sun Jan 04, 2009 10:47 pm UTC

zerohero wrote:The problem with the GPL is that you lose a lot of your rights when you release software under that license. Yeah, users get something for free, and they can choose. But what about the developer? They suddenly want to not release the source, but can't.

So, the GPL restricts developers from being able to violate the users' freedoms? Oh, the humanity.

Worse yet, proprietary projects can steal code from BSDL projects, but BSDL projects cannot steal proprietary code because it is impossible without industrial ninja, and even then it's still illegal.

Fix'd.

It should also be noted that most users don't care if source code is available. They don't care about "ethics" when it comes to software.
No, they first look to see if software is of good quality. Guess what many will do if something costs too much?

Irrelevant...? Both licenses are usually on code that is distributed without charge...? Don't see what you are getting at.

Also, can you seriously imagine what would become of the computer industry if all code was GPL'd?

The article you linked provided the horror story that would ensue, but for passing forumgoers too lazy to read, it basically said that any new code written that relied on anything would have to be GPL'd too. It doesn't really work this way with proprietary software. Imagine if Windows required everyone to license their products as derivative works in order to distribute anything. Worse, hardware manufacturers could ping you for using proprietary firmware. But alas, it does not work like that. I don't know where the line is legally, however.

Fact of the matter is... the FSF is a cult... can one seriously argue intelligently with Richard Stallman?

I'm sick and tired of Stallman bashing. People who bash him are rebels without clues. Can't someone be grateful that he got the free software ball really rolling? Sure, he has some radical views, but you also have to give him credit for the good ideas he has brought us. Plus, he's fighting against the cloud vaporware right now, so I'm behind him. However, EMACS is the devil, and in THAT area it is impossible to argue with Stallman because EMACS users are beyond redemption. I'm gonna have to pay a visit to the editor wars thread.

I could go on and on in depth, but hey, byuu (author of bsnes, a snes emulator) has the right idea, his views are basically the same as mine:
http://byuu.cinnamonpirate.com/articles/licensing/

Same views? That's licensed as a no-derivative work. That is merely free as in beer software. Imagine if all software was licensed under his license. You couldn't write anything except from scratch. Because he's paranoid about a fork, he removes developer freedoms.

Since the user cannot change the license, the text highlighted in bold logically implies that you, the author who holds the copyright for the given work, cannot change the license, either.

The quote you gave from the GPL2 was explanatory text from the preamble. From what I understand, the binding stuff is under "TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION". IANAL, but I'm pretty sure the programmer can only change the license on code that the programmer him/herself wrote, no matter what the FSF says.
Wiglaf
 
Posts: 79
Joined: Sun Feb 10, 2008 8:54 pm UTC

Re: GNU versus BSD

Postby hotaru » Mon Jan 05, 2009 1:52 am UTC

Wiglaf wrote:The quote you gave from the GPL2 was explanatory text from the preamble. From what I understand, the binding stuff is under "TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION".

that's why i hate the preamble so much. some parts of it are completely unrelated to the license, some parts of it contradict the license, and none of it is legally binding. it shouldn't be in the license at all. it only serves to mislead and confuse people.
Code: Select all
uint8_t f(uint8_t n)
{ if (!(
n&1)) return 2;
  if (
n==169) return 13; if (n==121||n==143) return 11;
  if (
n==77||n==91) return 7; if (n==3||n==5) return 0;
  
n=(n>>4)+(n&0xF); n+=n>>4n&=0xF;
  return (
n==3||n==6||n==9||n==12||n==15)?3:(n==5||n==10)?5:0; } 
User avatar
hotaru
 
Posts: 949
Joined: Fri Apr 13, 2007 6:54 pm UTC

Re: GNU versus BSD

Postby btilly » Tue Jan 06, 2009 4:52 am UTC

zerohero wrote:
The original developer remains free to change the licence at any time for any new versions he develops. The GPL is a copyright licence that grants others the rights to redistribute the program provided they follow the restrictions put forth. The original developer doesn't need such a licence as it's his work that he's free to do with as he wishes.

No, this statement is false. If it were true, Microsoft could in theory, pay some author of a GPL project money for that persons rights to the software and then change the license.
So for example, they could offer Linus Torvalds billions of dollars for the rights to Linux, and then screw millions of people in both ears.

They could do it, but Linus would have to remove all the parts that are written by anyone who has not agreed to the scheme, and then there wouldn't be much left. Plus anyone who wants could fork his last free version.
zerohero wrote:Unless of course, I've been living under a rock? An unlikely case.

Or you misunderstood, a far more likely case.
zerohero wrote:http://www.gnu.org/licenses/gpl-faq.html#CanDeveloperThirdParty
The developer can only change the license if he NEVER releases it to the public.
http://www.gnu.org/licenses/gpl-faq.htm ... erGPLAndNF
Of course, he can use parts of the software in other projects. But he can't re-license the entire original program.
But we realize that these two statements contradict each other, so we have to look at the actual license, and not the FAQ :)

Again you are falling afoul of that whole misunderstanding thing. A developer MAY NOT say that people can't use what he gave away, even if he is paid big bucks for it. (This is not to be confused with a developer mistakenly giving access to intellectual property that belongs to someone else.) The same developer MAY give anyone additional rights to use it under any alternate terms desired for any reason, including money. MySQL and Berkeley DB are two well-known software libraries that the latter has happened with.
zerohero wrote:I will look more into GPl version 2 and 3 later just to prove my point further (been a long time since I read either of them).

GPL2 wrote:For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

Since the user cannot change the license, the text highlighted in bold logically implies that you, the author who holds the copyright for the given work, cannot change the license, either.

You're missing the fact that the terms of a copyright license are only binding on people who take actions that require copyright permission, who get that permission through the license. The copyright holder always has permission from themselves to do whatever they want, so is never bound by their own license.

Furthermore the quoted section is part of the preamble, not the terms and conditions. So it is not legally binding, instead it serves to clarify the intention of the terms in case of any disagreement. So despite the fact that you might want to read it as saying that copyright ownership must be given away, no court would agree with your theory.

BTW, usual disclaimer, IANAL and TINLA. If you want legal advice, talk to a lawyer. Who will, I guarantee, want money. (For the simple reason that a lawyer is liable for the consequences of their advice, even if their advice is correct and someone else misinterpreted it.)
Some of us exist to find out what can and can't be done.

Others exist to hold the beer.
btilly
 
Posts: 1877
Joined: Tue Nov 06, 2007 7:08 pm UTC

Re: GNU versus BSD

Postby zerohero » Thu Jan 08, 2009 12:18 am UTC

You're missing the fact that the terms of a copyright license are only binding on people who take actions that require copyright permission, who get that permission through the license. The copyright holder always has permission from themselves to do whatever they want, so is never bound by their own license.

Hmm, it seems I was. This piece of information has made me realize that all of my previous arguments are wrong.

So let me get this straight... If I write a piece of software, release it as GPL, I can later re-license it however I like as long as I don't include code written by other people (unless they agree to it of course)?
.narfNET - http://narf.byethost16.com
This is a personal site of mine catering to console emulators and other things of interest
.narfNET forums - http://narf.byethost16.com/forums
Give us a visit! We're always happy to accept new members
User avatar
zerohero
 
Posts: 30
Joined: Fri Jan 02, 2009 5:05 pm UTC
Location: Up (yes, up)

Re: GNU versus BSD

Postby Rysto » Thu Jan 08, 2009 12:25 am UTC

zerohero wrote:So let me get this straight... If I write a piece of software, release it as GPL, I can later re-license it however I like as long as I don't include code written by other people (unless they agree to it of course)?

Exactly right. However, what you can't do is prevent people who have already received the source from distributing it under the terms of the GPL. For example, the Free Software Foundation could one day decide that it was going to only distribute gcc 5.0 under a proprietary license(they of course would never do that, but they could). What they could not do is prevent people from distributing gcc 4.3 under the terms of the GPL, because they already released it under that license(the FSF would not have to distribute gcc 4.3 any longer, of course). The GPL is not revocable.
Rysto
 
Posts: 1443
Joined: Wed Mar 21, 2007 4:07 am UTC

Re: GNU versus BSD

Postby zerohero » Thu Jan 08, 2009 8:37 am UTC

However, what you can't do is prevent people who have already received the source from distributing it under the terms of the GPL.

But this would create some licensing conflicts though wouldn't it? I mean, let's say I developed a web browser and released it as GPL. All of the code I write is licensed as GPL, and people actually use this browser. So let's say I want to close-source the web browser; the code is still what was once GPL, but there are people using that same code in an open-source, GPL'd version from before (and that version of the software is still licensed under the GPL). Using GPL code in closed-source software is a violation of the GPL.

Or is there another small fact that I'm unaware of?
.narfNET - http://narf.byethost16.com
This is a personal site of mine catering to console emulators and other things of interest
.narfNET forums - http://narf.byethost16.com/forums
Give us a visit! We're always happy to accept new members
User avatar
zerohero
 
Posts: 30
Joined: Fri Jan 02, 2009 5:05 pm UTC
Location: Up (yes, up)

Re: GNU versus BSD

Postby markfiend » Thu Jan 08, 2009 10:32 am UTC

zerohero wrote:Using GPL code in closed-source software is a violation of the GPL.

Only if you're not the copyright holder of that code. (As I understand the situation; IANAL etc.)
Five tons of flax
User avatar
markfiend
 
Posts: 417
Joined: Fri Jul 06, 2007 9:59 am UTC
Location: UK (Leeds)

Re: GNU versus BSD

Postby Berengal » Thu Jan 08, 2009 3:06 pm UTC

markfiend wrote:
zerohero wrote:Using GPL code in closed-source software is a violation of the GPL.

Only if you're not the copyright holder of that code. (As I understand the situation; IANAL etc.)

Or if you haven't gotten permission to redistribute the GPled code outside of the GPL from the copyright holder.

The GPL bullet points look sort of like this:
  • Someone writes code. They are automatically granted copyright, which means nobody else can copy it unless given permission. This copyright extends to both the source and the compiled code, regardless of who compiles it.
  • Copyright also covers derivative works automatically, which is important because people like to build upon, modify, link to etc. code, which is considered derivative works.
  • The GPL gives everyone the right to copy the material covered by it without an explicit agreement with the original copyright holder as long as they comply with certain restrictions.
  • The original creator has automatic copyright and doesn't need to worry about losing it if he doesn't comply with the GPL restrictions.
  • Anyone else granted copyright through something other than the GPL (such as e.g. buying it) don't have to worry about the GPL, because they'll still have copyright even if it isn't granted by the GPL.
  • Anyone who only has copyright because the GPL grants it to them needs to worry about the GPL, because without it they wouldn't have copyright anymore. They can still use and modify the code as much as they want but they can't redistribute it.

If you are an original author, you don't even have to think about the GPL, except in one situation, and it's the one I'm most fuzzy about: If you change your mind, you can't invalidate the GPL license on the code you've already released. You can stop distributing the code under the GPL, but you can't stop others from distributing it under the GPL. You CAN start distributing it under a different license if you wish, e.g. a commercial license that doesn't have the GPL open-source rights-preserving restrictions, like the commercial Qt license.

The most important difference between the BSD and the GPL license is, by far and in my opinion, that the GPL restricts your freedom to restrict others' freedom.

IIWALIKMMSUSPMTOI, obviously.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.
User avatar
Berengal
Superabacus Mystic of the First Rank
 
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway

Re: GNU versus BSD

Postby btilly » Sat Jan 10, 2009 6:26 pm UTC

Berengal wrote:...
  • Anyone who only has copyright because the GPL grants it to them needs to worry about the GPL, because without it they wouldn't have copyright anymore. They can still use and modify the code as much as they want but they can't redistribute it.

Technical correction. Permission to copy is not the same as owning copyright. :-)
Berengal wrote:If you are an original author, you don't even have to think about the GPL, except in one situation, and it's the one I'm most fuzzy about: If you change your mind, you can't invalidate the GPL license on the code you've already released. You can stop distributing the code under the GPL, but you can't stop others from distributing it under the GPL. You CAN start distributing it under a different license if you wish, e.g. a commercial license that doesn't have the GPL open-source rights-preserving restrictions, like the commercial Qt license.

The reason you can't change your mind is the doctrine of promissory estoppel. There are some unlitigated aspects of this though, see http://www.rosenlaw.com/oslbook.htm for a slightly dated discussion. (The author of that book was general counsel for The Open Source Institute. In short he knows the law an open source licensing very well.) I say dated because it was written before cases such as Jacobsen v. Katzer settled a number of important issues.
Berengal wrote:The most important difference between the BSD and the GPL license is, by far and in my opinion, that the GPL restricts your freedom to restrict others' freedom.

Which is itself a restriction on you. It is a matter of frequently disputed opinion which is truly "more free".
Some of us exist to find out what can and can't be done.

Others exist to hold the beer.
btilly
 
Posts: 1877
Joined: Tue Nov 06, 2007 7:08 pm UTC

Re: GNU versus BSD

Postby Pesto » Thu Apr 08, 2010 9:27 am UTC

Anpheus wrote:As for the 'giving people choices' part, do you really steadfastly believe that using one call to a GPL library, and having that call take... less than a hundredth of a percent of the CPU time that the rest of the application does... is enough to call it a derivative work? I'd say it's fair use, but the FSF thinks anything is a derivative work.

Here's the thing. Has this actually been tested in court? If not, then we don't actually have a legal ruling on what is and is not considered a derivative work.

Personally, I think you're going overboard. Much earlier in the thread you said...

Anpheus wrote:You like to skate around the issue that the moment he looks at the changes necessary to get the driver to work with the new device models, he can't rewrite that back into BSD. He can't even look at it and write it in a different way, he has to not look at it all, ever. Which would make it extremely hard for him to incorporate those changes at all.

If I happen to look at a GPL'd implementation of a binary tree, because I want to learn how binary trees work, am I then never allowed to implement a binary tree without releasing it under the GPL? I would say no.

Similarly, if I look at a piece of the Linux kernel, then use the ideas I've gained from that research somewhere else, I would not call that a derivative work. If I took actual source code, yes, certainly.

"Oh, they use a hash table. That's a good idea." *implements hash table* I would not call that a derivative work. Who knows how that would shake out if it ever were to go to court.
User avatar
Pesto
 
Posts: 738
Joined: Wed Sep 05, 2007 5:33 pm UTC
Location: Berkeley, CA

Re: GNU versus BSD

Postby markfiend » Thu Apr 08, 2010 3:31 pm UTC

Pesto I think your examples are more to do with software patents than either the GPL or BSDL.

I doubt any author of a permissively-licensed implementation of a hash-table would try to sue you for implementing your own hash-table. It's patent-trolls who may have tried to patent the idea of a hash-table that you'd need to worry about.
Five tons of flax
User avatar
markfiend
 
Posts: 417
Joined: Fri Jul 06, 2007 9:59 am UTC
Location: UK (Leeds)

Re: GNU versus BSD

Postby Pesto » Thu Apr 08, 2010 5:45 pm UTC

Which is kind of my point. If you look at some GPL'd code, pull some ideas from it, then go implement those ideas yourself, I'd say you're not violating the GPL.

But to be more clear, maybe my example should be this:

"Oh, they use a hash table. That's a good idea." *uses hash table in a similar way*
User avatar
Pesto
 
Posts: 738
Joined: Wed Sep 05, 2007 5:33 pm UTC
Location: Berkeley, CA

Re: GNU versus BSD

Postby phillipsjk » Thu Apr 08, 2010 8:56 pm UTC

You have to be careful though. If your use similar function names, data structures and variable names for a non-trivial piece of work; it can be argued that it is derivative. To be safe, you would probably have to look at the documentation only, and re-implement from there. The problem of course is that documentation sometimes gets neglected.

A common data structure like a "hash table" has well-known uses. You shouldn't have to look at a specific piece of code to figure out when it might be useful.
Did you get the number on that truck?
User avatar
phillipsjk
 
Posts: 1215
Joined: Wed Nov 05, 2008 4:09 pm UTC
Location: Edmonton AB Canada

Re: GNU versus BSD

Postby Pesto » Fri Apr 09, 2010 12:13 am UTC

phillipsjk wrote:You have to be careful though. If your use similar function names, data structures and variable names for a non-trivial piece of work; it can be argued that it is derivative. To be safe, you would probably have to look at the documentation only, and re-implement from there. The problem of course is that documentation sometimes gets neglected.

But if we're talking about something like a driver for a specific piece of hardware, and you want your variable names to be descriptive, it's not going to be unlikely to have some similar names. With a non-trivial piece of work, there's less chance that your own implementation will be structured like the GPL'd implementation, unless you are using the GPL'd code as a direct reference. In that case I think there's a much stronger case for GPL violation.

In addition, I think variable and function names are rather superficial. Which would be the more blatant violation? Your own implementation which uses a number of identical variable names, or a direct copy/paste of GPL'd code where you've changed all the variable names? (Note: I'm not trying to imply that because one is worse, the other is therefore completely clean)
User avatar
Pesto
 
Posts: 738
Joined: Wed Sep 05, 2007 5:33 pm UTC
Location: Berkeley, CA

Re: GNU versus BSD

Postby phillipsjk » Fri Apr 09, 2010 7:00 am UTC

I mentioned variable names because they often slip through. Variable names can be descriptive, yet quirky at the same time. Variable names in themselves are not "creative" enough to be copyrightable. However, "quirks" such as unusual abbreviations can be used as evidence of copying. One real example from the OpenBSD bcm43xx copyright dispute:
Code: Select all
bcw_phy_calc_loopback_gain()
I think it's no coincidence that you also decided to name the backup
variables like
        uint16_t backup_phy[15];
        uint16_t backup_radio[3];
        uint16_t backup_bband;

bcw_phy_init_pctl()
        uint16_t saved_batt = 0, saved_ratt = 0, saved_txctl1 = 0;
        int must_reset_txpower = 0;
- http://www.mail-archive.com/bcm43xx-dev@lists.berlios.de/msg03748.html

Another example, brought up in #XKCD: Windows (32) uses the path: %SystemRoot%\system32\drivers\etc\ to store the "hosts" file. This is because the Windows TCP stack is based on BSD. They decided to keep a Unixism with the 'etc' directory.

And I agree, hiding the copying by changing the variable names is probably more blatant, but less likely to be caught. Without variable/function names, you would almost have to be able to read machine code to catch GPL violations in binary files.
Did you get the number on that truck?
User avatar
phillipsjk
 
Posts: 1215
Joined: Wed Nov 05, 2008 4:09 pm UTC
Location: Edmonton AB Canada

Re: GNU versus BSD

Postby markfiend » Fri Apr 09, 2010 8:16 am UTC

Pesto wrote:Which is kind of my point. If you look at some GPL'd code, pull some ideas from it, then go implement those ideas yourself, I'd say you're not violating the GPL.

But to be more clear, maybe my example should be this:

"Oh, they use a hash table. That's a good idea." *uses hash table in a similar way*

Sorry, yes, I think I misunderstood. I agree.
Five tons of flax
User avatar
markfiend
 
Posts: 417
Joined: Fri Jul 06, 2007 9:59 am UTC
Location: UK (Leeds)

Re: GNU versus BSD

Postby Pesto » Fri Apr 09, 2010 8:49 am UTC

phillipsjk wrote:And I agree, hiding the copying by changing the variable names is probably more blatant, but less likely to be caught. Without variable/function names, you would almost have to be able to read machine code to catch GPL violations in binary files.

When I took the intro to programming course in undergrad, they told us not to share code, because they had a program that would parse our homework assignments and look for duplicate code. They claimed it would abstract away the variable names, so simply changing variable and function names wouldn't do any good. (edit: Now that I think of it, perhaps they were being clever and were referring to gcc)

As I see it, the GPL and BSD licenses represent two extremes. I understand the rationale behind the GPL, because it guarantees that any modifications to GPL'd code are contributed back to the community. The BSD license is not viral in nature, like the GPL is, but can't guarantee that further improvements are not kept in proprietary repositories. Are there any licenses that strike a good middle ground? Is that even possible?
User avatar
Pesto
 
Posts: 738
Joined: Wed Sep 05, 2007 5:33 pm UTC
Location: Berkeley, CA

PreviousNext

Return to Religious Wars

Who is online

Users browsing this forum: No registered users and 4 guests