Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I feel it is sad that so few HN hackers seem to appreciate the vision of the GPL. GPL needs more indispensable software like this for it to thrive and protect us all from a future of completely locked down computers.


From a user perspective, GPL offers in theory more freedom, since new products built on codebase X will also be free.

It is debatable if this is true in practice. If less software gets built as a result of the license restriction, the GPL takes away freedom. Even closed source software adds some freedom - the freedom of choice.

From a developer perspective, there is no question which one is more free. We often do not have the choice to release our software as open source, and when we do, an invasive license like the GPL is still a headache. If I can pick up a library or framework and just use it, that's the one I will pick.


"GPL takes away freedom" is a very developer-centric point of view. From user point of view GPL gives freedoms that MIT/BSD don't give.

Where freedoms of developers and users conflict, GPL sides with users.

In other words, GPL only takes away your freedom to take freedom away from others. If you don't intend to restrict others' freedoms, GPL shouldn't get in your way.


The GPL actually trades off freedom over time. Specifically, it trades away actual freedom right now for the person who currently has a copy of the code, in an attempt to secure potential freedom later for people who do not yet but might someday have copies of the code or of code derived from it.

As such, the GPL is always, in the "now", a license which grants less freedom than, say, the BSD or MIT licenses. Most objections to the GPL, including my own, come from a position of cost/benefit on the trade it wants to make, and of disagreeing that that trade is worth making.


I agree with your first paragraph, but come to different conclusions.

The way I see it GPL values freedom over short-term gains.

You can put BSD software in the AppStore, which is nice short term, but long-term that's helping platform that is a golden cage.

Wouldn't it be nice if Android was GPL v3? Instead of giving operators freedom to lock down handsets and add uninstallable crapware, give users freedom to customize and upgrade their phones. Of course, GPL-Android could have hard time gaining traction in the market because of GPL being unappealing to crapware-installing operators, but if it did succeed, that would be significant long-term win for users' freedom.


>Wouldn't it be nice if Android was GPL v3?

Not necessarily. WebOS is/was closer to a Linux/GPL distribution than any other smartphone and look what happened to them.

>You can put BSD software in the AppStore, which is nice short term,

It's also nice long-term as the code maintainers don't have to make decisions based on the risk of getting sued, as they would with GPL-based code.

>but long-term that's helping platform that is a golden cage.

Golden cage? How do you figure?


Specifically, it trades away actual freedom right now for the person who currently has a copy of the code...

How so? As far as I know, if I have GPL code, I can do whatever I want with it. Could you tell me any action I might want to take that the GPL prevents?

The only "freedom" the GPL removes is the freedom to restrict the actions of others. To me, that seems like a rather odd sort of freedom.


Link BSD software with the GPL code. I go out of my way to avoid or rewrite the GPL libraries I need because of this restriction.


The GPL doesn't prevent you from linking to BSD software.

All it does is prevents you from redistributing the resulting binary under a license that could result in the user's freedom being restricted. I.e., the only thing that is prevented is (BSD, GPL) -> BSD, since the next step might be BSD -> Proprietary.


Right. I want to give others the freedom to use my software in propietary ways, so I put my software under a BSD license. This means I can't use GPL-licensed libraries.


Compile it, sell the binaries without do not inform the buyer that he can get the sources and/or refuse to give them those sources on request.


From a users perspective there is no difference, because only programmers care about source code.


The freedom potentially lost to users due to Meteor going with a non-GPL open source license is that somebody could fork it and make a better version that eventually becomes dominant but restricts the user by {charging money, only working in a subset of environments, not being updated to work with other web languages, or just lacking a desired feature}.

Edit: I'm personally glad they went with the MIT license. Also, even if a fork takes place, the original code is still available.


How many times has that happened?

jQuery changed the face of client side development, and its MIT license has encouraged significant and substantial corporate participation, but I have never even heard of a jquery fork. They actually have MS offering paid support for their library.

Rails changed the face of server side programming, and its MIT license has only increased corporate participation. Where is the rails fork?

Node.js changed the face of the app server landscape and is probably the latest big thing in web development. MIT license, where are the forks?

It is definitely a theoretical possibility, but it just doesn't seem to ever happen in this world. What does happen is you gain the ability to have companies throw money/manpower behind your project that they would otherwise have spent building a competing product that they could actually use.


> I'm personally glad they went with the MIT license. Also, even if a fork takes place, the original code is still available.

I think this is a point many fail to consider. BSD and GPL are, in many ways, synergistic. Having libraries available in both is the best ecosystem for both devs and end-users, IMO.


God forbid someone put work into something, make it better, and then choose to charge for that work.


I would say there is a question from a developer perspective. The idea that more choice is better and makes one more free is a cultural one and not an objective fact. There is a point where one has too many choices and they become a real encumbrance. I think Barry Schwarz has done a good job of describing this phenomenon.

I think Vasco is also brings up another valid argument. Not all choices are equal and some are not even actually choices. Either way you want to look at it, one can honestly make a sensible and consistent argument that more software does not automatically mean more freedom.


I agree with you, but just to point out what I believe the GPL people think about your point: If you're going to write non-GPL'ed code, they would prefer you wouldn't even write the code, Stallman has said this many times. I think they equate this to something along the lines of just creating more "prisons" and just because you have a bunch of "prisons" to choose where to spend your life, it doesn't make you more free


Did he say this? Seems like a really bad analogy to me. If more people are using Meteor, for example, the entire ecosystem will grow. Even if half the devs are writing closed source, they are learning a common tool and that skill lets them contribute to the common knowledge pool (eg. they can answers questions on StackOverFlow). It also creates a bigger market for Meteor developers, thus accelerating adoption.



He says 'non free' there, not non-GPL'ed. The FSF considers lots of licenses other than the GPL to be 'free software'.


The FSF has little choice but to consider a lot of licenses "free", but is also quite clear in the opinion that strong-copyleft licenses are always superior, and that people who do not use strong-copyleft licenses aren't really as good as people who do use them.


That's still pretty far off from "prefer you wouldn't even write the code".


I license code under the GPL. If I write something and release it open source, I'm doing you a favour by letting you use it for free. If you make changes and distribute them, the least you can do is return the favour and give them back. If you're not happy with that arrangement, you're free to not use my code.

I wouldn't be happy if I spent a lot of time writing some open source software and then a company came along, improved on it, and distributed it in their closed, proprietary software. That's why I prefer the GPL over the MIT license.


> If you make changes and distribute them, the least you can do is return the favour and give them back

I agree. But if your code is a minor library like a json parser, a dijkstras algorithm solver, or a custom button? Should all of my company's product's code neccesarily be GPL as well? What if we already use non-free code from somewhere else? Even if we are happy to fix and contribute back all buggs we find, and any feature we add, we can't. Because you won't let us use the code without GPL.

Now you will tell me that is what the LGPL is for.

...until I want to release my product on the Appstore. The user can't replace the dynamically loaded library, so the LGPL doesn't apply. Then I need to make sure there is an exception for this specific use case.

Headache.

You might argue that without the GPl, i have no incentive to contribute back the bugfix I did. Let's for the sake of this argument pretend that I'm a heartless sociopath, driven only by greed.

By contributing back buggfixes, I make sure future versions of your code (with other peoples buggfixes) include my fix, and is compatible and field tested with it. There is no downside to me, since my competitors either haven't run into the bug or can fix it themselves.


If you're not happy with that arrangement, you're free to not use my code

Exactly. This conversation exists because guelo was complaining about people choosing to not use the GPL code. They don't like the arrangement. geon articulates why.


It was anti-gpl people that pressured meteor to change their license.


I don't follow this war so I don't know if "anti-gpl" is a known, identifiable group that actively fights the gpl, or if it is a term you are using to describe dissenters in threads like this. If the latter, be careful: people like me aren't anti-gpl, it's just not the right tool for everything I do. I am working on software that may have some "magic sauce" on which my business thrives, and for this I wouldn't choose to give it a license that says I have to give it away for free.

There are those who think I shouldn't be able to make something of value (known because others are willing to pay for it) and not give it away at all. Or rather, I can, but not software. But let me give you an analogy.

Suppose somebody sold a camera- a very nice camera- that came with the terms of use that said, "Any picture you take with this camera must be made available to anybody who wants it at full resolution and downloadable from your website (etc etc)." Furthermore, some versions of the license state that any work which includes any picture from this camera has to be made available for free. So if you make a poster, or a collage, or anything else with the picture you have to make to poster, collage, etc. downloadable at full resolution for no charge.

My guess would be the not many professional photographers would use the camera for their professional work. It might be great for students, or for artists trying to make a name for themselves, for personal use, and/or perhaps a slew of folks I'm not thinking of right now. But not for pros. In fact, if all cameras started doing this it may seriously harm the field of professional photography. I wouldn't pay a professional photographer to take pictures for a branding series of advertisements that my competitor could simply steal and reuse to devalue my branding. Parents of small kids would give serious consideration as to whether they want the pics of the kids on the web (I have to sign a release for if, for instance, a school or camp wants to use my kids' picture in its promotional material, for example- so it's a concern for some at least).

So the idea that all software should be gpl is not correct, in my view, although I am not in any way anti-gpl.


Freedom of choice is inherent and not relevant to the subject.

I chose not to go to an Irish pub to watch the game between Barcelona and Madrid tonight just as I chose to investigate Derby instead of Meteor because of its previous licensing policy. We can agree that the existence of the Irish pub increased my number of possible choices, but it didn't extend my freedom of action.

I had the _option_ of going to an Irish pub, but I had the _freedom_ of smoking a cigarette at the terrace I chose to go to.


GPL restricts the pool of potential collaborators.

Also, GPL has served its purpose: these days 1) almost everyone realizes that it is in everyone's interest to share code and contribute back (maintaining private forks is expensive in the long term), and 2) most software is offered as a service and the value is not just in the software, but also in the infrastructure, maintenance, support, etc, meaning you rarely encounter the problem of restricted liberties because of a software license.

Note that you do not need a copyleft license to support sharing.


In web development, perhaps. In embedded systems (including the huge world of consumer electronics like cellphones) I suspect that if the linux kernel wasn't copyleft there would be few corporate contributions to its public codebase.


It enforces the pool of potential collaborators.

I value my work, it is not free. Either pay for it or agree to contribute your improvements.


I'm open to a compelling argument for why the GPL is better than a license that basically says "you can do whatever you want with this." (From the perspective of deterring the locking down of computers by corporations.)


If it isn't obvious, GPL is an attack against proprietary computers and against the corporations that have been trying repeatedly over decades to bottle-up and monopolize the computer revolution.


Is it surprising that the GPL represents the antithesis of the startup community?

No matter how idealistic any large group of young hackers will want to be, fiduciary duty will always trump everything when you play with business. You can love the GPL as much as Stallman himself, but when you're grasping for any edge you can find over your competition, you'll think twice before shipping her a tarball of your source.


That's entirely off topic. We're discussing GPL versus a more free license. If anything, this is an argument for the GPL.


Off topic? The topic, if I've read correctly, is: I feel it is sad that so few HN hackers seem to appreciate the vision of the GPL

Reusing GPL'd code forces developers to in turn release their code; more free licenses don't have this effect.


Yes, that was the original contrast, versus the MIT license of the OP. Sure, people will opt to not release code when it contains trade secrets or whatnot, but the thread is about MIT vs GPL, basically.

Anyway, not to play thread police, it just seemed to me that it was veering off into another direction. I'm cranky in the mornings!


GPL is an attack on the user who wants to do whatever (s)he wants.


The GPL is extremely permissive WRT users. It allows people to obtain, modify and distribute the code, provided that they keep it GPLed and provide the source with binaries.

Contrast this with proprietary software.

There are restrictions for developers, namely that you can't link GPLed code to non-GPLed or GPLable code, and that you can't close the source.

Liberal licenses are easier on developers, but they don't guarantee that the source will remain open. Software is ubiquitous nowadays, and most appliances use closed source software of unknown quality and probity. There's spyware in every cell phone, for example.

More GPL makes a better world, overall.


I'd rather be part of making things than attacking things. That's why I go BSD or MIT with my code.


Please not here though.

By all means fire up a new thread and I'm sure you guys will wrap this up in no time. But for the sake of the rest of us here to discuss the topic we're discussing, please don't drop a little religious war into the middle of it.


It could hardly be more on topic, and until your dismissive post, the discussion was civil.

You're the one who conflates licenses and religion, and who refuse to even discuss the topic.

The choice of software licenses is far more nuanced than religion. There's a lot of misinformation around the GPL, and it doesn't hurt to talk about it.


GPL 3 has a clause forbidding the use of GPL 3 licensed code on locked down computers. Googling for "anti tivo clause" will bring up a lot of discussion about it.


This would be true if it were an area where Open software didn't already dominate. As others, including the developers of Metor, have stated, this software being GPLed was detrimental to the overall user base because there were many people who were not willing to use and contribute to software with a restrictive copyright. The existing culture of web development is already centered around permissive licenses, trying to introduce a new product with more onerous usage conditions now will just lead to it languishing because its usage of the GPL is a weakness.


Most websites are commercial, and they operate in competitive spaces. They will not consider using GPL code if it means their own site code becomes GPL-licensed.

GPL works when the people using it must contribute whatever small patches or modifications they have made, not when they have to turn over multi-million-dollar codebases worth much more (commercially) than the GPL tool in question.




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

Search: