Hacker News new | past | comments | ask | show | jobs | submit login
Why Open Source misses the point of Free Software (gnu.org)
123 points by octopus on Feb 19, 2011 | hide | past | favorite | 117 comments



I'm not a big fan on GPL anymore.

When I create some software I prefer the user of my software to have all freedoms including the freedom to embed it in closed source software.


And I prefer my software to remain open no matter who works on it or distributes it. So, I use GPL.

Amazing how people can have different priorities and different beliefs. (And, amazing how one can abuse the word "free" or "open" in either case to mean two very different things.)


> And I prefer my software to remain open no matter who works on it or distributes it. So, I use GPL.

BSD license accomplishes that just fine. BSD licensed code has been taken, extended, modified and used in proprietary products for decades, and yet the original contribution remains open.

I think that what you object to is that someone can take your code and make money using it in a closed source project, perhaps modifying it in the process. If that makes you unhappy then GPL will serve your desires better.

But saying a BSD license won't keep your code open is not true. It may seem like a nit, but it's one that matters.


>> And I prefer my software to remain open no matter who works on it or distributes it. So, I use GPL.

> BSD license accomplishes that just fine. BSD licensed code has been taken, extended, modified and used in proprietary products for decades, and yet the original contribution remains open.

But the modifications might not do, which is what GPL proponents care about. To me, the GPL is like saying "I'll share with you, if you share (your changes) with me".

This is not to say that GPL is better than BSD, or that either is better that a proprietory license; they're each designed to do different things. One might as well argue about whether a car a plane or a boat is the best form of transport.


> But the modifications might not do, which is what GPL proponents care about. To me, the GPL is like saying "I'll share with you, if you share (your changes) with me".

Yes, that's correct. It's not about better or worse at all. It's about a license that fits what you want, as a developer.

Sometimes it varies by project! For instance, a developer who normally uses GPL may choose BSD for a reference implementation of a client program using their API, specifically because commercial products could incorporate the code.


It depends on how you define "open". For Stallman, one of the main goals of free software is the ability to get into your software and be able to fix bugs and port it to other platforms -- it all started with RMS getting stuck with a proprietary printer driver.

All that BSD code that's been taken, extended, modified and used in proprietary products is no longer open. You can't get into OS X and fix bugs or port it to another platform. So even if the original code is still open, other distributions of that same code are not.


You are correct: the original code (and ongoing work based on it) is still open, and Apple, et al, versions are not.

This is fine. First and most importantly, because the desire to share code with BSD comes with no strings attached. It's just the desire to share. You don't have to have the same beliefs and priorities as I do in order to use my code. I believe in freedom enough to give you all the freedoms to do as you like with my code, and you don't have to behave in ways I see as good.

Secondly, if Apple were unable to use BSD code then what would happen? They would go completely proprietary, that's what. For them the alternative is not between BSD and GPL! Would the user be better served, or worse? As it stands, Apple contributes some things back to open/free projects, and a big part of that is due to their ties to BSD code.

Thirdly, with OS X as it is, or if Apple had not taken BSD code, or Apple did not even exist, would a user be more able or less able to run FreeBSD? No. Or GNU/Linux? Again, no.

Stallman and the FSF think that they're making a difference with licenses. But I think the truth may be that it's not the license that's really the movement. The movement is collaboration on a global scale and sharing code and making cool things for everyone to use. The licenses do not drive this. In the end we have to make sure that licenses serve our purpose rather than the other way around.


> This is fine.

But not for RMS since it doesn't address the founding concern of the FSF! You sort of glossed over that. If you write BSD code, and it gets put into OS X, your ability to tinker with your own code in that context is gone.

I don't think you can clearly claim one license here is more free than the other -- they're both securing different kinds of freedom.


>> This is fine.

>But not for RMS since it doesn't address the founding concern of the FSF! You sort of glossed over that. If you write BSD code, and it gets put into OS X, your ability to tinker with your own code in that context is gone.

Well, yes, but no.

Secondly, if Apple were unable to use BSD code then what would happen? They would go completely proprietary, that's what.

The assumption is that we would end up with a completely closed-source printer driver that couldn't be hacked, rather than a mostly closed-source printer driver that couldn't be hacked. Improvement?


If I give away my code I do not demand that others let me poke at what they make with it, and I don't demand that they let their users poke at it. I still have my own code. This is fine with me. Nothing, absolutely nothing that Apple does with my code diminishes what I or anyone else can do with my code. When I share my code, I really share it for whatever purpose and to anyone. This is giving the fullest amount of freedom to any and every recipient of my code. Any possible restrictions I would place on them could only make it less free.

I understand that it's not fine with RMS and the FSF. And that's ok, because that's their point of view and plenty of other people feel the same way, and there should be a license for such people to use.

I understand that my views are not in line with the founding concerns of the FSF. But I never claimed they were. This is the very problem. The FSF has confused a generation of hackers into thinking that Freedom is the FSF and that the FSF is Freedom. They're not different kinds of freedom. The FSF promotes guaranteeing certain rights of anyone using software, where BSD is about freedom. You can believe in what the FSF is trying to do, and you can use the GPL to help get there! That's ok. It just bugs me about the "free" thing because it's not so true as the FSF would like you to think.


> I still have my own code.

Actually, it doesn't matter what license you use -- you'll always have your own code.

> Any possible restrictions I would place on them could only make it less free.

One person's restriction is another person's allowance. The GPL gives end users and developers a number of rights that they don't normally get with copyrighted works. BSD doesn't change the normal copyright rights of end users at all. So for some users in some situations, the GPL is more free than copyright, and by extension, the BSD license as well.


During the Unix Wars, the industry lost about a decade of progress on BSD and SysV, entombed in proprietary forks owned by failing vendors. I don't believe it was a coincidence that a rough GPL kernel built on the GNU tools quickly surpassed the others, because all the work became part of a commons that reliably benefits all its users.

> give you all the freedoms to do as you like with my code

The industry has a bad habit of leaving end users at our mercy. I feel they deserve a place in that sentence, and that's why my donated work only goes to GPL projects.


That doesn't stop people from buying OSX or Windows, and you're saying it as if OSX couldn't have happened if it wasn't for the freebies they've incorporated.

Funny thing the Linux kernel came from a man that doesn't even buy RMS's propaganda, and that used GPL just because he was looking for some ROI.


>"I prefer my software to remain open no matter who works on it or distributes it. So, I use GPL."

There are other licenses which will insure that your software remains free and open. GPL requires that mine become free and open as well...and that's fine in so far as it goes.

Structurally, however, the copyleft movement only works so long as there is a system of copyright protections, powerful institutions for enforcing them, and the threat of severe sanctions for violating them. In other words, the copyleft movement is built on the same foundation as its antithesis. Both copyright and copyleft depend on the author's right to restrict future use.


Which is why its been fairly successful.


But how can I possibly close your software? I can't stop you from distributing your library in the original form that you created it in. So your software will always be free, regardless of whether or not I abide by the GPL.


> amazing how one can abuse the word "free" or "open" in > either case to mean two very different things

It seems to happen a lot in technology and the naming of bills in congress. It has got to the point where I start to ignore the words.

"Net Neutrality" is the latest phrase that has a lot of meanings depending on who you talk to, but has no actual technical or judicial meaning. I could accept a technical definition that has a meaning, but not this two word label that doesn't. For example, if I said "I was against port blocking or banning protocols except by the end user", it has some meaning.

My definition of these weasel words (tis a shame open and free are among them) is if someone says the phrase "I support X" and it gives me no real knowledge of their actual beliefs.


Free as in MySQL and Java?


I just wish someone would give Stallman the memo.


Your software would still be open under a BSD license. Using it in a closed-source project doesn't automatically remove the existence of the open source version.


I stopped caring and made my software public domain. Incidentally, nothing really happens until you become popular.


With the way copyright has been mangled in the last 35 years, public domain may not be safe - I have seen several people commenting that there is no way, since the copyright changes in the late 1970s, to affirmatively put your work in the public domain. Because of that risk, the WTFPL - Do What The Fuck You Want To Public License, http://sam.zoy.org/wtfpl/ , or an equivalent, is safer for potential users. Note that on the page I linked, it is pointed out that some non-Anglosphere countries didn't have a public domain in the first place.


I generally use WTFPL for this reason. I find that licenses which attempt to reproduce in forks of the host do not promote freedom.


I agree, though I dislike public domain simply because in some countries it isn't recognized and becomes completely unusable. For that reason, I prefer an unresitrictive license like BSD/MIT, or better yet, something like the WTFPL[1].

[1] http://en.wikipedia.org/wiki/WTFPL


As far as I understand it, the problem with public domain is it's not a license, but a meaning, and this meaning varies between countries. A completely permissive license (if well written) could be more permissive than PD in some parts of the world, since it's specific.


I never really got this line of thought. "I want my users to have all these freedoms, and then the freedom to deny all these freedoms to their users of this same base." It always sounded like "I want these people to have the power of voting, and then have the power to restrict others from voting."

Anyway, I went from GPL to BSD/MIT back to GPL (for "large" projects; small projects are public domain or MIT). I'd rather chain people with freedom while we have the copyright laws to do it than hope people will respect the freedoms I want others to have.


Agreed. The cool thing about being the copyright holder is you are free to release things under as few or as many different terms as you want.

I personally prefer to release software under the GPL initially, and then release under other licenses if I want to allow usage in those ways the GPL doesn't permit. Maybe that's a commercial deal with someone, maybe it's just changing the license to bsd, or maybe just making it public domain.

What I can't stand are holy wars about licenses and this whole church of "GPL means you have to give back"... or anyone talking about the "spirit" of these projects. Copyright is copyright, and licenses are licenses, and if someone wants to do a project with multiple developers and not take care of handling copyright assignment issues (in other words, make a mess, or just let hte project become a GPL free-ride) then that's their choice....


Do you refuse contributions (bug fixes/enhancements) the ownership of which is not explicitly assigned to you? What is the license status of those changes?


Its not about gpl vs. bsd-like licenses. Its about free software vs. open source software.

bsd-like licenses are still 'free'.


GPL-like licenses are still 'open' by OSI standards as well. So yeah, the permissive-license v. copyleft argument isn't the same one as the Free v. Open argument, though perhaps there's some correlation between what views people have on each one.


Wouldn't you hate it if you did something, like giving money to a poor fellow, and then people are using your good deed to market their ideology (like communism perhaps); even though you think it's wrong?

Now imagine how some open-source authors feel.


Can you articulate your concern?

Are you specifically objecting to the 'tivoisation' clause of the GPLv3, or has your opinion on the GPL changed, or something else? The spirit that you seem to describe is, I believe, embodied by the LGPLv2 (minus the clause that allows you to convert LGPL -> GPL.)


I've been warned on many occasions that the LGPL is not trusted to cover dynamic languages like Python very well since its verbiage is specific to C linkers and compilers.


Sure, but who writes in scripting languages in this day and age? I'm pretty sure they haven't produced anything of enough value that someone else would want to use their code.


To be honest, I'd license my work in another license for someone other than the GPL if they asked me. I just don't like the idea of granting everyone the rights the BSD license allows for without at least asking first.


All I know is that the proponents of Free Software are constantly trying to tell me what to think and tell me what my ideals should be, whereas just-plain-Open-Sourcers are happy enough to see that I'm using their software, regardless of what I do with it.


Free software offers the end user benefits that the end user only rarely understands or appreciates.

Open source offers developers benefits that lots of developers understand and appreciate.

Therefore open source is a much better marketing tactic. (Which is exactly what it was designed to be.)


Anyone who's ever taken their car to an independent mechanic (rather than back to the dealer) ought to understand a key end user benefit of free software: you aren't limited by the interests of its creator. I'm confused that nobody seems to get this.


I get it, but it is also a bad analogy.

Cars can't be repaired with a quick update over the wire.


Does it bother anyone else that people circumvent the dupe-prevention code on HN by adding a CGI question mark to the end of the URL?

This link was submitted quite a while ago[0] without the question mark, and it clearly didn't gain a lot of traction, so in this case it was a good idea to resubmit it. However, it seems wrong that the dupe-prevention code isn't more sophisticated.

0: http://news.ycombinator.com/item?id=2000239


My problem with Free Software as opposed to Open Source is that Free Software people have a greater tendency to end up doing things like this:

http://thread.gmane.org/gmane.linux.distributions.gnu-linux-...

(The whole thread, not just the specific post linked to).


OK, my other problem with Free Software is when Free Software proponents try to tell me that GPL is more free than BSD because GPL stops the software from becoming part of non-free software.

It's like saying people in the US are more free than those in the EU, because the US restricts travel to non-free Cuba.


It's not really. The concept of a derived work does not apply well to countries, but if it did that wouldn't be an example of it. What you're describing sounds more like a Free software web browser that would only communicate with Free web servers, which of course isn't what the GPL says at all.


Unfortunately, "Open Source" is easier to market than "Free Software". The real benefits of true free software evidence themselves in the end and that's what counts, not what you call it.

Edit: It is however important to distinguish between free software and thinly veiled proprietary software marketed as Open Source.


What about distinguishing between non-free, but substantially open software (measured by ease of patch submission) vs proprietary software with the occasional code dump?


With a BSD or Apache license you are giving your project away for anyone to use how they see fit.

With GPL you are giving your project away only to those willing to work with you on improving it.

The arguments back and forth are so tiresome when they don't recognize that sometimes one license makes a lot of sense and sometimes the other license makes a lot of sense. There will never be one license to rule them all.


Exactly, I've always argued that Free Software is best for infrastructure and developer tools, and Open Source is best for everything else (like libraries for end user software).


Stallman's insistence on unlimited and unrestricted redistribution at a price not exceeding cost is the critical flaw with the free software movement. While I agree that this is good and should be encouraged where possible, if there were a license or some support for persons that allowed access to and modification of the code and redistribution of the code only to persons who were appropriately licensed by the copyright owner, then I think we'd have a much better ecosystem here.

Everyone would weld the hoods of their cars shut if leaving it open meant they had to give the car away for free. Since it doesn't, most people are free to access the internals of their vehicles and do whatever they like. The same principle should apply to software -- if we make it reasonably easy for people to leave the hood open but still make some money, there'd be more freedom to go around for everyone.


This is comparing apples to oranges; you don't lose the possession of software when you share it.


You do lose the ability to make money off of software licenses when you include a stipulation that every recipient is free to redistribute your software's source as far and as much as possible at a price not exceeding the cost of the reproduction and distribution of the code, and that he is free to resell binaries of said software at any price. As we see with RHEL, if you try to do so, something like CentOS will come in and spoil the party.

There are times when this kind of sharing is good, but I believe if we were interested less in economic zealotry and more interested in individual freedom to control the software that runs on one's computer, we'd see a lot more people distributing source code. That would ultimately produce a net increase in freedom for computer users, even if the rules say you can only share modifications with people that have a rightful license.

Those that want to license under a copyleft are by all means free to do so, but we shouldn't exclude people that would be willing to distribute source code so that their users can control the program themselves, but who are not willing to switch to a support or subscription based business model. You can't make much significant money selling GPL'd software, you only make money by selling support contracts to BigCo. And that model is not applicable to everyone, even if it works out OK for database systems and Linux distributions.

Whether it's simple to copy or not, it's not simple to implement or design, and implementers and designers should be compensated even if their work can be reproduced at minimal cost after its initial production and release. A car's physical properties that make it much more difficult to copy have nothing to do with whether the hoods should be opened or shut, and whether rightful owners should be free to tinker around inside.


I read these comments and think that this article wasn't directed at HN readers; it was directed at free software people.


I tend to use GPL for fairly pragmatic reasons. If I've written some software - typically voluntarily and without payment - and put it out there for others to use then I would rather that the code remain in the public domain where improvements can be made which benefit everyone, including the original author.


Just curious - how many actual improvements were made to your GPL'd software and how many of these in your opinion would have not been made public if the license was different (say, BSD)?


It's always difficult to know exactly what people do with the software once it's out there "in the wild". Many of my projects are just curiosities with no other contributors, but a few have had many improvements submitted - some of them quite substantial. My guess is that if the GPL projects used BSD this would not make a big difference, but it might limit the ability to combine my own code with other GPL'd algorithms. The predominance of GPL as a FOSS license means that adopting it basically maximises the potential usefulness of the code, and since IANAL I'm not really qualified to judge compatibility between different sorts of licenses.


When Stallman says "free software is an ethical imperative, because only free software respects the users' freedom", is he saying that I don't have the freedom to create closed source software for my own benefit? Is he saying that I'm not respecting the end user's freedom by distributing closed source services?

With all due respect Mr Stallman, given those conditions I may not want to code at all.


You can't create closed source software for yourself - you have the source code, because you wrote it! But if you distribute that software to someone else, yes he holds that it is morally wrong to deprive them of certain rights, eg. the right to modify it for their own purposes.

Given his apparent stance on non-Free software, I suspect he is not concerned if you choose not to write some. He certainly wouldn't have used it in the first place.


Free software people continually miss the value of just letting people use their stuff to do whatever.

Letting people put back patches if they want to, but otherwise do what the hell they feel like is powerful, useful and practical for many more applications than the GPL et al licenses.

Some of us like sharing, but also like selling software and not giving away the source.


If they only called it Liberating Software, they wouldn't have had this happen. After all, open source software is also free (as in, costs nothing). But liberating software sounds like it confers freedom on the person -- actually liberating them.

Remember, branding is important.


Open source (as in BSD, MIT, WTFPL) are more liberating than "Free Software" (GPL). They greatly enlarge your opportunities in how you use the software.


Free Software is defined as software released under a license that follows the definition of Free Software ( http://www.gnu.org/philosophy/free-sw.html ).

BSD, MIT and WTFPL are all on the list of officially verified Free Software licenses: http://www.gnu.org/licenses/license-list.html and are thus "Free Software".

Open Source, similarly, is defined as software released under a license that follows the definition of Open Source Software ( http://www.opensource.org/docs/osd ). The OSI also has a list of approved licenses: http://www.opensource.org/licenses/alphabetical


I vote for Freedom Software. It has a nice ring to it and it removes the ambiguity.


Then we can change it back to French Software later.


if the term free is ambiguous, why not just call it Freedom Software? I suppose may have the unfortunate side effect of being co-opted by patriotic zealots :)


He's said elsewhere that "Freedom Software" was an existing trademark.


Or, why Free Software misses the point of Open Source :)

Open Source is about the developers. Free Software is about the end users (or, it's supposed to be).

In reality, Free Software ends up being useful only for programmers, hackers, technical people, and well, institutions which require programmers, hackers and technical people to run and grow their infrastructure (such as Universities and Governments).

Free Software (as an ideology) offers nothing to the typical end user of, say, the iPhone. It offers a lot to Apple (the iPhone makers).


"Open Source is about the developers. Free Software is about the end users (or, it's supposed to be)."

In an ideal world, the user and the developer are one in the same.

I don't mean everyone who uses a piece of software should have to know the code intimately; merely that they should have the freedom to see it, modify it and learn from it, should the need or desire arise. The power of the Free Software movement is that it created an entire generation of users who are also developers. Most of the people here at HN have Free and Open Source software to thank for their programming skills. You're mostly too young to remember the world in which code was closed, by default, and you had to learn without the benefit of an infinite variety of examples to peruse.

"Free Software (as an ideology) offers nothing to the typical end user of, say, the iPhone."

Which is why it is important to educate the next generation of the importance of Free Software (or Open Source, though having an ideology to back it might not be such a bad things), so that the rate of software advancement and innovation continues to accelerate, and so that the gap between the technology haves and have nots does not grow further and faster.

To dismiss the ideology, I think, is to dismiss the importance of a free software culture; our Internet exists as it does today thanks to free software.

Note that I'm not discussing licenses here, but the general culture of software. If we have a culture of sharing, which RMS and the FSF has been instrumental in creating (and the GPL was merely a part of that), we have a culture in which young programmers can learn from the experienced, and a culture in which barriers to entry are not as economic in nature.

I think it's worth teaching kids the value of a free software culture, and working to keep that culture thriving going forward, despite the fact that many major corporations have a vested interest in seeing free software contained to the world of nerds and hackers.


I respect FSF and RMS very much, and in fact I think if it weren't for them, Unix would've died, and Linux wouldn't really take off, maybe even BSD wouldn't have existed, and Mac wouldn't exist in the form we know it today (that is, as a Unix based OS).

Having said that, RMS's ideology is not inherently good per se; it's somewhat radical, but without the existence of radicalism, we would've ended up in a world of proprietry only software. In other words, the Open Source movement's "utopia" can't exist without RMS-like radicals who push strongly towards a world of only free software.

As a result, we get an equilibrium where all the tools for development and infrastructure are free/open-source, while end-user products are not always free.


>"In an ideal world, the user and the developer are one in the same."

My vision of utopia does not include helping my mother debug her cell phone - explaining gmail is bad enough.


You've taken that quote out of context, as the next sentence dispels your fear of having to help your mother debug her cell phone. But, to answer that particular argument:

It can't help the previous generation in any notable way. That ship has sailed.

But, the next generation can be more capable than the current one, assuming we pass on the tools they need and a culture of learning and sharing discoveries. So, don't bother teaching your mother to code, unless she actually wants to learn. Teach your kids and give them the tools they need (which includes a huge variety of source to learn from).


> You've taken that quote out of context, as the next sentence dispels your fear of having to help your mother debug her cell phone.

If the next sentence dispels that fear, then the quoted sentence is wrong, and should have been left out altogether. And so it is.

This is perhaps the biggest fail of the Free Software movement: co-opting a word, phrase or sentence to fill people with idealistic notions that do not represent what GNU and the FSF are really about. This begins with "Free" which translates into rules and restrictions. If you want truly free, there's public domain or BSD-style licenses. GNU/FSF have goals other than true freedom, and they believe strongly in those goals. Many agree with them. I think everyone would be better served saying what they really stand for, starting with changing the name of the FSF.


Who is to say your idea of how an abstract concept like "freedom" should apply to software is more correct than Stallman's?

> I think everyone would be better served saying what they really stand for, starting with changing the name of the FSF.

Okay, I'm stumped. If not the spreading of free software, what exactly is the FSF's agenda? Because without any specifics your comment is just more FUD.


> Who is to say your idea of how an abstract concept like "freedom" should apply to software is more correct than Stallman's?

I like the dictionary definition of freedom. Stallman has a set of concerns and ideas about how they can be answered, and has set up conditions and restrictions to try to propagate them. There's absolutely nothing wrong with that, but freedom isn't a very accurate way to describe it.

> If not the spreading of free software, what exactly is the FSF's agenda? Because without any specifics your comment is just more FUD.

I don't think my statement are FUD, as I'm trying to correct common misconceptions. If you want what the GPL offers (and many do) then it's only right that you choose it. However, conflating those ideals with freedom is inaccurate and misleading. If actual freedom is what you're after, a new BSD license is much closer to that. Only public domain is more free, but PD has some international interpretation issues.

As for the FSF's agenda, I don't pretend that it's an evil, secret conspiracy. It's not. They spell it out well enough on their site for all to see, once you filter out the fake freedom bits. Their core ideals are noble enough, though I disagree with some of their implementation.


"If the next sentence dispels that fear, then the quoted sentence is wrong, and should have been left out altogether. And so it is."

Sometimes, a thought or concept requires more than one sentence to express.


Yes, but not this time. If that sentence were dropped, the remaining text would be more clear and accurate. That sentence is not true.

Why should a user be a developer in an ideal world? Why should one be required to be a developer to utilize software? It's not even a world that anyone really wants to move toward. The whole idea is very developer-centric, and doesn't represent an enlightened user perspective.


The point of my comment was that I believe everyone should have the freedom to be a developer. Not that they must be a developer. No one, especially me, has suggested that anyone must do anything.

We're talking about freedom here; and I'd like it if users had the same freedoms I've enjoyed over the past couple of decades. That includes having source available for a large percentage of the software I used, so I that I could learn from it and modify it. No one forced me to become a developer in order to use Firefox, but I've always had the freedom to look at and modify the Firefox code (and thus I could, at any moment and without warning or asking permission, transition from being a Firefox user to being a Firefox developer). I think "developer" is a pretty fluid concept, in an ideal world.

Anyway, as I've mentioned elsewhere, it is the difference between "may" and "must". You believe I am saying "must", when my intention is "may".


Ah, there's "freedom" again, considered only from one perspective. What about the freedom of someone to make their own work available as closed source? What about when it's a derived work that adds novel new functionality? The FSF is against the freedom to do this, because it promotes other freedoms they like better. What if my important set of freedoms isn't a perfect fit with theirs? What if some random users' important set isn't a perfect match with either mine or the FSF's? If freedom is really what you're after, picking some things at the expense of others can get tricky very fast. If you really want freedom, perhaps you can give away all the rights, so that the recipient can decide what they want to do? After all, you still have the code and you can keep giving it away. This is the new BSD license, or MIT license, or ISC license. According to any non-skewed definition of "freedom" they are more free. Objectively.

But maybe you want kind of free, free in some narrow ways that preserve things important to you by putting restrictions on those who get your code so that they also have to preserve the same things you like. If so then that's fine! I totally support your right as the author to choose an appropriate license. But that's not about freedom. It's about propagating your view of how things should be. There's nothing intrinsically wrong with that, but it's not about freedom.


This argument doesn't work. Promoting "freedom," with respect to software or anything else, is always about promoting some specific freedoms at the expense of others. Copyleft licenses make a different set of tradeoffs than BSD-style licenses, it's true. But that doesn't mean that BSD-style licenses are "objectively" more free. They simply promote certain freedoms of programmers who are one step downstream from the source, at the expense of the freedoms of users who are further downstream. The GPL protects a particular set of freedoms for everyone downstream, at the expense of certain freedoms for those once-removed programmers.

The mere fact of an inherent trade-off in freedoms doesn't mean that the actions of the FSF, or programmers who use the GPL, are "about propagating your view of how things should be" and not "about freedom." That's just as ridiculous as saying that, in authoring the US Bill of Rights (say), the authors were not making decisions "about freedom" because they chose to promote certain freedoms of private citizens at the expense of certain freedoms of agents of the state.

It's a difficult social task to figure out which freedoms are the best to promote, and which can be traded off. But making the hard choices in these trade-offs isn't just a matter of promoting freedoms that one "likes better." Some freedoms are more important than others, insofar as they better promote our various social values and purposes. Whether or not you agree with the FSF's vision of what those values and purposes are and which freedoms best achieve them, it doesn't make any sense to write them off as merely working for some other agenda.


I'm afraid the argument does work. The GPL adds many more restrictions to the recipient of code than does BSD. It's really that simple. The only restriction BSD places on the recipient is to retain the copyright and license notice.

But I don't think I'm going to get this point across. Not while "freedom" is taken to mean something other than the dictionary definition.


I don't think anyone disputes that the GPL places more restrictions on a recipient of the code than a BSD license does. And you're right that, in one (extremely narrow) sense, this grants recipients of BSD-licensed code more "freedom" than recipients of GPL-licensed code.

The free software movement is about granting users freedom in this narrow sense, but it is also about building a society in which software freedom is valued and protected in a much broader sense. Software freedom is a social, moral and cultural goal in the same way that freedom of the press, freedom of association, or freedom from malicious prosecution are. These are "freedoms" in a broader sense than the dictionary definition, perhaps, but that doesn't mean that "freedom" is the wrong word to use.

Indeed, the broad sense of "freedom" is the one that is of primary importance, because without the social institutions that implement the broad sense of "freedom," the narrow sense of individual freedom in a particular setting becomes irrelevant or, worse, non-existent. Unless we have freedom of the press in the broad sense, for example, the fact that any particular publisher is free to say what it wants remains hollow. (One could hardly say, for example, that a country which has a single publisher that's free to publish as it pleases -- the state-run media outlet -- has a "free press.") A whole series of institutions are required to have a free press: a legal system that protects free printed speech, a system of publishers that actually produce that printed speech, an economic system that supports those publishers, and so on. In the same way, a whole series of institutions are required for software freedom: a system that protects certain freedoms of use for all users, as well as a system for developing free software, and for supporting that development in one way or another. It is these institutions that the GPL helps create; and in their absence, the possibility of BSD-licensed code, whether or not it would be "more free" in a particular case, is irrelevant to the social goal of software freedom for everyone.

Unfortunately, it is precisely the broad sense of "freedom" as a network of social institutions that define, protect and promote individual freedoms (in the narrow sense) that introduces the trade-offs and hard choices, the balancing act between certain particular freedoms of certain individuals and other freedoms of other individuals. But again, this hardly means that freedoms in the broad sense are not properly so called. And unless we make those hard choices, the narrow, individual freedoms that arise from them will not exist in a meaningful way.


No one is saying you must do anything. No one is demanding you to release your software under an open or free software license.

I'm simply saying I would like for a culture of learning and sharing to remain strong and vibrant going forward. You're making this into an ideological flame war, without reason. I haven't demanded anything of you or the software you create. I have suggested that a vibrant and thriving open source or free software community is a good thing.

As I mentioned in my first comment, I'm not speaking specifically of the GPL. I happen to like the license, but if you don't, that's fine. I have, nowhere in this conversation, suggested that only the GPL allows the kind of freedom I'm speaking of.

The freedom I am speaking of is about building a culture of being able to look at, learn from, modify, and contribute to, the software I (and others) use. And, nowhere have I suggested that only the GPL makes that possible; though I do think RMS and the FSF (and, yes, the GPL) deserve some credit for building the culture we currently enjoy.


When someone calls rape immoral, does he want to say that rape is a matter of personal preferences, or does he want to say that there should be a law against rape, and every violation should be punished?

When Stallman calls "non-free" software immoral, does he want to say that it's a matter of personal preferences, or does he want to say that there should be a law against publishing non-free software, and violations should be punished?


I consider killing pigs and cows for food, when there are good alternative sources of food available that require no cruelty, immoral. But, I do not seek to impose my morality on others by force of law.

He has, to my knowledge, never suggested there should be a law against producing non-free software. I have certainly never made such a suggestion in this thread.


Then, you're misunderstanding the word "immoral". To quote Steven Pinker from "The blank slate" (p.269):

"People feel that that moral rules are universal. Injunctions against murder and rape, for example, are not matters of taste or fashion but have a trancendent and universal warrent. People feel that other who commit immoral acts ought to be punished: not only is it right to inflict harm on people who have commmited a immoral infraction, it is wrong not to, that is, to "let them get away with it,"...

You have never suggested a law, but that's what the Free Software movement is about: In Stallman's mind -- and to those who understand him - , publishing non-free software is not just a matter of taste or fashion -- it's immoral and wrong; just like murder, rape, and stealing.

It must be punished.


That's ridiculous. You can't just change the meaning of words to suit your opinion!

From the dictionary (I would specifically point you to #3, in case you're feeling too lazy to read all of them):

mor·al    [mawr-uhl, mor-] –adjective 1. of, pertaining to, or concerned with the principles or rules of right conduct or the distinction between right and wrong; ethical: moral attitudes. 2. expressing or conveying truths or counsel as to right conduct, as a speaker or a literary work; moralizing: a moral novel. 3. founded on the fundamental principles of right conduct rather than on legalities, enactment, or custom: moral obligations. 4. capable of conforming to the rules of right conduct: a moral being. 5. conforming to the rules of right conduct ( opposed to immoral): a moral man. 6. virtuous in sexual matters; chaste. 7. of, pertaining to, or acting on the mind, feelings, will, or character: moral support. 8. resting upon convincing grounds of probability; virtual: a moral certainty. –noun 9. the moral teaching or practical lesson contained in a fable, tale, experience, etc. 10. the embodiment or type of something. 11. morals, principles or habits with respect to right or wrong conduct.

You've clearly got an ax to grind here, but it's not with anything I've said in this conversation. You've thunk up some people out there trying to force you to work in software slave labor camps producing free software all the live long day. I have no idea where you got these ideas from, but it's not from anything I've said, and it's not from the FSF website or the GPL license and relevant documentation.


I didn't change its meaning; I just pointed out what people feel. Yes, that stuff is not the FSF site, just like tax raises are not mentioned during election.

But Stallman is clear enought during interviews (emphasis by me):

* “The free software movement aims for a social change: to make all software free..." - http://www.gnu.org/philosophy/compromise.html

* “Non-free software tramples your freedom. […] It's unethical and it should not exist.” -- http://multinationalmonitor.org/mm2004/07012004/july-aug04in...

* Interviewer "If there was a button that you could push and force all companies to free their software, would you press it?" Stallman: […] But yes, I think all published software should be free software." - http://www.gnu.org/events/rms-nyu-2001-transcript.txt

* Interviewer: "Would you accept a federal law in the United States to enforce the distribution of source code with every type of software?" Stallman: "I am not calling for such a law as of now, but I think that would be a valid consumer protection measure[…]" - http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_int...


I really don't want this to be a flame war. I want a culture or sharing and learning, too. I think that culture and community are by far the most important. Since we've at a point where we largely agree, I'll take it as a good point to stop.


>"I believe everyone should have the freedom to be a developer."

People have that freedom now.

Having the sort access to the source code of a large percentage of the software one uses is not a necessary condition for becoming a software developer nor for learning programming. I suspect that most people first learned programming starting with trivial problems or by typing in examples.


Oh come now. The bill of rights guarantees freedom by putting forward a list of restrictions on what other people can do to you. By this simplistic definition of "free" the only "free" society is one where one person is free to enslave everyone (and probably does, but hey: he's living the free dream, right?).


Don't misunderstand me, copyleft is a good approach in certain contexts. On the other hand, MSDN is far more informative than source code comments, a half-hearted Wiki and a snide support forum for the non-professional programmer which populates your ideal world.


"On the other hand, MSDN is far more informative than source code comments, a half-hearted Wiki and a snide support forum for the non-professional programmer which populates your ideal world."

This is directly at odds with my own experience. Whenever I've had to work on Microsoft platforms, I've been constantly bumping into walls where I simply couldn't get the information I needed to solve my problems. MSDN, or no, I've generally been much more satisfied with the process of developing free software and for free software platforms.

Do you find it difficult to find quality documentation for Python, or Perl, or Ruby? How about GCC or LLVM? I haven't. I've found them to be extremely well-documented. And, when in doubt, I can go to the source (or someone else can go to the source to help me). That's not a privilege one has with non-Open Source software.

But, as I mentioned in another comment, the biggest difference in our perspective may be that you think I mean "all users must be developers", when in fact, my intention is, "all users may be developers".

We are talking about freedom here after all, and not forcing anyone to do anything. I simply want a culture in which anyone who desires to learn how their tools work can do so.


>"How about GCC or LLVM?"

I assume that unlike the inhabitants of your ideal world and myself, you are a professional programmer. Why would I run LLVM or GCC instead of Visual Studio Express Edition or program in C rather than utilize a .NET language given that neither really supports Windows in the first place?

For me, free OS's aren't an option. They don't offer the tools I use to practice my profession. To the degree I program, I have access to really good free programming tools on the Microsoft stack and better integration with my existing tools. And to the degree which I desire to learn those programming tools, being partial to physical books I enjoy the benefits of Microsoft press which simply don't exist in the copyleft world.

Again, that's not to say that copyleft doesn't have benefits, but even the best tools are full of dependencies such as the requirement to install Perl to install the Eclipse editor...again something I don't want to have to explain to my father.


There's a wealth of books on open source development tools and languages. You can even find them at B&M bookstores.


The volume of books on open source tools is more a function of the number of such tools. For any given tool or language, there may be very few books in print.

Amazon has 12 books for "LLVM". [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dst...]

There are over 1500 for "Visual Studio" [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dst...]

343 books for "Django" [includes the musician] v. 1548 for "asp.net" [includes fibers woven for catching venomous vipers]


What does the volume of books have to do with anything? You seemed to indicate that you didn't think books were available for open source tools, but they do exist. What exactly are you looking for that isn't available?


One of "the benefits of Microsoft Press" and MSDN is the scale at which the documentation ecosystem operates. It's not a matter of finding a book, but rather of finding the right book.


I'm just trying to think of an open source tool where a comprehensive book (online or off) or some sort of documentation isn't available. Can you give an example of what kind of book you were looking for?


There is one definite book for Django, and it is very, very good. Why should be there any more?


A part of programmers's job is to chose most appropriate tools to get the job done. It equally applies to hobbyists and professional programmers. However, licensing terms does not cause quality of tools and their documentation, it could only correlate to some extent.

The barrier you're talking about is research/learning cost. When you - for example - already have some knowledge of MS stack, unknown lands of GNU or Apple would even feel alien, so cost of using it would be higher. The opposite would be equally true. Just imagine an iPhone developer being offered to use MS stack, instead of Apple's one he's already used to.

Then, there're also personal tastes...


If you simply enjoy having a large organization fix a lot of your design choices ahead of time, that's perfectly fine. You've got a lot of company. But don't pretend that everyone else lives in an ideal world because they are willing to take on more of the developer and design responsibilities than you are comfortable with.


I think that in the future, I wouldn't expect everyone's kids to be know enough to provide patches for software they use. Rather, there has to be a responsive community of developers around the product, with a good TOOL (like a bug tracker) which the kids could use to report a bug and anther TOOL to capture the bug in the app and send the extra info.

While everyone would have the freedom to contribute patches, most people aren't going to be educated along this line, or know the product very well. It is the tools that we must improve, although the principles of software freedom enforced in the GPL help protect people.


It's the difference between "may" and "must". You think I'm saying "must", but I intended to express "may".


That's much better. May be a developer. May engage the services of a developer. May benefit from unknown developers somewhere halfway across the world.


This is true, but I would also like to point out how many people became web developers because they could look at the source code being fed to the browser -- through its View Source menu item. That menu item alone made website code basically open source (very few websites obfuscated it). You could see HTML, CSS and Javascript out in the open.

Certainly, free software is a grand revolution in the principles that guide innovation, and protect people's use of the software. But the game is won often by making better tools to actually make the open source happen. Look at git and github. Look at the practical system set up by linux developers before git. Look at wikipedia and the wiki. I could go on.

I have a big respect for the ability of better tools to change people's behavior patterns and habits, and over time change the world.


> In an ideal world, the user and the developer are one in > the same.

What a horrible horrible horrible world. Luckily, that ship has sailed. In the ideal world everyone has tools which just happen to work for whatever particular task user has, be it a composer or doctor without the need to wast the time for fixing them.

This precise sentence I quoted explains why stallmans are more and more out of touch with the reality and the real needs of computer users. Computers are just tools for the majority of they users, just a means to get task done.


I am not that old and I remember a time where there was no open source movement. I most certainly do not have open source to thank for my coding skills. I learned to program when I was 3 on an apple IIe in "apple basic" There was no open source going on then, no stack overflow to ask someone else what to do, no mentors in my neck of the woods either as home computers were fairly new at that time.


> In an ideal world, the user and the developer are one in the same.

I have always understood this freedom as "You are free to find someone you like who'd be able to change it and not be forced to make use of your expensive support contract with the one and only vendor". As mentioned elsewhere, there are people who needn't know anything about code, but they'd profit from the software being free too.


"I don't mean everyone who uses a piece of software should have to know the code intimately; merely that they should have the freedom to see it, modify it and learn from it, should the need or desire arise."

Hopefully, in your ideal world, this doesn't take away the freedoms of the developers that don't want to release their code.

"You're mostly too young to remember the world in which code was closed, by default, and you had to learn without the benefit of an infinite variety of examples to peruse"

This would have happened even without the GNU license. Anything that can be digital is being shared on the Internet, regardless of the license.

"and so that the gap between the technology haves and have nots does not grow further and faster."

This doesn't really make any sense. Most people will never look at the source code...so the absence of a license that gives you the right to tinker with the inner workings of an application won't really have an effect on the "technology haves and have nots". We should be more concerned with people that can't eat.

"Note that I'm not discussing licenses here, but the general culture of software. If we have a culture of sharing, which RMS and the FSF has been instrumental in creating (and the GPL was merely a part of that), we have a culture in which young programmers can learn from the experienced, and a culture in which barriers to entry are not as economic in nature."

Which is funny because this right here is devaluing programmers' salaries every day. Because there are so many free apps out there, companies can hire less experienced developers for less pay (IE: mechanics instead of engineers). It's one of those things that nobody will notice until it's too late. I suspect at this point, we will start to see programmer unions to keep wages at an inflated level. So, when your company decides to replace you with someone cheaper or goes over to India or the Philippines, don't complain.

I also don't think the word "free" should be used to describe GNU software. It implies free, as in price. It also implies that you can do what you want with it. If a corporation decides to change the code around, redistribute, and close-source it, they will get sued. This doesn't sound very free to me.

Even if they closed-sourced the application, the original source code is still free. You just don't get the changes (which were never yours in the first place).


"Hopefully, in your ideal world, this doesn't take away the freedoms of the developers that don't want to release their code."

Nowhere have I suggested that anyone should ever be forced to do anything. Using a straw man as your opening salvo here really doesn't say anything good about your position or your arguments.

"This would have happened even without the GNU license. Anything that can be digital is being shared on the Internet, regardless of the license."

As I mentioned, I'm not talking about licenses here. I'm talking about the culture of free and open source software, which the FSF and RMS were instrumental in helping to build.

And, I don't consider piracy a useful kind of sharing. You can't learn from pirated software, and you can't give back to pirated software. Pirating software is a net negative for the world (probably, and in most circumstances). While sharing software under an open license is a net positive (probably, and in most circumstances).

"Most people will never look at the source code...so the absence of a license that gives you the right to tinker with the inner workings of an application won't really have an effect on the "technology haves and have nots"."

Most is not all. Some people will look at the source code, and some of them will become contributing members of the community. If they arrive to a culture of sharing, teaching, and learning, that's what they will bring to their own family and friends. You and I are not magical unicorns of uniqueness. The elements of our personalities that drove us to become hackers exists in millions kids all over the world, and if they're exposed to software that has open windows into its operation they will learn from it.

"We should be more concerned with people that can't eat."

It's two sides of the same coin. People who know technology are among the best paid people in the poorest parts of the word.

Software is what I do, so I try to make what I do as positive for the world as possible (while still making a living). If I were a Dr. perhaps I'd volunteer at a clinic. If I were a scientist, I'd want to work on something that makes the world better. If I were a politician, perhaps I'd kill myself and make the world better that way. But, software is my business, so I use it as best I can to help people.

"Which is funny because this right here is devaluing programmers' salaries every day."

Citation needed.

"Because there are so many free apps out there, companies can hire less experienced developers for less pay (IE: mechanics instead of engineers). It's one of those things that nobody will notice until it's too late. I suspect at this point, we will start to see programmer unions to keep wages at an inflated level."

This is very fragmented thinking, and I'm having trouble following it. If programmers aren't needed, a programmers union will have no effect (because you don't need to hire programmers; you just hire "mechanics"). And, if wages are at an inflated level, then market forces should be working to bring them down. That's what the market is for. But, it's not. There are more programming jobs than ever, because software is more important and more valuable than ever.

More code equals more developer jobs. Open Source and free software does tend to drag down the extreme ends of the software cost spectrum. Databases, for example, have become a commodity in all but the highest end use cases. But, that's OK. It frees up funds for building higher level tools on top that increase business efficiency, which can cost a lot until they, too, get commodotized. That's the nature of the market, and Open Source/Free software just helps it along.

"So, when your company decides to replace you with someone cheaper or goes over to India or the Philippines, don't complain."

Here's where the conversation starts to get funny. I'm co-founder of my company (that shouldn't be surprising; the majority of people at HN have started a company or are planning to). The only way I could be replaced is if the company fails. Perhaps funnier, my company produces 95+% open source software, and I've been involved in Open Source projects for 13 years. Working on and with Open Source software has been the entirety of my professional career, in fact.

We're also a distributed company. We hire people overseas when they're the best person for the job. My co-founder was in Australia when we started the company. Our first employee is in Pennsylvania. We're interviewing frontend developers now, and one candidate is in Eastern Europe. I don't see how that's a bad thing. People in India, the Philippines, and Eastern Europe deserve opportunities just as much as white folks in the good old US of A.

"Even if they closed-sourced the application, the original source code is still free. You just don't get the changes (which were never yours in the first place)."

Yeah, I know how the various licenses work; you're not enlightening the unwashed masses here. We have both GPL and BSD licensed code (500k+ lines of it, in total). If I write the code, I get to decide how it's used. Them's the breaks...if you don't like it, you can write your own. Sometimes I want software that I write to be open in all its forms, including derived works.

Anyway, as I mentioned, I'm not talking about licenses in my discussion of freedom and sharing, and I explicitly mentioned that the things I consider important can happen with other licenses. You're just looking for a flamewar, as it has become apparent is extremely common for BSD fanatics.


>Open Source is about the developers. Free Software is about the end users (or, it's supposed to be).

Yes, this.

This might be an unpopular view but "free software" (in the sense talked about here) is unencumbered for the users only. For developers it is encumbered (via the GPL). Open Source makes a different trade-off for the same gain.

This is the thing Stallman consistently misses; that Open Source and Free Software are simply two different solutions to a similar issue. Free Software sacrifices the freedom of developers when reusing the code. Open Source sacrifices a developers future porential ability to keep all uses of the code freely available.

He throws out the word ethical, I think, because it makes FS sound better. But the bottom line is that both ideals have underlying issues and problems; the brilliant thing is that there is a choice between the two, and we are free to pick the one that makes the trade-off we prefer.

The really great thing is that the real world is not as black and white as FS & OS; we can mix and match various aspects for our own preference :)

That is the point of freedom.

I suppose I can't fault Stallman for promoting his personal choice as best he is able.


"In reality, Free Software ends up being useful only for programmers, hackers, technical people,"

That is like saying that freedom of speech is only useful for journalists.

You don't have to exercise a freedom to benefit from it. You benefit from others exercising it too. Whether a journalist exposes government corruption, or a security experts independently audits OpenSSL, everyone benefits of the relevant freedom being exercised.

You don't have to be a programmer for benefiting from DeCSS. You don't have to be a hacker to benefit from Apache. You don't have to be a technical person to benefit from WordPress.

The same applies to the reversed, you don't have to be a programmer to suffer from DRM, vendor lock-in, or nag-ware.


"The same applies to the reversed, you don't have to be a programmer to suffer from DRM, vendor lock-in, or nag-ware."

ahh, so you don't want software to be commercial, is that it?


As he admits, "Open source is a development methodology; free software is a social movement." A comparison of the two is apples-to-oranges.


You make it sound as if universities and governments (and Apple?) do not offer services which benefit people who do not directly use the software themselves.


I personally think, the user/developer distinction is misleading. I agree with Stallman that Open Source is about different goals and values:

* Open Source supporters say "Some software should be..."

* Free Software supporters say "All software should be..."

In this regard, you're right: Free Software misses the point of Open Source, namely that the goals and values of Free Software are simply wrong.


In the Free Software model, there's no such thing as an end-user. Everyone gets to be a developer (for themselves or their friends). That's why it's so developer-friendly.


unfortunately, when you build your software on "everyone gets to be a developer", more often than not it comes out as "everyone has to be a developer".


Yes, egcs and xemacs (and at least partly clang/llvm I think) are shining examples of the FSF's developer-friendliness.




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

Search: