Misconceptions About the GPL
lisah writes "Misconceptions about the widely used GNU General Public License (GPL) continue to plague the free software user community and, according to the ITManagersJournal, 'the confusion is frequently based on misreadings, rumors, secondhand accounts, and what is convenient to believe.' In order to clarify some of the more common misunderstandings about the GPL, Bruce Byfield consulted with three experts: attorney Richard Fontana, one of the main drafters of the third version of the license; Harald Welte of the GPL-Violations project; and David Turner who is assisting with revisions of the license. Together, they help clarify the distributor's role in providing source code to customers, whether GPL is viral or unenforceable, and why some misunderstandings are really rooted in varied interpretations of the law." ITMJ and Slashdot are both owned by OSTG.
It's how a judge ultimately interprets it.
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
I wish any viruses that affected me would refuse to be infect other people unless I agreed to allow them to also have an opt out clause on further infection to third parties.
You have to admit it would be quite effective at stopping the common cold.
Think of the Children; Sleep with your Sister
I'll tell you what misconception annoys me the most. It's the idea that you need to agree to the GPL in order to use the software. I find it highly irritating to be asked to click-through a EULA window containing the GPL when I install a piece of software. The GPL is not a EULA, and you don't really have to agree to the GPL if you only intend to use the software. The GPL gives you rights to modify and redistribute the software; if you don't agree to the GPL, there is nothing else that would give you such rights. The right to use the software is implicit in the fact that it was legally distributed to you.
I understand the GPL completely. It means that if I use Microsoft Word to write a novel, I have to give the rights to my novel to the free software community.
Yeah, this is exactly the nonsense that stupid PHBs worry about. They think that if they use Linux in their organization, say, as an Apache web server to serve up static "about us" web pages, they have to give the rights to their own proprietary software, which has nothing to do with Linux, to the community. I just don't "get" where the heck people come up with this nonsense.
1. The GPL is viral
2. The GPL is unenforceable
3. You can't charge for GPL software
4. The "liberty or death" clause applies absolutely
5. Distributors only need to ship the source code they alter
6. Distributors only need to supply source code, and not the means to use it
7. Distributors don't need to provide offers of source code
8. Distributors only need to offer source code to their customers
9. Distributors only need to link to the license text
10. I don't think that word means what you think it means
Basically it says something like "Your sourcecode is to be available, penguins are to be worshipped, but are to be referred to as GNU/Penguins, and men are not to shave". If you don't care about all that, you can skip to the end, which is a good part and has Marvin in it.
"I am giving up my freedoms as a developer"
Consider the case that you are creating a tool and your goal is to ensure its always available as a service to the community. The way I understand it, the GPL can ensure that works based on your source will still always meet your goal. So look at it more as continuing to be true to your intent, if your intent is openness.
Here's the text of the actual license.
http://www.gnu.org/copyleft/gpl.html
Actually it doesnt go towards the end user. The GPL is totally irrelevant to the end user. Now it does matter to other developers, but in all honesty the actual user of a project could give a damn. The GPL is not a EULA, because it has no relevancy to the user of the program, but rather dictates what people that want to involve themselves in other activities such as redestribution.
A chef having to give away his recipe because he used GPL spices...worst analogy ever. Reverse it and it would be correct because a developer is not going to take a small amount of gpl code and use that, they are gonna add their small amount of code to a largely GPL base. (well atleast 99% of the developers out there).
How does the GPL force a developer that chooses it as a license to do anything. They made a decision to use it because they like it as a license, they arent forced into using anything. The people that bitch about the GPL are developers that already decided against it, and because they dont use they somehow think it is an "unfair" license (to whom i dont know since they have already chosen not to use it)
I think developers need to get this concept in their head...just because the source is available, doesnt mean you have to use it, and doesnt mean you have the right to use it either. You simply have the option to use it.
The phrase "more better" is acceptable English. suck it grammar Nazis
Yes but that assumes that I keep all my code license clean, or keep 2 different forked version. Lets say I liked how GNU Application Y, Handles Z. and Closed Source (Which I have the rights too) Application V, Handles C so In order for me to have my Applaction handle both Z and C I will need to find a GNU Version and a Non GNU Version of their respected sets. Either giving my users reduced functionality in both products in different location or expensive for me to maintain. In this case it could be easier for me to buy a licence of program W which handles Z good enough and keep my program closed source, or non GNU. GNU More often then not steps on its own feet and causes people who are well meaning to get off it. Because for the fact that it is inforceable.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Yes, Freedom stops when you start calling it a license. Anything that has restrictions or clauses by definition should not be called free. Other than that GPL has some good points, but it craps me off when people (with good intensions) call it free. A free license is NO license!
How the hell does it screw developers? There's nothing forcing you to use the GPL license on your own code unless you're including someone else's GPLed code in it. In that case, you're getting presumably good software for free, with only that one condition. If you don't like it, find some other code to use.
I used to get high on life, but I developed a tolerance. Now I need something stronger.
It is like a chef having to give up his secret recipe just because he used GPL Spices.
The solution is simple then - the Chef can either use different spices, or make his own.
You don't like it, don't use it. Nobody is forcing you to incorporate GPL'ed code in your project, and nobody is forcing you to use the GPL for original works.
You are approaching the issue of freedom from the completely wrong angle. When you put a work under the GPL who gets the freedom?
Is it the developer? No, the developer gains no additional freedom by placing the work under the GPL.
Is it the user? No, though there are some nice clauses about requiring source code to be provided on demand, the user is no freer with a GPL'd work than with a work in the public domain or one covered by an arguably "freer" BSD-style license.
Then who gets the freedom? Good question! The software itself.
How can an inanimate thing like software gain freedom? Let me explain. By licensing software under the GPL, it guarantees that the software cannot be used in other non-GPL projects (give or take a license). Any code that comes into contact with GPL'd code gains the same freedom and the process continues so long as people continue to use the GPL code in their projects.
So software freedom is freedom for software. Free Software meets developers on an equal footing, not one based on a master/slave relationship like BSD licenses define. Closed source software treats software code as property, not much different from treating slaves as property. The GPL gives software code its very alienable right to not being used so shabbily.
In this case it could be easier for me to buy a licence of program W which handles Z good enough and keep my program closed source, or non GNU
Then just do that. No one forces people to use the GPL. Unless you want to reap the benefits of other people's previous work. In that case then you have to follow the licensing terms, just as with any other license.
Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
Nobody is forcing you to incorporate GPL'd code into your project. There is absolutely nothing stopping you from rewriting that code from scratch or obtaining similar code (or possibly even the same code) through commercial channels under a commercial license. However, *if* you choose to incorporate GPL'd code, then your code must be GPL'd. That's how it works.
As a developer, if you release original code (with no dependencies) under the GPL you give up nothing. You are always free to release the code under another license at the same time.
Just FYI, software patents are completely separate from copyright.
I find it amusing how the article attempts to claim the GPL isn't viral, using the following arguments:
* Microsoft may have first called it that (therefore it must be false.)
* The GPL doesn't infect other software on the same computer. (DUH?)
If I use any GPL code in my application, even one line, I have to release my application under the GPL license. Throw all the pointless qualifications you want around it, like only if I release the application to the public, and I can still release it under other licenses, and all the related conditions that likely apply to 1% of real world cases.
As a developer, I believe that developers have a right to make a living from their code. I also know that so few people donate for free software that most developers who rely on donations have to do something else to pay the bills. At the same time, I like to release 95% of my work as open source, so other developers can use it, some of which may also be trying to make a living as a developer. The Apache, BSD, even LGPL licenses handle that just fine.
Trying to spin the GPL as non-viral is foolish - the free software community should at least be honest about their agenda. I'm not saying its a bad agenda, it just happens to be incompatible with mine.
If you are developing your code from scratch, you are free to other versions of it under whatever license you see fit -- the GPL is a non-exclusive license, so you are free to license your creative work in other ways at the same time.
If you are trying to use someone else's GPLed code, track down that person and try to get a non-GPL license from them. Is that so hard? It's exactly what you'd have to do to get access to someone else's proprietary code, except that you get to preview the source.
If the author want to license his code to you in a non-GPL way, well, it's his creative work -- he can do what he wants. Start from scratch or find another vendor.
That is stupid.
:)
Unrestricted freedom includes not having freedom in itself, by definition it is a paradox. The GPL excludes this paradox, making it free. It is a restriction on freedom disallowing freedom to be restricted, which basically gives/promotes freedom, not restricts it.
Easy, isn't it?
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
8. Distributors only need to offer source code to their customers
If distributors opt to provide an offer for source code, then under section 3b, the offer must be good for three years, and must apply to "any third party." No distinction is made between commercial customers and anyone else who might be interested in the source code.
Does this mean any manjack can walk in off the street and ask for the source? Or is it meant for re-distribution or further on sales? Not entirely clear and I know it only applies to the 'offer' mentioned in point 7.
I don't think most folks have an issue with giving a customer the source, but giving the source away on a project seems inane.
Yes, I know folks like SugarSuiteCRM, et al. provide free and beefed up versions, but still, without giving details this kind of fuzziness would/could seem detrimental.
And finally are there measure for what is meant by 'offering' the source? Could it be in a small ad in my local paper? Just wondering and no, IANAL.
$30 Off All Plans: Use code TRIPLESAWBUCK
At what point is my software considered a derivative work?
If a program relies on a GPL program to function, can it still be considered a separate work? If my program calls a GPL program and uses results from it's output files for further manipulation, is this allowed because the programs are not interacting directly? Could the GPL program be distributed with such a proprietary program? Even if the GPL program were modified to facilitate this, such as outputting its internal data structures to a formatted file, only the modified GPL program would need to be released, right?
What other forms of communication between programs are allowed and disallowed without converting all the licences to GPL?
"The GPL is totally irrelevant to the end user. Now it does matter to other developers, but in all honesty the actual user of a project could give a damn."
The end user of source code are other devlopers...
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
Doesn't the "No Warranty" section apply to the user of the software, in addition to the distributor? Having the user acknowledge that they understand there is no warranty for the software is useful and desirable.
>The end user of source code are other devlopers...
Some are, some aren't.
-fb Everything not expressly forbidden is now mandatory.
Keeping your license clean is something you have to do anyway. That's not new to GNU. Just find the original author and buy a non-GNU license from them. Can't do that? Well, most proprietary vendors don't want to license their code to you, either -- so you're no worse off than you were before.
If you want to live in a non-open-source world, live by the non-open-source rules.
You seem to be making the mistake of thinking that GPL authors want their code to be used by anyone regardless of intention. Most GPL authors release their code under open-source license to encourage you to do the same -- so that everyone gets more software goodies to share.
If you don't intend to share your own goodies the same way, then to heck with you -- you're not a customer, you're a leech.
The OP is is saying exactly that the GPL does not line up with this set of goals. If I'm trying to make a *tool* that will always be available, then I will use the LGPL because that *tool* will always be available and usable.
By a developer making his libraries "free" only under the GPL (and not a more free license like the MIT/BSD or even LGPL), then he's forcing anyone that wants to use this shiny tool to also make their software free under the same restrictions. That is why the GPL is "viral" -- not because it "infects" any software that it is stored next to -- but rather because GPL code is useless unless you're working on other GPL'd code.
Sometimes the GPL feels about as enjoyable as enforced communism to me.
I just don't feel very "free" when working under the GPL (and I have contributed to several GPL projects). It's just that something more along the lines of the LGPL would be my license of choice when creating a tool that I want to be available and free and useful to others for many years to come.
If anything that I've said is a myth, then please debunk it -- I would genuinely appreciate it.
--clint
GPL is pushed by propaganda zealots, spin doctors, and to make matters worse, lawyers.
It would be nice if the FSF actually noticed trends that damage people's understanding of the GPL and did something about them. For example, many programs place the GPL in the role of a click-through license. This makes no sense whatsoever, and leads people to think that the GPL is a EULA and that it applies to *users* of GPL'd sofware. On top of that, it lends credence to the notion that click-through licenses are worth something.
Another example is MySQL. They don't understand the GPL, in fact it seems to be a willful misunderstanding. They claim that any application utilizing MySQL as its SQL database is combining the two applications into a new program and thus either a) becomes subject to the GPL or b) must purchase a commercial license from MySQL. Gee, what could make them want to interpret it that way? Yet while MySQL is flaunting this definition all over the place, the FSF has done nothing to correct them.
Don't the "tools needed to make the source code useful" include a compiler? And you'd probably need an operating system to run that, perhaps some sort of kernel. Does a distributor of a GPLed program need to be prepared to set up a development environment to make the source code useful for "any third party"?
This may seem like a purposely obtuse interpretation, but as someone with very little knowledge of the GPL, I'm given pause the experts say under the GPL it's not enough to prove source code, but to "make the source code useful to anyone." I'd be very reluctant make my company subject to anyone's concept of utility.
"Even after RTFA, I still feel that by choosing GPL I am giving up my freedoms as a developer."
Then don't use it. Duh. Why do people complain about this when they can simply use the BSD license or one made up from scratch? This really is a non-issue.
"Incorporating GPL sections of GNU Code could put you in violation"
If you don't plan to distribute mixed proprietary code and GPLed code, you're not in violation. If you plan to distribute, then write your own code or follow the GPL rules. The bits of code that _other_ people wrote belong to _them_ and _nothing else_ gives you the right to use their code. So play fair or keep it in-house. Seriously.
"even if you do not plan to widely distribute your application you still need to follow the rules."
What do you mean "not widely distribute"? Either you distribute or you keep it within the company. If you don't distribute, you can adapt GPLed code to whatever you need and not disclose a damn thing to anyone.
Just because you can't take and not give back doesn't mean that the GPL is bad. It just means that it's not for you. Use a different license and different code and stop whining.
--
BMO
Actually, one line might be considered fair-use excerpting...
Seriously, if you don't want to GPL your application, just don't use any GPL code in it. Why is that so hard? Nobody whines about not being able to incorporate pieces of Microsoft Office into their code. The only difference is that you gan ogle the beautiful source code of GPL applications, so that it's more of a temptation.
You're not going to lose the rights to your software if you invoke GPL code with it. You're not going to lose the rights to your software if you use GPL code to make it (e.g. gcc and emacs don't tarnish your C code). You're only going to have to GPL your code if you actually incorporate someone else's work into it.
No. The GPL applies on redistribution, not on distribution. The GPL puts no requirements or restrictions on the copyright holder whatsoever.
Incorporating BSD-licensed software could put you in violation if you remove the copyrights, or GZIP if you claim you wrote it (as Winzip used to do), or commercial software that you have source code to.
Fact is, it isn't the GPL that's restricting anyone doing anything. Copyright law already has these restrictions. The GPL gives you license to do things you otherwise wouldn't have a right to do.
But as I mentioned, it doesn't enter into effect at all unless you're redistributing someone elses code that is GPL licensed.
Not in theory. It has no effect whatsoever on the distribution of your own application. It only has an effect when you want to redistribute code that you aren't the copyright holder to.
Guess what: you don't have the right to redistribute other people's code. The GPL had nothing to do with this.
That's absolutely correct, but guess what: His secret recipe, as valuable as it is, was done on the backs of others. If he can build his secret recipe without stealing from other people, then he's welcome to.
You can do this with GPL software as well. MySQL (among other people) offer licenses for their software that gives you additional redistribution abilities.
But note, at no point here, did the GPL take away any of your rights as the copyright holder, or any of your rights as a redistributer. All the GPL does is give you rights, and only in certain circumstances.
This is a great statement. I would like to see the liberals here on /. use it and apply it to politics and this country. If you don't like this country and/or the laws and president, then don't live here. Nobody is making you live here. That's a great attitude. You have an option in everything in life. In fact, why does everyone here hate Microsoft? If you don't like it, DON'T USE IT. Wow, this can apply to a whole lot of things I see people whining about here on /. Let's practice what we preach, but I know there's know way /. ers will ever actually apply what they say to what they don't like.
So dont use GPL code,
you have no inherent right to use the code
Do you have the right to use code from Microsoft...oh wait you dont have that as an option.
You sure piss and moan about a license you clearly would not even use. Why not go write the code yourself (or are you just a lazy SOB)
The phrase "more better" is acceptable English. suck it grammar Nazis
If you don't intend to share your own goodies the same way, then to heck with you -- you're not a customer, you're a leech.
Not entirely true. Not every project needs to have the entire application "open". If I use GPL application "A" and integrate it with my application "B", that doesn't mean that I won't contribute to application "A". I may have specific reasons for keeping "B" proprietary while still being a contributor to "A" (i.e. new functionality, bug fixes, testing, etc...). I may not be the great contributor that you are but we could probably find others out there that do more than either of us too.
You're correct. What's your point?
It's been said already in this discussion, but it bears repetition: If you don't want to release your code under the GPL, then don't. A condition of using GPL'd code is that you release the subsequent work under the GPL. Don't like the terms of the license? Don't use the GPL'd code. Very simple, very clear. To extend the metaphor, consider that your "vaccine" against the "viral" nature of the GPL.
What exactly is your agenda? From what I can infer from your post, it seems like your agenda includes gaining the right to use GPL'd code in violation of the license, for reasons that IMHO you haven't made clear.
Again, nobody's forcing you to use GPL'd code!
Never underestimate the power of stupid people in large groups.
People reuse Microsoft code every single day. Either in source code form (ATL, WFC) or in libraries (.Net, MFC, too many to mention).
Microsoft puts very few restrictions on developers using their libraries and code, and the few restrictions there are do not compare to the heavy-handed Software Freedom protections of the GPL.
One question I've wondered about the GPL. If I write a program that links to a shared library that is GPL'd, do I need to GPL my application as well?
For example, if I write an application that makes a call into something like OpenSSL, does my app have to be GPL'd?
Avoid Missing Ball for High Score
exactly, when you go GPL, you are still not a FREE software, since you have more YOU MUST and YOU ARE FORBID than anything else, including a EULA for windows.
so really, your stoping others from actualy wanting to use your code, since they may not want to release certain parts of their source, but linking to a GPL library (mpglib to name one) forces them to release everything, or use a lib they need to pay for.
portfolio
To combine two previous posts: This is not the normal case. The normal case is that you want to take a GPLed program, and change one line, or a hundred, but most of the program is the GPLed original. It's 99% theirs, not 99% yours. And that, in all such situations, robs your argument of it's moral force.
But what if it's really as you say? You've got your program, and you want to add one GPLed line? Yeah, you're right, it's going to make you GPL the whole thing. (Yes, I just admitted that your point was correct.) But so what? As someone else already posted (in reply to the chef using the GPL spices in his/her recipe), if you don't like the terms, don't use the code. You wrote the whole program yourself, but you can't rewrite that one line that you have to copy from GPLed code? Right. Sure. Either you are capable of rewriting the line (in which case, do it and stop being lazy), or you didn't write the of the program (in which case the situation as presented is just an academic exercise rather than a realistic scenario).
At a previous job, we had a huge code base - literally a million lines. We wanted to use GPG to check the signatures of some software that we were supplying over the internet to our installed base (didn't want them running something that didn't really come from us). But we didn't want to GPL all million lines of ours. No problem - we ran GPG as a separate executable, invoking it with a system() call and checking the return code (IIRC). Of course, this meant that we had to make the code for GPG available, but that wasn't a big deal. This is one way to handle the "adding a little GPL" scenario in the real world.
The GPL is not a restriction on code use, it is a restriction on code distribution. You don't lose the rights to your code simply because it invokes or uses another library.
For example, dynamically linking to a GPLed library does not taint your code -- that is a separate piece of software that you code uses. On the other hand, if you distribute the GPLed library, you better also distribute the source code to it.
The GPL is effectively a poison-pill license, not a viral license. It's saying that you can only write GPL code using a GPL base; a "viral" license would force the GPL on other code.
For example, people use Apache code modules to support GPL projects and products. If the GPL were viral, the Apache code would have to be redistributed under GPL. The GPL is a poison-pill in that you couldn't take that GPL code and merge it in to the Apache code base; only the original author or their legal representative could submit that code under an Apache license.
Of course if my understanding is wrong, then every web application out there running on Apache or using Apache libraries needs to rip out all GPL code or rip out all Apache code. Never mind all the other relevant licenses like Mozilla or BSD.
I do not fail; I succeed at finding out what does not work.
And Microsoft places no restriction on the redistribution of libraries, nor on the ownership and licensing of any code that you author yourself.
Whether or not doing XYZ forces you to release your code under GPL is besides the point. I want to make it clear that people reuse Microsoft code all the time, both in static and dynamic libraries as well as in source code form for some technologies. Distributing applications based on these libraries is virtually unrestricted. Redistribution of MS libraries is encouraged by the MS licenses.
To say that MS code is unavailable for redistribution is erroneous.
There is no question what the GPL says if you listen to RMS in the new documentary "Alternative Freedom"! He is not only the inspiration for the title, but also the most direct and to-the-point interview in the documentary.
Check out: http://alternativefreedom.org/
Documentary also features Lawrence Lessig, Danger Mouse (of Gnarls Barkey), and others...
I am curious about how this "derivative work" applies to the Linux kernel, since it is under the GPL. I am not completely familiar with the kernel's behaviour, but doesn't it mean that if I were to make any calls to the Linux kernel, this could be seen as similar to linking into a dynamic library? And anything up the call tree is also under the GPL. How can commecial software be created without using the LGPL for the Linux kernel?
I also think #8 seems to be in contention with what the GPL FAQ says
----------- #8
Distributors only need to offer source code to their customers
If distributors opt to provide an offer for source code, then under section 3b, the offer must be good for three years, and must apply to "any third party." No distinction is made between commercial customers and anyone else who might be interested in the source code.
----------- GPL FAQ
If I know someone has a copy of a GPL-covered program, can I demand he give me a copy?
No. The GPL gives him permission to make and redistribute copies of the program if he chooses to do so. He also has the right not to redistribute the program, if that is what he chooses.
My understanding is that you are able to modify a GPL'd application and profit from it without sharing your changes if you don't distribute it. And running a modified version of a GPL application on a server would probably not count as distribution in most cases.
This allows companies such as Google to modify and profit from GPL applications without offering their changes to the community. (I'm not saying they do, but it allows them to)
Are they planning to try and stop this with GPL v3?
I find when i talk to developers that this is actually the biggest misunderstanding of the current GPL, developers often seem to think that if you modify some GPL software and integrate it into a web application the web application has to be GPL'd whereas to the best of my understanding that is only true if you distribute the webapplication - which most companies do not.
My favorite misconception:
I actually heard a PHB state as fact that "GPL" stood for "GNU Per Linux" and was just an abbreviation for "GNU/Linux".
You don't know how hard it was not to ask him what BSD stood for.
--MarkusQ
The biggest problem I've seen with GPL is that static linking your (completely NON GPL) code with a GPL library seems to make the entire program subject to the GPL. While dynamic linking to DLL's doesn't. This has always been the biggest sticking point with using libraries under full GPL (not LGPL) as part of a piece of software. I've had to avoid using many useful GPL libraries simply because the platform I'm on required static linking.
If they would straighten this out in the license I think GPL software and GPL licenses would see a LOT more use. Having a distinction between static and dynamic linking (particularly given all the different ways you can link code these days) makes usage rules much more confusing. A non GPL program shouldn't be subject to GPL unless it's source code actually contains stuff copied from GPL sources. Simply static linking with a GPL library shouldn't make you GPL too.
This is really the only objection I have to GPL, all the other terms don't bother me at all.
Milo from Kangaroo Koncepts
If I have a 10 million line program, and it links to and calls FFTW (a GPL Fourier Transform package made up of a few thousands lines of code), my 10 million line program is now under the GPL. I cannot offer that program to outside organizations without also offering to make all 10 million lines of source available to them. "Viral" is not a bad description of this effect.
I'm not saying this effect is good or bad, but it MUST be accurately understood.
The authors downplayed this too much, and appealing to anti-MS sentiments was manipulative.
There's no paradox. Software with unrestricted freedom will always remain free, just as software under the GPL will. If Johnny uses libfoo in his closed-source project, this does not prohibit anyone else from using libfoo, improving upon it, and possibly even releasing changes. The original code is still available, even if Johnny keeps the parts of the code that he wrote himself closed.
Using the GPL is evil, you forever give up your right to make money off of any code.
IBM, Red Hat, Monta Vista, Google.com, and many other businesses make millions of USD, every year from GPL licensed software. Evil?
It's like giving up the keys to your house, actually I think there is a clause that allows anyone to make copies of the keys to your house to use to come and go as they please.
No, if that's the analogy you want to use, it's more like you give others the right to make duplicates of your house and construct them anywhere in the world they wish. But then, if they make any improvements to their copy, they have to let you have a copy of those improvements (to add to your own house, or not, as you see fit).
It's amazing some of the things people beleive.
It's amazing how much people want to believe something good is really a bad thing. Harbor hidden agendas much?
I've found that a Venn diagram helps a lot when people misunderstand the GPL.
If you never let anybody see your work, you give away no rights: (dot in center)
With a proprietary licence you give away this many rights: (teeny circle around it)
With the GPL you give away this many rights: (slightly bigger circle around both)
With the BSD you give away this many rights: (much bigger circle around them)
If you dedicate it to public domain: (huge circle around everything)
At this point the light seems to turn on for people and they say something like "You mean the GPL is closer to a proprietary license than the BSD?". That's when I know the confusion has finally been dispelled. Nothing annoys me more than people who are afraid of the GPL because they believe it will somehow take their rights away from them.
If I'm writing a piece of Open Source code I don't mind being put to commercial use, I will apply the LGPL. That's what it's for. If you find a GPLed library on Slashdot that you want to use in a commercial product, don't give up looking for an LGPLed or public domain version. Otherwise, accept that you're developing a commercial product and have your boss/client cough up the change for a commercial library license; explain the difference in cost between purchasing the license and paying you for man-hours to develop that license yourself. If it's a small enough library, write it yourself, stick an LGPL on it, and upload it to SourceForge!
Your answer is way too simplistic and doesn't address the issue at all. It works great if you live in one world (OSS) or the other. This comes from what is appears to be the common belief that ALL software should be OSS. As long as you believe that to be the case, your answer seems appropriate because you have decided to live in only one world.
The perspective of those of us in the Free Software community is that all software should be Free Software.
Unfortunately -- that is not very reflective of reality. That approach keeps people away from OSS because it's effectively an ALL OR NONE proposition for them. They either buy into the idea that everything should be OSS, or they stay away.
It may keep some small number of developers away, but if they're only interested in using our code against us, I don't see how this is harmful.
I avoid engaging in any OSS projects for that very reason. If you want to the benefits of others works, there is a cost associated with it. GPL just makes that cost your software where Proprietary Software usually has some fixed cost associated with it (ie the cost of the software). GPL is definitely not free.
If by free, you mean lawlessness, then you're correct. As a society, we live with rules. The GPL says "If you want to work with us, here are the rules you have to follow.". Proprietary software also has rules, rules like "You must pay us money." and "You must sign this non-disclosure agreement about what you see." and "You must sign this non-compete clause."
I still believe that GPL is viral in nature because there is no proportionality associated with it. If you apply a small set of code to an existing open program, I can understand the requirement to keep it open. But if I were to take a program the size of OpenOffice and use a couple interesting chunks of code, I'm technically in the same situation. So whether the GPL code contributes
This gets back to the original point, which is that the GPL is designed to help create a library of Free code that can be used by any Free Software developer. You're saying "I can't steal just a little bit." and indeed, you're right, you can't, by design. You also can't mix that proprietary code into Free code.
I know the immediate response to that is "then don't use it, you have a choice" -- which is what I do, but it doesn't change viral nature. Version 3 of the license doesn't seem to address this issue and it is one of the big reasons why anyone thinking of using any GPL code needs to think about it carefully because it remains an ALL or NONE proposition. To me, that's what makes it viral in nature.
Fiften, or even ten years ago, people with that perspective may have been able to be convincing, and they argued for the BSD license. There are plenty of people in the BSD community would agree with you, and find that the GPL is too restrictive for them. If that's what they, and you, believe, then you have all the rights to go ahead and use what you feel is a more appropriate license for your work. But since then, in the ~20 years of the GPL, there is now far more code available under it than under the BSD license, including code from buisnesses.
I think a major reason for that is the exact reason that you've pointed out as a "viral" quality- that is that with the GPL, no one can get a leg up on the original developer. It's "Come and join us." or "Sorry, we can't help you.". If Sun had a license which allowed you to as you wanted with OpenOffice.Org, then they'd be at a disadvantage against you.
It's a shame that you don't use our work and contribute to the community, but that's your choice.
"that's not an option" is a perfectly acceptable option :)
-- 'The' Lord and Master Bitman On High, Master Of All
If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL?
Yes, because the program as it is actually run includes the library.
It does matter to a user of the software, because it means he can hire any programmer to improve the software if he has a problem or good idea. If he's using non-free software, he can only contact the company who made it and hope they listen to his request (yeah right).
You are always "free" to contact the authors of a GPL project and pay for a dual license that allows you to do what you require. Trolltech's QT is the perfect example of this! I do this with my own projects as well.
--jeffk++
ipv6 is my vpn
I have never liked the term viral applied to the GPL, not because I want to hide the fact that you have to license your modifications under the GPL, but because it was deliberately chosen for its negative connotations, and isn't really an accurate description of how the GPL works anyway.
The main criterion for something being viral is that it is self-propagating. It goes and injects itself into your body (or computer, or software) without permission. The GPL doesn't do this. You choose to use the GPL in exchange for putting your code under the GPL, or you choose not too.
Secondly, viruses are almost always regarded as a negative thing. Not only does it sneak in behind your back, but it makes you sick, slows down your computer, brings networks to their knees and sends your personal information out to shady people. Neither I nor thousands of other free software developers consider releasing software under the GPL to be harmful to us.
People have been burned by writing large pieces of software that used GPLed code in it, without understanding what their obligations under the GPL were until they had already made a significant investment into using it. It is a shame that those misconceptions occur, but it wasn't because the GPL tricked them into it. The FSF and other free software developers don't want to dupe their users into doing something that they don't want. We want them to make informed decisions about how they use their code.
The use of the word viral to describe the GPL feeds off of misunderstandings to create the appearance of malice where it doesn't exist, and that is why it shouldn't be used.
That couldn't be any more wrong. The user is exactly who the GPL is for. It's just that the "hacker users" are the only people who understand this, so far. And a lot of them don't really get it, hence the confusion between Free Software and Open Source development.
It becomes a EULA the instant that the user decides that he needs maintenance -- a really nice EULA that allows a completely free market for supplying that service.As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
The GPL has its problems when a GPLed application has a plugin functionality, because then the plugins have to be GPLed, too, or else they cannot be used. Usually, plugins are loaded as shared objects (that is, they are linked dynamically at run-time), so the GPL applies here too. This can be solved either by providing a different ABI (rather hard to achieve) or by putting the application under another license.
Also, GPL for libraries is almost always a bad idea. Unlike programs, libraries are linked, technically weaving code together, but no lib code gets modified. Thats why the LGPL exists. xvid is GPLed, but this is OK because xvid cannot be used in closed-source binaries anyway (because of mpeg4 patents).
This sig does not contain any SCO code.
Anyway, FFTW was a bad example. From their FAQ:
Pay for the thing if you want to use it.
Igor Presnyakov stole my hat
If I use any GPL code in my application, even one line, I have to release my application under the GPL license.
Then re-negotiate a license with the copyright holders, as you would have to do if you used a line of code from anybody else.
Could you explain what rights the GPL gives me, the developer whose code is GPLed?
In theory, it gives me the FSF's protection, but the right to defend my copyright is something I already had.
It allows others to see and use my code, but I could have granted that without the GPL and with less restrictions on the developer community (if I had used the LGPL, for example).
What extra rights does it give me? How does it extend the law and enable me to do things I couldn't otherwise?
This isn't a criticism of the GPL, it is a criticism of the suggestion that the GPL makes new rights and gives me them. The GPL gives me no rights, but it doesn't take any of my rights away, either.
In short, it doesn't affect my rights.
In every instance I've been involved with in the past 20 years or so of professional programming, this statement is 100% wrong-- at least from the commercial angle. We've gernerally got an application that is filling a particular need and we're looking to add functionality to the already 100's of thousands to millions of lines of code we've already written. The first thing we do is look and see if anyone has already solved the problem, and if so if we can use it; if we find something and it's GPLed, we can't use it. Adding an extra 10,000 lines of GPL code written last year to our legacy system in use for the past 10 years and now suddenly our legacy app is a derivitave work of the GPL code is out of the question. Which means that we end up either looking for (or buying) an alternative if we can't work out a deal with the original copyright holders (which so far has been nigh on impossible-- we've gotten exactly one license from a GPL project that we needed to use). If that fails, we end up writing our own code, which now is by default non-free.
While I'm not disputing the quantity of GPLed software out there, I know that many of these projects are giving up help just because of the license. As an example, in one case we had determined that we'd need to allocate at least 3 people to implement a particular feature that a specific GPL project already had (mostly) working. I contacted the project "leader" and tried to negotiate a different license for the use of their project that involved a cash payment and allocation of a full time employee for a year to help bring it up to spec. We were unable to come to terms not because of any desire on their part not to, but because they used code that was also GPLed. No one was ever able to locate every one of the copyright holders to get permission and so it never went anywhere.
Don't take the above as a gripe-- whatever license you want to use is fine by me-- if I can use it I will, if not I won't, no skin off my nose either way; I'm sure I'll be able to get my job done with your product, your competitor's project, or I'll become your competitor if I need to.
rob.
That's true, actually. It's a question of degrees: how much are you giving up, and is it worth it?
There are only three incentives I can think of, for why a developer might decide to give up that freedom:
- Altruism.
- Savvy customer who has encountered monopoly forces before, solves problem by naming GPL as a term. If you want the job, then you supply GPLed software.
- You want to build on someone else's work, who for whatever reason, has released their work under GPL.
First and third reasons that the most common these days. If you want to use someone else's GPLed code as part of your non-GPL project, you might be able to buy that too.As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
From bottom to top:
With software patents, you don't need to use other peoples software to be in infringement, that's a big difference, you don't choose to infringe on a software patent, but you have the choice to use GPLed software.
About the GPL, you are right, you lose rights as a developer and give them to the user. No the end user, that's the point. You don't get to dictate that the user is the "end user" anymore, they can choose to become distributors, too.
The whole idea behind the GPL is the freedom of the user. Lots of developers like it, because we are mostly users of software, and distributors too.
Nobody forces you to use GPL code in your programs, of course the idea is that you feel tempted to do so, and then in exchange, you share your code. But from the start, nobody is trying to rip you off, everything has a price.
The freedom that comes with GPL has a price. You can't restrict other users. If you don't want to pay the price, there's other options, of course.
Please, don't use so flawed analogies. Analogies are a bad way to share a rational reasoning, and in the one you chose, it's badly chosen.
You can keep your secret recipe to yourself, just keep out of our GPLed spice garden!
Curiously you disregard the notion of a democratic nation which conforms to the will of the people, liberal or not.
Instead you opt in for an autocratic nation with open borders.
I'll have to think on that a bit.
I just found out there's no such thing as the real world. It's just a lie you've got to rise above. - John Mayer
Yes, because the program as it is actually run includes the library.
I'm not sure I can even parse this. "run includes" ?
I have to say, the parent poster seems absolutely correct to me in that this viral "myth" was not clarified at all. It is viral. And many people don't understand where the line is.
It seems to me that dynamically linking DOES taint your code. But obviously there is confusion here. Saying things like, if you don't like the GPL license, don't use GPL code doesn't clarify this. Saying the GPL is not viral does the opposite of clarifying. This is no way to remove uncertainty.
... is that the GPL is pro copyright because it's a license. Wrong! The success of the GPL is the ultimate proof that all those arguments like ... "copyrights are pro creator, pro business, an incentive, protection, pro commecial..." ... are lies, frauds, and scams. Copyrights like any coerced monopoly or any personal "right to sue" for market share will slow business, hurt individuals, are predatory rather than protectional, and are a disincentive to creation and productive behavior. The GPL basically fought fire with fire. The greatest victory of the GPL is that it broke the software industry copyright cartel and is forcing them to compete off of merits and service rather than off of threats and control.
How can I re-distribute microsoft office with my source code for free or within my $10.00 commercial project? The license is no different in that respect from a dual licensed GPL/Commerical project like QT.
--jeffk++
ipv6 is my vpn
Yes, but how's that different from any other license out there? If you use Microsoft's code in your application, you're going to have to release the result under the license terms dictated by the license you have from Microsoft to use their code. In that respect the GPL is no more viral than any proprietary software license.
BZZZZ!!
WRONG!!
Free would be no copyright. There's a reason why the GPL s a copyleft license. The whole idea of it is using copyright laws to fight their effects over code.
In a world without copyright applied to software, the GPL wouldn't apply, but then, it would be the ideal world for a RMS-style GPL advocate, so it would be OK.
Licenses don't _restrict_ freedom, they _grant_ freedom.
The GPL grants you more freedom than most licenses. BSD style licenses grant you even more freedom, including the freedom to further limit other users freedom, that you don't get from the GPL.
This is really confused.
First off, having access to a GPL app as a developer is *always* going to be at least as good for you as having access to a similar closed-source app. With a closed-source app, you tyically can't even *look* at the code. You can't reuse the code in your code, you can't redistribute the result.
With a GPL app, you can *always* look at the code, and you can *always* reuse the code. Its true that you can only redistribute the result as long as you are willing to allow your users the same freedom, but that's better than nothing, which is what you get from the closed-source app.
Reverse it and it would be correct because a developer is not going to take a small amount of gpl code and use that, they are gonna add their small amount of code to a largely GPL base.
Remove such vagueities are "small" and "large", since they have no real meaning. I'd like to point out that it's a completely unnatural premise that a commercial developer is going to start building on a GPL project for profit. Now look at the post again. It's one thing to reverse an analogy to be in direct contradiction to reality, it's another to completely misunderstand the valid arguments against the GPL. Accepting them blindly because you believe it helps you (without actually understanding why or why not) is just as bad as clicking through a EULA you didnt read. That's an accurate analogy.
The social mechanism, as to why this yahoo's nonesense gets modded up, is an excellent example of how the
Often wrong but never in doubt.
I am Jack9.
Everyone knows me.
If you want me to respect your closed license, then you can damned well respect my free one. It isn't too much to ask that if you distribute code I wrote, to distribute those changes you made to it so I can learn from them. That is the reason I release code. It isn't to make money. It isn't to gain fame. It is to learn from others as they learn from me. It amazes me the amount of bitching about this simple concept. It amazes me more that there are morons out there trying to pressure others to allow the closing of code in a free software environment. Doesn't sound very free to me. If you don't like the GPL then don't use it. There are a multitude of other "open source" licenses out there. /soapbox
B.
This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
Let me explain the analogy. If someone has a cold (if some code is licensed under that GPL), and they come into close contact with another person (the code is linked with some other code), then that other person also gets a cold (the other code is also now licensed under the GPL).
Not a perfect analogy, but not bad. Feel free to propose a better one.
And so far as people paying for what they want to use, I never said different. Perhaps you should ease up on the crusading.
The strange thing is that NO MATTER what choice you make, the software should still install. "Declining" the GPL simply removes the right to further distribute the software.
So, the correct behaviour should be: Present the GPL -> Accept/Decline. If Accept, indicate that distribution is under the terms of the GPL, and continue. If Decline, indicate that distribution is only possible under the terms of the GPL, but use is free, and continue.
In other words, why bother? I can decline the GPL, and still USE the software, legally.
YMMV
Ratboy
Just another "Cubible(sic) Joe" 2 17 3061
It may keep some small number of developers away, but if they're only interested in using our code against us, I don't see how this is harmful.
This gets back to the original point, which is that the GPL is designed to help create a library of Free code that can be used by any Free Software developer. You're saying "I can't steal just a little bit." and indeed, you're right, you can't, by design. You also can't mix that proprietary code into Free code.
I resent the notion that I'm simply trying to "steal just a little bit". My point, which you obviously missed, remains that you either have to subscribe to it 100% to participate in any way.
If I take a piece of code, make it better, return that change to the OSS community, I still can't use it in my software without make it GPL as well. So now that leaves ME at a disadvantage because there is no proportionality to the give and take. Because of that, I just avoid that game all together. At least the LGPL offers a more reasonable solution, in that sense. Sadly, it has the stigma of GPL with it. This ALL or NONE of GPL makes it more cult-like than many are comfortable with.
The fact that the "myths" are trying to be discounted shows that the GPL community wants to go mainstream, but like a certain political party, it feels that the idea of bringing the two groups together is for the other side to simply join them where they stand.
The GPL doesn't exclude this, does it? The copyright holder has the right to release his own code under whatever license(s) he wishes; even a dual license. The GPL cannot prohibit this. Trolltech does this, for example, with Qt. If someone wants to use GPL'd code, but not release their own code, they can contact the holder of the copyright on the GPL'd code and ask for permission to do just that, for a small fee if the copyright holder wants it. But the copyright holder might, of course, say no. That's up to him, as it's his code. You want to force him to have to accept the money and give away his code, basically giving more freedom to proprietary companies and less freedom to computer hobbyists.
The reason "viral" is inappropriate and doesn't make sense, is that all other uses of the word "viral" in the history of the word, mean something completely different. A virus infects other, unrelated things.
This new, radical concept of "viral" invented by Microsoft, is talking about infecting a derived work. Well, guess what: if you make a derived work of almost any of Microsoft's products (such as, say, Microsoft Windows itself), your derived work is going to be even more restricted. In fact, it's probably flat out unauthorized and could get you sued.
Yet MS Windows doesn't get tagged as "viral" even though its license is infinitely more restrictive. Did the same person who called GPL "viral" call his own product "superviral to the point of lethal?" No. Did he say, "it's viral, but less viral than 99.9% of the software out there?" No. It's pretty damn obvious that the word is intended to be merely pejorative without being an enlightening or accurate analogy. If GPLed software is less "viral" than 99.9% of the software out there, then applying the word as though it were somehow distinctive and unusual, isn't intellectually honest.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
I'll bite. /. , they whine about being forced to use it, or support it, or pay for it.
People don't usually whine about microsoft in
And about living there, I don't live in the US, and I don't want to live there, either, but I don't have a choice of not being affected by the kind of things you do.
With the promise of investment, buying more beef, and stupid stuff like that, the US is trying to sign an FTA with my country, so they can impose your draconian copyright laws, and nonsense patents, including software. So I don't have a choice. Well, if this actually happens, and I ever have my own software development house, I am sure I would have to move to Argentina or Brazil in order to be ruled by reasonable rules about software.
Heck, or study the GPL'ed code and use it to write your own functional equivalent and license that as you see fit. That's allowed under the GPL, and is a right that proprietary libraries etc. don't usually offer.
Tangentially en topic, but this is a good chance to post my article which slashdot has rejected twice now:
I am the developer of Jin, a client for chess servers, licensed under the GPL. About 6 months ago I was contacted by the Internet Chess University, asking for a commercial license for Jin. After negotiations failed, IChessU decided to nevertheless use Jin, but did not release the full source code of the client they built. I have contacted both the FSF and the EFF, but they were unable to help me because they are not licensed to practice law in Israel (both I, and the owners of IChessU are Israeli). I have no intention of dropping the issue, but I am now stuck with paying a lawyer out of my own pocket, which is very limited. Read the whole story.
The question is then, what kind of protection does the GPL really give the small-time FOSS developer, who can't afford fancy lawyer to enforce it? What does this mean for such developers?
NO. You gave the source to everyone you gave a binary. You only have to make the offer of the source if you don't give (distribute) the source and binary together to your customers. The only way a third party has a right to the source is if you make the offer instead of providing the binary and source at the same time. Now everone that redistributes the binaries has to redistribute the source as well, either bundled with the binaries or are responsible to make the offer to provide the source later themselves. If you distribute the source and binary together, you are off the hook for providing the source to anyone to whom you haven't provided a binary.
THANK YOU!!!! Damn where are my mod points??????
A second of reflection gets you:
"Great men are not always wise: neither do the aged understand judgement." Job 32:9
"Mere aggregation" (i.e. storing GPLed software next to non-GPLed software) doesn't 'infect' the non-GPLed software. Otherwise, Linux distributions would have forced all those non-GPLed projects (Xorg/XFree86, Apache, Perl, Python, ...) into GPL-space years ago.
Linking against a GPLed library (or object file) is a whole different matter, and is a short-term tactic to ensure that only GPL-compatibly-licensed software can gain the benefit of powerful and/or unique features included in said GPLed libraries. In a way, it's anti-competitive, but it's one of the few ways the Free Software community has of fighting back against offensive proprietary software authors.
Now, I'm not going to defend the use of the GPL wholesale for libraries and similar software; the question of whether to choose GPL, LGPL or MIT/BSD depends on what the code is intended to do. If I was creating something that was intended to be a canonical implementation of a file format or network protocol that I would like to see become widely-used and deployed, I'd probably use a MIT/BSD license for it.
There are two benefits to GPLed code: (1) you can redistribute it; (2) you can fix it if it's broke, or adapt it to work better with your code. Microsoft dynamic libraries give you (1), but not (2). There is some value-added to using the open source libraries.
I don't know about the base gcc tree (I'm not in Linux at the moment), but the vast majority of header files I see in my /include directory for my mingw-gcc installation that came with Dev-C++ have this blurb:
* This file has no copyright assigned and is placed in the Public Domain.
* This file is a part of the mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within the package.
As for the libraries, it's safe to assume those are LGPL. Although I cannot find a LICENSE or *GPL* file anywhere in any relevant subdirectories to be sure.
Slashdot requires you to wait longer between hitting 'reply' and submitting a comment.
So to answer your original question -- you're right -- proprietary libraries aren't always number one choice. Sometimes they are, but often they're not. So this is why I have yet to willingly use Trolltech's QT product on a project, because they only offer the two extremes ($2000 per developer, or GPL'd), and why I support GTK. I realize QT is prettier, has better docs, and is more mature -- but it is so frustrating to work with the licensing that I have cast my lot in with the good folks at Gnome.
If you don't like it, you're free to not use it. GPL software can be seen as a set of tools to help you develop your application faster, but the price is that your application (which uses GPL components) has to be GPL as well.
It doesn't force you at all, it only forces you if you want to use GPL software in your own projects without paying the price. And that's just another kind of copyright infringement aka piracy.
I suffer from attention surplus disorder.
You are attempting to group developers and users into one category, they are two different groups.
And actually the GPL doesnt even apply to that user that hires a developer to work on the program to add xyz feature. You dont have to give changes to anyone, you have no obligation to do anything.
You can actually come up with three sets of users...End Users simply using the software, End users that want to make changes to the software (all they care is that source is avail, whether it be GPL, BSD, etc), and people that want to change/redistribute the software.
For the bulk of people, the first two categories, they dont care what license it is under, it makes no difference to them and it never will. They are using the software, making it fit their needs, they are not gonna start a company, post changes on the web or anything else. The GPL is irrelevant to them. IF the user even cares that the software is opensource in whatever fashion (that is a big IF) they do not in anyway have to make changes available to anyone.
Developers are the people that need to know about the GPL, becuase it has a great effect on how they can make use of it. A person using software does not care at all, nor should they need to.
No, as stated above, and repeated here, the user doesnt need to know a damn thing about the GPL to make maintenance changes to the code. They dont even need to know that is GPLed, simply that it source is available and modifiable.
The phrase "more better" is acceptable English. suck it grammar Nazis
"If I use any GPL code in my application, even one line, I have to release my application under the GPL license"
That's like saying cookies are viral. If you eat a cookie, even just one, then you have a cookie in your tummy. If you don't want to have cookies in your tummy, all you have to do is remember to not eat them.
If you don't want to license your code under the GPL, all you have to do is write your own damn code.
Why yes, I AM a rocket scientist!
By a developer making his libraries "free" only under the GPL (and not a more free license like the MIT/BSD or even LGPL), then he's forcing anyone that wants to use this shiny tool to also make their software free under the same restrictions. That is why the GPL is "viral" -- not because it "infects" any software that it is stored next to -- but rather because GPL code is useless unless you're working on other GPL'd code.
The GPL is perfect for entire systems of code, since that's exactly what you want. If you're extending GPL software, the extensions should remain GPL. Your last claim is false, because almost every GPL compiler does not apply the GPL to its output. You can compile non-GPL software with gcc, and so long as you don't actually incorporate GPL libraries into your work, it's yours to do with as you please. There are two possibilities if you want to use GPL code in a non-GPL work: The GPL code makes up a small portion of the overall work and you can just rewrite the functionality yourself, or the GPL code is a large enough portion that you can't feasably rewrite it. In the latter case, you have to ask yourself whether it would be fair to the authors of the GPL code to release a non-GPL work that consists mostly of their work.
I've always been amazed at the fact that people consider their programs to be their own special property when in reality they are building on 60 years of research in computer science into compilers, languages, operating systems, and algorithms that is completely freely available to them. My opinion is that we are now at the point in computer science where any software development short of strong AI is merely a small incremental improvement on those years of research, and that it's absurd to assign ownership of a software project to the last person to tack something on to it. Can anyone claim that they have put more time and effort into their own software projects than the collective work done in building all the GPL software that's available? Even the biggest commercial software projects in history are beginning to be dwarfed by the total contributions to GPL software.
Sometimes the GPL feels about as enjoyable as enforced communism to me.
If you don't like it, lobby for reasonable copyrights and patents. If the law was reasonable, the GPL would be unnecessary. As it is, the BSD style licenses are abused by companies who take open work, modify it and copyright (or patent) it so no one else can use the simple incremental improvements for 95+ years. Make software equivalent to mathematics like it should be, so that every improvement can be freely shared. This doesn't mean that commercial software must fail, it simply means that data structures and algorithms should be recognized as mathematics. Windows won't suddenly be freely available or unmarketable because they have invested time in creating actual copyrightable works like images, documentation, fonts, etc.
It's just that something more along the lines of the LGPL would be my license of choice when creating a tool that I want to be available and free and useful to others for many years to come.
The LGPL is specifically for libraries because it makes sense to allow people who may not have a choice in development licences to be able to use it. The reason it arose is mostly a technicality of how modern compilers and software development work. Technically, you can use any GPL program you want within your non-GPL software, but you have to do it without actually linking against it (which pulls copyrighted macros and inline functions from header files). Feel free to run a Linux system full of GPL software in a closed virtual machine and control all the input and output to the system so that it appears the VM is completely your software, but you'll still have to distribute the whole Linux system and source along with it.
I still think the GPL is proper for any stand-alone application simply because it prevents companies from building an interface around the
The thing is, there are really two main kinds of code. There are libraries, which are intended to be dropped into other applications, and there are entire applications on their own. The LGPL, surprisingly enough, works better for libraries, and the GPL works better for applications. The problem with always using an LGPL style license is that people can always work around it to "embrace & extend" your code in such a way that it pretty much stops being free. For instance, if you release some image editing application under the LGPL, and Adobe goes and integrates it with Photoshop as a library, they can basically get all of your features, without contributing anything back. Anyhow, you compare the GPL to enforced communism. That's a ridiculously extreme example. Enforced communism takes everyone in an entire country, and via threat of physical violence, forces them to give up what they've created, earned, and done. The GPL is completely optional. You don't have to link with any GPL libraries, or modify any GPL programs. You can write them yourself, or you can license them from proprietary vendors, or you can use a BSD or similarly licensed piece of software. Do you complain about every proprietary piece of software you buy? Because remember, that gives you less freedom and flexibility than the GPL does. You have the choice to use or not use GPL'd software. It is awfully tempting to use it, because the source code is right there. But it is your choice, and if you choose to use it (and I'm referring to using the code in your program, not just using the final product), you have an obligation to follow the license. It's not forcing you to do anything; it's just an offer that's really tempting.
miss sarcasm much
As x approaches total apathy I couldn't care less.
a. If you want to use my (open source) code in your software, then you must follow the terms of my license. b. If you want to write your own (closed source) code in your software, then you can choose how to license it yourself. It's really not that convoluted. My new Green Bunny Software License (TM, all rights reserved) has some interesting requirements. First you have to take a picture of yourself, holding a green bunny, wearing blue silk pajamas and wearing zebra striped houseshoes. (No nudity please.) Then you have to fax me the picture and you have to jump up and down on one leg while patting your head with the opposite hand until the fax is completely sent. (I'm working on verification methods for this step, but until then it's honor code.) Once you meet these easy steps, you can use my code. Yes, I'm being facetious, but the old fashioned way is just as convoluted. Bottom line is, GPL allows developers to maintain Copyrights and at the same time allows them to contribute to the project. Some projects don't need to be open source. Also, the "Free" in Free Software means to me that I can install something, and if I don't like it, I can change it. Rather than buy a license for something that installs ten other things that I don't want, and that I cannot legally or easily change that program. It is MY computer, I should have the last say on what is stored on it. If what YOU want is to take the work of a community, CLOSE the source and slap your name on it and sell it for a profit, then I say you do want to steal. BTW, the license does not prohibit making a profit from OSS. RTFA again.
TANSTAAFL GIGO Acronyms to live by!
Ahh...I see. So you're referring to your practise of seeking out people with colds, deliberately coming into close contact with them, and then complaining when you have a cold too? That does make a little more sense than the transmogrification, to be honest, but I'm not sure that's the typical behaviour people exhibit around viruses.
Hmm...tough one. Let's see: it's a bit like if you write a 10 million line application (you write a 10 million line application), you want to use FFTW in it (you want to use FFTW in it), so you acquire a copy of the software (you acquire a copy of the software), and you follow the terms of their license by giving them money (you follow the terms of the GPL by releasing your source).
How's that one?
No way! I've got a big, shiny, high horse and I'm going to use it to plunder the East!
Igor Presnyakov stole my hat
miss sarcasm much?
As x approaches total apathy I couldn't care less.
"I still feel that by choosing GPL I am giving up my freedoms as a developer."
What freedoms as a developer?
You still own the copyright to your code, any modifications by 3rd parties are given back to you, so what have you given up?
Or perhaps you are refering to the freedom to charge an inflated price to license the binaries compiled from your source and reap a massive profit margin, but you may need to consider the licensing of all closed source proprietary software and libraries you utilzed to make your closed source application, you may own less of your application than you thought.
Also realize that the freedom given to you to use the GPL Spices to create your own recipe does not give you the freedom to steal the GPL Spices for your own profit. If you don't want a GPL recipe then don't use the GPL Spices, that is where the freedom exists, choice.
Theivery is a crime, not a freedom.
Solution: Make your 10 million line program link dynamically to the FFTW shared library, and then don't distribute FFTW (or distribute it separately).
the GPL code is a large enough portion that you can't feasably rewrite it. In the latter case, you have to ask yourself whether it would be fair to the authors of the GPL code to release a non-GPL work that consists mostly of their work.
I think the problem is that many developers USE the GPLed code, but don't extend it in anyway. They'd like to be able to use the library as is, without forcing THEIR project open. I find the GPL attitude kind of arrogant. I can understand if you extended some GPL code wanting those changes to come back, I don't have a problem witht that. But if the GPL code is just used by my code, I don't think its fair they tell me how I have to license my own software.
Well, yeah, but "available and modifiable" is what the GPL gives them. That's the whole reason they should care. That's what allows them to hire anyone they want to make the mod, and what guarantees that the source to the mod can't be withheld from them in case they decide to fire that maintainer and hire someone else.
I've worked in proprietary software, and that's exactly the kind of assurance that some users need, even if they haven't put it into words. They hate being jerked around and told by some maintainer, "Ha, we've got you! Hire us for some ridiculous amount, or else you don't get the y2k bugfix. Heh, and even after you get this bugfix, we still have you over a barrel if you ever want anything else." Or there's just "no, we can't or won't do it." This shit happens and I've been personally involved (as one of the Bad Guys). But now that I've seen it, I "get it" and as a user it sure as hell isn't ever going to happen to me again, because I know what to demand: the GPL. That's me talking as an end user (but with a developer's insight thanks to having worked for a company that sorta fucked some people over, so that I know what risks end users face) (as if I didn't already know, thanks to also having once been an AmigaOS user ;-).
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
When I was working for Be Inc. as a tech support guy, my co-worker developed a 3com 3c509 driver based on Donald Becker's GPL Linux driver. BeOS users suddenly had something very useful, a driver working in BeOS that thought it was talking to a Linux kernel, but the wrapper made it interface with the BeOS network server. Anyway, long story short, the GPL is viral, as Be Inc. started to receive emails from the FSF about the driver download. Apparently Be Inc. would have to GPL the BeOS kernel to use the driver, or that was according to the Be Inc. legal dept that forced us to take down the driver+wrapper kit. I read the email exchange, and RMS himself was involved in the process. So point one is apparently the authors attempt to change history or something, not sure. Fact is the GPL-left version was designed to work-around the viral aspects of the license, so you can link to gpl libraries, etc... to not have to be gpl yourself (the code linking into gpl lib's).
In response to the 3rd point, about the price of GPL-ware, and freedom. Let me be clear, the GPL is a license, which outlines restrictions. The word restriction, and freedom seem almost mutually exclusive except in terms of establishing the contrast of each other. Aka the provision is the GPL about how you MUST provide the greedy original author with your cool enhancements is a restriction of the GPL, not a freedom it provides. The price of the GPL is a non-issue, as I just showed how the gpl is not free, as in freedom, and the author of point three points out that the GPL does not guarantee free as in "free lunch, free beer" (aka price).
Point 9 is funny. When BSD code is assimilated into the GPL I notice that the BSD clause of always attributing the author is mostly ignored, and even replaced (many times) with the GPL-ware authors name. So complaining about not having the entire GPL license in each and every file header is a joke. Of course this is a case by case situation, but really, the common case is that the GPL licensed project typically has a person who takes other peoples enhancements, by force of license, and represents them as their own without attributing the original (patch) work to the contributing author.
People, there is a better way for you to contribute code to the world. The BSD way! In short, and without starting a bikeshed flame war, the BSD way doesn't care about restricting you by the license, except to not steal the fame for the code, aka give credit to who you accept BSD licensed code in your project, and who cares if you are commercial project, or philanthropic. Freedom should always win over greed.
It isn't a lie if you belive it.
And actually the GPL doesnt even apply to that user that hires a developer to work on the program to add xyz feature. You dont have to give changes to anyone, you have no obligation to do anything.
Sure it does; I hire you to modify the Gimp which you do. You give me the modified program... you've just distributed it and thus the changes I paid for must be given back to the Gimp.
I find it funny that I post my opinion about the GPL (which includes pointing out its practical limitations and implications), which isn't exactly a rare one, and I get labeled as a troll. I also find it interesting the way that you're calling me a "lazy SOB" and you don't get marked as a troll. Goes to show just how many GPL zealots there are around here.
/my/ ability to choose the license I want, M$ is more free than the GPL. Interesting, no?
"""
So dont use GPL code,
you have no inherent right to use the code
"""
Actually, according to the GPL, I do. Perhaps you should read it. I know I have.
"""
Do you have the right to use code from Microsoft...oh wait you dont have that as an option.
"""
Actually, even though I don't have access to the code of the libs that M$ provides, I do have the option to use the libs (eg directx) without any encumberence from M$ ie I can link to there libs and still choose the license for my code. So, when it comes to
"""
You sure piss and moan about a license you clearly would not even use.
"""
How do you know that I'd never use it? Every time I start a new project, I think about licenses and there implications and which one would be most appropriate ie My license choice is taken quite seriously, unlike most who just choose the GPL right off the hop without consideration.
IMO, a license is like a tool. It gets done what you want it to. IMO, I don't think that I should force other developers to use a license that I choose. They should have the right to do with the code whatever they want, as long as I'm not liable.
The GPL takes this right away from developers that wish to use the lib. Now how free is that?
Personally, when it comes to one of my current projects, I'm thinking of seperating it into several sub-projects. Release the libs under a BSD/MIT style license (considering zlib as well) and the main project itself as GPL. We'll see though. And its not like I can't change it in the future.
"""
Why not go write the code yourself
"""
I do write code myself. And what I write, I publish under non-restrictive licenses. And when it comes to things that I want others to be able to use as well, it will *always* be under a non-restrictive license.
"""
(or are you just a lazy SOB)
"""
Are you trying to pick a fight, or is it just me? Perhaps its that I've struck a nerve by pointing out the non-free-ness of the GPL?
Now if you continue along this overy aggressive school-yard name calling, I will not even reply. If, on the other hand, you wish to engage in a productive discussion, I will too.
In what way is being able to give a copy of an application to your friend "totally irrelevant to the end user?"
but in all honesty the actual user of a project could give a damn. - couldn't. Could NOT give a damn. Not 'could give a damn', but 'could not give a damn'.
Damn it, I could give a damn, but I won't!
You can't handle the truth.
Anyone gives a fuck
(-1, Raw and Uncut is the only way to read)
"If I'm trying to make a *tool* that will always be available, then I will use the LGPL because that *tool* will always be available and usable."
Are you playing with semantics? The original parent didn't say *tool* he said application.
Whatever you released under the LGPL will always remain available but the use of your LGPLed code in closed source applications is a dead end. When the developer of the closed source decides to drop the application its on a path to obsolescence and nothing will bring it back.
As far as GPLed code being useless due to the viral nature of the GPL you are obviously wrong as evidenced by the bergeoning base of open source software licensed under the GPL. Due to the interest in using and developing GPL software its future is ensured and and application or tool will always be available.
Reality does not match your interpretation of the effects of GPL on the uesfullness or longevity of applications.
burnin
Absolutely not.
It requires the person you hire to change the code, to give you the code.
You never, under any circumstances have to give changes back to the original project or for that matter, anyone that didnt recieve the binary. The only person that the binary was distributed to was me, which means I must also recieve the code changed code. Obligation met.
If there is only one person the modification is "distributed" to, there is only one person that code must be given to.
The phrase "more better" is acceptable English. suck it grammar Nazis
I am curious about how this "derivative work" applies to the Linux kernel, since it is under the GPL. I am not completely familiar with the kernel's behaviour, but doesn't it mean that if I were to make any calls to the Linux kernel, this could be seen as similar to linking into a dynamic library? And anything up the call tree is also under the GPL. How can commecial software be created without using the LGPL for the Linux kernel?
The commonly accepted (but untested) theory is that the API provided by the kernel is so narrow and well defined that using it doesn't create a derivative work of the kernel. I too can see that this might be a problem, even more so in the case of embedded devices where essentially the "software" is the kernel + a binary. To me it seems that it shouldn't make much difference (legally) in that case whether you hard code your application in the kernel or use a binary; it seems to me that the result is in any case a binary "firmware", essentially a single program that controls the device, not two very separate things (the kernel and the userland).
Another common argument is that the kernel developers themselves have stated that merely using the provided syscalls is not creating derived works. If they were the sole owners of the copyrights, it would of course be in their power to make that decision. However incorporating 3rd party GPL code that didn't originate from the kernel makes this case more interesting, as the kernel developers no longer have the authority to make such "exceptions" to GPL.
Let me know when you find a user that is concerned with that...
ie, I have never heard of anyone saying "well i could let you use that cd, but that would be against the license"
Unless it is in a business, which is a totally different matter then.
The phrase "more better" is acceptable English. suck it grammar Nazis
I don't really need a solution cause I don't really have a problem. I am happy to avoid GPL software in code that I wish to remain fully proprietary. My example was only given to demonstrate the viral nature of the GPL.
Having said that, I am skeptical that dynamic linking is a way to avoid "GPL infection". I wouldn't want to test the courts on that one.
I resent the notion that I'm simply trying to "steal just a little bit". My point, which you obviously missed, remains that you either have to subscribe to it 100% to participate in any way.
Your feelings of resentment aside, the idea that you would use code that, I wrote in a way that I don't intend is wrong. Stealing is a loaded word, but it sure is freeloading.
If I take a piece of code, make it better, return that change to the OSS community, I still can't use it in my software without make it GPL as well. So now that leaves ME at a disadvantage because there is no proportionality to the give and take. Because of that, I just avoid that game all together. At least the LGPL offers a more reasonable solution, in that sense. Sadly, it has the stigma of GPL with it. This ALL or NONE of GPL makes it more cult-like than many are comfortable with.
If that's what the original creator intended, then they (the author) and you have two choices.
The first choice is that the original author may use another license than the GPL. If it's software where they want this sort of arangement, they might use the Lesser General Public License (the LGPL), which is designed exactly for the sort of thing you're pointing out.
Or, if this is really important to you, you could go to the developer and propose to make you a special licensed version of the program, just for you. I'm a Free Software developer (though not a prolific one) and if you said you wanted to use my code in a proprietary project, but that you agreed to improve anything directly related to it, I'm sure you and I could come to an arangement that would involve this contract in writing and compensation (which would allow me to write more Free Software).
I can't speak for everyone, but I think many folks would find this aragement acceptable.
The fact that the "myths" are trying to be discounted shows that the GPL community wants to go mainstream, but like a certain political party, it feels that the idea of bringing the two groups together is for the other side to simply join them where they stand.
Without getting too much into actual politics here, compromise is one way of trying to gain acceptance of an idea. The other is to hold one's ground and wait for people to come around to your ideas. If you look at how much ground the Free Software community has gained in the last 20 years, I think it's hard to deny that this method, though slow, is working.
Disclaimers - I've licensed my software under the GPL, and I've successfully at times advocated GPL and LGPL software professionally.
I agree with the principles of the license. My complaint is that the fine print is difficult to explain to a PHB. Many intelligent people I have worked with have misunderstood one or more of the various clauses. In some cases the clauses appear intentionally vague and prone to misreading. As a non-lawyer, it is challenging to explain the GPL license to someone who has it in front of them. It seems no two non-lawyers will arrive at the same interpretation. The format of some sections excepting other sections, and ill-defined concepts (such as the LGPL clauses about interfaces and what constitutes a derivative work) can create enough confusion in software professionals to drive them towards lesser-performing alternatives just for greater clarity.
Perhaps it would be helpful if it came with a non-binding layman-worded abstract in addition to the preamble, or there was a more comprehensive FAQ about it that what currently exists.
As an example of reaonable confusion- 7zip for Windows is GPL licensed. Does the self-extracting archives it creates constitute a Derivative Work?
Question:
Say there's "Big proprietary software project A", which has been under development for years. The people who developt A find "small GPL'd tidbit of code B" which does exactly fill a niche that they've wanted to fill.
This is a common example in these discussions.
People say you can, as the copyright holder of software B, release it under as many licenses as you want. But, why would you do that if you release it under the GPL? Cause pretty much anything else is going to place less restrictions on the people who are granted the license.
Say, you write software B, and you GPL it, but you also release it under a license which says that someone can use it, but must attribute the work? Why would anyone choose the GPL over that?
Or, what if you issue licenses on a case-by-case basis? If you allow the developers of Software Project A to add it into their project under a different, non-GPL license, what if someone calls them on it? I mean, what happens?
~Wx
sig?
The first misconception; the money issue
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
(From the GPL version 2 - Emphasis mine)
What the above means is that no money must be charged for *licensing* a derivative work. In other words, not only must the entire derivative work be placed under the GPL, you can't charge more for the GPL licensed work than you would if you were using another license. Note that the word "distribute" is not mentioned in the above section at all. People *really* need to read this, as I've often said, because it specifically refutes the idea that making money from software using the GPL is prohibited by the license. As that article says, your only obligations are to ensure that a) whichever distribution medium (CD-ROM, ftp site, whatever) that contains binaries must also contain the source code of said binaries, and that b) you don't try and charge for downstream use of the license.
I'll say it again...PLEASE go and read the above link about paid distribution of GPL licensed software.
The second misconception; the linking issue
6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
(Excerpt from the Lesser GPL - emphasis mine)
For combined derivative works including an LGPL licensed library, it could definitely be argued that this is not a hard application of copyleft, and that those who want it are being given weasel room. The other allowance that the LGPL makes is that an LGPL library can be combined with either a library or an application not under the GPL, and that while the LGPL library itself stays under the LGPL, the resulting combined application does not have to be.
I personally consider the LGPL deeply hypocritical in light of Stallman's previous thorough attempts to discourage use of the BSD license. He also, however, states here that the LGPL is only intended for use with libraries which imitate functions already present in commercial software. Hence, he implicitly concedes here that he is attempting to build a code monopoly in order to enforce increased use of the GPL. He cites appeals to popularity as one reason why people might try and coerce a software author into using the LGPL, when to my mind his own fears of a lack of popularity must surely have been the reasoning behind the LGPL's creation.
Although it is true, as stated above, that there is no prohibition against making money from the distribution of GPL licensed software, the GPL is likely to force those who wish to sell software (and who are accustomed to capitalist economics) to reconsider their strategy. The reason why I say that is because in order to be ultimately successful, a vendor following the capitalist process must usually rely on the creation of exclusivity, or a monopoly. This has also been called the "unique selling position," and what it means is that if you are one of ten different vendors selling a given product, you need to create a unique reason or incentive for a potential customer to buy from you, as opposed to one of the nine other vendors. It was that exact principle which led to the fragmentation of commercial UNIX, as incompatibility was born out of each vendor's desire to create a *unique* product, hence giving a customer incentive to buy from that vendor rather than the others. This principle is also why the recipe of Coca Cola, as another example, has been kept secret. If other companies knew the exac
If I use any GPL code in my application, even one line, I have to release my application under the GPL license. Throw all the pointless qualifications you want around it, like only if I release the application to the public, and I can still release it under other licenses, and all the related conditions that likely apply to 1% of real world cases.
And if I took one line of code from your commercial project, you would sue me. Basically, you're looking for a free lunch. BSD style licenses offer a free lunch, and it's admirable of them to be so generous. Unfortunately, generosity does not always pay off, especially when it's unconditional in the face of things like copyright and patent law.
As a developer, I believe that developers have a right to make a living from their code. I also know that so few people donate for free software that most developers who rely on donations have to do something else to pay the bills. At the same time, I like to release 95% of my work as open source, so other developers can use it, some of which may also be trying to make a living as a developer. The Apache, BSD, even LGPL licenses handle that just fine.
Consider how you make a living by writing commercial software: You write some code, test it, and then it's yours and your children's for 90 years after you die. If you don't do that, it likely means you assign your copyright to the company you work for, and they keep it forever, and just pay you for the time you worked on it. In either case, it's the long lasting copyright that is at odds with the spirit of the GPL. The GPL assumes that software is essentially mathematics, that sharing it is worth more to everybody than trying to monopolise mathematical expressions, and that if you want to make use of GPL'd code, you have to put your additions back in the pot. It's just a simple contract: Use GPL software, make your modifications GPL. If the GPL code is worth enough that it's infeasable to write your own to do the same thing, then probably your software required less work than the GPL code you want to use, making it kind of silly to want ownership of the result. The future of software development is service. If you think companies will not pay for the development of zero marginal cost software, just look at IBM and RedHat. Just because everyone knows how you did something and can duplicate your work does not make it worthless, it just means that the next big thing can build directly on your work and you can have it for free, too. It's a longer term investment, but most big companies (like IBM) are used to making long term investments profitable. At some point in the (perhaps not so) distant future, strong AI will write software and humanity will simply benefit. Investment in open source is an investment that will pay off in the long run in unimaginably good ways.
Trying to spin the GPL as non-viral is foolish - the free software community should at least be honest about their agenda. I'm not saying its a bad agenda, it just happens to be incompatible with mine.
If the GPL is viral, then commercial software development is a bloated cancer consuming vast amounts of talent and utterly wasting it, slowly killing innovation and scientific research with eternal copyrights and fraudulent patents. GPL software is not viral, it simply exposes the sham of modern commercial software development. You are essentially claiming that the ability to find GPL software and integrate it into commercial projects harms you because then your commercial project has to be GPL. I claim exactly the opposite: By not making your software GPL you are harming your customers by not using the best tools for the job and allowing them the freedom to change and modify the software they buy. Not only that, but the existance of GPL software proves that most commercial software development and purchases are a waste of money. That, I think, is what you're really rejecting, the idea that software is simply a mathematical expression, easily derivable given the proper tools, and not subject to arbitrary laws of artificial scarcity. It's a failing business model you're defending, nothing more.
Why not ask RMS?
"An application program running on the GNU kernel we release will be a separate program from the GNU kernel. (Likewise, if you make kernel extensions that are at all reasonable to call clean and general-purpose.)"
What the FAQ is saying is that you can't force anybody to become a distributor just because they have the code. A user does not have to be a distributor. Point #8 is that distributors have an obligation to distribute source to anyone who asks.
Intron: the portion of DNA which expresses nothing useful.
Respect it, yes. Abide by it, yes. Agree with it, no. And I think that's the point.
This is why I have ranted for years about why you should always use LGPL when writing library code to ensure that it is truly free for anyone to use for any purpose as long as the library itself remains open. No one is arguing that software vendors should be allowed to close other people's code. But the GPL -is- viral. It does require that everything that uses GPL-licensed code be under a similarly open license. If we're talking about an entire GPL application, that's reasonable. For something that can reasonably be reused like a library routine, it borders on psychological abuse, much like holding a piece of candy in front of a diabetic child....
A classic example of why LGPL is a better license than the GPL is KHTML. Yeah, some of their developers have grumbled about Apple gutting the heck out of it and creating WebKit, but on the flip side, there are a number of really good web browsers (Safari, the current OmniWeb, Swift, GTK+ WebCore, Nokia's osb-browser, the Unity library, etc.) that either would not exist or would not be nearly as standards-compliant were it not for that effort.
Safari is closed source, and I strongly suspect it would not exist (or at least would not be based on KHTML) if KHTML had been licensed under the GPL instead of the LGPL. However, because KHTML is LGPL, it still forced the KHTML portions to remain open so that everyone benefits from improvements to the code base. All of this is possible solely because the KDE folks were sufficiently forward thinking to realize that libraries should be licensed in a way that doesn't preclude their use in closed source.
I'd love to see see more people consider this when they choose to use the GPL. IMHO, the LGPL is a much more sensible license that keeps open code open, but allows its use in close cooperation with closed components. This promotes cooperation between the open source/free software world and the corporate world and results in significant corporate contributions of additional open code. The GPL's us-vs-them mentality stifles cooperation and results in corporations keeping GPL-licensed technology at arms length. While it should be the developer's choice, and while others should respect their choice, it benefits free and open source developers everywhere to encourage developers to choose the LGPL where possible instead of the unnecessarily restrictive GPL. Why build walls when you can build bridges?
Check out my sci-fi/humor trilogy at PatriotsBooks.
That line with the opening curly brace in your software is CLEARLY taken from the Linux kernel... Release your software under the GPL NOW!
If you don't want to pay for music, you should look for music that doesn't cost money.
No, you cant. Trolltech is a very special case where a single author owns all the necessary copyrights. In most cases, its almost impossible.
Seems to me none of the first 4 points in the linked article is misleading. After that I gave up reading :
1) AFAIK, any released software that incorporates or even links against GPL software needs to be released as GPL.
2) OK, maybe its been tested in Germany, but in the US, the GPL has not been upheld in court by a judge. The sited case (Drew Technologies, Inc. v. Society of Automotive Engineers, Inc.) was settled ; a verdict was not issued by a judge. I'm not saying that case isn't legally significant, but it can't be considered proof that the GPL is settled law - its not.
3) You have to give it away for free - thats the essence of the GPL. But you can charge for it too. How's this a misconception?
4)"liberty or death" - come on - is this really a common misconception? How many ppl have even heard of this? (and yes, of course most slashdot readers have, but are you really misconceived?)
Is that your interpretation or do lawyers back that up?
Why not just release the code into the public domain?
T Money
World Domination with a plastic spoon since 1984
It is my understanding that some of the principles trying to be upheld by the free software movement is that of a community. A place that is friendly and helps out one another.
"Don't like it, don't use it" doesn't fall into this category at all
So you're saying that if I belong to a community that I should be *FORCED* to help them, even if I don't want to? Yeah, that's a good idea.
"Don't use it" falls perfectly into that category. If someone wants to be a member of a community, then they must obey the community's code of conduct. I don't see any problem with that.
If the code is out there, and someone has been nice enough to release it then i shouldn't have to write my own all over again.
No, but why should you be given carte blanche to take that code and use it without giving the author the proper respect?
After all, your argument seems to say that the Wine guys should be free to use the NT codebase that was leaked then, right? After all, just because it wasn't MS that "released" it doesn't change the fact that it's out there, and you shouldn't have to re-write it all over again.
What I see:
Proprietary software guy says "you can use my code, under the following conditions: (list of conditions follows.)"
Free software guy says "you can use my code, under the following conditions: (list of conditions follows.)"
Why do you feel that it's OK for the proprietary guys to enforce conditions on people who want to use their code, but that it's not OK for the free software guys to do the same?
Nobody wants to test the courts, of course, and IANAL -- but if you aren't even distributing the GPL package, I fail to see how you can be violating its copyright.
I (and others) believe the FSF is overstepping their bounds here. I fail to see how you can violate copyright on a shared library if you aren't even distributing the shared library.
Of course, I am not a lawyer and this isn't legal advice.
If the devs have a bug tracking system, or a public mailing list, then they are soliciting help from their users.
Neither it is straight from the GNU...
r eSourcePostedPublic
http://www.gnu.org/licenses/gpl-faq.html#GPLRequi
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. But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL. Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.
The phrase "more better" is acceptable English. suck it grammar Nazis
"If you don't intend to share your own goodies the same way, then to heck with you -- you're not a customer, you're a leech."
I hope everyone here who is arguing this point also feels that sharing closed source software on p2p networks and such is just as wrong
Are you purposefully being obtuse?
The OP did not say he had to use the GPL, merely that the GPL is a viral licence.
Of course nobody has to use source code protected by the GPL. But adding a small amount of GPL'd source (according to the GPL) will cause your entire source code to be GPL'd. If that isn't viral, I don't know what is.
Online Starcraft RPG? At
Dietary fiber is like asynchronous IO-- Non-blocking!
The first thing we do is look and see if anyone has already solved the problem, and if so if we can use it; if we find something and it's GPLed, we can't use it.
Correct. Exactly as intendet.
If that fails, we end up writing our own code, which now is by default non-free.
Not exactly. You could release your new code under a free license of your own, if you wanted.
While I'm not disputing the quantity of GPLed software out there, I know that many of these projects are giving up help just because of the license.
That's long term planning of the GPL. It loses a short-term benefit in order to avoid the risk of being tied to non-free code, just for the convenience of getting some needed function quickly.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
And I've pointed out that it is. You've yet to explain how it's a decent analogy you see. The fact that you must deliberately introduce the GPL code into your project seems to put a bit of a spanner in the works (this was the "your mission, should you choose to accept it, is to seek out and have intimate contact with people with colds" part of my analogy, in case you missed it).
A fight? Were we fighting? I thought we were discussing analogies. Is this like a slow motion fight where there are hours between blows?
Thank you for the advice. Here's some of mine. Stop taking everything so seriously, relax a little, see the lighter side of life. It's good for you! And you'll have more fun! And people will like you!
Igor Presnyakov stole my hat
I think the problem is that many developers USE the GPLed code, but don't extend it in anyway. They'd like to be able to use the library as is, without forcing THEIR project open. I find the GPL attitude kind of arrogant. I can understand if you extended some GPL code wanting those changes to come back, I don't have a problem witht that. But if the GPL code is just used by my code, I don't think its fair they tell me how I have to license my own software.
So I suppose that to play DVDs, RAs, and WM[AV]s on Linux or BSD, we should be able to just copy (but not modify) the pieces out of the media players to do so, and Wine should be able to just copy (but not modify) all the Windows DLLs that are too much of a pain to rewrite, and OpenOffice should be able to just copy the user interface and file format code for Office for better interoperability.
If closed source people want to use GPL software, they need to feel exactly the same way about free software people taking any piece of their commercial software and using it for GPL software. Don't forget that the same copyright laws that protect your commercial interests protect the community interests of the GPL. I highly doubt any commercial software company would let their code be used in a GPL project. They would require NDAs and commercial licenses for the finished project. So there you go, commercial software is just as viral as the GPL.
anyone thinking of using any GPL code needs to think about it carefully because it remains an ALL or NONE proposition
So is it different to use let's say Microsoft code? Do you think Microsoft doesn't mind if you steal their code as long as it just a little dab? Oh right that's different, both Microsoft and FSF are big guys, so they don't count (Meaning big enough to defend their property if they chose too), we'll only steal from little guys that are too small to notice the theft and later defend themselves.
No when you use anybody's code you have to think about it carefully, GPL is no different.
Apocalypse Cancelled, Sorry, No Ticket Refunds
It is like a chef having to give up his secret recipe just because he used GPL Spices.
Then don't use GPL spices. The point of GPL is that if you use it and contribute to it then you are obligated to share your "recipe".
If you don't want to do this and share, then don't use GPL recipes and either make your own from scratch or use BSD recipes.
GPL is for people who want to release their work to the public so they can modify and not have some one come along and use it as their own without contributing to this effort.
So if you don't want to contribute... Again... Don't use it because that is just free loading off the authors have released their work under GPL.
"I am the king of the Romans, and am superior to rules of grammar!"
-Sigismund, Holy Roman Emperor (1368-1437)
It isn't a matter of building walls or bridges. It is a matter of choice on the original coders part. Nothing stops that corporate entity from building independently whatever library they need and placing it under whatever license they want. Hell, they can even "public domain" it if they want. I can see a very valid reason to GPL libraries that I noticed you left out of your little debate...
This is a problem with the LGPL. Most libraries are there to standardize a common group of tasks. If I build a library that standardizes communication to widgets I don't want anyone bastardizing that standard with their own "extend, embrace, extinguish" florishes. Let's say ODF was implemented in a library. Further, let's say Microsoft wanted to use that library for a plugin. I would damned sure want to see whatever code Microsoft was pumping out that was derived from my code. Wouldn't you given their track record of breaking standards? I thought so.
The LGPL has its uses. That is for sure. The GPL equally has its uses. If you can't abide by the author's choice of license, and by abide I *DO* mean agree to, then don't use GPLed code. It is that easy.
B.
This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
> all other uses of the word "viral" in the history of the word, mean
> something completely different. A virus infects other, unrelated things.
So does GPL. GPLed code "infects" your code with the "GPL disease" if you put it there. The fact that you have to consciously include the code in your project is irrelevant; if you know someone has herpes, all you have to do to avoid infection is to not have sex with them. Herpes is still a viral disease, and, by analogy, so is GPL.
> Yet MS Windows doesn't get tagged as "viral" even though its license is infinitely more restrictive.
MS Windows source code does not permit derived works from it. Since you can not make a derived work, you can not infect that derived work with MS code. If you steal the code anyway, then MS will sue you and you will no longer have a project; they will not offer you the code as long as you use their license. This is not "infection", as that would imply transmission of a disease. MS license can not be transmitted to your code, and so is not an infectuous disease.
That's not an interpretation, it's what the GPL says. Or, if you prefer, it's the only interpretation. Wherever goes the binary, the source must go too. Nothing else.
Actually, the GPL does matter to the end user in at least one way: if you use proprietary code you are at the mercy of the code's owner for bug fixes, new features, etc. If the owner decides not to provide some change to the code you are out of luck. With GPL'ed code you can always hire someone to make the changes you need, even if the original owner of the code has disappeared / been bought by your main competitor / etc
It's very easy to make a clear statement about GPL virality, so I really don't understand why the interviewees didn't take the opportunity to do so. Here's my off-the-cuff attempt at an explanation:
Unfortunately, a nice simple summary like that doesn't carry the whole truth.
The problem is that the derivation of programs carries a double semantic under the GPL, and this is the source of endless debate and discontent because it is partly inappropriate in a distribution license.
One of the two meanings of derivation relates to physical modification of the original GPL source code to create a new ("derived") work through the process of code extension. By any rational assessment, this is a self-evidently fair provision, in that if you take someone else's source code and modify it in some way, then your new program is derived by ancestry. and thus quite reasonably should inherit the license of its progenitor.
In contrast, the other meaning relates quite illogically to *using* GPL'd library code through linking to it, despite having made no modification whatsoever to that GPL'd code. This could make sense in a usage license (which the GPL is not, in theory), but it is quite out of place in a license dedicated to protecting the availability of the original source code and any modified versions thereof. That semantic is clearly in the license "for other reasons".
Remember the discredited attempt by some content providers a few years ago to equate web links and the content to which they point as being one and the same thing? We "obviously" knew that that was ridiculous at the time, yet the GPL tries to claim that linking for usage is the same thing as copying the source for derivation by extension. It's "obvious" that this is incorrect, and that therefore the client application should not become affected virally. There is no derivation by ancestry, so by what mechanism is the license inherited? Well the answer is that it's not inherited --- instead the new, non-derived client code has been tainted by usage.
This second semantic has no business being in the license at all, because consistency would then require us to taint everything else that comes into contact with GPL code through simple USAGE, and that includes web applications. Usage is usage, you can't make arbitrary exceptions to it without totally undermining your platform of logic.
It's quite a mess. Maybe we need a good chat with Eben Moglen; I think he'd understand the problems inherent in tainting by usage very clearly.
So you see, those 3 paragraphs don't really tell the whole story. Still, they certainly define GPL virality a lot better than the article did.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Like slashcode? Most of slashcode is GPL but as I understand it, the karma system is closed. Anybody can use everything, except the karma system which is what make slashdot unique.
An application I working on has a whole shitpile of different licenses It's gotten to the point where I've done this just to keep track of it all!
Apocalypse Cancelled, Sorry, No Ticket Refunds
Really!
If you were to take OpenOffice, make some changes to it, call it "FooWare XP" and charge $325/seat for it after having maybe fixed a couple of bugs, you'd resent contributing those changes back to the original project? You say that "lacks proportionality?" It seems to me that if you were to do exactly that, a minimum of several million dollars worth of development time has been GIVEN to you for free, and your bug fixes might be worth several hundred dollars worth of development time. Actually, I agree with that statement; your not wanting to play by the rules results in a lack of proportionality; you are not contributing your fair share back in exchange for millions of dollars worth of work. Shame on you.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
the confusion is frequently based on misreadings, rumors, secondhand accounts, and what is convenient to believe.
Huh, sounds like some peoples' ideas of the Constitution, and other state and local laws, in the United States. Go figure on that coincidence!
"Your answer is way too simplistic and doesn't address the issue at all. It works great if you live in one world (OSS) or the other. This comes from what is appears to be the common belief that ALL software should be OSS. As long as you believe that to be the case, your answer seems appropriate because you have decided to live in only one world."
That's not quite true, not everyone who uses the GPL believes that no-one else should create non-free software. There are certainly a few out there who believe that, I'm sure, but what you're complaining about is not being able to take someone else's code that they licensed to us all with certain caveats and put it under a different license.
That's not something that you are permitted to do under most source licenses, open or otherwise. When someone licenses their code with obligations that are too onerous, you simply don't use that code. You don't have a right to take source-code and incorporate it into your own software unless you are willing to follow the licensing conditions just like any other licensed source code.
Licensing software under the GPL isn't something that happens by accident, the author of the software that you wish to incorporate has stated in a legal fashion that he/she does not want that code to be used in closed-source products. The license is aimed squarely at people like you who would take their code, use it's features to enhance their own product and give nothing back to the community.
There's not much difference between that and commercial code licenses which insist that you only use their product in closed-source products, except that the GPL is about benefitting the community at large rather than the company owners or shareholders.
The GPL isn't about making all software free, it's about keeping free software free, even if it means preventing people from using that code. For developers, all that GPL code that you talk about wanting to use is out there as a huge advertisment about how many resources are available, if only you join the club.
You'd make the FSF proud I'm sure.
I'm a bit too lazy to RTFA, but I've browsed through the contents of the GPL so I can make somewhat of an informed comment. I really respect devs who GPL their code - it's an excellent way to give back to the community. I try to use primarily free and/or open-source software, so when I develop code, I too would like to give back to the community. However, after even merely reading a summary of the GPL, I decided that it really isn't the way I want to do things. I really find that Creative Commons licenses are much more agreeable to me, so that I can do a sort of 'open source on my terms' approach.
I expect that nobody *wants* to pay for software inherantly (mind you, there are plenty of people that are willing or wanting to reward the devs financially, which is NOT the same thing - think music: I want free music, but I also want to reward the artists). And yes, I know that the GPL doesn't work quite that way, but the two concepts pretty much go hand-in-hand even if they're not identical. That said, I think business users, or rather those that intend to use the software in a for-profit manner, should be required to pay some fee, albeit something reasonable for both parties. Photoshop is way too expensive for the home 'I just want to play around with it' type, but a good graphics designer can make up the cost in a few days. I'm currently designing a shopping cart from scratch, and while it'll be used in a for-profit manner, I don't think that people just trying to play around with it to see if it'll work for them should have to cough up. As far as I've been able to tell, the GPL doesn't offer me those type of options, whereas I can get something like that with a CC license.
Some types of apps really aren't meant to be totally OSS. Plenty are. Likewise, there are tons of things out there that are directed towards the home user, who should be expected to pay for the functionality if offers (read: most tools that aren't about content creation). Free would be great, but often times the devs really think that their work is worth too much, and overprice things (which of course just leads to piracy - I'll happily buy cheap apps that do what I need, but I'm not going to empty my wallet to join MP3 files). It's really quite a strange situation if you ask me, at least for a large number of things. Any program where you could use it to profit, you should pay for it if you actually do so, but not if you're just using it for personal use (meaning the home photoshopper that just takes out redeye on family blog pictures shouldn't be forced to pay, or certainly nowhere near the for-profit price).
Throwing web apps in there is really putting a wrench in the works. Even paid-for web apps are inherantly open source, even if the devs don't want it as such. With compiled software, that's obviously not the case. Of course, CC really isn't especially great for precompiled software, but I think it's a lot closer to my ideals, which I think many developers of all sorts would agree with. I want to give back to the community for creating some great tools, but I also think that it's reasonable to ask for people who intend to profit from my creations to cough up a bit. $100 isn't an unreasonable amount for people to pay for things where they could make it back in a day or two, but I also sympathize with users playing around and trying to find their best option, and being unable to do so without paying for a full version.
Where was I really going with this? I don't quite know. For devs that only want to give back and nothing more, the GPL is great. For those that are only in it for the money, obviously the GPL and anything related to open source isn't a great option. But for those middle-of-the-road types like me that feel that the only people who should have to pay for most software are those who are going to profit from using it, there isn't a great copy-and-paste license to use, but the GPL isn't very close at all.
As a quick post-script, I'd like to say that I'd have loved to mod up the parent, since he sure as hell isn't trolling, but really wanted to add a bit more to what was said.
How are sites slashdotted when nobody reads TFAs?
So an unknowing third party might easily assume someone is illegaly using ReiserFS when they are not.
Apocalypse Cancelled, Sorry, No Ticket Refunds
Well, actually, my goal is to feed my family, which requires that either a make food, or make money to buy food. Being a programmer and not a farmer, I need money to buy food. Companies pay me to make software for them, and so I am happy. I do not necessarily want to make something as a free service to the community - that is not what I do.
. Define sqrt(x) as something really evil like (x / rand()), and bury it deep. Watch your coworkers go nuts.
Other licenses and EULA's are also ALL or NONE propositions, take it or leave it.
C|N>K
Microsoft Office isn't really a 'library.' And I'd worry about you if your code was linking into it to run.
You have a point. And even if your code dynamically links to the GPL'd library only at runtime, it seems some people maintain your code violates the GPL if it also isn't released under the GPL license. That almost seems like prior restraint. Your code isn't allowed to 'trespass' into the GPL'd library at run-time, because it might not be GPL'd itself.
Well, adding a small amount of IBM or Apple or Microsoft's code into your source code makes your entire source code 'illegal' in just the way the GPL'd code is illegal. It's just that the 'punishment phase' of the violation of the GPL'd code's copyright is to release your source code. You can also opt to cease all distribution of your binaries instead **. There isn't an established legal 'camel's nose under the tent' precedent that prys open big repositories of code as a mandatory action just because a little snippet of GPL'd code was included.
(** there are probably ogres and activists and even lawyers who will instead try to coerce you into 'releasing the source code.' )
using GCC for your own commercial apps is impossible then, because you have to include libraries and headers, which are GPL'd.
Though I'm sure it will shock you, you are not, in fact, the first person to have considered this issue. The FSF has thought carefully about it and addressed it.
The copy of the GPL included with gcc includes the following notice with respect to the gcc runtime library and several others (with slight, and appropriate, variations):
thus this instantly "infects" your code, forcing you to make it GPL'd as well. as soon as you "include strings.h" or io.h or whatever, bingo. or if you use one of the libraries (glibc comes to mind)... oopsy!
Actually, those headers you mention are part of glibc, not part of gcc, and all of glibc is distributed under the LGPL license, which does not require the resulting derived work to fall under the GPL or the LGPL.
ok, so I write a commercial app with 10 million lines of code, and I happen to use a little 100 line GPL static library - then all my work is suddenly derivative?
Yes, it is, but that has nothing to do with the GPL. Copyright law says that if your work incorporates another copyrighted work, the result is a derivative work, and it doesn't say anything about the relative sizes of the two pieces. If the library you use is under a license that grants you permission to use it, then you're fine. If it doesn't (e.g. it's proprietary), you absolutely can't use it. If the license grants you permission but only under certain conditions, then you're fine as long as you meet the conditions. In the case of the GPL, that means your app has to be distributed under a GPL-compatible license. In the case of the LGPL, you just have to distribute source to the library.
Realistically, though, if you wrote a 10 million-line program you should be perfectly capable of writing your own version of the 100-line library and avoiding the issue entirely. If that 100-line library is so hard to write that you can't create your own, well, you need to re-evaluate the value of that library, regardless of its small size, because it's apparently a bigger chunk of work than you're giving it credit for.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
The fact that you must deliberately introduce the GPL code into your project seems to put a bit of a spanner in the works
Or if somebody in your employ, or somebody else involved on the team developing the program you are working on, introduces the GPL code, (I might add) without your knowlege or consent or the consent of management at your organization.
See, there's the viral nature introduced again. The 'vector' is some rogue or irresponsible coder. The victim could be a huge team working on a large project.
From it:
Microsoft Office isn't really a 'library.'
It's a COM server, isn't it?
And I'd worry about you if your code was linking into it to run.
Well, if I was trying to write a big bloated word processor...
except that, last I checked, glibc was LGPL for just that reason.
Actually, glibc is licensed under the LGPL, not the GPL. You can statically link LGPLed software with a closed source program as long as you include the object (.o) files when you distribute it so that anyone can relink it with a different version of the LGPLed component.
they are running around pretending they are creating FREE code, helping everyone in the FREE software community by providing something.They are only helping a small subset of that community, the small subset that produces only GPL code.
Wrong - they are helping everyone - the only restriction is people who say "I don't want your help."
GPL code is totally worthless to a project like mozilla
Only because Mozilla *chooses* for it to be worthless. And in reality, it's not worthless (and this shows that you're not a programmer) because the Mozilla guys are perfectly free to look at GPL'ed code and learn from it. That's pretty far from "totally worthless."
> If that isn't viral, I don't know what is.
Of you truly think that that is as viral as it can be, let me license some software to you under an EULA that says that any and all software you ever develop, or has developed, must be licensed under that same license. And that all software that sits on the same medium, or on another medium close to that one, has to. And that that this does not only apply to you, but must be made part of any bsuiness contract you will ever negotiate in the future and thus apply to anyone you have commercial contact with (and maybe I'll even add that a marriage is a business contract just to piss your wife/husband off).
I'll call my license GNU Punishment LARTer.
--The knowledge that you are an idiot, is what distinguishes you from one.
From what I have read, it pretty much boils down to the following, YES I can charge my software and / or source code,
HOWEVER, I have to allow any and everybody the ability to obtain said name software and / or source code for free.
Which effectively KILLS my business of charging for software and / or source code.
The concept of selling services rather than intellectual property just does not really appeal to me, hence the reason
why I avoid GPL software. But to each his or her own.
Regards,
MBC1977,
(US Marine, College Student, and Good Guy!)
Regards,
MBC1977,
You never, under any circumstances have to give changes back to the original project or for that matter, anyone that didnt recieve the binary
That was my understanding also, but the article states otherwise (under some circumstances.) My interpertation of item 8, is that if the program can escape to the public, you must make the source available to "anyone else who might be interested in the source code."
So once the modified program is given back to you, you must also be given the right to distribute that application under the GPL. If you distribute the program, then it is your obligation to provide the source to everyone...
so basically you must maintain a GPL compatible license, the moment it leaves the control of the owner.
This means to me: He can only legaly give you a copy of that mixed IP binary, if you are either the owner of the IP, or if you fall under some form of Non Disclosure agreement with the owner of the I.P.
If you were to take OpenOffice, make some changes to it, call it "FooWare XP" and charge $325/seat for it after having maybe fixed a couple of bugs, you'd resent contributing those changes back to the original project?
Try reading my post again, because you seem to have completely distorted my comment.
I did not refer to the case you describe in any way at all, I SPECIFICALLY discussed the idea of taking a small portion of that large code base, improving it in some way and contributing it back to the community. However, at that point, I cannot take that portion of code and use it in another piece of software without the GPL taking over the entire code base.
Thanks for completely misrepresenting the argument. It's no wonder people show concern when dealing with the OSS folks.
It amazes me more that there are morons out there trying to pressure others to allow the closing of code in a free software environment.
It also amazes me at how people can't read and understand a post. I mentioned nothing about closing the entire end product. All I said is that "Not every project needs to have the entire application "open"." I completely support open source projects and would even like to encourage my company to release more of it's code to open source (that's a difficult challenge but at least parts of management are talking about it now). Certainly the various licenses have different requirements and from a corporate stand point, these must be followed carefully. I would never take anyone elses code and close it or claim it to be mine. It would be a violation of most licenses out there and it would violate both my ethics and that of the company I work for. The open source community has produced some truly amazing code but in a corporate world, we can't always open everything up and that limits what can and can't be done with various applications.
With a closed-source app, you tyically can't even *look* at the code.
Surely with a "closed-source" app you can't look at the code by definition? On the other hand there is lots of proprietary (non-free) code around to look at. Proprietary Source code gets licensed all the time, including for modification and redistribution.
Look at (for one example) the open-sourcing projects at Sun for Solaris and now Java - major headaches (plenty of press on the fact) with "third-party code" that they didn't have / couldn't-get the rights to re-licence as open source. So, it wasn't Sun's code, and it wasn't free/open-source, but nevertheless Sun were reusing it and redistributing it. Legally.
It can happen, it does happen, and in fact IME it is typical within the software industry.
With a GPL app, you can *always* look at the code, and you can *always* reuse the code.
Wrong. You can *only* reuse the code in with other GPL code. If the other code isn't GPL, then it you have to be able to put it under GPL. If you can't do that, then you *can't* reuse the GPL code - period. Furthermore, if you are going to do a clean re-implementation... then you can't even *look* at the GPL code.
Note that it might not be proprietary code you want to mix it with - GPL is incompatible with plenty of free / open-source licences. If you work on Apache (or Mozilla, or LaTeX, or *BSD, or...) you can *not* reuse GPL code - even though you (and the licences of those projects) are perfectly willing to "allow your users the same freedom".
Bottom line: re-using third-party code is a legal PITA (often to the extent that it's easier to re-write than re-use) because of licencing issues, and that is true *regardless* of whether your code or the other code is open-source or proprietary. GPL code is not better (in general) than other code in this regard - in fact it is arguably worse as it is incompatible with so many other licences.
miss sarcasm much
Apparently so... [pours more coffee]
"Companies pay me to make software for them, and so I am happy. I do not necessarily want to make something as a free service to the community - that is not what I do."
Then don't do it. Nobody put a gun to your head and said, "The two neurons get it if you don't use this code!" Nothing is preventing you from licensing code you write any way you want as the Microsofts of the world have shown.
B.
This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
Yes, you can. If you have copyright over that code, you can reuse it in your own proprietary projects even after you have released it as GPL. It's only other people's code you cannot appropriate.
"I've got more toys than Teruhisa Kitahara."
That interpretation disregards the "work for hire" principle of copyright. If you hire someone to modify GPL code on your system, it is the same as you sitting down and modifying it yourself. You are only bound by the GPL IF you redistribute those changes. If you keep them in-house, there is no GPL requirement to share. To me though, there is a moral and a practical reason to share GPL code changes upstream. First, the moral issue of you getting the code to modify in the first place and second, to keep from having to modify the same code later when a new revision to the code is released.
B.
This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
With public domain, you are giving people the right to do as they choose with it. They could chose to extend and turn your software into a proprietary package.
Thus, public domain ensures complete freedom _as_distributors_, but only to the people that get it straight from you.
(Freedom _as_users_ is not restricted in any case, because copyright doesn't apply to users, so licenses do not apply. EULAs try to restrict that kind of thing, but we are not discussing them, only distribution licenses).
You can think of public domain as a great way to ensure the freedom of the first step of distribution. It can't get better than that, for them.
GPL, on the other hand, restricts the freedom of the first distributor, who gets the software straight from you, with the intent of preserving the freedom of further distributors.
You can think of the GPL as a restriction on first-step distribution that ensures no furthr restrictions in the whole distribution/improvement/redistribution tree.
Public domain _is_ good, but it's too naive, trusting too much on distributors to not restrict others. Copyleft licenses, like GPL, are built with the intent to counter the harmful effects of copyright. Public domain is not good enough for that.
Public domain is great for the guy that gets the stuff straight from you.
Further distributions could restrict that freedom, though.
For the end user that never distributes anything, licenses have no point, because they only apply to distributors. After all, cop
When you release GPLed stuff, you take freedom away from distributors, and give it to the users.
When people receive GPLed software, they can become distrbutors too, lacking
Sorry, the last two paragraphs were not supposed to be part of my post. I fsckd up the post.
"Why not just release the code into the public domain?"
That's the ultimate freedom and what copyright's main aim is much the the dislike of copyright holders. If it wasn't for the public domain, there would be no need for copyright. Again, much to the dislike of copyright holders.
B.
This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
The only time you get to choose the license is when you are the one developer writing the software that will be under that license. If you license the software under the GPL YOU aren't bound to the terms, you hold the copyright and can use the code however you want. It is only those who would like to use your software under those terms who are bound to the GPL.
There is nothing preventing the original author from using code he GPL'd in a closed source program. It is his code to release under as many different licenses as he pleases or even under bare copyright without any license. If you are a secondary author the GPL has terms, it grants freedoms and removes none. Without the GPL you have NO right to use the code and NO right to redistribute at all. The GPL sets forth conditions under which you may do those things. If the terms are inappropriate you can still contact the program author and ask him to utilize his authority to license under different terms.
"It is like a chef having to give up his secret recipe just because he used GPL Spices."
It's like having a chef give up his secret sauce recipe because he really only modifed a GPL sauce recipe. If the Chef wants to come up with his own recipe from scratch he can keep it secret all he wants. If the chef only wants to prepare the sauce for use at home he can keep the recipe secret, but if he wants to start selling that sauce he can't have a secret recipe simply because he adds pepper to a GPL recipe.
Lets face it, the only time the terms of the GPL are bad for someone is when the someone is a commercial developer wants to be paid for development work done by others without giving anything back in turn. If you are commercial developer you can write your own jpg library, pay someone to write you a jpg library, pay the author of a GPL'd jpg library to license to you under different terms, or you can comply with the GPL and contribute something back. There is no free lunch development is work, GPL author development is just as valuable as commercial development and must be paid for, either in cash or code. GPL authors are not slaves who are content to essentially work as your employees without pay while developing code you need.
"Seriously, if you don't want to GPL your application, just don't use any GPL code in it. Why is that so hard?"
It's not hard but it has no effect on whether the license is viral or not. In fact, it's an acknowledgement.
"You're not going to lose the rights to your software if you invoke GPL code with it."
Not so. If that were the case, a programmer could work around the GPL buy cleverly building his application. The FSF argues, and I can't agree, that the mere inclusion of GPL'ed header files constitutes a derivative work. How are you going to call GPL'ed code without using headers to define the interfaces?
"You're correct. What's your point?"
I believe his point is that the GPL is viral, which it is.
"It's been said already in this discussion, but it bears repetition: If you don't want to release your code under the GPL, then don't."
Yes, it's been said a million times but it doesn't change the fact that the GPL is viral.
"Again, nobody's forcing you to use GPL'd code!"
No, but if you do they are forcing you to release under the GPL. That's the viral part.
Why do advocates get nasty when a spade is called a spade? The viral nature of the GPL is precisely what differentiates it from other open source licenses.
How is this different from a commercial closed-source proprietry license?
Replace Open Office in the example with Microsoft Office?. How do you think Microsoft would react? Would you concider that case to be theft/breach of copyright?
I am glad to see that you have that ethic....
Don't you see though, that the GPL makes your job of convincing the PHB to release the code easier? The whole idea behind using the GPL *IS* to make it harder to bypass setting code free. When you encourage your superiors to use less than free code, it is only prolonging that fight. As I said in my posts above, there are a multitude of licenses to choose from. Only the GPL will guarantee that I get my particular itch scratched (namely that I learn new ways of coding). If you don't want to scratch that itch then don't use that code in stuff you are distributing.
B.
This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
Not true. If you use a line of code released under any other open source license (or in the public domain) you don't have the same issues.
Once again, the response doesn't refute the fact that the GPL is viral.
That may be a good analogy if the claim was that cookies were fattening and cookie advocates responded with "They're not fattening unless you eat them".
"If you don't want to license your code under the GPL, all you have to do is write your own damn code."
Yet another admission that the GPL is viral.
"If the GPL is viral, then commercial software development is a bloated cancer..."
If you say so. The GPL is viral though.
"GPL software is not viral, it simply exposes the sham of modern commercial software development. You are essentially claiming that the ability to find GPL software and integrate it into commercial projects harms you..."
No he didn't. He simply said that the result would be that the project would have to be GPL'ed.
"By not making your software GPL you are harming your customers by not using the best tools for the job and allowing them the freedom to change and modify the software they buy."
You're entitled to that opinion but there's no way you can defend it. Releasing under the GPL doesn't automatically make software "the best tools for the job" and the ability to modify software is often of no use whatsoever. On the other hand, there are many cases where the GPL restricts contributors from releasing their software at all.
"Not only that, but the existance of GPL software proves that most commercial software development and purchases are a waste of money."
Another absurd statement. Quite a bit of GPL software is, itself, commercially developed. Who do you think foots the bill for many of the most successful OSS projects?
"...the idea that software is simply a mathematical expression, easily derivable given the proper tools..."
You aren't a programmer obviously.
I'm not a GPL advocate. I don't care if you use the GPL or not. I don't, because I can't code my way out of something that's easy to code one's way out of. However, "viral" implies some sort of surreptitious "GPL will come upon you unawares in the night, and it will GET YOU!" notion that is simply ridiculous. By the same token, sentences for breaking the law are viral, because they happen to you if you break the law. That's silly.
Why yes, I AM a rocket scientist!
Right, because if it weren't for the GPL, nobody would ever be held responsible for the misdeeds of their subordinates. Golly, the evil just keeps on coming!
Why yes, I AM a rocket scientist!
By virtue of the fact that you can avoid it, it doesn't sneak up on you from a toilet seat or a dirty neede or a crack ho or a poorly sanitized telephone, you've demonstrated that it's not viral.
As I've said before....all you have to do to avoid getting the Cookie Virus is not eat cookies.
Why yes, I AM a rocket scientist!
But you can't redistribute the ActiveX/COM controls - unlike the grandparent's statement that the microsoft libraries can be redistributed suggests.
--jeffk++
ipv6 is my vpn
no, I tried to word that carefully. GPL has absolutly nothing to do with having to provide sourcecode in the case of a work for hire. Their is no exclusion either that I see, either the derivitive work falls under ALL the GPL requirements or it doesn't at all. If I produce a derivitive work for my employer, and I let all my co-workers use it, or even if my employer hires a 100 testers to test the binary, I am under no obligation to provide any source code to them, or anyone else, unless asked to by someone with that authority from the I.P. rights holder.
Now, if I provide that binary to someone outside the umbrella of my company, and it is not then realeased under a GPL compatible license, then that is a violation. Even then it is only a GPL violation if I released it with the proper authority (since the IP is not mine to release) it would more likely be a copyright violation by me, against my employer.
Wrong. That is only the extremists who thinks that. (And the really extreme is trying to enforce it. Lucky for us, they don't use bombs.)
There are may kind of software that works best when it is not FOSS. Some software simply won't exist as such.
Personally I'm totally into FOSS. At home I use as much of my software as possible is FOSS, except if there is some non-FOSS that is better (all things considered, and from my point of view) .
But I spend my whole day (dayjob) creating non-FOSS software. It's not even costless. And I can't imagine it work in any other way.
By the way, we have the same FOSS policy at work as I have at home, except most departments doesn't value the freedom-part quite as high as I do. But we do have a long list of FOSS software that is approved for use, and I guess an occasional bug-report or even a patch is returned, but most of our changes in the FOSS is just for adapting it to our systems.
Can you really? Can you distribute those bits of MS Office to your Linux-using friends?
Things are no different in the proprietary world. You either play by the proprietary vendors rules or you don't get to play. The proprietary rules usually include paying a license fee, signing an NDA and other possibilities like maybe not being able to modify the code or even being able to see the code (you only get a lib or something).
You seem to be saying you should be able to license Open Source code for proprietary purposes. Some Open Source projects let you do that (MySQL), however most do not for a reason. It goes against what Free Software is all about. You wouldn't expect to be able to license closed proprietary code and then release the source, so why would you expect to be able to license Open/Free code and then close the source?
General, you are listening to a machine! Do the world a favor and don't act like one.
If you want unrestricted freedom you want public domain, not just free. There are some great public domain software, but I can only remember one project right now.
1. Is the software licencing scheme valid against the law? shouldn't licencing be part of a state law so as that a court can support licencing? can I just use GPLd software without honouring its licence since there is no law that says I should honour each licence?
2. What if I apply a source code copy, reformat and rename utility over the GPLd software? in this case, I copy the GPLd software, but there is no way to prove that it is not mine. There is no way to prove that two identical algorithms are not copies.
Actually, it's more likely fall below the threshold of what's considered copyrightable at all. Fair use, by comparison, is borrowing chunks that are recognisable parts of a larger copyrighted work (and copyrightable in their own right), with proper attribution.
I know, nitpicking...
Wrong. That is only the extremists who thinks that. (And the really extreme is trying to enforce it. Lucky for us, they don't use bombs.)
/not/ believe that all software should be Free would be a bit like saying "Yes, it's okay to have just a little slavery."- it doesn't make logical sense.
.
There are may kind of software that works best when it is not FOSS. Some software simply won't exist as such.
A person squarely in the Free Software camp sees the issue as a moral one, so to
Your use of the term FOSS indicates to me that you're probably not squarely in the Free Software camp.
Personally I'm totally into FOSS. At home I use as much of my software as possible is FOSS, except if there is some non-FOSS that is better (all things considered, and from my point of view)
Again, this is not a matter of just software, but about the work involved in creating it.
But I spend my whole day (dayjob) creating non-FOSS software. It's not even costless. And I can't imagine it work in any other way.
Well, if you're one of the majority of software developers that develops in-house software, nothing would change whatsoever. If you write software for distribution, likely very little would change, since you could still charge for support, which is mainly what companies are interested in.
By the way, we have the same FOSS policy at work as I have at home, except most departments doesn't value the freedom-part quite as high as I do. But we do have a long list of FOSS software that is approved for use, and I guess an occasional bug-report or even a patch is returned, but most of our changes in the FOSS is just for adapting it to our systems.
It's true that most management folk don't appreciate the issue of Freedom. Some are starting to. I think for the management-types, it's a matter of what they understand. A programmer understands code, we understand being able to fix and tune and customize. A buisnessperson understands companies and contracts. It's what they deal with all the time, and what they're comfortable dealing with. That doesn't mean they don't appreciate the freedom, they just don't know it yet.
I wasn't replying to the original parent, I was replying to the guy who was talking about wanting to ensure that a tool would be useful to others for a long while to come.
So no -- no semantics.
While I certainly don't say anything close to "Stallman" == "Stalin", what I mean is that people promoting the GPL advertise freedom and what you wind up with is encumberence. People promoting Communism say that if we all just join in together it will be fantastic -- well it's just not true -- that's not how freedom works.
As I said in my original post, I do support the GPL by contributing to GPL projects -- but as has been stated elsewhere in this
You call that freedom? If it's freedom, and I'm supposedly free under it, then I don't feel very free there. I feel constricted and hassled. I feel baited-and-switched.
However, if it is as you say, a contract that I willingly enter as part of a worldwide protest against copyright law -- then fine. Please call it that, and I'll use it as such. But please don't try to sell it to me as some sort of utopian freedom, or bait me into it with shiny libraries that I "can have full use of if only I sell all of my source code to the GPL". Call it what it is, but it's not complete freedom.
Does that explain my frustrations a little better? Am I still being unreasonable? I like the GPL, I use the GPL, but I'm frustrated and annoyed with how people sell it as freedom when it is not.
The effects of the GPL though are not going to influence the decision makers at my company though. The customers drive policies, not so much the software developers. Certain licenses, like the GPL, though do prohibit integration because of conflicting requirement, namely the license requiring integrated code to be open sourced and the company/customer requirement that code is protected (and this part only applies to code we generate that is unique and not an enhancement to the free open source included software). What really ends up happening is that we have to walk a fine line to avoid certain applications if inclusion would violate a license agreement. IANAL so please forgive if I state this next part incorrectly. I believe that as long as we use the public APIs of a particular project we're pretty much clear to use the code without risk of disclosing the customers code. Where I think we run into a problem is when we have to "wrap" GPL code to allow for inclusion into the solution. I believe the "wrapper" code is subject to opening in this case. Now I certainly wouldn't have any problems doing so but that's where company policy comes into play. The latter case here is where the companies legal department often directs us to find alternate solutions.
So there you go, commercial software is just as viral as the GPL.
In other words, GPLed software is no more free than closed source software. I thought the point was to offer freedom and openness. That doesn't sound very open or free at all.
Note that I don't have a problem with the GPL; you can license however you want. Just don't try and claim that GPL code is somehow gives more freedom than closed source code.
how about ReiserFS, ghostscript, and our favorite lightning rod for flamefests MySQL? I was actually looking at namesys's and an average joe can even contribute code to the project as long as every submition contains an legal agreement which I assume allows them to dual license.
Apocalypse Cancelled, Sorry, No Ticket Refunds
Thats my choice. I *wrote* that program, that library, whatever. I do not *want* you to be able to take it, add 3 lines, relicense the "improved" program, and out-compete me with my own work.
If you don't like it. Tough luck. Don't distribute my program then. Your "rigth to make a living" argument applies both ways.
It undermines my chances of making a living from MY code if I have to compete with your "improved" version, and you have the advantage that you get all my sourcecode, while I don't get your sourcecode.
And you can avoid the AIDS virus by not having sex or getting blood transfusions.
When people say the GPL is viral, they don't mean it "infects" you without your permission. They mean it takes over code that was previously not GPL, and spreads from code to code. Hence the name "viral", sharing properties of a virus, not exactly a virus. Do you object to the term "viral marketing" too?
"Do you object to the term "viral marketing" too?"
Yes.
Viruses self-propagate. This is an important distinction. To say that the GPL is viral is to imply that if you have a GPL program on your computer, and a non-GPL program on your computer, and you use them both, the non-GPL program will become a GPL program. That is simply not the case. This is obviously the impression that Microsoft wishes people to have of the GPL, but it is not true.
I don't care if you use the GPL or not. I just think this "GPL is viral" notion is silly. (There's a worthwhile discussion to be had over whether memes are viral or not. I happen to think that since they require a conscious effort on the part of a thinker to propagate, they are not.)
Why yes, I AM a rocket scientist!
When I first learned of the GPL in the early 90s, my first thought was "hey, that's like a virus". I'm sure other people had that thought too. The article claims Microsoft started this term back in a 2001 speech. However, you can see the term "viral" being applied to GPL much earlier, by looking at newsgroup archives.
Here's an article from 1993:
"I'm sure many companies would use GCC, etc. if the GPL wasn't so viral."
The GPL is like a virus, but doesn't share all properties of a virus. When introduced, the GPL was indeed a radical, new concept, and yes, designed to be viral in nature in that it spreads by making more and more code GPL. The use of viral does not mean "bad" or "without choice", though many do find it's viral nature unacceptable. The term "viral marketing" conveys the same idea -- that of spreading like a virus.
> The GPL is designed to prevent commercial exploitation, and it does this
l , where it is explained how this result is to be achieved through the use of the GPL.
> by forcing companies who use it to publish their modifications.
This is not a misconception, it is in the license. If you use GPLed code in your project, you have to GPL the result. Everybody knows that. In fact, this is exactly what GPL is for.
> The objective of the GPL is to prevent the commercial sale of software
> in order to produce a gift economy in software development.
See http://www.fsf.org/licensing/essays/pragmatic.htm
> Microsoft makes money by selling software.
> Making money by selling software is wrong.
> Microsoft is wrong.
> You can't sell GPL software.
> GPL software is better than Microsoft software.
This is simply an incorrect argument. The correct conclusion is "using GPL software is right", which follows from the second premise. If you disagree that making money from selling software is wrong, as most people do, you will not agree with the conclusion.
> You shouldn't use GPL software unless you contribute to the community in some way.
This is not a misconception. It is what the FSF really wants, as stated in the above "Pragmatic Idealism" essay. The key word here is "shouldn't". They will not prevent you, because they can not, but they will apply all the pressure available to them (mainly social pressure from the community) to ensure that you do indeed contribute. It would a misconception to state that you "can't" use GPL software unless you contribute, but it is perfectly correct to say that the above statement expresses the FSF's intentions.
> Any employee who discovers their employer has modified GPL software and hasn't published those changes should deliberately leak them.
Nobody has this misconception.
> Hacking into websites based on GPL CMSes in order to obtain their unpublished mods is intrinsically ethical.
This is not a misconception. Just because you don't publish your modifications, doesn't mean they aren't covered by the GPL.
"If library developers want to make their library *the* library for that particular function, why not use LGPL or better, the GPL with header/linking exception? I can and have used these libraries and can and have contributed back; but the same cannot be said about GPL'd libraries."
I happen to agree with you. Although I think there are exceptions. If a library or set of libraries is vast and complex enough that a complete application could merely be a wrapper around the functionality in the library then the GPL should apply. Or at least the license needs to make clear that if the library provides core functionality to your application then the GPL applies. I am not sure the LGPL does.
In any case. An author's choice between the GPL and LGPL are not flaws in the GPL. They are disagreements over licensing terms. Choosing a license that does not require those who benefit from the code to give back as much is an option for a developer but some prefer not to take that option. Just as Adobe chooses not to put a price on their product that is this side of reason, despite the fact that it would increase sales.
Take
I'm in contention with the community's code of conduct, not whether it should be obeyed or not.
Never said I liked what they do either.
Developers can do what they want with their code. That's their choice.
I just think it would be nice to positively encourage them to give others that wish to use it more choice in how they do so.
That is all.
"viral" means "like a virus", not exactly a virus.
That's a naive interpretation, and one that I personally have not encountered. I think "viral" captures very well the mechanics and intent of the GPL. Ok, you don't like the word usage, and I understand your reasons. However, I, and many others, are perfectly happy with it.
And getting back to the original poster's point, the article definitely tried to deflect the real, virus-like qualities of the GPL. It's ok to mention how it isn't like a virus, but at the same time the author should mention how it is.
But if I were to take a program the size of OpenOffice and use a couple interesting chunks of code, I'm technically in the same situation.
So rewrite the interesting chunks; it's the implementation that's copyrighted, not the ideas. I'd think it would be necessary to recode most such chunks just to fit your structure/compiler/language/supported OSes, anyway. If you can code that big app, you can recode a few interesting ideas. And seriously, how often is a small chunk of code (and not the ideas in it) all that interesting?
Ooh, a sarcasm detector. Oh, that's a real useful invention.
Selling support wasn't enough for Red Hat, so they basically ignored the GPL and created an "Enterprise" Linux that couldn't be freely copied because of trademark poisoning.
The company I used to work for switched from JBuilder to Eclipse, because Eclipse was free (price). They were also in the process of moving from Weblogic to JBoss. They would do the same for their database software, but the open source versions didn't match their needs. That'll probably change.
I wasn't arguing the good or bad of anything. Just defending the assertion of a 'viral' nature of the GPL.
If you say so. The GPL is viral though.
Stated with the absolute assurity of one providing no proof. Bravo.
You're entitled to that opinion but there's no way you can defend it. Releasing under the GPL doesn't automatically make software "the best tools for the job" and the ability to modify software is often of no use whatsoever. On the other hand, there are many cases where the GPL restricts contributors from releasing their software at all.
Obviously if someone wants to use GPL software it's because it is the best choice for one reason or another.
If the ability to modify software is of no use whatsoever, then what's the point of not releasing it under the GPL? If there's no need to modify software, then that means the GPL can't possibly harm it because no one will take advantage of the extra rights the GPL grants.
The GPL cannot restrict developers from releasing their software unless they are already entangled in some legal issues regarding the software they've written and merged with GPL software. In most cases they would be unable to release the code as BSD or public domain either.
Another absurd statement. Quite a bit of GPL software is, itself, commercially developed. Who do you think foots the bill for many of the most successful OSS projects?
Free software is paid for by other free software, period. There are several traditional businesses that write open source and free software, but it is impossible to separate the service related and software related income. When someone buys a support contract from Red Hat, the money pays for traditional IT services as well as some amortized software development costs. However, you could also ask how Red Hat pays for the GPL software they use. The answer is simply that they contribute back to the base of GPL software. Red Hat would not make money without GPL code, and they would not survive without making improvements to the GPL software that benefit everyone but also give them an advantage because they are the most knowledgable about it and can support it easier. I realize they also have purely commercial closed source software as well, but that is mimimal compared to the GPL codebase. The fact that Fedora Core can do everything Red Hat can is proof of this. Red Hat essentially makes money *and* creates GPL software by selling service contracts. There are plenty of other ways to get GPL software developed, like code bounties or just directly hiring programmers to write what you need.
You aren't a programmer obviously.
Are you? Can you formalize a turing machine using set theory? If so, you should know why programming is equivalent to mathematics, or rather a branch of finite set theory. There is nothing that programmers can know or do that cannot equally be done purely with mathematics. My point was not that computer science was easy, since mathematics is not easy, my point was that almost everything in computer science today is easily derivable from the knowledge that we already have. Do you know how to write compilers? Well, you don't have to because 50 years of research have built very good compilers. Is the compiler you use more complex than most of the projects you will ever write in your lifetime? Probably. Combining the compiler, operating system, standard libraries, and general computer science knowledge that is in the public domain vastly outweighs anything even a large team of programmers can generate in a lifetime. I believe that AI will surpass human intelligence within the next 50 years, and that simply will result in mathematics understanding itself. That will effectively be the end to the myth of godly programmers, which only exists due to the limitation of our human minds and the complexity of modern mathematics and computer science. I have no hubris as a programmer, I realize that I am just exploring a landscape of turing machines or lambda expressions that to an AI will simply be called home.
A question that still nags me though is that since I looked briefly at the code to understand what it did and then rewrote it; does my code count as a derivate of the original GPL code?
No, of course not. Although clean-room reverse engineering is the only way to be absolutely sure that a judge will take your side versus a lawsuit-happy copyright holder (e.g. Compaq versus IBM circa 1982), writing your own code after seeing someone else's doesn't inherently contaminate what you've written, legally, though it does leave your code's originality open to questioning. However, if it's a short enough piece of code that you could actually remember the whole thing and recognize it, odds are that any similarities in structure unavoidably fall out of the algorithm and aren't evidence of derivation.
Range Voting: preference intensity matters
In other words, GPLed software is no more free than closed source software. I thought the point was to offer freedom and openness. That doesn't sound very open or free at all.
If you don't mind equating freedom with slavery, then sure. My comparison between GPL and closed source software was purely in terms of how they both propogate themselves. Closed source design leads to more and more closed source, but free software design leads to more and more free software. If one did not grow, it would stagnate and die and the other would fill its place. Perhaps you are mistaking the Freedom to use and modify software with the freedom to enslave others by restricting their use of software. In a free society, no one has the freedom to own slaves. In a free software environment, no one has the right to restrict other's use of software.
It is fundamentally a different model from either capitalism or socialism, because both assume limited resources and a means to fairly distribute them. Software, and knowledge in general, is fundamentally different. Material resourses, at the lowest level matter and energy, are fundamentally limited to at best a constant (so far as we know). Material resources must be divided between entities in some way. On the other hand, information is limited only by the material available to encode it. There is an infinite supply of information, and it is virtually free to replicate and create. While material resorces must be divided up for the greatest good, information must be muliplied out for the greatest good. Everyone should have the best information available, since that translates into the highest possibly efficiency for use of material resources, effectively maximizing the material resources available.
Just don't try and claim that GPL code is somehow gives more freedom than closed source code.
If you don't agree, too bad. In my opinion, you're outnumbered by those who realize that sharing knowledge openly will maximize the good in our universe. Don't worry, the free sharing of information won't restrict your ability to discover and invent things, so unless you have a vested interest in controlling others for your own benefit, nothing will change to your disadvantage.
I never expected it to take so long to have court rulings. We're still relying on people's opinion of what it means.
Controlling complexity is the essence of computer programming. -Brian Kernigan
Selling support wasn't enough for Red Hat, so they basically ignored the GPL and created an "Enterprise" Linux that couldn't be freely copied because of trademark poisoning.
That simply isn't true though...
The GPL prevents that. CentOS and other exist, which are essentially Red Hat.
If the GPL prevents it then the copryright holders are not enforcing it.
Since when do you have to modify GPL software to remove trademarks to redistribute it?
I confirm that the above comment was by Harald Welte, just in case someone raises a doubt. :)
You can confirm my bonafides via Harald's blog entry here.
You aren't remembered for doing what is expected of you
Since when do you have to modify GPL software to remove trademarks to redistribute it?
This is a tricky issue, when you think about it.
Let's put Red Hat aside and think of someone else. Let's say that I wrote a program and I GPLed it. People use it, and like it, and I keep releasing it. Then I make a trademark, "Blue Advark Software". If you see the blue advark, you know it's me, and you know it's the software I made.
If the software is GPLed, then anyone can go and redistribute the software, but if they also copy my trademark, then two things happen. The first thing is that people can become confused about which releases are mine, and which are modifications. That's an important distrinction sometimes.
The second is that if I'm not shown to be enforcing my trademark, it can be taken away from me.
It's understandable that Red Hat would be hawkish about it's trademark.
So it's legally compatible with GPL, but the other side of your question seemed to be "Is it in the spirit of the GPL?"
The answer to that is mostly yes.
To understand this, you want to go back to why the GPL exists. The GPL exists in order to help spread Free Software, which is a form of knowledge. The right to redistribute doesn't necessarily include the right to redistribute the trademark.
Red Hat isn't the only one concerned about this, and I believe that trademark issues are being dealt with as an optional restriction in the GPL3 drafts.
I hope that clarifies things for you.
If you don't mind equating freedom with slavery, then sure.
Nice try, but that's not how its working. If you want to make use of GPL code, you are then restricted to GPLing your software. Please explain how that's a choice for the developer.
In a free society, no one has the freedom to own slaves. In a free software environment, no one has the right to restrict other's use of software.
Actually I'd think in a totally free society you COULD sell yourself into slavery if you choose to do so. In your free software environment though you're taking away developers freedom if they choose to use GPL code. The result is that some developers end up re-inventing the wheel.
It is fundamentally a different model from either capitalism or socialism, because both assume limited resources and a means to fairly distribute them. Software, and knowledge in general, is fundamentally different. Material resourses, at the lowest level matter and energy, are fundamentally limited to at best a constant (so far as we know). Material resources must be divided between entities in some way. On the other hand, information is limited only by the material available to encode it. There is an infinite supply of information, and it is virtually free to replicate and create. While material resorces must be divided up for the greatest good, information must be muliplied out for the greatest good. Everyone should have the best information available, since that translates into the highest possibly efficiency for use of material resources, effectively maximizing the material resources available.
The code itself can be copied infinitely, sure. Does that mean the time I spent in creating it is worthless? I do all the work, I put in the effort and investment, and you come along and say 'thanks, well take that!' and walk off. Wow, do I feel appreciated. Next time instead of writing code to the benefit of everyone, I guess I'll go build houses for a living..
If you don't agree, too bad. In my opinion, you're outnumbered by those who realize that sharing knowledge openly will maximize the good in our universe. Don't worry, the free sharing of information won't restrict your ability to discover and invent things, so unless you have a vested interest in controlling others for your own benefit, nothing will change to your disadvantage.
No, I think you're clearly in the minority. Sharing knowledge is helpful yes, but at the end of the day people need motivation to invest the time and effort required to create great software. How can I spend time creating something good if I'm worried about paying for my house? The answer is that I likely won't.
Oh, and if you think I'm making this up, you need to open your eyes. A very select few open source projects are successful; most end in failure though. THAT's the reality of the "community" you wish to build. People that no longer want to create software.
"The effects of the GPL though are not going to influence the decision makers at my company though."
No it doesn't by itself but money talks volumes. The cost associated with developing and maintaining that wrapper should be billed accordingly with the statements attached to the billing to the effect of; "This cost associated with legal wrappers to GPLed code." The alternatives are:
1.) GPL the customers code with their permission. This is the cheapest route since GPL+GPL==GPL. This is also the most productive since enhancements to the code can be done by anyone with the code and they ultimately will benefit from that.
2.) Use a "lesser open source" license. A little open beats closed. You will still have higher costs when dealing with GPL using this method but it is better than the hastle dealing with fully closed would be.
3.) The method you discussed of wrapping it and all. This should be a fairly expensive way when dealing with non-GPLed code in a GPL environment.
4.) Do everything closed and clean. Don't use GPLed code. Develop it independantly. This should be the most expensive of any of the above options.
The whole point of using GPLed code (or any "open source" code for that matter) in a commercial environment is to reduce the costs associated from doing it from scratch. That should also be reflected in your billing. The more "open" it goes, the cheaper it is, with the GPL being the cheapest. That is how you get the customer's attention.
For your PHB, simply not having to constantly pay you for doing the wrapper routine as well as not having to pay legal for their opinion should be enticement enough.
B.
This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
The GPL requires "modified files to carry prominent notices stating that you changed the files and the date of any change."
What Red Hat did was more than just protecting against modifications. It used to be that you could get a byte-for-byte exact copy of a Red Hat CD for a buck. Red Hat put a stop to that. They also put additional restrictions on their "Enterprise" Linux. Customers were no longer allowed to install it on as many machines as they wanted. They were not allowed to copy the CD freely.
There's no trademark issue if all you want to do is make an exact copy of the software, because the product is not being misrepresented. If you prevent exact copies because of trademark, then that's a serious impediment to Free Software.
The allowed, additional restrictions are:
What is "reasonable"? Entangling your trademark in a 100 different places which must be changed is a good way to discourage modifications. Not defining "reasonable" is just asking for trouble.
And I can't tell if that last restriction means that you can't advertise "Red Hat" CDs, which again, kills free copying.
What Red Hat did was more than just protecting against modifications. It used to be that you could get a byte-for-byte exact copy of a Red Hat CD for a buck. Red Hat put a stop to that. They also put additional restrictions on their "Enterprise" Linux. Customers were no longer allowed to install it on as many machines as they wanted. They were not allowed to copy the CD freely.
:)
The first and second issue you presented are not the same, nor enforced by the same mechanism.
Selling Red Hat CDs was a trademark issue, and actually made sense for them. This was a trademark issue, pure and simple.
The issue of customer's ability to freelly install it is another one altogether. They are 100% able to install any and all Free Software wherever they like. What they can't do is use any of that software with any Red Hat service.
There's no trademark issue if all you want to do is make an exact copy of the software, because the product is not being misrepresented.
Sure there is. I can't repackage someone else's work and sell it under their brand.
What is "reasonable"? Entangling your trademark in a 100 different places which must be changed is a good way to discourage modifications. Not defining "reasonable" is just asking for trouble.
This is from a draft, not a finalized license.
Anyway this conversaiton's run its course. It was fun though
There's no "repackaging" involved. It is a byte-for-byte copy of Red Hat's CD. The redistributor then advertises that he is selling a copy of that CD. It could be labeled as "Cheap Bytes reproduction of Red Hat version x.x". Thus there's no confusion. By allowing Red Hat to block copying via trademarks, one of the fundamental tenents of Free Software is gone.
What Red Hat did was to create an "enterprise" version of Linux. Corporations aren't buying a Red Hat service, they are buying an OS. Red Hat took Linux and bundled and wrapped it up with their own software. By placing non-GPL restrictions on what can be done with that OS, they effectively hijacked Linux, which is exactly what the GPL was supposed to prevent. My company had actually looked into using one of the "rebranded " OS's like CentOS, but ran into trouble. I don't remember the details, but they ended up buying Red Hat, and it wasn't for the service.
Thanks for giving me the last word :)
Nice try, but that's not how its working. If you want to make use of GPL code, you are then restricted to GPLing your software. Please explain how that's a choice for the developer.
First, you are wrong that software developers must GPL their software. That's only if they distribute it. Second, developers *always* have a choice of what code to include in their own software. As I've repeatedly pointed out before, the choice for a software developer in releasing GPL code is that they are guaranteeing that any improvements to it will be available to them as well. It's a contract for the betterment of the code, for everyone, instead of just being advantageous to one group or individual.
Actually I'd think in a totally free society you COULD sell yourself into slavery if you choose to do so. In your free software environment though you're taking away developers freedom if they choose to use GPL code. The result is that some developers end up re-inventing the wheel.
Again, our definition of freedom differs. To me, freedom is the assumption of human rights as a constant. Any other society is not free, merely convenient for those in power.
The code itself can be copied infinitely, sure. Does that mean the time I spent in creating it is worthless? I do all the work, I put in the effort and investment, and you come along and say 'thanks, well take that!' and walk off. Wow, do I feel appreciated. Next time instead of writing code to the benefit of everyone, I guess I'll go build houses for a living..
If you go build houses for a living, let me know how information flows in that business. I'll be surprised if you can find any example other than blueprints where information about housebuilding is hoarded and paid for like software. But in the end, isn't the information needed to build a house just software for people? The complexity of a modern house is at least as complex as some major programming projects when fire, water, plumbing, electical, and engineering codes are all taken into consideration. In case you are wondering, I have personally built a house as well. All the people we worked with were happy to share experience and advice (e.g. information) as we paid them for the service of manual labor or even information processing (in the case of our structural engineer). Almost everyone in the real world realizes that sharing information is beneficial, and its only those in the artifically created "intellectual property" markets that think otherwise. In terms of me taking your software when it's finished, I'd like to know when you planned on compensating Knuth, Dijkstra, Turing, or any other big names of computer science? They have contributed far more than you or I probably ever will, and they did it almost entirely for their salaries at universities.
No, I think you're clearly in the minority. Sharing knowledge is helpful yes, but at the end of the day people need motivation to invest the time and effort required to create great software. How can I spend time creating something good if I'm worried about paying for my house? The answer is that I likely won't.
I write software because I like to, not because anyone pays me for it. In my job I do a mix of system administration and programming, but those are purely service activites for the company I work for. They don't necessarily care if I GPL my code or not, because it's specific to their business and most of what I write are either highly custom changes or generic utilities to make things faster. My reward for creating software on my own time is simply that it's what I like doing, so it gives me pleasure. Most open source programmers are the same way, the programming itself is both the ends and the means to pleasure in their lives. My entire point throughout this thread is that there are enough of these programmers that commercial software is mostly unnecessary. There will always have to be programmers paid to do unhappy jobs like maintaining old code bases or doing highly specific tasks,
Incorrect. You can develop and use GPL'ed code without incorporating GPL'ed code into works that you distribute under another license. That means you can run a secret Linux derivative on your own servers, sell a proprietary closed-source application that runs on Linux, and contribute enhancements to the Linux kernel, all without violating the GPL. IBM and Google participate, but they don't "subscribe to it 100%." Just ask them for a peek at their proprietary source code if you don't believe me.
"Of course. Don't fall into the trap like some people who try to convince people that "slashdotters" are hypocritical, because "slashdotters" support illegal copying of proprietary software, and "slashdotters" want people copying GPL'ed programs illegally to be sued. We are not talking about "Peter A. Slashdotters" here, but of several groups of people who care about different things"
true. But when you see many people making both claims (especially GNU zealouts), it really makes you wonder...
"IBM, Red Hat, Monta Vista, Google.com, and many other businesses make millions of USD, every year from GPL licensed software. Evil?"
No, but you would think more people in the community would be against this. They are basically making money off of the hard work of GNU programmers (with little given back to the community).
No, I'm not. Look at point four. This is all about the intention of the author. And all of his points are recommendations for the author's license, and his personal opinions; he is not stating facts of the law.
Nearly every development tool vendor explicitly denies ownership rights to the works resulting in the use of their tool. Go ahead, read the licenses. And strangely, no one has addressed the absurdity of your position when placed in the context of commercial software. Whatever rights you assert with regard to ignoring the GPL are unproven. People in the commercial sector have been sued for less and lost.
The difference between linking, subclassing, textual recomposition of source code, etc. is meaningless. If you looked at the code, you must abide by the license. If you run the code, you must abide by the license. The user/developer crack in the GPL is easily remedied by additional clauses, if that is the author's wishes. The viral nature can also be explicitly denied, as Rosen is recommending. After all, that is what the LGPL is for.
So is it different to use let's say Microsoft code? Do you think Microsoft doesn't mind if you steal their code as long as it just a little dab
I love how the GNU zealots keep going back to this. "Well you can't freely use Microsoft's code either!"
They don't seem to realize that this costs them their moral high ground very quickly
Actually, replace #1 with "You subscribe to the FSF's political agenda," and the res t of your text fits.
"Altruism" would use a more permissive license since, by definition, it's to help other people, not restrict them.
The GPL IS viral if you are comparing it to, say, the BSD-license
Or anything else.
That is a feature, not a bug.
"Clippy" is a feature too.
"Stated with the absolute assurity of one providing no proof. Bravo."
...nor knowledge or experience either. Perhaps after you've entered college, studied computer science, and worked in the field you might have a real perspective. Programming is real work and machines won't be doing it any time soon, of ever.
Right back at ya.
"Obviously if someone wants to use GPL software it's because it is the best choice for one reason or another."
Not so.
If the ability to modify software is of no use whatsoever, then what's the point of not releasing it under the GPL?"
Protection of the codebase from competitors.
"If there's no need to modify software, then that means the GPL can't possibly harm it because no one will take advantage of the extra rights the GPL grants."
You mean the extra restrictions the GPL places.
The GPL cannot restrict developers from releasing their software unless they are already entangled in some legal issues regarding the software they've written and merged with GPL software. In most cases they would be unable to release the code as BSD or public domain either."
Not true. It may simply be the case that they don't want to. In some cases code can be released as open source but not under the GPL.
"Free software is paid for by other free software, period."
You don't know what you're talking about. Even in the case of Red Hat, it's more complicated than that. Open source developers are paid by companies other than Red Hat. Ever heard of IBM, Intel, Sun, Novell, HP, Dell? All these companies fund open source projects directly and indirectly. Remember Transmeta? I guess Linus doesn't count as an open source developer in your eyes.
"There are plenty of other ways to get GPL software developed, like code bounties or just directly hiring programmers to write what you need."
Deep thinker, aren't you?
"Are you?"
Yes, with over 20 years of professional experience.
"Can you formalize a turing machine using set theory?"
What? I am a programmer, not a mathematician. Mathematicians rarely make good programmers. Have you seen Donald Knuth's actual code? I have.
"Do you know how to write compilers?"
Yes, and I have modified gcc and extended linkers to product loadable modules for embedded systems. You?
"...vastly outweighs anything even a large team of programmers can generate in a lifetime."
Provably untrue based on the fact that such systems have been produced from scratch in far less than my lifetime. Besides the stupidity of that statement, your point is...?
"I believe that AI will surpass human intelligence within the next 50 years, and that simply will result in mathematics understanding itself."
Don't know much about the unfulfilled promises of AI, do you? Dream on.
"...the myth of godly programmers..."
That is certainly no myth. There will always be gifted programmers and there will always be a need got them.
"I have no hubris as a programmer..."