The point of this wasn't that the issue came to a vote-- the point was that two very-well-funded organizations *not based in Holland* came in, threw some cash and rhetoric around, and tried to push their morality on others.
If a group of local citizens campaigned with their own money, on their own time, to get filtering software installed, I don't think there would be such an outcry. Then it is simply a local issue.
But when outside concerns *start* the fight, and have lots of money to spread around, it becomes *every*one's conern.
Personally, I'm offended that money is the fuel of politics, instead of public interest, or even public opinion. Most laws are passed to protect business, and not to protect the individual. Even the MS case was brought about because Sun and Netscape cried foul. Why didn't they step in when the *public* complained? (Consumer groups had already started complaining about the MS abusing monopoly power.)
But, what actions? I think that is what Mr. Katz hopes to generate, discussion about possible effective action.
Personally, I think the only effective action is civil disobedience. I think we should use every platform available to publish banned code, and every channel to spread the code.
If that means using.plans with uuencoded bzipped files, then so be it. If that means placing all code on several platforms in friendly countries and sowing links throughout the 'net, then let's do it.
In any case, the actions must be frank, open, and advertised. We must prove that censorship is not only politically and socially destructive, but impossible as well. Since we can't fight with lawyers, we must fight with the tools we have-- the 'net, our brains, and our knowledge.
One thousand people is all it will take. I will be one. Are there others?
How do individuals fight censorship? I assume that means supporting causes we might not agree with, such as the KKK, terrorist groups, and Microsoft. But, in practical terms, what can/should we do?
A multi-proc Ultrasparc would probably run best under Solaris 2.7 (64-bit). Plus, if you have a big beast like an E4000 or E450, you'll probably use it for something big, like an Oracle database or something similar, in which case the binaries are going to be for Solaris, anyway.
On a lot of the older hardware, especially the Sparc and SuperSparc vintage machines, Linux is a better choice.
Why?
Because Solaris is designed to scale across many processors, and have lots of memory to play in, and to take advantage of newer hardware. Sure, it'll install on a lot of the older machines, but it was written for the newer ones.
Since you can compile the Linux kernel, you can configure it for the metal on which it runs. Plus, Linux is smaller than Solaris, and handles the older hardware much better. It might not scale up as well as Solaris, but it scales *down* much better.
I expect it won't be long before Linux challanges Solaris on it's home turf, though. I figure in about 2 years Linux will be able to make a Starfire hum.
I can certainly write a GPL program that uses the Oracle libraries.
I cannot sell a program that uses GPL code, under most circumstances, without also licensing my product under the GPL, whether it uses the Oracle libraries or not. (The Oracle libraries are a strawman in this argument.)
What's the problem?
If I wrote a program and just sold it, would you complain? In that case, you do not get the source, and the program is closed to you. If I license the code under the GPL, you get the code, *and* you get to reuse the code, assuming you license your additions under the GPL.
If you are unwilling to license under the GPL, treat the program as proprietary. You lose nothing. Actually, you gain something-- you can at least study the source code to figure out How They Did It.
I don't see the problem.
And I haven't heard you complain because Oracle locked up their source code, or that Sun locks up the source code to SunOS (which was taken from the original BSD code). So if you have no bitch about proprietary software, I fail to see your bitch about the GPL. Yes, the GPL advances an ideology-- so does proprietary software, the ideology of It's Money That Matters.
"Do unto others as you would have them do onto you"
I follow a different principle-- do unto others as they would like you to do unto them.
For instance, many fundamentalist groups would have you evengelize unto them; so, by the old saw that you quoted, they would naturally evangelize to me. Since I don't *want* evangelized, this is Not A Good Thing.
However, if they treat me with the respect *I* want, and I treat them with the respect *they* want, everyone is happy.
The problem with all this bickering and rhetoric from *all* sides is this: nobody is respecting the wishes of the original author. If I want to be selfish and release my program under the GPL, Mr. Christiansen should respect my wishes; he may not approve, but my wishes are mine.
If I wish to be virtuous and truly charitable, I would release my code under the XFree86 or BSD or Artistic license.
There are problems with *every* license, depending on your philosophy. There are problems with every religion, depending on your philosophy. This does *not* make one Right, and the rest Wrong. All this bickering is similar to religious in-fighting-- do we Dunk or Sprinkle?
All right, title and interest in the Software Programs, including source code, documentation, appearance, structure and organization, are held by Corel Corporation, Corel Corporation Limited, and others and are protected by copyright and other laws.
I think we're the "..and others..." Corel isn't claiming copyright; they're just saying that the code is copyrighted, and Corel owns part of that copyright.
Yes, Corel is clueless about the Free Software licensing schemes. However, there is a catch to all this:
In the US, you have to be of a certain age to be legally bound to any agreement you make. Since the GPL is a legal agreement, it is possible someone could circumvent the agreement and avoid any consequences, simply based on being a minor.
What could a minor do with GPL'd software that isn't covered by the GPL? Beats me. Perhaps use the code in a non-GPL program. How does this affect Corel? It doesn't. So, it's rather senseless for them to include this in their license agreement.
But I suspect that is the reasoning for this little bit of silly legalese. And this is yet another example of how our world is changing beyond our current society.
The easiest way to deal with this is to buckle down and ship a source code CD with the distribution. Also include a setup program so they can re-install the software on the system if needed. (That's just good customer service-- it's not required.)
You are only required by the GPL to supply the source code to the people you supplied with the binaries. If you ship the source code outright, you've met your obligation.
Now, you can supply the source as a patch against specific kernels (if it is kernel-level source). That way, you're guaranteed to filter out the uneducated.
Your bias shows through the veneer if objectivity.
Consider, for instance, that your company go bankrupt tomorrow. That's a nasty legal liability on your shoulders...
Not really. There are several ways around this. First and foremost is to find a friendly site to house the code for you; then you do not have to worry about it yourself.
Second, you don't have to "maintain" the code. Code "maintenance" is fixing bugs, making minor improvements, etc. This is merely storing the code in a publicly-accessible way. This is not hard in today's connected world.
Third, if your company no longer wants to mess with the code, and just plain doesn't want it, you can assign the code to someone else. Contact the FSF; they will gladly help assign copyright to an amenable person or organization.
If you don't like the idea of assigning the code to an individual, release the code to the public domain. You'll still have to supply source, but there are many sites on the web that do nothing but archive public-domain software. This will fulfill your source-code obligation-- just put in a note that includes the GPL, with the amendment that the code is now in the public domain.
If anyone else has contributed to the code, and the code is not 100% yours, you have the option of assigning the code to the person (or persons) that contributed, or asking for them to join you in re-assignment or release to the public domain.
Don't let the BSD rhetoric blind you. The GPL is a perfectly good method of licensing your source code. So is the BSDL. (So don't let the GPL rhetoric blind you, either.) It depends on your purpose, as I've outlined (in depth) elsewhere in this discussion.
With GPL, if this situation arises, you must forget you ever wrote the GPL code and "reengineer" it for your commercial development, or have someone else reengineer it.
Incorrect. Any code you write is yours; you own the copyright, and you can use that code however you like. Once you publish under the GPL, the code you released is available to everyone else, and they are bound by the GPL. And if anyone contributes code, their code is unavailable to you for non-GPL use.
But your code is yours.
Given this and a few other points, it seems to me that GPL is a good license for hobby developers; BSD is the better license for professional programmers.
I disagree-- the GPL is for professional programmers, also. Here are the differences between the GPL and GSDL:
GPL: For people who want their code available to everyone, but don't want other people to use their code for proprietary (binary-only) purposes; has its roots in the political ideology that information is most efficient if everyone has equal access to it.
BSDL: For people who want their code available to everyone, but don't care if other people use their code in proprietary (binary-only) products. Politically agnostic.
Note that the licenses don't have anything to do with you, only what other people can do with your code. The BSDL is a noble license-- it assumes the best of human nature. The GPL is rather cynical, but for cynical folks like me, protects code from hijacking.
Some people see the GPL as forcing FSF morals on other people. However, this is logically flawed, as illustrated by the following sorite:
1. BSDL allows for binary-only distribution of BSDL-derived works.
2. Binary-only distributions do not include the source-- no source-code is available for use.
3. The GPL allows for free distribution of binaries.
So, from a BSDL standpoint, the GPL is as good as binary-only distributions. Actually, it's even better, because, though you can't mix GPL code into a BSDL product, you can look at the code for ideas on implementation, and for technical details that would otherwise remain hidden.
It's up to you which license you use. The GPL protects your investment by disallowing other people to hijack it; the BSD allows for maximum freedom for your code. Use the one that serves your purpose best.
Also, you might look at the Artistic license (Perl), or the NPL (Mozilla project) for other licensing ideas. I don't advocate creating a new license; use one that's there, and suits your purpose.
You can't have it both ways. Either you share your source code, or you have to write everything from scratch. If you reuse code that has, essentially, been given to you, then why do you balk at giving back to the community that supplied you with the source code in the first place?
Do you want to STEAL my code so you can write your own binary-only product, and sell that product for a profit, without providing me with anything? Or do I have the RIGHT to release my code with whatever license I see fit?
Is it bad if I release a binary-only product? By your argument, no. So you have no source code from my effort to start with. So, if I give you the source, and say that you can only use the source code in your projects if you give your source away, too, then how are you worse off? You can't use the code, but you can still use the binary, exactly as you could with a binary-only release.
In fact, you're better off, because if I have a nifty solution to a problem (not likely, in my code), you can at least study the solution and learn from it, even if you don't use the actual code.
I cannot believe that anyone finds anything wrong with just fucking giving something away for free.
Exactly.
Here is the difference between the GPL and other free-software licenses:
GPL exacts a licensing fee. That fee is this: if you use GPL code (that is, you benefit from the GPL code), you are expected to release the resulting program under the GPL. So, the GPL is also a gift.
Some other licenses (the BSD and Artistic licenses in particular) allow people to do whatever they want with your code. In that respect, they are more noble than the GPL. However, that allows the code to be used for personal, selfish gain. (Yes, there is personal *unselfish* gain-- you can make money and release your code too.)
The GPL doesn't care about your code. You can release your code however you want. But you can't take code released by someone who voluntarily uses the GPL and release it in a proprietary, binary-only product.
So, as long as you don't care what license I use for my code, I don't care what license you use for yours.
Interesting. So your argument isn't against the GPL per se, but against the FSF strong-arming the GPL into places it doesn't belong.
I suspect the "five lines of code" you mention is an extreme example, and I'll accept it as hyperbole; I've never seen the FSF take that strong of a position before, but I've never dealt with anything but the GPL in my programs.
But.
If you accept as a given that anyone can release their code in any way they like, even proprietary and hidden, then I'm not sure you have a bitch about the GPL.
As an example, suppose ACME releases a product in binary-only form. You don't have access to the source code at all, even to study and find out how it interfaces to their ACME Sling-O-Matic Combination Rocket/Roller Skate kit. So, do you complain to them about the source code? If no, then read on; if Yes, then we've found our dividing line, and it is this point we should discuss.
If you don't complain that ACME doesn't release their CRRS kit kit, then further imagine that ACME decides to release their CRRS driver under the GPL. As an Artistic license developer, you now have access to the source; you can at least dig through and figure out how the interface works, even if you can't use the source itself to build the Perl driver.
But, even though you can't use the source code directly, you have no room to complain of licensing-- this is no less restrictive than a proprietary, binary-only license. You couldn't take 5 lines of code from the original CRRS driver, because the code wasn't there for you in the first place.
Under the BSD, of course, the reverse is true-- if ACME decided to release their CRRS driver under a BSD or Artistic license (both of which are more noble than the GPL), then I, as an employee of Spacely Sprockets, can take their code, add a SCUD Ballistic module, and release it in the original binary-only form. Since I didn't have to write the original driver, I get a free leg up on the competition (ACME). If my I release binaries only for SS-Windows (the dominant home OS), then I have a distribution advantage, too.
It's this unsubstantiable extremism that has driven open source advocates to friendlier licences, and friendlier subgroups.
Okay, I have to admit I'm often ashamed of the behaviour of many advocates-- but that's advocates of either side of the discussion. I've seen unreasonable posts from the anti-GNU side, also. But, since Linux is more popular than the BSDs, there are more nutcakes out there on the Linux side. I'm not convinced the ratio of nutcake to rational is any different.
Pardon me. I'm really on your side here-- read my posts that are ancestors in this thread for proof.
But.
Tact is never an option. It is always necessary, especially in arguments that are half rhetoric and half logic. (Completely rhetorical arguments are exactly that-- they need no reply.)
Hmm. That's not my interpretation at all. The LGPL covers GNU libraries, and allows linking by commercial binaries. That's very clear-cut.
What *isn't* clear-cut is the ability to take code from the source of the library and use it in your code. That is a strict no-no.
That's why the GPL is a "write once, rewrite forever" license.
Actually, that's what the GPL is supposed to prevent. Under a less-restrictive license (say, the BSD or Artistic license) your code can be used in a proprietary, binary-only product. Then the code to the proprietary product is hidden; should someone want the added benefit of the proprietary product, they'd have to completely re-write the added functionality.
With the GPL, any code you write is guaranteed to be completely free at all times; and if anyone uses that as the basis of a new product, you are guaranteed that any modifications to your code will also be free. In that way, no code need ever be re-written; it's always and forever available for anyone's use, as long as they keep their code free, also. If you use the GPL as your base license, you have complete and unfettered use of all GPL code.
And if you don't want to use the GPL license, you can still link against LGPL libraries. You just can't use the source code. But, that's the case with proprietary products anyway, so you lose nothing.
You're still pretending that it's fair not to let people sell their work under the traditional fee-for-software royalty set-up.
Perhaps you missed the part of my last post that said, I don't care if people sell their own software. I have no say over what other people do with their software. I only have a say over my own creations.
My code is a gift, however worthless or worthwhile, of code to the community (the world). I do not make a gift to the individuals of the world, but to the world as a whole. I don't care about individuals; individuals die, but the world goes on. I hope to leave the world a better place, not leave a few individuals better off.
The GPL does subvert "traditional" commercial software. (Coders "traditionally" gave away their code long before the current commercial mess. Commercial software vendors subverted the freely available code ideology.) The basic ideology of the GPL is this: information costs nothing to distribute. The way to most efficiently use of information is to distribute the information as far and wide as possible, so as many people as possible can use it.
So, anyone who hides information from others is, essentially, harming the world as a whole. The GPL is a tool for people like me who don't want to contribute to someone's selfish motivations.
As an example, consider if BASIC had been GPL'd. Microsoft's first big accomplishment was to port BASIC to the Altair. Mr. Gates did that (on Paul Allen's Altair Emulator, which was quite a nice hack) by taking publicly available code and making it proprietary.
So, he took code that was not his to start with, and compiled it on an emulator his partner wrote. He then started whined when hobbyists took the compiled BASIC, and said people were stealing from him.
He did have a point-- the finished binary was his, as much as it could be. But the point is, he used someone else's code to start with. So the fairness of it all is questionable.
Since I don't want someone to take my code and use it for their own personal gain, I protect it with the GPL. If I thought I could trust all individuals, I would use something a little more to my liking, like the Artistic License (which is ideoligically more my style).
How am I infecting anyone else's work? I can only license my own code, not the code of someone else. If I write a program and release it under the GPL, and it's worth enough for someone else to use that code in any way, isn't it *my* right to define the conditions under which my code may be re-used?
If my code is valuable enough to be re-used, is it too much to ask that anything that uses my code also be released back to the public? And nothing is stopping people from selling their own work-- I'm just stopping people from selling my work without proper compensation. And my compensation is fair, I think-- I simply ask that you release your code back to the pool from which you benefitted.
How is that unjust?
As a side note-- nothing prevents someone from learning from my code (besides the worthlessness of my code itself) and using what they learned in their own code, which they can then license however they wish.
They just can't use my code if they choose to hide the final result.
And I'm not stopping *anyone* from selling anything. They can sell what they want, even my code. Red Hat is making a bundle from that exact arrangement. So is Walnut Creek. People are making money off code written by people who will never see a penny. So what do these coders get in return?
Under the BSD license, they might not get anything at all. Under the GPL, they get more code.
...the GPL pretends to lay claim over someone else's work.
Interesting interpretation. On which licensing points is this based? I'm not trying to be confrontational; I've heard Mr. Glass say something similar when he claimed that anything licensed under the GPL is automatically assigned to the FSF and the GNU project, but I've found nothing to back up that claim.
The Lesser GPL simply allows commercial linking against GPL'd binaries. That is a fair arrangement for libraries, I think, but other than that, I see no real difference between the GPL and LGPL.
Let little lies seep in for the sake of political expediency, and you are lost.
To which lies are you referring? And what expediency?
The world is an interesting place. There are altruists, there are narcisistic tyrants, and everyone between.
Two and two do make four; and everyone has the freedom to do what they want, as long as they:
1) Accept responsibility for their actions, and 2) Prepare to get scorched for infringing on other people's rights
The BSD license assumes perfect freedom, and also assumes that nobody wants to take your freedoms away. The GPL assumes that everyone has freedoms, but also puts in place certain prohibitions about further restrictions. This is, philosophically, like the US Constitution, in that it guarantees certain rights by prohibiting the infringement of those rights.
I release my software under the GPL not because I think it the perfect license, but because I think it is the fairest license. You and I may have divergent ideologies, but we share a goal-- software that doesn't suck. You create your software so that it may be shared by all, and hijacked by a few, with the understanding that the world is essentially a good place; I create my software so that it may be shared by all, but I deny others the ability to hijack it for their own gain without giving back to the community exactly what they took from it-- code.
These flame-fests often remind me of religious in-fighting, where one point of dogma shatters a common belief and a common goal. Eventually, it leads to two mostly-identical religions who hate each other and spend time and energy tearing each other down, when instead they should share the same goal-- salvation and redemtion. (As a side-note, I am an atheist, so take all this with the standard prescription-strength grain of salt.)
In the past, source code that was released for public use has been taken by companies and re-released as proprietary code. (In the browser war, both sides started with the NCSA Mosaic code base, for instance. Also, look at the roots of Unix-- most commercial variants are based on publicly-available source.) This has created fragmentation, proprietary vendor wars, and code that is stored in vaults, unavailable to most coders for study.
The GPL is for people who want to make sure nobody can usurp their code. If I code, and make that code available to the community at large, I don't want somebody to take my code, use it in their own way, and sell it back to the community from which they stole the code in the first place unless they also release their code.
This is all very equitable-- you benefit from my code, and I benefit from yours in return. Everybody wins.
The GPL does this by putting restrictions on the code, that's true; but those restrictions are designed to keep others from hijacking the code. Name one instance where the code might be used legitimately where the GPL is a hinderance. (Conflict with the BSD license does not count; if everything released under the BSD license were instead released under the GPL, there would be no conflict.)
The BSD license assumes a perfect community, one which will not use your own code against you. (For instance, if Linux were released under the GPL, and Microsoft felt Linux were a serious threat, it could use the Linux code to create a new operating system that looked like Linux, but worked only with Microsoft software.) The GPL protects the interest of the programmers and the community at large.
BSD's interests are not with coders or the community; they are with the world. The BSD license is very liberal-- and that is not necessarily a bad thing. For those who trust other people to use their code wisely, the BSD or Artistic License is a better license than the GPL, as it provides more freedom.
But for those of us who are just cynical enough to distrust the intentions of the rest of the world, the GPL is a better choice.
The point of this wasn't that the issue came to a vote-- the point was that two very-well-funded organizations *not based in Holland* came in, threw some cash and rhetoric around, and tried to push their morality on others.
If a group of local citizens campaigned with their own money, on their own time, to get filtering software installed, I don't think there would be such an outcry. Then it is simply a local issue.
But when outside concerns *start* the fight, and have lots of money to spread around, it becomes *every*one's conern.
Personally, I'm offended that money is the fuel of politics, instead of public interest, or even public opinion. Most laws are passed to protect business, and not to protect the individual. Even the MS case was brought about because Sun and Netscape cried foul. Why didn't they step in when the *public* complained? (Consumer groups had already started complaining about the MS abusing monopoly power.)
Sorry. Rant mode off.
Amen, and halaleuiah!
.plans with uuencoded bzipped files, then so be it. If that means placing all code on several platforms in friendly countries and sowing links throughout the 'net, then let's do it.
But, what actions? I think that is what Mr. Katz hopes to generate, discussion about possible effective action.
Personally, I think the only effective action is civil disobedience. I think we should use every platform available to publish banned code, and every channel to spread the code.
If that means using
In any case, the actions must be frank, open, and advertised. We must prove that censorship is not only politically and socially destructive, but impossible as well. Since we can't fight with lawyers, we must fight with the tools we have-- the 'net, our brains, and our knowledge.
One thousand people is all it will take. I will be one. Are there others?
Mr. Wozniak,
Not to be completely trivial, but...
If you were to do US Fest this year, what bands would you have there?
How do individuals fight censorship? I assume that means supporting causes we might not agree with, such as the KKK, terrorist groups, and Microsoft. But, in practical terms, what can/should we do?
A multi-proc Ultrasparc would probably run best under Solaris 2.7 (64-bit). Plus, if you have a big beast like an E4000 or E450, you'll probably use it for something big, like an Oracle database or something similar, in which case the binaries are going to be for Solaris, anyway.
On a lot of the older hardware, especially the Sparc and SuperSparc vintage machines, Linux is a better choice.
Why?
Because Solaris is designed to scale across many processors, and have lots of memory to play in, and to take advantage of newer hardware. Sure, it'll install on a lot of the older machines, but it was written for the newer ones.
Since you can compile the Linux kernel, you can configure it for the metal on which it runs. Plus, Linux is smaller than Solaris, and handles the older hardware much better. It might not scale up as well as Solaris, but it scales *down* much better.
I expect it won't be long before Linux challanges Solaris on it's home turf, though. I figure in about 2 years Linux will be able to make a Starfire hum.
I can certainly write a GPL program that uses the Oracle libraries.
I cannot sell a program that uses GPL code, under most circumstances, without also licensing my product under the GPL, whether it uses the Oracle libraries or not. (The Oracle libraries are a strawman in this argument.)
What's the problem?
If I wrote a program and just sold it, would you complain? In that case, you do not get the source, and the program is closed to you. If I license the code under the GPL, you get the code, *and* you get to reuse the code, assuming you license your additions under the GPL.
If you are unwilling to license under the GPL, treat the program as proprietary. You lose nothing. Actually, you gain something-- you can at least study the source code to figure out How They Did It.
I don't see the problem.
And I haven't heard you complain because Oracle locked up their source code, or that Sun locks up the source code to SunOS (which was taken from the original BSD code). So if you have no bitch about proprietary software, I fail to see your bitch about the GPL. Yes, the GPL advances an ideology-- so does proprietary software, the ideology of It's Money That Matters.
"Do unto others as you would have them do onto you"
I follow a different principle-- do unto others as they would like you to do unto them.
For instance, many fundamentalist groups would have you evengelize unto them; so, by the old saw that you quoted, they would naturally evangelize to me. Since I don't *want* evangelized, this is Not A Good Thing.
However, if they treat me with the respect *I* want, and I treat them with the respect *they* want, everyone is happy.
The problem with all this bickering and rhetoric from *all* sides is this: nobody is respecting the wishes of the original author. If I want to be selfish and release my program under the GPL, Mr. Christiansen should respect my wishes; he may not approve, but my wishes are mine.
If I wish to be virtuous and truly charitable, I would release my code under the XFree86 or BSD or Artistic license.
There are problems with *every* license, depending on your philosophy. There are problems with every religion, depending on your philosophy. This does *not* make one Right, and the rest Wrong. All this bickering is similar to religious in-fighting-- do we Dunk or Sprinkle?
All right, title and interest in the Software Programs, including source code, documentation, appearance, structure and organization, are held by Corel Corporation, Corel Corporation Limited, and others and are protected by copyright and other laws.
I think we're the "..and others..." Corel isn't claiming copyright; they're just saying that the code is copyrighted, and Corel owns part of that copyright.
Yes, Corel is clueless about the Free Software licensing schemes. However, there is a catch to all this:
In the US, you have to be of a certain age to be legally bound to any agreement you make. Since the GPL is a legal agreement, it is possible someone could circumvent the agreement and avoid any consequences, simply based on being a minor.
What could a minor do with GPL'd software that isn't covered by the GPL? Beats me. Perhaps use the code in a non-GPL program. How does this affect Corel? It doesn't. So, it's rather senseless for them to include this in their license agreement.
But I suspect that is the reasoning for this little bit of silly legalese. And this is yet another example of how our world is changing beyond our current society.
Definitely. In the world of computing, there are very few hacks as well-done as this, at least as he reports it in the book.
I believe Mr. Stoll deserves a place in the computer top-ten list.
The easiest way to deal with this is to buckle down and ship a source code CD with the distribution. Also include a setup program so they can re-install the software on the system if needed. (That's just good customer service-- it's not required.)
You are only required by the GPL to supply the source code to the people you supplied with the binaries. If you ship the source code outright, you've met your obligation.
Now, you can supply the source as a patch against specific kernels (if it is kernel-level source). That way, you're guaranteed to filter out the uneducated.
Your bias shows through the veneer if objectivity.
Consider, for instance, that your company go bankrupt tomorrow. That's a nasty legal liability on your shoulders...
Not really. There are several ways around this. First and foremost is to find a friendly site to house the code for you; then you do not have to worry about it yourself.
Second, you don't have to "maintain" the code. Code "maintenance" is fixing bugs, making minor improvements, etc. This is merely storing the code in a publicly-accessible way. This is not hard in today's connected world.
Third, if your company no longer wants to mess with the code, and just plain doesn't want it, you can assign the code to someone else. Contact the FSF; they will gladly help assign copyright to an amenable person or organization.
If you don't like the idea of assigning the code to an individual, release the code to the public domain. You'll still have to supply source, but there are many sites on the web that do nothing but archive public-domain software. This will fulfill your source-code obligation-- just put in a note that includes the GPL, with the amendment that the code is now in the public domain.
If anyone else has contributed to the code, and the code is not 100% yours, you have the option of assigning the code to the person (or persons) that contributed, or asking for them to join you in re-assignment or release to the public domain.
Don't let the BSD rhetoric blind you. The GPL is a perfectly good method of licensing your source code. So is the BSDL. (So don't let the GPL rhetoric blind you, either.) It depends on your purpose, as I've outlined (in depth) elsewhere in this discussion.
With GPL, if this situation arises, you must forget you ever wrote the GPL code and "reengineer" it for your commercial development, or have someone else reengineer it.
Incorrect. Any code you write is yours; you own the copyright, and you can use that code however you like. Once you publish under the GPL, the code you released is available to everyone else, and they are bound by the GPL. And if anyone contributes code, their code is unavailable to you for non-GPL use.
But your code is yours.
Given this and a few other points, it seems to me that GPL is a good license for hobby developers; BSD is the better license for professional programmers.
I disagree-- the GPL is for professional programmers, also. Here are the differences between the GPL and GSDL:
GPL: For people who want their code available to everyone, but don't want other people to use their code for proprietary (binary-only) purposes; has its roots in the political ideology that information is most efficient if everyone has equal access to it.
BSDL: For people who want their code available to everyone, but don't care if other people use their code in proprietary (binary-only) products. Politically agnostic.
Note that the licenses don't have anything to do with you, only what other people can do with your code. The BSDL is a noble license-- it assumes the best of human nature. The GPL is rather cynical, but for cynical folks like me, protects code from hijacking.
Some people see the GPL as forcing FSF morals on other people. However, this is logically flawed, as illustrated by the following sorite:
1. BSDL allows for binary-only distribution of BSDL-derived works.
2. Binary-only distributions do not include the source-- no source-code is available for use.
3. The GPL allows for free distribution of binaries.
So, from a BSDL standpoint, the GPL is as good as binary-only distributions. Actually, it's even better, because, though you can't mix GPL code into a BSDL product, you can look at the code for ideas on implementation, and for technical details that would otherwise remain hidden.
It's up to you which license you use. The GPL protects your investment by disallowing other people to hijack it; the BSD allows for maximum freedom for your code. Use the one that serves your purpose best.
Also, you might look at the Artistic license (Perl), or the NPL (Mozilla project) for other licensing ideas. I don't advocate creating a new license; use one that's there, and suits your purpose.
A royalty is something payed by everyone.
However, it is not logical for BSDL supporters to bitch about the GPL. Why? Let's play sorites.
1. The BSDL allows for commercial, proprietary, binary-only release of software.
2. Binary-only software does not include source.
3. If you don't have the source, you can't re-use the source.
4. GPL software has a binary release.
The rest is left as an exercise in logic.
You can't have it both ways. Either you share your source code, or you have to write everything from scratch. If you reuse code that has, essentially, been given to you, then why do you balk at giving back to the community that supplied you with the source code in the first place?
Do you want to STEAL my code so you can write your own binary-only product, and sell that product for a profit, without providing me with anything? Or do I have the RIGHT to release my code with whatever license I see fit?
Is it bad if I release a binary-only product? By your argument, no. So you have no source code from my effort to start with. So, if I give you the source, and say that you can only use the source code in your projects if you give your source away, too, then how are you worse off? You can't use the code, but you can still use the binary, exactly as you could with a binary-only release.
In fact, you're better off, because if I have a nifty solution to a problem (not likely, in my code), you can at least study the solution and learn from it, even if you don't use the actual code.
I cannot believe that anyone finds anything wrong with just fucking giving something away for free.
Exactly.
Here is the difference between the GPL and other free-software licenses:
GPL exacts a licensing fee. That fee is this: if you use GPL code (that is, you benefit from the GPL code), you are expected to release the resulting program under the GPL. So, the GPL is also a gift.
Some other licenses (the BSD and Artistic licenses in particular) allow people to do whatever they want with your code. In that respect, they are more noble than the GPL. However, that allows the code to be used for personal, selfish gain. (Yes, there is personal *unselfish* gain-- you can make money and release your code too.)
The GPL doesn't care about your code. You can release your code however you want. But you can't take code released by someone who voluntarily uses the GPL and release it in a proprietary, binary-only product.
So, as long as you don't care what license I use for my code, I don't care what license you use for yours.
Interesting. So your argument isn't against the GPL per se, but against the FSF strong-arming the GPL into places it doesn't belong.
I suspect the "five lines of code" you mention is an extreme example, and I'll accept it as hyperbole; I've never seen the FSF take that strong of a position before, but I've never dealt with anything but the GPL in my programs.
But.
If you accept as a given that anyone can release their code in any way they like, even proprietary and hidden, then I'm not sure you have a bitch about the GPL.
As an example, suppose ACME releases a product in binary-only form. You don't have access to the source code at all, even to study and find out how it interfaces to their ACME Sling-O-Matic Combination Rocket/Roller Skate kit. So, do you complain to them about the source code? If no, then read on; if Yes, then we've found our dividing line, and it is this point we should discuss.
If you don't complain that ACME doesn't release their CRRS kit kit, then further imagine that ACME decides to release their CRRS driver under the GPL. As an Artistic license developer, you now have access to the source; you can at least dig through and figure out how the interface works, even if you can't use the source itself to build the Perl driver.
But, even though you can't use the source code directly, you have no room to complain of licensing-- this is no less restrictive than a proprietary, binary-only license. You couldn't take 5 lines of code from the original CRRS driver, because the code wasn't there for you in the first place.
Under the BSD, of course, the reverse is true-- if ACME decided to release their CRRS driver under a BSD or Artistic license (both of which are more noble than the GPL), then I, as an employee of Spacely Sprockets, can take their code, add a SCUD Ballistic module, and release it in the original binary-only form. Since I didn't have to write the original driver, I get a free leg up on the competition (ACME). If my I release binaries only for SS-Windows (the dominant home OS), then I have a distribution advantage, too.
It's this unsubstantiable extremism that has driven open source advocates to friendlier licences, and friendlier subgroups.
Okay, I have to admit I'm often ashamed of the behaviour of many advocates-- but that's advocates of either side of the discussion. I've seen unreasonable posts from the anti-GNU side, also. But, since Linux is more popular than the BSDs, there are more nutcakes out there on the Linux side. I'm not convinced the ratio of nutcake to rational is any different.
Pardon me. I'm really on your side here-- read my posts that are ancestors in this thread for proof.
But.
Tact is never an option. It is always necessary, especially in arguments that are half rhetoric and half logic. (Completely rhetorical arguments are exactly that-- they need no reply.)
Hmm. That's not my interpretation at all. The LGPL covers GNU libraries, and allows linking by commercial binaries. That's very clear-cut.
What *isn't* clear-cut is the ability to take code from the source of the library and use it in your code. That is a strict no-no.
That's why the GPL is a "write once, rewrite forever" license.
Actually, that's what the GPL is supposed to prevent. Under a less-restrictive license (say, the BSD or Artistic license) your code can be used in a proprietary, binary-only product. Then the code to the proprietary product is hidden; should someone want the added benefit of the proprietary product, they'd have to completely re-write the added functionality.
With the GPL, any code you write is guaranteed to be completely free at all times; and if anyone uses that as the basis of a new product, you are guaranteed that any modifications to your code will also be free. In that way, no code need ever be re-written; it's always and forever available for anyone's use, as long as they keep their code free, also. If you use the GPL as your base license, you have complete and unfettered use of all GPL code.
And if you don't want to use the GPL license, you can still link against LGPL libraries. You just can't use the source code. But, that's the case with proprietary products anyway, so you lose nothing.
...just because I might be wrong does not mean I am insincere.
Mr. Christiansen,
I've always respected you, even when I thought you were wrong. With this statement, you've garnered even more respect.
I think you're wrong on this issue. But I've never doubted your sincerity.
You're still pretending that it's fair not to let people sell their work under the traditional fee-for-software royalty set-up.
Perhaps you missed the part of my last post that said, I don't care if people sell their own software. I have no say over what other people do with their software. I only have a say over my own creations.
My code is a gift, however worthless or worthwhile, of code to the community (the world). I do not make a gift to the individuals of the world, but to the world as a whole. I don't care about individuals; individuals die, but the world goes on. I hope to leave the world a better place, not leave a few individuals better off.
The GPL does subvert "traditional" commercial software. (Coders "traditionally" gave away their code long before the current commercial mess. Commercial software vendors subverted the freely available code ideology.) The basic ideology of the GPL is this: information costs nothing to distribute. The way to most efficiently use of information is to distribute the information as far and wide as possible, so as many people as possible can use it.
So, anyone who hides information from others is, essentially, harming the world as a whole. The GPL is a tool for people like me who don't want to contribute to someone's selfish motivations.
As an example, consider if BASIC had been GPL'd. Microsoft's first big accomplishment was to port BASIC to the Altair. Mr. Gates did that (on Paul Allen's Altair Emulator, which was quite a nice hack) by taking publicly available code and making it proprietary.
So, he took code that was not his to start with, and compiled it on an emulator his partner wrote. He then started whined when hobbyists took the compiled BASIC, and said people were stealing from him.
He did have a point-- the finished binary was his, as much as it could be. But the point is, he used someone else's code to start with. So the fairness of it all is questionable.
Since I don't want someone to take my code and use it for their own personal gain, I protect it with the GPL. If I thought I could trust all individuals, I would use something a little more to my liking, like the Artistic License (which is ideoligically more my style).
How am I infecting anyone else's work? I can only license my own code, not the code of someone else. If I write a program and release it under the GPL, and it's worth enough for someone else to use that code in any way, isn't it *my* right to define the conditions under which my code may be re-used?
If my code is valuable enough to be re-used, is it too much to ask that anything that uses my code also be released back to the public? And nothing is stopping people from selling their own work-- I'm just stopping people from selling my work without proper compensation. And my compensation is fair, I think-- I simply ask that you release your code back to the pool from which you benefitted.
How is that unjust?
As a side note-- nothing prevents someone from learning from my code (besides the worthlessness of my code itself) and using what they learned in their own code, which they can then license however they wish.
They just can't use my code if they choose to hide the final result.
And I'm not stopping *anyone* from selling anything. They can sell what they want, even my code. Red Hat is making a bundle from that exact arrangement. So is Walnut Creek. People are making money off code written by people who will never see a penny. So what do these coders get in return?
Under the BSD license, they might not get anything at all. Under the GPL, they get more code.
Tell me which is more fair.
...the GPL pretends to lay claim over someone else's work.
Interesting interpretation. On which licensing points is this based? I'm not trying to be confrontational; I've heard Mr. Glass say something similar when he claimed that anything licensed under the GPL is automatically assigned to the FSF and the GNU project, but I've found nothing to back up that claim.
The Lesser GPL simply allows commercial linking against GPL'd binaries. That is a fair arrangement for libraries, I think, but other than that, I see no real difference between the GPL and LGPL.
Perhaps I need enlightened.
Let little lies seep in for the sake of political expediency, and you are lost.
To which lies are you referring? And what expediency?
The world is an interesting place. There are altruists, there are narcisistic tyrants, and everyone between.
Two and two do make four; and everyone has the freedom to do what they want, as long as they:
1) Accept responsibility for their actions, and
2) Prepare to get scorched for infringing on other people's rights
The BSD license assumes perfect freedom, and also assumes that nobody wants to take your freedoms away. The GPL assumes that everyone has freedoms, but also puts in place certain prohibitions about further restrictions. This is, philosophically, like the US Constitution, in that it guarantees certain rights by prohibiting the infringement of those rights.
I release my software under the GPL not because I think it the perfect license, but because I think it is the fairest license. You and I may have divergent ideologies, but we share a goal-- software that doesn't suck. You create your software so that it may be shared by all, and hijacked by a few, with the understanding that the world is essentially a good place; I create my software so that it may be shared by all, but I deny others the ability to hijack it for their own gain without giving back to the community exactly what they took from it-- code.
These flame-fests often remind me of religious in-fighting, where one point of dogma shatters a common belief and a common goal. Eventually, it leads to two mostly-identical religions who hate each other and spend time and energy tearing each other down, when instead they should share the same goal-- salvation and redemtion. (As a side-note, I am an atheist, so take all this with the standard prescription-strength grain of salt.)
Are you a sprinkler or a dunker?
In the past, source code that was released for public use has been taken by companies and re-released as proprietary code. (In the browser war, both sides started with the NCSA Mosaic code base, for instance. Also, look at the roots of Unix-- most commercial variants are based on publicly-available source.) This has created fragmentation, proprietary vendor wars, and code that is stored in vaults, unavailable to most coders for study.
The GPL is for people who want to make sure nobody can usurp their code. If I code, and make that code available to the community at large, I don't want somebody to take my code, use it in their own way, and sell it back to the community from which they stole the code in the first place unless they also release their code.
This is all very equitable-- you benefit from my code, and I benefit from yours in return. Everybody wins.
The GPL does this by putting restrictions on the code, that's true; but those restrictions are designed to keep others from hijacking the code. Name one instance where the code might be used legitimately where the GPL is a hinderance. (Conflict with the BSD license does not count; if everything released under the BSD license were instead released under the GPL, there would be no conflict.)
The BSD license assumes a perfect community, one which will not use your own code against you. (For instance, if Linux were released under the GPL, and Microsoft felt Linux were a serious threat, it could use the Linux code to create a new operating system that looked like Linux, but worked only with Microsoft software.) The GPL protects the interest of the programmers and the community at large.
BSD's interests are not with coders or the community; they are with the world. The BSD license is very liberal-- and that is not necessarily a bad thing. For those who trust other people to use their code wisely, the BSD or Artistic License is a better license than the GPL, as it provides more freedom.
But for those of us who are just cynical enough to distrust the intentions of the rest of the world, the GPL is a better choice.