"There are some people who believe that a GPL license *does* make the world a better place, since it doesn't allow a company like NetApp to take a open-source licensed OS, make millions off of it, and not be obligated to contribute changes back."
Proponents of BSD style licensing have been trying to peddle the snakeoil of proprietary modifications for years. I don't hope to dissuade them at this point. But if you are open and fair minded, and believe in freedom, you must reject their message. Use GPLv3!
Neither the BSD nor the GPL represent absolute freedom: The BSD obligates you to do certain things, maintain the copyright notice among others. The GPL comes with different obligations.
But absolute freedom is not what we want anyway, otherwise there would be no need for a licence since we could put everything into the public domain.
The question is whether we get something back from our license or not. Unless I missed something, I could use BSD licensed code, add something, and publish it under GPL. And I don't see a reason why BSD people should complain about that, because their license permits it. If they would not like it that way, they would choose a different license.
I use GPL, since I want to obligate beneficiaries of my code to support open source software. This may hinder my code from being used in some commercial projects, but those I don't want to benefit from my labour anyway.
Talking about "absolute freedom" is sanctimonious for both, BSD *and* GPL zealots.
The question is whether we get something back from our license or not.
Or rather, if we should force people to give back or not.
Unless I missed something, I could use BSD licensed code, add something, and publish it under GPL.
As I understand it, only the copyright holder may change the license. You can, of course, make your modifications GPL. But the original remains BSD licensed.
If they would not like it that way, they would choose a different license.
At the license circus, you come up to me and ask if you can have some of my popcorn. I answer "sure, take as much as you want". If you took the whole thing I'd be annoyed. If you refused to share some with the guy standing next to you, I'd be annoyed. However, I did give you permission to do these things. Why? Because I don't want to say "sure, you can have some of my popcorn, but then you have to share with anyone else asking, and tell them to do the same, otherwise you cannot have any".
I remember the days of Public Domain software, at least back then no one spent all their time arguing about licenses, instead people used their time writing or using software.
Are you implying that the only valid definition of freedom is the one from the FSF? Talk about being open minded.
What definition do you prefer? The muzzy, feel good thinking of the "open source" crowd, or the self-defeating, gratuitous giveaway of BSD? What other organisation besides FSF has been a source of clear thinking in the free software license wars?
My own, first and foremost. I don't want to be told by anyone what freedom should mean to me, nor do I want to tell anyone what freedom should mean to them.
I don't really care what people do with my code. I do want to get credit for my work, but I don't want to tell people what they can do and cannot do. Whatever they do, my copy will always remain free, as in air, for everyone.
"They" believe in proprietary software. "We" believe in free software. So they're wrong and we're right, is that it? I think FOSS and proprietary software can co-exist. At least people have the freedom to choose (not that most computer users care anyway).
So I'm wrong and stupid because I don't blindly agree with everything you (or the FSF) say? Perhaps a little introspection would do you good, Mr. Open Minded.
What is this "self-defeating, gratuitous giveaway of BSD" of which you speak ?
BSD has been about since the 1970's, what is self defeating about that ?
Many very well known pieces of software have licenses akin to the BSD license and they seem to do just fine. Honestly, this idealistic chest beating rhetoric is ridiculous. We are very lucky to have so much free and open software available to us, arguing licenses is really nitpicking best left to those who cannot program.
I second that. And practice showed that when code is not contributed back, BSD proponents are very angry. So if you want to have changes contributed back you should choose appropriate copyleft license (GPLv3 is the best at the moment).
Companies are not required to contribute if changes to GPL'd code are not made. In that respect, open source means cheap labour and cheap research and development.
That's fine. If they don't add value to a GPL'd program, then there's nothing for them to share. If I took an off-the-shelf Linux kernel, and deployed it in 1000s of machines without modification, I haven't hidden anything away from the community and I'm entirely within the GPL. If I needed to write some kernel-level code to get it to work on my platform or to perform the way I wanted for my application, I'd have to share it. If it were BSD licensed, I would be under no such obligation.
That only considers contribution of code, though.
Every additional user grows the user base, which contributes to the overall popularity and viability of the platform. It also contributes testing. If the code breaks in the company's application, knowledge that it is broken allows us to make the kernel stronger. If the company provides a bug report, that is a contribution back to the community.
Note that this model of "use it as it is off the shelf" doesn't necessarily provide any sort of advantage to one company over another. All comers have the same ability to do so. To make millions by outcompeting, you need to add value somehow. That's either in the application layer over the OS, in which case the OS doesn't really matter all that much, or it's by modifying the OS. In the former, who cares? It's a level playfield. In the latter, GPL requires you to share your changes.
They're not obligated to distribute those changes either. The GPL only kicks in when you distribute said software. You might argue that deploying it on several thousand machines is distributing, but then there would be quite a lot of companies disagreeing with you. :)
My apologies if you meant distributing to a thousand machines outside the companys infrastructure, but that would efficiently make them a Linux-distributor, and not just a user of Linux.
If you use it internally, you can make changes however you wish.
BUT the moment you make it available TO THE PUBLIC, for example, if
you put it on a public FTP server, THEN you are obliged to the license clause
that forces you to provide back ALL THE CHANGES you did on that version (which
basically means you have to release the source code of it), and this for
3 years.
Anyone who receives a copy of the program must also receive a copy of the source code, or have a copy of the source code made available at their request. It doesn't matter if it's internal, public, etc. There is no stipulation about distributing it to the public. You don't have to make the source code available to everyone at any point, only to the people that you provide the program to. http://www.gnu.org/licenses/old-licenses/gpl-2.0.html see section 3
The license says nothing about distributing changes. In fact, you are required to make available the modified version that your program was compiled from, not just the changes you made.
I'm not sure what you mean about 3 years, but there's nothing about 3 years in the license.
Please read the license before trying to inform others of what it says. It may be semantics, but there is certainly a difference between what you claim and what the license states.
Let's tackle the 3 years bit first, because it's easiest. You mention section 3, but missed section 3b:
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
Does the GPL require that source code of modified versions be posted to the public?
The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.
You pretty much got it spot on, but I thought the FSF's way of putting it might put some weight behind it.
Now, there is a bit of confusing language here... The first FAQ answer does seem to distinguish between an organization modifying and using the software internally, and releasing it to the public. The second FAQ answer seems to speak from the standpoint of one individual releasing a copy to another.
I'm thinking someone like Sun deploying 1000s of units in IT departments across the country. SunOS was originally based off of BSD. Had it been based off of a GPL'd OS, then Sun would have been obliged to share the source for SunOS that derived from the GPL base.
And yes, "deploy" was perhaps not the best choice of words.
The thing is, the BSD community _does_ get a lot of code back from companies using BSD in their products, even though these companies are not obligated to do so.
The difference between BSD and GPL is not "companies only give back in the GPL model," but that, "all companies are forced to give back in the GPL model whether they or the company wants the changes or not."
Seriously, a lot of the time we don't want their craptastic, poorly designed, and unmaintable one-off-product code changes. The companies that are writing good code are going to usually give those changes back anyway, because they don't need nor want the hassle of maintaining a private tree and syncing up changes with mainline.
I am sure that there is good code that GPL projects get only because of the forced contribution. I'm not sure though whether it's really enough to clearly label the GPL as necessary over the BSD license if your sole goal is ensuring that your kernel isn't forked into some huge money-generating machine.
Obviously, for those in which code sharing is all about ethics, the question of the quality of code contributed back is irrelevant.
Apple is making huge profits from the different BSDs, yet they give back almost nothing.
Theo de Raadt has been ranting around lately about Linux distros not giving anything back to the OpenSSH project (on a side note, his project hasn't donated anything to gcc, and they use it extensively).
But when companies keep their changes to themselves, it's because their code is craptastic. Talk about sour grapes...
OpenBSD does contribute to GCC, if you read code you would know that, however it is true that their contribution is fairly small, this is a problem with GCC not OpenBSD, their GCC branches are available from the project, in this case GCC doesn't pick up the patches, it's not that patches are not submitted, if you read the GCC mailing lists you would know that.
Apple makes a huge profit from a number of GPL'd projects too, once again it's a question of picking up patches, in this case Apple is not proactive, but they do obey the letter of the law.
Speaking of which, one might say that Apple makes huge contributions to GCC, however they tend to do it because it benefits them rather than anyone else.
"The thing is, the BSD community _does_ get a lot of code back from companies using BSD in their products, even though these companies are not obligated to do so."
Bullshit FUD. What specificaly has MS contributed to BSD to name one example?
And in the real world if you compare the corporate involment into the BSDs and Linux - it's not even the same league. Reality argues against you, but I understand that dreaming is nice...
So you assume the sole reason for the difference in corporate involvement in the Linux and BSD projects is the license?
I don't claim to know what the reason(s) is/are, but given the fact that we're talking about completely different projects with different development cultures and process, different people involved etc I tend to believe that attributing that all to the different licenses is a huge oversimplification.
You are of course right. It was a gross oversimlification, but I'm pretty sure it's one of the reasons. I don't think e.g. IBM would want to contribute code if other companies could base on it without giving something back.
The snakeoil of BSD licensing
Proponents of BSD style licensing have been trying to peddle the snakeoil of proprietary modifications for years. I don't hope to dissuade them at this point. But if you are open and fair minded, and believe in freedom, you must reject their message. Use GPLv3!
http://www.gnu.org/philosophy/x.html
Who wants absolute freedom?
Neither the BSD nor the GPL represent absolute freedom: The BSD obligates you to do certain things, maintain the copyright notice among others. The GPL comes with different obligations.
But absolute freedom is not what we want anyway, otherwise there would be no need for a licence since we could put everything into the public domain.
The question is whether we get something back from our license or not. Unless I missed something, I could use BSD licensed code, add something, and publish it under GPL. And I don't see a reason why BSD people should complain about that, because their license permits it. If they would not like it that way, they would choose a different license.
I use GPL, since I want to obligate beneficiaries of my code to support open source software. This may hinder my code from being used in some commercial projects, but those I don't want to benefit from my labour anyway.
Talking about "absolute freedom" is sanctimonious for both, BSD *and* GPL zealots.
Ask or demand (and popcorn)
Or rather, if we should force people to give back or not.
As I understand it, only the copyright holder may change the license. You can, of course, make your modifications GPL. But the original remains BSD licensed.
At the license circus, you come up to me and ask if you can have some of my popcorn. I answer "sure, take as much as you want". If you took the whole thing I'd be annoyed. If you refused to share some with the guy standing next to you, I'd be annoyed. However, I did give you permission to do these things. Why? Because I don't want to say "sure, you can have some of my popcorn, but then you have to share with anyone else asking, and tell them to do the same, otherwise you cannot have any".
I remember the days of
I remember the days of Public Domain software, at least back then no one spent all their time arguing about licenses, instead people used their time writing or using software.
Funny
> instead people used their time writing or using software
Says someone who have just posted nine you-are-all-wrong messages here on the topic of -- guess what -- licenses.
Reject?
Are you implying that the only valid definition of freedom is the one from the FSF? Talk about being open minded.
Clarity in a sea of confusion
What definition do you prefer? The muzzy, feel good thinking of the "open source" crowd, or the self-defeating, gratuitous giveaway of BSD? What other organisation besides FSF has been a source of clear thinking in the free software license wars?
What definition?
My own, first and foremost. I don't want to be told by anyone what freedom should mean to me, nor do I want to tell anyone what freedom should mean to them.
I don't really care what people do with my code. I do want to get credit for my work, but I don't want to tell people what they can do and cannot do. Whatever they do, my copy will always remain free, as in air, for everyone.
"They" believe in proprietary software. "We" believe in free software. So they're wrong and we're right, is that it? I think FOSS and proprietary software can co-exist. At least people have the freedom to choose (not that most computer users care anyway).
Q.E.D
Your views are what I was refering to when I said "muzzy, feel good thinking".
Muzzy?
So I'm wrong and stupid because I don't blindly agree with everything you (or the FSF) say? Perhaps a little introspection would do you good, Mr. Open Minded.
What is this
What is this "self-defeating, gratuitous giveaway of BSD" of which you speak ?
BSD has been about since the 1970's, what is self defeating about that ?
Many very well known pieces of software have licenses akin to the BSD license and they seem to do just fine. Honestly, this idealistic chest beating rhetoric is ridiculous. We are very lucky to have so much free and open software available to us, arguing licenses is really nitpicking best left to those who cannot program.
I'm open, fair minded and
I'm open, fair minded and believe in freedom, yet I do not choose the GPLv3.
I do however reject your assertion.
I second that. And practice
I second that. And practice showed that when code is not contributed back, BSD proponents are very angry. So if you want to have changes contributed back you should choose appropriate copyleft license (GPLv3 is the best at the moment).
I assume you cite the recent
I assume you cite the recent disagreement of the Atheros driver and are turning it into a sweeping observation.
Companies are not required
Companies are not required to contribute if changes to GPL'd code are not made. In that respect, open source means cheap labour and cheap research and development.
That's fine
That's fine. If they don't add value to a GPL'd program, then there's nothing for them to share. If I took an off-the-shelf Linux kernel, and deployed it in 1000s of machines without modification, I haven't hidden anything away from the community and I'm entirely within the GPL. If I needed to write some kernel-level code to get it to work on my platform or to perform the way I wanted for my application, I'd have to share it. If it were BSD licensed, I would be under no such obligation.
That only considers contribution of code, though.
Every additional user grows the user base, which contributes to the overall popularity and viability of the platform. It also contributes testing. If the code breaks in the company's application, knowledge that it is broken allows us to make the kernel stronger. If the company provides a bug report, that is a contribution back to the community.
Note that this model of "use it as it is off the shelf" doesn't necessarily provide any sort of advantage to one company over another. All comers have the same ability to do so. To make millions by outcompeting, you need to add value somehow. That's either in the application layer over the OS, in which case the OS doesn't really matter all that much, or it's by modifying the OS. In the former, who cares? It's a level playfield. In the latter, GPL requires you to share your changes.
It's pretty simple really.
--
Program Intellivision and play Space Patrol!
Not that simple after all.
They're not obligated to distribute those changes either. The GPL only kicks in when you distribute said software. You might argue that deploying it on several thousand machines is distributing, but then there would be quite a lot of companies disagreeing with you. :)
My apologies if you meant distributing to a thousand machines outside the companys infrastructure, but that would efficiently make them a Linux-distributor, and not just a user of Linux.
No. The license is clear
No. The license is clear about it.
If you use it internally, you can make changes however you wish.
BUT the moment you make it available TO THE PUBLIC, for example, if
you put it on a public FTP server, THEN you are obliged to the license clause
that forces you to provide back ALL THE CHANGES you did on that version (which
basically means you have to release the source code of it), and this for
3 years.
Not really. Anyone who
Not really.
Anyone who receives a copy of the program must also receive a copy of the source code, or have a copy of the source code made available at their request. It doesn't matter if it's internal, public, etc. There is no stipulation about distributing it to the public. You don't have to make the source code available to everyone at any point, only to the people that you provide the program to. http://www.gnu.org/licenses/old-licenses/gpl-2.0.html see section 3
The license says nothing about distributing changes. In fact, you are required to make available the modified version that your program was compiled from, not just the changes you made.
I'm not sure what you mean about 3 years, but there's nothing about 3 years in the license.
Please read the license before trying to inform others of what it says. It may be semantics, but there is certainly a difference between what you claim and what the license states.
Sean
Distribution, and the magic "3 years"
Let's tackle the 3 years bit first, because it's easiest. You mention section 3, but missed section 3b:
As for the second part, regarding distribution within a company, check out this bit here in the GPL FAQ:
(Emphasis added.)
And this part:
You pretty much got it spot on, but I thought the FSF's way of putting it might put some weight behind it.
Now, there is a bit of confusing language here... The first FAQ answer does seem to distinguish between an organization modifying and using the software internally, and releasing it to the public. The second FAQ answer seems to speak from the standpoint of one individual releasing a copy to another.
--
Program Intellivision and play Space Patrol!
I meant outside the company
I'm thinking someone like Sun deploying 1000s of units in IT departments across the country. SunOS was originally based off of BSD. Had it been based off of a GPL'd OS, then Sun would have been obliged to share the source for SunOS that derived from the GPL base.
And yes, "deploy" was perhaps not the best choice of words.
--
Program Intellivision and play Space Patrol!
Forced contribution is not the only contribution
The thing is, the BSD community _does_ get a lot of code back from companies using BSD in their products, even though these companies are not obligated to do so.
The difference between BSD and GPL is not "companies only give back in the GPL model," but that, "all companies are forced to give back in the GPL model whether they or the company wants the changes or not."
Seriously, a lot of the time we don't want their craptastic, poorly designed, and unmaintable one-off-product code changes. The companies that are writing good code are going to usually give those changes back anyway, because they don't need nor want the hassle of maintaining a private tree and syncing up changes with mainline.
I am sure that there is good code that GPL projects get only because of the forced contribution. I'm not sure though whether it's really enough to clearly label the GPL as necessary over the BSD license if your sole goal is ensuring that your kernel isn't forked into some huge money-generating machine.
Obviously, for those in which code sharing is all about ethics, the question of the quality of code contributed back is irrelevant.
Apple is making huge profits
Apple is making huge profits from the different BSDs, yet they give back almost nothing.
Theo de Raadt has been ranting around lately about Linux distros not giving anything back to the OpenSSH project (on a side note, his project hasn't donated anything to gcc, and they use it extensively).
But when companies keep their changes to themselves, it's because their code is craptastic. Talk about sour grapes...
OpenBSD does contribute to
OpenBSD does contribute to GCC, if you read code you would know that, however it is true that their contribution is fairly small, this is a problem with GCC not OpenBSD, their GCC branches are available from the project, in this case GCC doesn't pick up the patches, it's not that patches are not submitted, if you read the GCC mailing lists you would know that.
Apple makes a huge profit from a number of GPL'd projects too, once again it's a question of picking up patches, in this case Apple is not proactive, but they do obey the letter of the law.
Speaking of which, one might say that Apple makes huge contributions to GCC, however they tend to do it because it benefits them rather than anyone else.
"The thing is, the BSD
"The thing is, the BSD community _does_ get a lot of code back from companies using BSD in their products, even though these companies are not obligated to do so."
Bullshit FUD. What specificaly has MS contributed to BSD to name one example?
You sir, do not know the meaning of the words you use.
FUD does not mean inaccuracy.
So because M$ have not
So because M$ have not visibly given code back to BSD projects, we must assume noone does ?
Talk about your actual FUD
And in the real world if you
And in the real world if you compare the corporate involment into the BSDs and Linux - it's not even the same league. Reality argues against you, but I understand that dreaming is nice...
So you assume the sole
So you assume the sole reason for the difference in corporate involvement in the Linux and BSD projects is the license?
I don't claim to know what the reason(s) is/are, but given the fact that we're talking about completely different projects with different development cultures and process, different people involved etc I tend to believe that attributing that all to the different licenses is a huge oversimplification.
You are of course right. It
You are of course right. It was a gross oversimlification, but I'm pretty sure it's one of the reasons. I don't think e.g. IBM would want to contribute code if other companies could base on it without giving something back.
Many companies such as Sun
Many companies such as Sun and IBM have made great contributions to free software and open standards without GPL licensing.
Most big companies such as Sun and IBM sell linux because it's popular.
I think your problem is a
I think your problem is a severe case of cognitive dissonance...
I think your problem is that
I think your problem is that you are just rude because you don't have anything to say.