Hacker News new | past | comments | ask | show | jobs | submit login
Microsoft: No GPLv3 Software for Windows Phone and Xbox Apps. (wildeboer.net)
131 points by mikecane on Feb 16, 2011 | hide | past | favorite | 131 comments



They aren't prohibiting "Free Software", they are prohibiting software that is under a license that requires the distributor to pass certain rights along to the recipient.

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.


GPL and BSD are both mechanisms to promote freedom. One is the freedom of a bill of rights, the other is the freedom of anarchy.


> One is the freedom of a bill of rights, the other is the freedom of anarchy.

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.


>How is that even remotely a good analogy?

Because the GPL binds you to preserve the freedom of your users, too; BSD says "do what thou wilt". Both ways have their advantages.


Exactly. Also GPL style licenses are a virus that while they promote freedom, in reality they take it away. It assumes that people are naturally untrustworthy and thus forces them to act in a way the creators of GPL see as the right way. Because of how the GPL licenses are worded, especially insane versions like the AGPL, everything they touch may be affected negatively. MIT and BSD style licenses on the other hand assume the best in people, and gives them the real freedom to do with code whatever they want.


I'm not going to comment on whether GPL style licenses actually have the effect of promoting freedom like they say, but I don't see at all how they take it away. An author is free to write code and distribute it under the GPL. Likewise anyone else is free to fork it, or use it in their own codebase so long as they honor the terms of the license.

How does that take away anyone's freedom? Don't like the terms of an author's library? Go write your own then.


> 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.


cosgroveb: Don't like the terms of an author's library? Go write your own then.

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.


Firstly, thank you for taking the time to disagree with something in a manner that I can read. I voted you up just for that.

> 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.


The issue here is you disagree with FSF over the meaning of the word free. Don't worry this is a common occurrence! To RMS free means freedom to use software without violating his "golden rule." RMS believes that if a neighbor wants to use software you are using you should be able to give it to him. Just as you would neighborly share flour or a rake.

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.


> 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.

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.


>> 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.

> 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 are overloading "free" too.

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.


The problem is people attack the GPL hold up the BSD as if it's without restrictions. But it is (granted, the restrictions are fairly simple to address, their are restrictions places on you, and if you don't follow them, you are in the same boat as the GPL).

> 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).

So basically...

> So he isn't free to do what he wishes with the software.

This is true of pretty much all licensed code, including BSD.


> (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).

CC0? https://creativecommons.org/choose/zero/

> 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.


I believe it's: http://creativecommons.org/publicdomain/mark/1.0/ though I don't really remember.

> 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. =)


Sometimes I almost feel like Stallman intentionally used the word 'free' in the license to confuse people. Many people think that it means you can do whatever you want with it and get in legal trouble down the line. This is why I won't use any GPLd libraries in any of my projects. It's too risky.


> as even things put into the public domain can have a catch

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.


It's my understanding that in the past, things have lapsed into the public domain as copyright expired. However, laws changed, and these public domain items were put back under copyright protection. I cannot remember where I read it, or under what context.

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.

My apologies.


The switch to is arguably good because in French there are two words that map to the English free --- libre = free as in speech, gratis = free as in beer. So libre is less overloaded than free, making it less ambiguous.

Citation: http://en.wikipedia.org/wiki/Gratis_versus_Libre


I'm sorry, but I believe gratuit is the French word, not gratis.


Am I the only person to notice the parallels between GPL and government ? BSD-style licenses can be compared to anarchism. Everyone can do what he wants. I haven't heard about anarchism producing nice societies except on small scale.*

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.


Anarchism means 'without rulers' not 'without rules'. If you really want to grade licenses on how anarchist they are, the GPL is obviously more conducive to a world without rulers than BSD-style licenses.

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).


The point of the GPL is to ensure future collaborative development is possible with anyone who has the software. It exists because of people taking software and incorporating it into proprietary programs that force others to reinvent the wheel when unnecessary.

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.


That reads a bit like "isn't the point of newspapers to distribute solutions to crossword puzzles easily?", to me.

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.


It was a poor choice of word. I agree, and have revised my remark.


> 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?

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.


Not exactly. He may gain from the use of the GPL and give nothing back if he doesn't pass along his software based on GPL software. In that sense, the focus of the GPL is not the upstream developer, but the downstream user.

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.


Ok, let's contrast several options and see where the freedom lies:

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 problem is that nobody actually knows what constitutes a derivative work. Hence you have the LGPL for libraries so that you don't have to worry about linking them.

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.


You're not responding to the substance of my post. I said I wasn't commenting on whether or not the GPL actually promotes freedom. It just doesn't take it away. You and I are in total agreement here. If you want your code to have the widest possible distribution, use BSD/MIT licenses (I have done this). You have the freedom to do this and the existence of the GPL does not take your freedom away from you. You also have the freedom to decide not to use GPLed code.

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 can't think of how it takes away freedom. But it is less free than other open-source licenses, yet the FSF bills it as the paragon of freedom. I think that's the gist of why there are such feelings towards it.

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.


> 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.

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'm really confused here. If you want to help your users embed your code in their projects, license it MIT and don't use GPLed code. How hard is that? I think you're misinterpreting my attitude.

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...


I do not think the GPL restrictions are aimed at users, but at other developers who may be competitors. Some developers might be cautious about opening their source using BSD-style licenses because their competitors may then use the free code in their closed-source product. So they use the GPL reasoning "If my competitors use my code in their product, I want to be able to use their code in my product."


"The result is that nobody wants to risk tainting their work with GPL code if they're trying to make money."

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.


"GPL prevents your competitors from outright stealing your work. BSD/MIT doesn't."

"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.


"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."

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.


It depends on the situation and the amount of money and resources your competitor has.


so when MS uses libraries that contain an open source license that MS had approved than what? Will than MS abide by their own stupid rule than?


How is that any more free than closed-source, proprietary software? You could just as easily say, "Don't like the terms of Photoshop's license? Go write your own then!" And unlike a GPL software vendor, Adobe couldn't turn around and sue you for creating a derivative work (because your brain hasn't been infected by any virally licensed source code).

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.


Arguing the GPL is restricting your freedom to steal other's work is exactly the same as arguing that the 13th Amendment is restricting your freedom to own slaves.


The 13th amendment is restricting your freedom. It's called a tradeoff. That's my point.


I didn't say the GPL increased freedom. Only that it doesn't decrease it.


"Increase" and "decrease" are only meaningful in relation to some baseline. The GPL doesn't decrease freedom relative to nothing at all, and only a little bit relative to proprietary software. But relative to the BSD license, you have less freedom with the GPL. I'm using it in the sense that the FSF says proprietary software decreases freedom: It gives the people who receive it less freedom than it otherwise could.


You're probably just trolling, but it needs to be said every time: The freedom that the GPL takes away is the freedom to bring down the system. It keeps people in check and prevents corruption. If you enjoy the freedoms of MIT and BSD style licenses - why do you complain about the GPL? It seems that it only takes "freedoms" away that you don't appear to be interested in anyways?


I feel the same way about the GPL, in that it dictates very strong boundaries about what can and cannot be done with the code you are distributing. I don't personally feel that the tradeoff is acceptable to achieve a goal of preventing corruption, as you say, and it can be argued that the license indeed does prevent many freedoms to do what you will.

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).


You're being deliberately trollish 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.

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.


> You're being deliberately trollish

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.


The Free Software movement is a religious movement and the GPL is an expression of their belief system. See my comment above and:

http://blog.hackthology.com/interpreting-the-free-software-m...


Nonsense! The Free Software movement is a political movement informed by philosophical and ethical values.


Possibly for the same reason GPL advocates complain about more restrictive licensing than the GPL.

"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.


The point is that it does take away some freedoms, that the BSD license does not take away.

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.


And if you criticize it in even the lightest way, the religious fervor I mentioned before brings every free software supporter out to impale you. I can't tell you how many times I've been called a corporate shill or, quote, "M$ fanboi" because I don't agree with the GPL on principle.

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.


Could you rephrase that in terms that aren't nonsensical in the context of software licensing, such as "bring down the system" and "prevents corruption"?


Possible uses of "free" (as in freedom/libre) ...

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.


I was not trolling. The GPL nominally stands for freedom but yet the means by which it forces restrictions is the opposite of freedom. I say if you want people to do something, do so by setting an example, not by writing weasel-worded legalese that ties peoples hands. Write code, release it under MIT, and let people do what they want with your code, and by doing that you're setting an example and encouraging others to do the same. You'll also encourage participation by businesses who would like to make use of your code in their proprietary system and everyone benefits when they contribute back because they don't have to worry about the stringent restrictions of the GPL.


Share-Alike licenses like the GNU GPL are excellent licenses and are worthy of consideration for whole categories of software.

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.


So maybe it would be nice if they wrote up an essay somewhere detailing exactly what they mean by "freedom" so that no one gets confused. Maybe they could call it the "The Free Software Definition".

http://www.gnu.org/philosophy/free-sw.html

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.


"The freedom that the GPL takes away is the freedom to bring down the system. It keeps people in check and prevents corruption."

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?


Because freedom also means freedom to use my code and keep it to yourself if you want to. There isn't any corruption in that. Tons of software here are using bsd/mit licensed code and not releasing their change, that has nothing to do with corruption (or you don't understand what corruption is, go read a definition).

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.


The GPL does _NOT_ prevent redistribution, please don't spread more incorrect information. It prevents _redistribution without redistribution of source_. You're still free to get GPL code, change it yourself, and never release it again.

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.


Where in my message did I say it prevented redistribution ? Can you quote the sentence that made you understand that ? (this is a serious question)

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).


"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."

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.


You can modify GPL code and keep it to yourself. What you can't do is modify it and distribute the resultant binary without also releasing the modified source.


That's the case I was implying, but you're right that my post wasn't clear enough on this so I edited it.


GPL ensures freedom. Also there is a great article by Bruce Perens about why Microsoft is hostile to GPL and why they sponsor non-copyleft open source: http://itmanagement.earthweb.com/osrc/article.php/3762786/Br...


That article is too riddle errors to be great. Consider his paragraph on OOXML. He says that ODF does the same work as OOXML in 1/10th the size.

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.


> 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

It's very detailed, down to mandating that you reproduce some old bugs with certain dates that come from Excel.


"Also GPL style licenses are a virus that while they promote freedom, in reality they take it away. "

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.


Ah, but that's the thing - it is a trade-off. While both the GPL and BSD (and other Free Software licenses) are certainly better than closed-source, the GPL is a promise to the user at the expense of the developer (a reasonable expense, to be sure), whereas the BSD and BSD-like licenses are promises to the developer, perhaps at some expense to the user (i.e. if something uses it it's not guaranteed to be Free Software).

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.


> Given that most people are developers, not users

In what universe?


In the universe where I accidentally transpose words. I meant that using BSD is better for developers than for users, I prefer to release code under licenses more permissive than the GPL.


But, if your universe is like mine and there are many more users than developers (who also happen to be users), it makes more sense to use *GPL-like licenses because they protect the rights of a majority.


Does your post have anything to do with the subject of the article or the comment you're replying to (Microsoft banning GPL'd apps on its platforms), or was this just a convenient opportunity for a generic anti-GPL rant?

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.


Let me put it in simple words.

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.


s/languages/licenses/


> Also GPL style licenses are a virus that while they promote freedom, in reality they take it away

The only freedom the GPL takes away is the freedom to take away other people's freedom to use modified versions of the software.


MIT and BSD warm my heart. GPL makes me paranoid and brings to mind images of seedy paranoid people. Maybe that's all the GPL FUD implanted in my mind by big corporations talking... but maybe not?

I don't know but I have never been inclined to license anything under GPL.


They're only preventing GPLv3 (and its ilk). There's a reason they mention GPLv3 and not GPLv2.

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.


You are the first to actually hit that point, and I believe rightly so. I don't see how you could actually comply with V3 and release your software on any of these stores. The obtaining of a developer signing key is not free, and there is no guarantee that the derived work would actually be accepted.


I think you could on the Android store. Android phones have a setting to "allow installation from non-Market sources", which means there is no restriction on distribution.


This is why everyone should be switching to GPLv3. Software isn't just there to be looked at.


Looks like they're trying to preempt the whole "can you distribute GPLed programs via the app store" problem that Apple's been facing.


Agreed. I kind of doubt this is an ideological decision. Just like the app store, there is no mechanism for someone who has downloaded an app to redistribute it to others.


So it's the same as Apple then. "Can you distribute GPL?" "No."


Actually, it's better than Apple. Apple will let you distribute GPL'd applications until a takedown notice is issued even though doing so is illegal; Microsoft is clear about it up-front.


Cite a source, please. Apple has said nothing about GPL software. They did however respond to a takedown request by a copyright holder.


Where has Apple said "No"? I seem to recall a whole bunch of speculation and uncertainty surrounding Apple not making a clear statement one way or the other.


It's a pragmatic choice by Microsoft, but I'm amazed by their ability to piss off developers almost every time they make a decision.


Wouldn't this be more accurately described as the choice of the Free Software Foundation, rather than Microsoft? The major feature of GPL3 was to prevent use in these type of "tivoized" applications.

Seems that Microsoft is taking heat for respecting the wishes of the GPL. Talk about a can't win situation.


Well, one who thinks that the GPL's wishes are a good idea could certainly feel that they deserve heat for being what the GPL was meant to prevent in the first place. But, that's no comfort to less ideologically zealous developers who want to use a [AL]GPL-licensed library they're used to using and can't.


shrug

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) .


I'm amazed by their ability to piss off developers almost every time they make a decision.

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.


If they distribute GPL software aren't they also responsible for making the source available. Why would they want to open themselves to that headache?


If the free linuxes can do it, im sure MS can handle it. It's not much of a hassle to add an extra menu item.

I think the real problem is unlocking & GPLv3. MS was never GPL friendly either.


No, Section2 (of the GPLv2) allows you to either distribute the source code along with it, or written offer to where to get the source code.


The license in question forbids GPLv3 by name. It does not appear to forbid the BSD, MIT, and similar permissive licenses.


Well, it is quite clear that the "share alike" clause is the bone of contention here: "“Excluded License” means any license requiring, as a condition of use [...] that the software or other software combined and/or distributed with it be (i) disclosed or distributed in source code form (ii) licensed for the purpose of making derivative works; or (iii) redistributable at no charge."


So, BSD, MIT, Apache, and similar are OK.


I don't want my platform to restrict what software I can run, especially not based on license. Is there any mobile platform these days that doesn't try to be your nanny as well?


You haven't cracked root on your Android phone yet?


I know it's possible to crack firmwares to get around any restrictions. But I think it's silly to have to hack your own device to have control of it. I'd prefer a platform in which that is the default...


1) Google Nexus phones do come with this as the default.

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.


You don't need to root your Android phone unless you want to re-flash a different version of the OS. If you're just looking to download apps from outside the market (direct from SourceForge or GoogleCode for example) all it takes is to check one little checkbox in the setting screen.


There's no need to root most Android phones to install any software you want. Just go to Settings/Applications and check "Unknown sources Allow installation of non-Market applications"

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".)


It's still a brass bitch to run anything that isn't a simple apk with restricted permissions on a non-rooted phone.

This is useful, and I think more of what the OP was looking for.


Maemo/MeeGo, but its future is, err, uncertain.

WebOS might be good in that regard, but its supported development model is limited to web apps so far as I know.


Depends on what you mean by web apps. Yes, you write your apps in javascript, and build your UI in HTML5 and css, but the apps are installed and run natively on the device and there is no 'web' involved. You can also write your own plug-ins in C/C++ which you can call from javascript.


Mobile targetted websites?


There is no issue here, only fear-mongering. To me it seems like a pragmatic choice.

I'm not sure if the perception of Microsoft will ever change in the eyes of developers.


Microsoft's strategy is to build/own the platform and then add value to the platform by harvesting what is on top (buying software/copying ideas etc). From a game-theoretic view point, GPL is a strategy that works well vs harvesting and should be kept 'on the table'. For more on this and Microsoft read: http://www.amazon.com/Keystone-Advantage-Ecosystems-Innovati...


I think they are trying to prevent people from redistributing others source. Like what occurred with Lugaru HD.


AFAIK the Wii and PS3 have similar terms (although there's no uproar because the terms themselves are secret). I get the impression that console APIs are generally NDAd and so releasing the source of a console game would indirectly expose the APIs.


Where did my DB server go?


Does warranty come into this at all? There are terms in a lot of Free Software licenses that remove the obligation to provide support, accept liability for the product or even to guarantee its fitness for purpose.

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.


I think that's standard for both EULAs and free software licenses.


Thanks, maybe I should read a EULA sometime. ;-)


Read one, and you've read most of the rest. I've thought about reading one carefully, making notes, and running a diff on new ones.

Saves time and avoids risk.


as long as they don't require all software to come from the marketplace (a la apple), i have no problem with that.


As best as I can tell, they are requiring everything to come from Windows Marketplace. Developers can side load up to 10 applications on their phone, but it seems Microsoft even borrowed Apple's $99 yearly developer fee model.

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


that's sad. they might make some money in the short term, but i think they'll bleed mindshare in the long term. of course, it might work out the other way, where developers flock to them the way they did to the apple store, because there's a chance they'll make more money that way.


This is amusing in the light of Microsoft's attempts in recent years to cosy up to open source and pretend that they're embracing it via Codeplex, Mono, MPL, etc. I think this shows what their true values are.


I think the Microsoft hydra is too large to have any single set of core values anymore. Every project is pulling in a different direction.


What it shows is they do not wish to run a code distribution network (that would be required in case of GPLv3 licensed applications) alongside their app store. Perfectly reasonable, in my opinion.


I can see a certain competitor rubbing their hands in glee that an entire class of applications will be unavailable on Windows Phone 7.


What "entire class of applications" has a hard dependency on GPLv3? Emacses?


It seems that the site is down


Doesn't the Apple App Store have the same problem?

The only difference being that Microsoft actually mentions the GPL explicitly.


This actually has been an issue for the App Store recently, primarily concerning VLC. See http://www.zdnet.com/blog/open-source/no-gpl-apps-for-apples...


They don't want to put in place the infrastructure to distribute source code, nor do they want the legal requirements to do so. Thus GPLv3 prevents Microsoft from exercising its freedom to not put in place a source code distribution system that will appeal to exactly none of its customers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: