Hence GPL like licenses that require distribution of source code, and that you grant redistribution rights to everyone you distribute it to are being explicitly prohibited. (And in fairness I can see why those licenses would cause problems for Microsoft as distributors)
On the other hand BSD like licenses that allow you to repackage and distribute without source and without passing rights forward are acceptable.
How is that even remotely a good analogy? Both of them are licenses that let you read the source, redistribute it, and modify it. They differ in what you have to do when you redistribute.
Because the GPL binds you to preserve the freedom of your users, too; BSD says "do what thou wilt". Both ways have their advantages.
How does that take away anyone's freedom? Don't like the terms of an author's library? Go write your own then.
I really hate this attitude. Isn't one of the advantages of the Internet bringing developers together to work on things? Can't we put our collective capabilities toward improving things instead of rewriting them from scratch simply because they're not our favorite license or favorite language? Gnote springs to mind.
Edit: Wow, three downvotes within 30 seconds for appealing to working together instead of segregating computing into those who agree with your license and those who do not. This comment wasn't even about the GPL, it was about the OP's demonstrated attitude (and, importantly, not about the OP himself). If you're voting me down, at least man up and disagree with me with prose. It's things like this that make me wonder why I spend so much time contributing to HN.
jedsmith: I really hate this attitude. Isn't the point of the Internet to bring developers together to work on things? Can't we put our collective capabilities toward improving things instead of rewriting them from scratch simply because they're not our favorite license or favorite language? Gnote springs to mind.
I really can't see what this has to do with cosgroveb's comment, which is saying that a GPL program is not taking anything at all away. When you quote "Don't like .. your own then.", I think you are taking it out of context. The whole paragraph reads:
cosgroveb: How does that take away anyone's freedom? Don't like the terms of an author's library? Go write your own then.
I take this to mean that if you can't use code under the GPL license, you are exactly in the same situation as if the code is unavailable, and you are not worse off. So the GPL code has taken nothing away.
> I think you are taking it out of context.
Edit: Oh, okay, on third read I see what you mean. I stand by my comment, though: sure, he says that the license doesn't take away your freedom, and implies that since you're free to rewrite your own, you are still free. How is that freedom to do what you will with the software? That's the rub. I'm free to change careers to taxidermist, too, but that's irrelevant to the issue at hand.
I am not going to debate RMSs ethical philosophy, I just want to point out that this is the freedom GPL gives you. If you use GPL software you will never be in the position where you can't share it with you neighbor. If some wants to use it in proprietary software they cannot, because if they did they would be unable to then share it with their neighbor. Thus, the GPL is consistent with RMSs ethical stance.
However, as you have pointed out definitions of free and freedom vary. For you GPL does not free but rather chains you up; virally spreading to other work you would like to keep private. Thus, you are prevented from using GPL software and feel less free.
Freedom is a tricky word.
So he isn't free to do what he wishes with the software.
Free is one of the most overloaded words in the English language, and I know that at least some of the Free Software movement agrees due to the prevalence of libre software (as if switching to French somehow makes it more correct).
You can't have half freedom -- there is no ambiguity. Either you are free to do what you will with what is given to you, or you are not. There is no free with restrictions; that's called a catch.
To be clear, too, what the FSF says and what those who subscribe to the belief say are often two different things, as evidenced in other places in this thread. What pains me the most is that any criticism of the GPL is automatically interpreted as trolling.
> So he isn't free to do what he wishes with the software.
This is a common misconception with the GPL: you are actually allowed to use it together with proprietary software, including using it "in" proprietary software, as long as you use it, yourself. You just cannot distribute the combined software.
As a result, the GPL improves your freedom as a user, but may encroach on your value-added-reseller freedoms. This is per design - the GPL allows the original author(s) of the software to limit the value that other people who do not own it can derive from selling it.
This is something that is considered perfectly normal with other software - no one would expect to be able to use Microsoft Windows, or Oracle's database, in his proprietary software in the sense of "bundling it without giving Microsoft, or Oracle, anything in return".
Since we live in the real world, where freedoms of different people may be mutually exclusive, ensuring the freedom of the user in all possible cases means to limit the freedom of the value-added-reseller in some of the possible cases. Complaining about this is a bit like saying that public libraries are limiting your freedom because you cannot sell the books you borrow from them.
You exist. You can make choices. You can act. In that sense, you are free, until you're dead. You can do whatever you want with software.
In a more practical sense, if you want to redistribute GPL-licensed software, you aren't free from the restriction of the software's license in a legal sense, because the license is your only legal means to redistribute the software.
When are you ever free to do what you wish with software? Answer, when it's your original work... and you don't violate software patents, even the ones you never heard of... and it's not export controlled or you're not exporting it... and its main purpose is not to induce copyright infringement (we are losing that one in the courts today, sad but true)... and you are not using the software to commit other crimes... AND SO ON.
Get real, there are all kinds of legal restrictions on your ability to "do what you wish" with software, even public domain software. Some of them even make sense.
It might be more accurate to call it "freed" software. The goal of the GPL is to uncage domesticated software and let it roam wild forever, never collared again. The people who distribute software in this fashion won't let you put it back in the zoo.
And again, FSF is not saying that users are free to do what they want. You are not free, according to them. They say that software is free, in the sense of the software freedoms. That sentence essentially would only parse to $0 before Stallman came along.
> There is no free with restrictions
In this case, the only option is to write it yourself, as even things put into the public domain can have a catch (Actually, I think their is a license that basically does with you'd think putting something into the pubic domain does, I just forget the name).
This is true of pretty much all licensed code, including BSD.
> This is true of pretty much all licensed code, including BSD.
Couldn't agree more.
Don't call it Free, and don't try to associate Free with the GPL at the expense of everything else (which seems to be the push). Libre too. Because if anything, the GPL is more restrictive than alternative licenses.
That's my gripe.
> the GPL is more restrictive than alternative licenses.
So, you don't like the GPL. That's fair. However, not everyone has the same goals as you.
Your main contention at the start, if I understood you correct, was that, we should be sharing and not repeating ourselves. I write something, publish it, share it, and you should be able to use it for your project without having to worry about licenses. And you see that as more free then with licenses that have arduous restrictions, like the GPL (Because, while the BSD does have restrictions, they are fairly easy to overcome). If I'm wrong with your overall view here, apologies.
Essentially, you want what people who use the GPL want: a community of sharing. You want it via choice, GPL users want it enforced. And that's where GPL users see the value in a license: they help push your agenda. So while BSD gives other people more freedom to do what they want with the code, it does nothing directly to push people toward that way of thinking.
My personal opinion is it's all fairly annoying. I just want to program. =)
This is, by definition, untrue: If something is in the public domain, it is without an owner. It is unowned. Anybody can do anything they want with it, including using it in proprietary software for money and passing it off as their own work. (Assuming nobody is enforcing a code that bans plagiarism, which is totally orthogonal to copyright.)
If there is a catch, then the work is not in the public domain at all. Being owned by someone but released under a liberal license does not put something into the public domain, as the work is still under copyright.
In short: Public domain vs. copyrighted is a binary distinction. 'Freedom' is a continuum on multiple axes.
That being said, what I said was, afaik, incorrect. If something is specially put into the public domain, it's there. The things I read about weren't explicitly put into the public domain by the copyright owner. They just fell out of copyright.
However, a lot of people don't think a community without rules is a healthy or safe one. Freedom of one person ends where freedom of another person starts. So we sacrifice some freedom by agreeing to comply with the law. Law limits people, sure, but few argue it shouldn't exist. Only parts of it are debated (the implementation).
I think sacrificing some software rights GPL-style is good in the long term ! "I want to have the code for myself" vs "Everyone should have the code". GPL is just the more altruistic license. Not all restrictions are pointless just like we probably all agree law is beneficial for society at large. We should spend more time thinking what are the results of GPL restrictions, not automatically wave it away "it's a restriction, therefore it's wrong".
* I would really like to know some examples of successful anarchistic communities. The bigger, the better. You can make anything work on small scale.
For a semi anarchist society on a large scale, check out Catalonia during the Spanish Civil War. This was anarchism in the original sense of the word though, and not in the recent US sense of the word (US liberterians/anarcho-capitalists seems to long for a return to something akin to feudalism rather than freedom in my opinion).
Essentially I agree with you that we are best served by putting our capabilities towards improvment and the goals of the GPL align directly with protecting that idea.
Not trying to say that I think "the point of the Internet" is news distribution; rather that claiming that there is a single "point" to something like the Internet is wholly non-sensical, to me. It just does not compute.
And if I write and publish some code, it should be up to me what license I want to use. If other people are jealous or think it's wasteful that they can't do as they please with something I created, that really isn't my problem.
Well, that is pretty much the purpose of GPL, isn't it. It sets up a co-operative rule: if you want to gain from GPL software, then you must give something back, and that is to let other people gain from your additions. It is better to co-operate, and GPL reifies that instinct into a legal form to give it a bit more strength.
That's more or less what happened at the start of WebKit. Apple got KHTML, changed a lot of its inhards and published the whole thing back when Safari was launched. A lot of KHTML developers complained Apple's code was very Mac-specific and a pain to integrate back into KHTML.
First, the GPL software. It's copyrighted, but you can use it in spite of that if you follow the rules of the GPL. If not, then you have to obey copyright law.
Second, proprietary software. This is copyrighted, and when you use it you usually have to agree to a contract and pay money for it. If you don't follow the contract, then it's copyrighted and you can't use it.
Third, you write the software yourself. Well, you wrote it. It's copyrighted, but since YOU own the copyright, you get to decide what you use it in! The best, most free deal of them all, right?
Basically if you don't like dealing with other people owning the copyrights, the ONLY option is to make it yourself.
The result is that nobody wants to risk tainting their work with GPL code if they're trying to make money. If it's GPL many people won't even look at it because who knows if someone who contributed a 2 line patch 10 years ago is going to come banging down your door with lawyers crying about violations. That's not what freedom is about.
If you want your code to have the widest use possible go for BSD/MIT licenses. If you want to promote RMS' agenda go for the GPL.
People have a sense of entitlement WRT open source code, I think. As if it's "open source," it should be under whatever terms they want not those of the original author. I think that's why so many people bitch about copyleft licenses.
I don't hate the GPL. I think it has its place. Less so in modern times than the early 80s, but it does have a place.
That certainly isn't why I "bitch," as you say, as I realize that the author can do whatever he wishes. I do, however, make it a point to listen to my users; if my users have a philosophical disagreement over my choice of license, I take that into account in decisions on what to license in the future.
That's the approach to software that I wish more developers would take: I have listened to your feedback, and I will take it into consideration. Your attitude, which is what I disagree so very strongly with, is that you didn't have to open-source the software at all, your users are lucky that you did, and you'll be damned if you'll consider feedback on your choice of licensing. It's "take it or leave it," which to the occasional user that wants to embed your code in something else, sucks a lot.
There's been other comments in this thread to the effect of that "isn't [your] problem". If you're not interested in helping consumers of your software use it, why did you release it at all? I realize (believe me) that there is a line that must be drawn when it comes to listening to your users, but responding with "tough, rewrite it" is really a bummer to hear.
Realistically, I think you're working against yourself with that take on your users.
I apologize if my comments seeemed to imply that I had a "it's not my problem" attitude. This debate has gotten rancorous enough as it is. We probably agree on more than we know here...
Any particular examples?
"If it's GPL many people won't even look at it because who knows if someone who contributed a 2 line patch 10 years ago is going to come banging down your door with lawyers crying about violations. That's not what freedom is about."
When has this ever happened?
The fact is the AGPLv3 is the most business-friendly Free Software/open source license available:
The Affero clause prevents your competitors from taking
your software and running an SaaS operation. BSD/MIT doesn't.
GPL prevents your competitors from outright stealing your work. BSD/MIT doesn't.
Version 3 of the GPL prevents your competitors from using your software on their hardware while preventing you from doing the same thing. BSD/MIT doesn't.
Don't forget that there's nothing stopping you from dual-licensing. Dual-licensing with the GPL is a proven business model. Dual-licensing with BSD/MIT doesn't make sense.
"Any particular examples?"
Me. I know I can't be the only one.
Your competitors could just download the source code, figure out what you wrote, and re-work it into their app. As long as it was different enough, there's not much you could do.
I'm not sure how this would really help you.
"he Affero clause prevents your competitors from taking your software and running an SaaS operation."
I thought open source was about freedom. It seems like it's an attempt to prevent people from making a profit and forcing a political movement. Freedom shouldn't have limits. If you are creating your work to force me to adhere to your ideals, it's not really freedom.
"GPL prevents your competitors from outright stealing your work. BSD/MIT doesn't."
Can code or ideas really be stolen? After all, the original is still there.
I'm not sure how this would really help you."
It prevents your competitors from forking a proprietary copy and building on top of it. Looking at the code and re-writing it is a substantial investment.
Anyway, the question of freedom between GPL and BSD is this: Does freedom include the ability to place restrictions on other people? The GPL tries to maximize freedom for everyone at the expense of freedom for each individual (the range of things you can do with GPL software is less than with BSD), while BSD allows the licensee almost total freedom to do what he wants, but doesn't guarantee that the freedom will be spread to others. It's kind of a quantity vs. quality thing.
If I write software and distribute it as open-source on the Internet, I'm not interested in (a) suing those who don't follow my license to the letter à la gpl-violations.org, and (b) requiring you to release the source code to your product simply because you use mine. For those reasons, I will never apply the GPL to any of the software that I start, period.
It is my not job, as a software developer, to impose my beliefs upon you. The religious fervor in the GPL debates springs an interesting comparison to mind: the GPL is similar to publishing a book about Christ, and requiring those who read it to adopt Christianity. Viral open-source and the majority of the "free software beliefs" are just that, beliefs; I respect everyone's right to believe differently, and I will not mandate a belief in my software.
Why is a negative opinion about the GPL automatically assumed by you to be trolling? It does have flaws, and the GP simply expressed his distaste of them (perhaps not in the best way).
Why is GPL so hard to understand? Plain and simple, GPL is an attack on closed source systems. And if you knew anything about computing history in the last 20 years you should be extremely grateful to RMS and what the license has accomplished.
Because I refuse to walk the party line on Free Software?
> bringing in religion, it's a dumb insult and I could turn around and call your arguments religious and it wouldn't have any meaning either.
How on earth is religion an insult? The proponents of Free Software believe very strongly in Free Software, and fight for it with zeal and fervor. The similarity to religious debates of history is very clear to me.
If anything, I elevated Free Software with the comparison by placing it in a category deserving of special treatment. Every right-thinking country on our planet has figured out that people are going to believe what they're going to believe, and government does not get to dictate what individuals can believe. So it is with the Free Software philosophy -- even if you don't agree with Stallman's philosophy (I only agree with some), you are entitled to believe in it because you have that freedom.
Your implication, which somewhat betrays your personal belief, is that there is a negative connotation that comes with the mere mention of religion, which I find equally offensive.
> Why is GPL so hard to understand? Plain and simple, GPL is an attack on closed source systems.
Maybe. Publishing your source in the public domain is also an attack on closed-source systems. The binary attitude of proponents of Free Software is something that I wince at every time I see it demonstrated.
> And if you knew anything about computing history in the last 20 years
You're right, my opinion obviously implies that I'm a moron. How dare I speak up about an opinion?
> you should be extremely grateful to RMS and what the license has accomplished.
I don't owe Free Software, or Richard Stallman, anything. Whatever advances have been made in computing, Free Software didn't wander into my life and make me who I am. It made computing what it is.
That being said, I am aware of what the GPL and the GNU Project itself was designed to do, and what it did. I firmly believe that without the GNU Project, we'd be in a much different place than we are today with computing. I have tremendous respect for Richard Stallman, and merely disagree with some of his tenets. I would hope that he respects my disagreement, and would be willing to try to convince me of his beliefs if given the opportunity (no, no comparison to religion there).
Just like you are allowed to believe in Free Software, so I am allowed to disagree with some of Stallman's beliefs, and I am allowed to choose not to use the GPL. My desire to not use the GPL is not an automatic admitting that I'm history-dumb and have no idea of its purpose, intent, or legacy.
"Hey, why can't I view and improve your source code? No fair!"
"Hey, why can't I improve, compile, and sell your program? No fair!"
disclaimer: I'm fairly license-neutral and think people should choose based on what's good for their project.
This keeps getting brought up because people say that the GPL is about "freedom" when the freedom it guarantees is rather explicitly freedom for the code itself at the expense of some of the users of the software. The BSD license does not take away these freedoms of the user - users can pass on the same code to other users with significantly more restriction, but the BSD License itself does not take away those freedoms.
It keeps coming up because its frustrating to hear people making emotional appeals to "freedom" instead of acknowledging the tradeoff for code freedom instead of human freedom they make. Its not that the choice itself is bad, its that not acknowledging it explicitly is disingenuous.
This thread has devolved into the same kind of thing, and to be honest, I'm surprised I'm still participating in it. Just watching the karma on my previous comments swing wildly back and forth has been enough of an amusement this morning.
I don't begrudge anybody their beliefs, but holy cow, give me the same respect.
There's free for whom/what:
- the developer's freedom
- the user's freedom
... and there are also multiple time-scales of "free" (much as there are multiple timescales of "wealthy"):
- free for me proximally (when I've already got the code)
- free for me in the more distant future (when I might not)
For users, the GPL ensures both free-now and free-later.
For developers, one could argue that the GPL makes the trade-off of reduced freedom now (freedom to do what you want with the code you've currently got) for more freedom later (freedom here to at least get the code and then do what you want with it).
The strong case-in-point here is when a developer modifies some code, and then releases it, and would like to have the freedom to later build on contributions by others.
Is the trade-off worth it? This is now something of an empirical question.
What they aren't, however, is 'free' by any rational or sane definition of the word. They impose restrictions -- and carry those restrictions downstream -- on the use of the software that increases the theoretical range of people who would do things with the software. But those restrictions in and of themselves do not increase "freedom" for anyone.
Like I said, there's good reasons to choose these sorts of licenses. What I object to are the semantic games and occasionally outright lies and histrionics of GNU GPL supporters.
I'll leave aside the issue of whether or not this matches what you consider a "rational" or "sane" definition of "free" and just point out that it makes pretty good sense to me.
Sure, a license will ensure that people cooperate, write good code and are interested in the quality of a project.
Do you really think that the reason that people are doing this is mostly an implication of a license?
Using the GPL means you're free to use my code ... As long as the result is under gpl too. You lose your freedom to chose a license. You lose your freedom to keep changes to yourself if you release the resulting binary (why ? because you want to). You lose your freedom to use other piece of code that are not gpl compatible.
I have nothing against the gpl and I use tons of software using it, but it is a fact that it cuts down some of your freedoms compared to other licenses.
Licenses like the AGPL were created in part because of this problem; some folks think that, morally speaking, code running on a server behaves like distributed code, and should be available. But for example: you're absolutely allowed to take GPL code, change it yourself, keep the source private, and run a web 2.0 business on top of that source code.
It's not what I meant, and I don't thing it's what I've written either. If anything, it actually forces redistribution in case some might not want to (when you release a binary but want the sources to remain yours).
You never had any of those freedoms because the code is not yours. Your point is correct (yes, the GPL does prevent you from stealing other people's work!), but your wording is FUD.
First of all, it does not do the same work. OOXML includes hundreds of pages covering spreadsheet formulas, giving mathematical definitions of them, sample input and output, and detailed descriptions. ODF omits spreadsheet formulas. ODF, as passed by ISO, barely deserves to be called a "specification", as there is virtually no chance that two people independently implementing from the spec alone would come up with interoperable documents. It is more accurately thought of as a guide to help understand the OpenOffice source code--which is what you actually would use as your spec if you were trying to write a real-world ODF application.
Second, even for those areas where they do the same work, the OOXML spec is more precise. That accounts for much of its size. For instance, consider how dates should be stored. Both ODF and OOXML list specific calendars that must be supported. In the ODF spec, this is a simple list, just giving a short informal name for each. In the OOXML spec, they give a table that gives the short informal name, but also gives the full official name, along with a complete citation to the official definition of that calendar.
Or consider password protected documents. All ODF tells you is where to store the password. (It might also say it should be hashed). OOXML covers that, but also tells you what hash formats and encryption systems must be supported, and for each of those cites the appropriate standard.
It's very detailed, down to mandating that you reproduce some old bugs with certain dates that come from Excel.
The only freedom the GPL takes away, or even could take away, is freedom that you never had. Remember, you have no right to view code, modify, or distribute software unless you get that right by either being given it or buying it from the creator.
BSD-style software simply gives these things to you as a gift, and is in a sense more free than the GPL. Closed source software on the other hand can make it difficult or impossible to do any of those things and the licensing terms if you get any of those rights are often very stringent and exacting. The GPL strikes a middle grand, it offers you these rights, but in exchange you must agree to share any changes you do make to it. I, for one, find this a very good trade off indeed if that is all the author will charge me.
Given that most people are developers, not users, I myself prefer BSD-style licenses. That said, I also think the GPL keeps developers honest and is healthy for the FOSS ecosystem as well.
In what universe?
It seems unlikely that Microsoft's decision has anything to do with objecting to restrictive licenses, anyway, since proprietary apps are not being banned, not even proprietary apps with restrictive EULAs.
GPL is not about freedom for developers. It's about freedom for users. MIT and BSD-like languages don't care about user rights. They don't even care that much about the rights of programmers. All they demand is some form of recognition.
GPL, on the other hand, allows you to build upon the work of others, provided you respect their wishes as to how you should use their work - that you don't disrespect your users and provide them with the same rights you received.
As was pointed out elsewhere, nobody is forcing you to stand on the shoulders of giants. You may as well stand on the ground and reinvent your wheels.
The only freedom the GPL takes away is the freedom to take away other people's freedom to use modified versions of the software.
I don't know but I have never been inclined to license anything under GPL.
GPLv2 just requires the sharing of source code for a given binary. GPLv3 takes it a lot farther and requires that a mechanism also be provided to use derivative works. So if a car manufacturer uses GPLv3 code, they not only have to distribute the source code (which may or not be an issue), they also have to allow people to flash their own code onto the car's embedded computers.
This problem stemmed from TiVo, they used GPL code on their set-tops but signed their binaries. People could make derivative works, but couldn't use them.
In the embedded space, you can imagine that GPLv3 is very much hated. It's a big reason why a lot of projects haven't switched to v3.
Seems that Microsoft is taking heat for respecting the wishes of the GPL. Talk about a can't win situation.
It sometimes feels like almost every new policy introduced by Apple for their AppStore was specially crafted to piss off and offend developers. Yet, they can get away with it because end-users are satisfied.
I guess same applies here. Microsoft has just gone out and explicitly said what Apple has not (yet) .
Yes, but you can't even publish an API without pissing off a developer somewhere. Folks like Guido Van Rossum even say things to the effect: if someone somewhere isn't pissed off, you're probably not doing it right.
I think the real problem is unlocking & GPLv3. MS was never GPL friendly either.
2) For many Android devices (kit from MOT excepted), the hacks are pretty trivial. I suspect the protections on HTC phones are more of a "Warranty void if removed" sticker than something to really bar you from gaining root.
AT&T (and perhaps other carriers) disable that option, but even in that case, there's a workaround that doesn't require rooting. (Google "android non-market adb".)
This is useful, and I think more of what the OP was looking for.
WebOS might be good in that regard, but its supported development model is limited to web apps so far as I know.
The only difference being that Microsoft actually mentions the GPL explicitly.
I'm not sure if the perception of Microsoft will ever change in the eyes of developers.
It seems to me that these aspects introduce a gap in the level of support Microsoft can offer for a product distributed on its platform since it doesn't necessarily have a way to delegate responsibility back up the chain.
Saves time and avoids risk.
Developer side loading: http://msdn.microsoft.com/en-us/library/ff769512(v=VS.92).as...
$99 Annual fee: http://create.msdn.com/en-us/home/membership