Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why Open Source misses the point of Free Software (gnu.org)
113 points by rfreytag on March 20, 2014 | hide | past | favorite | 256 comments


The point, for me at least, is to increase the total volume of freedom in the world. Here is a radical thought: Western Civilization hasn't reached "freedom peak". The freedom level can continue to rise or it can decrease. Peasants in the Middle Ages probably thought they were free. We think we are free. How silly do we think those peasants were? How silly will future generations think we are?

It depends. If everyone just shrugs their shoulders, then we can easily slide back to the Middle Ages. Freedom is not monotonically rising all the time. What I, who likes computers much more than people, can do to generate freedom is write free software. It's not much but it provides value and proves that valuable stuff can be produced without a profit motive and that salary slavery isn't necessary to ensure that good software is programmed.

That's why I like the GPL. In a way that is saying "This is highly valuable software, but you can have it for free, provided..." vs BSD "Do whatever you want with this shit I just wrote for fun." Free software is great fun and I contribute to it only because I like writing code, but as a side effect of that I'm also, well, improving the world one tiny step at a time.


So GPL'd software is highly valuable where BSD'd software is just hobbyist stuff...because of the license?

Less loaded (and more accurate) one-liners might be...

GPL: you may use this code, provided you follow rules representing my views on software freedom.

BSD: you may use this code however you see fit.

Which approach fits with your personal philosophy depends on you. But certainly BSD does nothing to lessen the highly valuable software licensed with it. OpenSSH, sudo, and many others, for instance.


You can spin these lines any way you want:

GPL: You can use this software however you see fit as long as you provide the same courtesy for everyone else.

BSD: You can have my labor for free, and then profit off it all you want. Call it free money, you're welcome.


Those are fair enough comparisons. In fact, I think you've hit upon something there. If the idea of someone benefitting from your work in terms of money bothers you then BSD/MIT/ISC licenses seem bad. Personally, I'm fine with it. Apple takes FreeBSD userland and makes money? Ok! We still have FreeBSD. Someone incorporates OpenSSH code into a non-free for-profit Windows program? Ok! We still have OpenSSH.


> We still have FreeBSD. Someone incorporates OpenSSH code into a non-free for-profit Windows program? Ok! We still have OpenSSH.

There is an argument that if a high enough proportion of the FLOSS ecosystem's software ends up being adopted into proprietary products, then the community could happily move to using those proprietary products instead and then there will no longer be enough momentum in development of free upstreams and we will lose the "still have FreeBSD" and "still have OpenSSH" cases.

This argument suggested that there needs to be a certain amount of GPL software in the ecosystem to prevent the balance from being tipped this way.

This is my recollection. I have not been able to find any kind of reference to this, but I hope you get the idea.


Can you give a single example of your concern?

You're responding to real world examples of copy middle projects and proprietary descendants coexisting happily with vague fears but no examples.


Indeed.

SunOS/Solaris vs the free BSDs?

Illustra vs Postgres?

Oh wait. I found one:

Internet Explorer vs. Mosaic.

As I pointed out in my blog post (linked below), history is littered with the corpses of proprietary spinoffs of free/open source projects. It is telling that the only example I can find currently of a proprietary spinoff eclipsing the open source version currently a) had to be released free of charge and bundled with another program, and b) is now facing renewed competition from free/open source competition in the form of Firefox and Chrome.

So it seems to be an exception which proves the rule. Proprietary spinoffs cannot, in the long run, outrun the community.


> SunOS/Solaris vs the free BSDs?

This actually seems like a counter-example: the commercial spinoffs have totally dominated in comparison to the free BSDs, which have never had particularly large market share. Through much of the 1980s and early 1990s the free BSDs had approximately zero users, whereas their commercial spinoffs had hundreds of thousands! The BSD licensing also allowed AT&T to reincorporate large chunks of the BSD code back into AT&T Unix (even Microsoft borrowed some of the sockets code for Windows). This situation was only disrupted in the 1990s by GNU and Linux, not by the free BSDs, which re-arrived only later. And even as Solaris declined, the free BSDs didn't manage to capitalize and gain its market share.

On the desktop, of course, a proprietary spinoff of the free BSDs completely obliterates the usage numbers of FreeBSD and PC-BSD: Mac OS X. It's not a pure spinoff; it also includes permissively licensed code from the CMU Mach project, among others. And it's at least semi-proprietary: Apple does release some code, but it's both incomplete and doesn't even build, so there is no free version of Darwin you can actually run.


How is SunOS vs Solaris doing now?

Yes, they outran them for a while, but the only way Solaris is even surviving at all is because Sun returned it to an open license. How many users are on FreeBSD vs OpenIndiana?


I see it more in terms of user-years. Solaris got millions, FreeBSD got a tiny number. OS X now has quite a lot. The free BSDs have never been a serious force by comparison. It's not like you get to erase the 1980s and 1990s because the 2000s came after them, especially if nothing impressive happened in the 2000s either; enabling a decade+ of Solaris matters.

I think Solaris did convincingly outrun BSD. Then they were both killed by Linux. FreeBSD might be doing slightly better on life support, but that is not a great consolation prize, when Solaris did much better in the prime of life. Although I'm not sure even today the free BSD derivatives have more users than the proprietary BSD spinoffs, if you add up AIX, Oracle Solaris, HPUX, etc. QNX and derivatives like Blackberry also include considerable BSD code.


But you really have no way of verifying if these proprietary products are using permissive code. They can just run with it and save themselves a lot of work off your labor, but who knows what modifications they made.


I don't have objection to people benefiting from my work monetarily. I have some objection to people benefiting from my work by exerting power over others. How much objection and whether it is sufficient to motivate GPL (or AGPL) depends on a whole host of factors, definitely including the nature and extent of that power.


The question, really, is what you get out of it. Again, I don't like the MIT license because it allows for license changes without actual code changes.

But the question is what you get from proprietary spinoffs. If you are afraid that proprietary firms will drive away the more free software products, then the GPL seems best. On the other hand if you accept that the community will eventually prevail, then you get to see where folks think the market is, and where the community version should go to be more successful.

I wonder how Green Plum is going to deal with a BSD-licensed competitor being Postgres-XC....


more importantly I think, the BSD license allows you to think up new stuff, incorporate it with what I wrote, then not share it with the rest of the world. GPL means that every commit raises ALL boats.


> BSD: You can have my labor for free, and then profit off it all you want. Call it free money, you're welcome.

There's a lot of software that is licensed under BSD which, for the most part, is sponsored by corporations. If you decided to license the software under BSD (e.g. you and the authority to do so) the likelihood that you're not making a living is relatively small. Because why else would you have released the software under such a liberal license?


Not really. Here's how I look at it:

GPL: This work must remain in the commons. Any improvements you make must be put back to the commons if you distribute it.

BSD: I own my work. You own your work. You can use my work to create your work. We recommend you put your contributions back into the commons.

In the end, the BSD license does heavily incentivize commons, but it doesn't require them. That's the difference.


I guess from my perspective I don't see why I would agree to license my work under the BSD's terms, unless I had already concluded it had negligible monetary value. I own my work. You own your work. But why should I let you use my work to create your work? The traditional answer is the capitalist one: because you paid me a license fee. An alternative hippie-ish idealist answer is the "commons" idea: because we both agree to dedicate our work to the commons, and everyone gets each other's work for free.

But if you don't reciprocate by also dedicating your work to the commons, why should I give your proprietary product a free license to use my product? Being a blue-blooded capitalist, you aren't going to let me use your product for free; why do you expect better terms from me than you yourself are offering? If you expect me to buy a license for your product, it seems perfectly fair that I also expect you to buy a license for my product. The GPL in a sense formalizes that expectation.

(It's worth noting that this line of argument is on quite different grounds than what RMS argues, though. RMS is primarily interested in the right of downstream users to modify their own computer systems, not in game-theoretic choices of software developers.)


> I guess from my perspective I don't see why I would agree to license my work under the BSD's terms, unless I had already concluded it had negligible monetary value.

Because you want contributions from others and want to work in a vibrant community. And if you are modifying a BSD-licensed project, you probably want to encourage others to maintain your code (what this means is you will, if you want to have a successful proprietary fork, contribute almost everything back, so as to cut your maintenance costs).

> The traditional answer is the capitalist one: because you paid me a license fee. An alternative hippie-ish idealist answer is the "commons" idea: because we both agree to dedicate our work to the commons, and everyone gets each other's work for free.

I think that misunderstands the purpose of the commons. Commons exist because there is value in pooling resources. Commons of course, only work when there are benefits and contributions are aligned. Here, maintenance costs are reduced by contributions, and you get access to the works of others.

Let's look at how this works with regard to PostgreSQL. There have been a number of proprietary forks in the past, including Illustra, Mammoth, Green Plum, EnterpriseDB, and more. In general these have all prospered when they contributed back significant work to the community, but when they didn't they found themselves cut off from community resources. Of these 4, only two are alive today, and one of those is facing renewed competition from free a free alternative (Postgres-XC).

So you have a carrot and a stick. The carrot is that you can make marginal changes around the edges for your target market, particularly if the community doesn't want those changes, and you can release a proprietary product with that, using the work of everyone else. The stick is that if you don't contribute back, you will find yourself cut off from that free labor and in competition with it, and that competition is not one you can win.

> (It's worth noting that this line of argument is on quite different grounds than what RMS argues, though. RMS is primarily interested in the right of downstream users to modify their own computer systems, not in game-theoretic choices of software developers.)

Right, but I am talking about the right of software developers to largely work as they see fit, which strikes me as the best definition I can find. To do this, you have to have decentralized control and a movement away from a corporate-centered model. In this regard, the BSD license is a better and more radical alternative regarding freedom than the GPL is, because it insists that freedom serve practice rather than the other way around.


> Right, but I am talking about the right of software developers to largely work as they see fit

I guess overall I'd see this as actively harmful. What's important is the rights of users; the rights of software developers to harm users are not rights worth saving. But furthermore as a developer who is not a large corporation, I don't even see the advantage of letting my code be incorporated into the next version of Windows or Matlab or whatever without payment or reciprocity, as semi-frequently happens to BSD-licensed code (there is a ton of it in both Windows and Matlab). Whereas at least a portion of the people who held out for payment have gotten paid (both Windows and Matlab also include quite a bit of licensed and acquired code). If I was a large company open-sourcing a codebase where I wanted to foster a community of other vendors around it, maybe, but I'm not. I'm a person who writes moderate-sized bits of stuff (mostly AI-related) that someone might incorporate into various applications. And if they want to do so, I'd like them to either: 1) reciprocate; or 2) pay me.

But as for the rights of software developers to work unhindered: Pragmatically, I do not think that software developers are, overall, well-intentioned, especially if you consider the overall profit-driven system they/we work within. Hence maximizing their freedom to screw people over is generally a negative, and certainly not guaranteed to align with the freedom of users to work on open platforms. Look at Apple's walled garden as an example of harm that the FreeBSD project has negligently enabled. If anything I think what the BSD license does is remove any restraints on corporations' power, by providing them with unrestricted raw material that they can exploit using their market power without even having to build a big portion of it themselves.


> I guess overall I'd see this as actively harmful. What's important is the rights of users; the rights of software developers to harm users are not rights worth saving.

Is freedom of economic value? If it is, then a proprietary spinoff must offer enough value to not only make up for the license cost (vs free download) but also to make up for the loss of freedom.

If freedom is of economic value, then end users can protect their own interests.

With the GPL you have a very different danger, which IMO is actually worse regarding loss of freedom. It goes something like this:

1. Company offers GPL software and sells license exceptions.

2. To do this they require code contributions be signed over to them with exclusive rights and ownership.

3. One day they decide that the GPL version isn't benefitting their business anymore, and they go fully proprietary. They release a new and improved version with compelling features under a purely closed source model.

With BSD-licensed software this can't happen because you can't start at #1.


> Is freedom of economic value?

In general, I think it doesn't have any realizable economic value. Large numbers of users have neither enough control over capital, nor enough organization amongst themselves, nor enough knowledge about software, to wield effective market power. They may realize much later that something they wanted to do is now illegal, and retrospectively regret it or even lobby politicians to do something about it, but they probably won't realize up front that by going to walled gardens there are significant problems.

(This is speaking mainly of regular end-users, not users of specialized software that appeals to techies.)


> In general, I think it doesn't have any realizable economic value.

Then this is where our disagreement is.

> Large numbers of users have neither enough control over capital, nor enough organization amongst themselves, to wield effective market power.

Why is organization required? If you were building a new piece of software, would you prefer to start with open components or closed ones? If you had a business and needed a tool, would you prefer one that could be customized to support your unusual business processes or one where you must structure your business around the software?

In some areas, maybe freedom is not that important (consumer entertainment, for example), but I think you greatly underestimate the value that freedom brings to any productive endeavor.


If you were building a new piece of software, would you prefer to start with open components or closed ones? If you had a business and needed a tool, would you prefer one that could be customized to support your unusual business processes or one where you must structure your business around the software?

You still seem to be speaking almost entirely about developers and companies. I care about regular people who use computers, and their freedom to do so. When Apple encumbers OS X, to me that's important, and impacts many people, and to a large extent how society operates. Whether some company building a webapp has a problem with the AGPL, I generally don't care; that goes in the same category of two companies disagreeing over whether a proposed license fee is too high, business details.

As an example of why organization is required: in states which don't ban it, companies are generally able to insert non-compete clauses into employment contracts. This is because individual employees signing employment contracts usually have a mixture of too little individual market power, and too little legal knowledge. The only real way to do away with noncompetes, despite very wide agreement that they're bad, is to either: 1) organize into a union that negotiates better contract terms on your behalf (done in some fields and countries, not in American tech); or 2) pass laws that ban the onerous terms entirely (what California did with noncompetes). Generally, individual contract-signing does not maximize welfare.


> You still seem to be speaking almost entirely about developers and companies.

I am speaking about people making things. It could be someone building computers and combining software, someone developing software, or a company doing things. However I don't really see a difference here between a company and a household.

Besides, what goal is served by the end user for the right to study or modify code which is applicable to those you seem to believe will never be developers?


GPL: You can have my labor for free, and then profit off it all you want. Call it free money, you're welcome. But there are some strings attached and certain things you may not do.


Free Software and GPL is about users. It puts users first and then developers. FSF considers that freedom is a social problem than a technical problem.

Open Source is about businesses and the technical merits of the software being freely available.

IMHO, BSD, MIT/X licenses put developers and their rights first and only then the users.

That's my view of the Free/Open source licensing landscape.


I do not like the user/developer distinction. The license deals primarily with copying, it is a copyright issue after all. If you are a user and do not copy the code, the license does not concern you. If you copy the code, the license binds and obligates you in the same way it binds and obligates developers who copy the code; there is no distinction. Developers often are users too. And many of the GPLs goals seem to have everything to do with enabling the user to become a developer (or hire one, same difference).


"If you copy the code, the license binds and obligates you in the same way it binds and obligates developers who copy the code; there is no distinction."

The distinction arises because of differences in motivation. If I distribute the work, I'm obligated to provide the source. If I have made no changes, who cares? If I was able to refuse to provide the source of unmodified builds, users who wanted the source could just get it from upstream. It's developers who want to make changes and refuse to provide sources that wind up feeling like the GPL is meaningfully restricting them.

"Developers often are users too. And many of the GPLs goals seem to have everything to do with enabling the user to become a developer (or hire one, same difference)."

Very true. That's a freedom it's important to preserve.


First, I don't like the MIT license because it allows license changes without additional code contributions. The BSD license doesn't grant sublicensing rights and therefore only allows restrictions to be placed on new code contributions.

Also IMO the only way to read the BSD license and GPL v3 as compatible are to read section 7(b) in the GPL v3 as allowing additional copyright license/permission grants beyond the additional permissions section elsewhere. I.e. one must read 7(b) as allowing a legal notice that the author grants rights in a non-removable fashion from his or her contributions (narrowly scoped). Otherwise, the BSD license is GPLv3-incompatible.

If freedom is economically valuable, then folks who proprietize BSD-licensed software can never outrun the community over the long-run, and it also follows that, equally in the long run, more restrictive licenses will have to fall in favor of less restrictive ones.


I have heard that before but I've never understood it. As a user of software myself, I can't think of cases where BSD-style licenses have let me down rights-wise, freedom-wise, etc.


This seems like a very fair summary.


BSD is more like: you're free to buy a gun and kill anyone you want.

GPL: you're free to buy a gun, but can only use it in self-defense.

That's why GPL feels "restrictive" - but in a good way - to preserve the freedom of the software in all instances of it.


To a first-order approximation, possibly. On the other hand, the BSD license encourages fragmentation (or at least doesn't discourage the natural tendency to fragmentation), which does lessen the value of the software because network effects, among other things.


> On the other hand, the BSD license encourages fragmentation (or at least doesn't discourage the natural tendency to fragmentation), which does lessen the value of the software because network effects, among other things.

But network effects themselves discourage fragmentation independent of license.


Fragmentation can be a powerful tool when you're a large player in a market. Consider the "embrace and extend" strategy.


Very true. However, network effects at the scale of an individual decision are weak. If I am considering taking some package proprietary, adding a feature, and selling the modified package, I am faced with the decision of whether or not to give myself a strong, if temporary competitive advantage. Sure, the original package may catch up with me, but if I play my cards right I'll be playing Scrooge McDuck in my basement vault by that time. Further, the catch-up date can be delayed if I hire as many smart people from the package as possible to work on my fork.

Or, it may never catch up, if fragmentation (or any other effect) destroys the market for the product in the mean time. I've wondered if that had any role in the rise and fall of Lisp machines; I'm a little too young to have direct experience there.


In practice, however, what typically happens here is that you have your killer feature you want to sell, but will find other things you want to fix. You don't want to maintain all of your fixes yourself, so you try to modularize your enhancement off, and contribute everything else back.

Failure to do this means you end up with high maintenance costs if you want to pull in enhancements from future versions. So the fragmentation tendency is only partial. You have to either fully go your own way (usually suicide) or you have to give almost everything back (which opens up the possibility of competing with the community).

Sure people may choose unwisely. They will suffer the consequences and maybe learn lessons the hard way. ;-)


Correct me if I'm wrong, but something with a BSD license can be turned into proprietary software if you make a derivative of it. At least with GPL, all derivative software has to remain GPL compliant.


That's not really correct. The derivative work can be proprietary, but the original work is still BSD-licensed. So in no way has the original BSD-licensed code been "turned into" proprietary code.

And you could argue that being able to keep derivative works proprietary means that BSD-licensed code is more free (as in freedom) than GPL-licensed code. You're free to do whatever you want with BSD-licensed code, including making a derivative work and keeping that derivative work proprietary.

And it's worth mentioning that the GPL only applies until the copyright on the software expires. At that point, the code becomes public domain, and then anyone can do whatever they want with it, including making a derivative work and keeping it proprietary. So BSD-licensed code is a closer approximation to public domain code than is GPL-licensed code.


> And you could argue that being able to keep derivative works proprietary means that BSD-licensed code is more free (as in freedom) than GPL-licensed code

You are misunderstanding one point, though. Free Software is not about the creator's or the contributor's freedom, it's about keeping the piece of software Free to be modified. And a BSD license does not guarantee that the derivatives remain Free Software, hence that's why it's regarded as highly as GPL in that aspect.


True, and the MIT license can without even making a derivative of it (because you can pass on only a portion of the rights granted by the license and become a new licensor).

But the question is how much one is encumbering the work of others.


That's right, and on purpose.


Word, thanks for cleanly explaining this to people.


Something interesting that I never thought about before:

Arguably, the BSD license in this case allows for more freedom in the short term (I can do whatever I want with this software...awesome!). But the GPL license, especially the older ones, helps promote a particular version of freedom in the long run. It's an interesting case.


"especially the older ones"

Why especially the older ones?

I'm not objecting to your claim, I'm interested in your reasoning.


It weird to me that the free software license is more restrictive than other licenses. GPL maintain the end user freedom, but not the freedom of the programmer.


That's a play on words.

I believe freedom of one person ends where freedom of another person starts. Freedom to steal, freedom to kill, freedom to harm are not seen as positive things. Countries and societies all around the world restrict or forbid them.

Freedom, when out of control, can result in bad outcomes. http://en.wikipedia.org/wiki/Partitions_of_Poland Poland disappeared off the map because nobility and clergy had too much freedom. Most infamous was /liberum veto/ "This policy of parliamentary procedure was based on the assumption of the political equality of every "gentleman", with the corollary that unanimous consent was needed for all measures. A single member of parliament's belief that a measure was injurious to his own constituency (usually simply his own estate), even after the act had already been approved, became enough to strike the act."

Unless you're a hardcore anarchist, you have to draw the line somewhere.


> I believe freedom of one person ends where freedom of another person starts.

Nobody will disagree with that. The question is where to draw those lines.

> Freedom to steal, freedom to kill, freedom to harm are not seen as positive things.

As Cicero pointed out (in "De Republica"), these things would prevent humans from living together in cities.

I am a classicist. I look back to Plato, Aristotle, and Cicero far more than I do Locke. As far as I see it, the goal of the economy is to serve the household, not the other way around.

> A single member of parliament's belief that a measure was injurious to his own constituency (usually simply his own estate), even after the act had already been approved, became enough to strike the act."

And yet Quakers have shown an ability to make a universal veto work. The key thing though is what you pointed out: universal vetos weaken central authorities and return the power to small regional entities where people can more easily work together. This is a good outcome.

The question really is how to define Freedom. Stallman tries to follow in FDR's footsteps of four freedoms. But in both cases you have logic which then requires centralization as a matter of policy, and then freedom in the service of freedom becomes self-consuming.

Here's my radical idea: freedom requires limits, to be sure, but freedom is defined by the space within the limits. I.e. freedom is a matter of partitioning, physically or metaphorically, something in order to give people a right to control their own space. The freedom which then matters is economic freedom, and by this I mean the right to engage in economic production and trade without micromanagement from outside. To put it another way, it's one thing to have to do the dishes. It's another thing to be told not only to do them but be micromanaged in how one must do them.

Evaluating software licenses from this perspective then gives one the sense that those licenses that the FSF is willing to call Free Software Licenses do not universally as a group deliver more freedom than proprietary software licenses. The AGPL places many more restrictions on products and services delivered with the software than does the license for the Microsoft Visual C++ runtime library when obtained as part of development tools.

So the question is: what can someone produce? What are the limits there? Who is making those decisions? So I side with the BSD folks.


In my opinion small regional communities can only exist in isolation. I don't see how such communities could defend against an aggression by a strong state-backed military. Putin is having a great time picking off countries one by one. Maybe if someone comes up with an anarchist religion, something that strongly motivates people to seek out and destroy governments before they grow.

I think it's like snipers in FPS games - the only thing that can REALLY stand up to a sniper is another sniper.


The confusion is only there because the English word "freedom" has more than one meaning.

Freedom might mean a lack of restrictions, by defining it as contrast to what it is not. On wiktionary, this is definition #2[1]. BSD is a good example of a license with few restrictions.

Freedom might mean liberty as a philosophy. There it is the is the quality individuals have to control their own actions[2]. Understanding liberty involves how we imagine, and structure, individual's roles and responsibilities in society. GPL is a good example of an license that tries to achieve liberty in today's society.

[1]: https://en.wiktionary.org/wiki/freedom

[2]: https://en.wikipedia.org/wiki/Liberty


The only freedom denied to the programmer is the 'freedom' to restrict the freedom of users. That's not a freedom I care to protect.


So by combining code from two different "free" projects the developer would be restricting his users' freedom? Alright. So the developer can't give users that sort of code. The user has to do it himself, that is freedom after all. But doing that, the poor user essentially becomes a developer, and so he cannot distribute his thing to other users. That would be restricting the other users' freedoms. Right?

Or how about this: imagine for a moment I'm not a programmer. I'm just a poor user, and I take some code under GPLv2, fetching it into /tmp as I usually do. Maybe the code doesn't work straight out of the box, so I search a little and find a hack to fix the code (but I'm still not programming it, just applying random advice from the net). Cool, I get the code working, install it into ~/home/ or /usr/local, whatever. After some days a friend finds out I've got this cool software running and he's not so savvy with the computer but he wants that software.

Sharing is caring alright, so I zip up the binary & associated data files and send them his way.

Whoops, I just violated the license.

The license has a death clause that ends my rights when I violate it.

I'm just a poor user, and now the freedoms granted to me are gone. Or did I really have freedom to begin with?

EDIT: Actually, I'm pretty sure I've violated the GPL this way, more than once. Years ago I ran Gentoo as my main OS, and many of my acquaintances did too. Every once in a while the OS kinda pooped itself and friends asked friends to hand them a copy of a working libwhatever.so.whatever or somesuch. Some of these were patched by Gentoo, some of these might've been altered by me too. Sometimes we shared other binaries that had nothing to do with Gentoo per se.

In any case I never gave these people a written notice saying how to get the source, nor did I host the source for three years, nor did I share the source when I copied that binary to a place where a friend could grab it. I was just sharing. The code is free, right?

Now I know better. I no longer redistribute GPL-anything, because screw all these restrictions. It is not free.


> Now I know better. I no longer redistribute GPL-anything, because screw all these restrictions. It is not free.

I prefer BSD licenses, to be honest, and anything I write from scratch these days is under those licenses. But there are cases where projects are forked and it is not really possible to change the license.



There aren't very many programmers. There are a vast number of end users. Even programmers are end users of each others software. If the goal is Freedom, it's not weird at all.


"BSD" -- take it, do whatever you want

GPL -- keep it free

The latter allows us to program in 20 years without asking a corporation for permission.


What allows us to program in 20 years without asking a corporation for permission is people (and corps) who release their code under a free license and share it.

I have BSD-licensed code with copyright notices from the 80s on my system. Yes, I run a BSD.


> What I, who likes computers much more than people, can do to generate freedom is write free software.

Life is not that simplistic.

So you wrote a new CRM suite and made it free. This put a bunch of shops out of business, because their clients bolted to your free alternative.

The owners of those businesses have less "freedom" now. So do the employees. But the users of your free software have more "freedom", because they now have more money to spend on other things and make their life better.

Is there some aggregate increase in freedom? I have no idea and neither do you.

Do what you want to do. If you want to write software and make it available for others for free, go for it. If you want to sell it, that's fine too.

But whatever you do, no preaching, please.


> The owners of those businesses have less "freedom" now. So do the employees. But the users of your free software have more "freedom", because they now have more money to spend on other things and make their life better.

NO, they had a rent, and they lost their rent because it became irrelevant. They haven't lost their skills, so they are still free to go and look for other rents to make.

Note that this rarely happens in the actual world. There are tons of products where proprietary offers are better than FOSS tools. That's how can continue being relevant while doing proprietary software. Or, even if you are not "better" than the free software offer, you can offer paid support for your application, etc... and function as a service company and not a product company anymore.


Do what you want to do. If you want to write software and make it available for others for free, go for it. If you want to sell it, that's fine too.

You're confusing free and Free. My job is writing Free Software, but you can't get all of it for zero monetary cost, since it's not online except for clients of ours (and nobody has ever asked us for the source).


So you wrote a new CRM suite and made it free. This put a bunch of shops out of business, because their clients bolted to your free alternative.

If this is actually a problem it all, it's a matter of software with zero monetary cost, which could be true of open source software, proprietary software, and "free software".


> Is there some aggregate increase in freedom? I have no idea and neither do you.

Yes there is, for the same reason that the third billy goat gruff increased aggregate freedom by butting the troll off the bridge.


I feel like you are preaching against his preaching – which is a good debate and I enjoy it and all – but you had the stronger argument with "put a bunch of shops out of business."


> The point, for me at least, is to increase the total volume of freedom in the world.

Yes, absolutely. This is something I rarely hear mentioned. Many people consider freedom only as a local optimisation problem. This is why some people argue that the BSD licence, or the public domain, is "freer" than the GPL. It's true that if you receive a program which is in the public domain that your personal freedom is maximised with respect to that current program. It's also true that if you receive a program licensed under the GPL that you have less personal freedom (you now lack the freedom to deprive others of the same freedom you received).

But we can do better than this. Freedom is a global optimisation problem. Locally optimised freedom is called divide and conquer. Copyleft is the best solution that I'm aware of for the global optimisation problem. It should also be noted that copyleft itself only needs to exist in order to "undo" the effects of copyright. Public domain would be a trivial solution to the global problem if copyright didn't exist, or at least didn't exists in its current form whereby it automatically attaches itself to anything and everything. Having a world where both copyright and trivial copying by each member of society exists makes this a non-trivial problem.


Very astute on local vs global optimisation.

>copyleft itself only needs to exist in order to "undo" the effects of copyright. Public domain would be a trivial solution to the global problem if copyright didn't exist

This I must disagree with. In this world of no copyright, how do I prevent people from taking my code, making interesting changes to it, and distributing the binary without sharing what they did?

Copyleft uses copyright to make it against the rules to violate the user's "four freedoms". I don't know whether we'd be better off overall in a world without copyright or copyleft, but there would be no way to guarantee the freedom of your software's future users.

Note that it's perfectly possible to explicitly cede copyright protection by putting your work in the public domain even today. Note that copyleft is nevertheless much more popular for software than "raw" public domain.


You can have an end goal of increasing freedom and just disagree that coercing people in any way shape or form to spread that freedom is either wrong or counterproductive. Especially if you have a belief that simply sharing knowledge is a way of increasing freedom and human advancement, "do whatever you want with this shit I just wrong for fun" can be just as powerful.

Really when you get down to it, the battle is still open source (however you want to define it) vs non open source, and squabbles between copyleft vs permissive can miss the larger picture.


They really don't. I have almost zero control over my phone (a situation that only slightly improves with Android) and even then limited control over my workstation. You're not even allowed to use GPL'd code on Apple app stores.

It'd be great if the distinction were merely academic.


The GPL operates under a spectrum:

Proprietary software takes away your rights <----> permissive <----> free software guarantees your rights

It is about the user, not the developer. The free software movement for the most part sees the power of the developer to take away a users rights as unethical, and does what they can (via copyright) to correct that.


Proprietary software does nothing as drastic as 'take away your rights'. There is no inherent right to browse source code. At best, you entered into an agreement when you started using it that doesn't grant you as many benefits.


We are talking about copyright here, and in court that extends to decompiling binaries as well. Copyright is a forceful transfer of natural rights (do what you want with what you have) to the creator of information, with that entire hayday of logistics and reasoning, which is depriving you of your ability to modify and redistribute said information.

Source code is an oddity, sure, because you can distribute binaries that aren't modifiable and keep the source private yet still have no copyright on anything, but you aren't practicing software freedom. The source code availability is absolutely an extension, but it is no more so one than saying it is unethical to give you a car and never let you see the instruction manual if you wanted to try modding it.


Interestingly, the late Middle Ages are the time I would point to for the greatest economic freedom at any point I know of in history.


I think Stallman misses the point that many of us who are at least latent distributists see in free/open source software. Freedom can't be defined as a freedom from restriction or a Lockean framework of liberty, as Stallman imagines, but rather the freedom to engage creative or productive endeavors without micromanagement from others.[1]

The question, rather literally is who has a right to tell you what license your works go under, and under what circumstances. If freedom to create things is economically valuable (and I think it is), then one need not worry so much about people misappropriating things because in the end they cannot out-compete what is free and open. Yeah, SunOS forked from BSD. How is it doing these days compared to the open source versions?

These days, my preferred license is the BSD license. I am uncomfortable with the MIT license's sublicensing grant, and I am even more uncomfortable with the AGPL, which strikes me as a demonstration that freedom in the name of freedom is ultimately self-consuming and self-defeating. I am willing to tolerate the GPL and in fact most of my works are licensed under that license for legacy code reasons.

But I still prefer the BSD license. This license is very simple. I own my work and give everyone else a right to use it. They own their own contributions and an decide how to license those. Since freedom to create new solutions with the software is economically valuable, there I can expect that the original BSD-licensed versions will win out over the long run.

[1] http://ledgersmbdev.blogspot.com/2013/04/a-distributist-view...


> I am even more uncomfortable with the AGPL, which strikes me as a demonstration that freedom in the name of freedom is ultimately self-consuming and self-defeating

I actually read the AGPL as driven by mostly pragmatic factors. It didn't even come from the FSF initially, but from a developer (Affero) who believed it fit their business strategy better than the existing licenses.

One of the traditional business strategies built on the GPL, which RMS does not greatly like, but is quite possible to do, is the dual-licensed GPL/proprietary approach. People who are willing to GPL their own software may incorporate your code under the GPL's terms. Other people who prefer more traditional commercial terms can, alternately, purchase a commercial license.

In the webapp setting this approach no longer works, because the GPL only covers "distribution", and a webapp backend is never distributed. Therefore nobody will buy a commercial license. The AGPL more or less restores the traditional GPL terms in the webapp setting, where you have to GPL your product if you ship an app containing the GPL'd code: only now, deploying a public webapp is a form of "shipping" (which is how most software devs actually do see the situation... deploying a live webapp is a modern-day form of shipping software).

And in practice, it seems the most common alternative to the AGPL in this setting is to just keep your code fully proprietary, so competitors can't build on it. I think in that sense AGPL is helpful if it encourages more releases, e.g. if it encourages more companies to take the Launchpad approach with their code (AGPL) rather than the GitHub approach to it (proprietary). The other common alternative is to release the source but under a non-OSI license like "free for noncommercial use only, commercial users must buy a license". The AGPL seems at least more generous than that.


> One of the traditional business strategies built on the GPL, which RMS does not greatly like, but is quite possible to do, is the dual-licensed GPL/proprietary approach.

He actually does like it:

https://www.fsf.org/blogs/rms/selling-exceptions


It isn't obvious to me why he makes this exception.

He is very rigorous in many of his other beliefs (GNU/Linux, this "open vs "free" debate).

If he does not agree with BSD/MIT licenses because they inevitably allow companies to limit the "freedom" of their customers, how is selling an exception any different except that the open source project is now making money? I mean an argument could be made at that point that you are selling off your principles to the highest bidder. I don't necessarily believe that, but still...


Stallman's goal is not to prohibit proprietary software; but to have a world where most people choose Free Software (whether they're aware of it or not), so that it would be difficult to convince anyone to use proprietary software.

Compare this to our current situation, where everyone's so used to clicking "I Agree" on an EULA screen before they can use a program that many Free Software programs (most famously Firefox) started including such screens, even though there is no requirement to agree to any terms before using them! Of course, there are usually terms related to redistribution and re-use of the code, but that can be done without ever seeing such a screen.

Stallman doesn't disagree with BSD/MIT licenses; he only advocates the GPL as a short-term measure to get to the goal quicker. BSD/MIT code is (usually) a valued contribution, as it lifts everyone up equally; Free Software is lifted, but so is proprietary software since it is trivial for anyone to repackage it as proprietary. That's fine if your goal is to advance the state-of-the-art, give unimpeded access to better security, get your ideas out there, etc. but it doesn't do very much for (or against) the goal of having mostly Free Software.

The only way to go the other way and turn proprietary software into Free Software is by a dedicated effort on the part of the copyright holder (who may be dead!). Hence the playing field is heavily biased in proprietary software's favour, which endangers the mostly-Free goal. The GPL tries to rebalance things by going the other way.

In a mostly-Free world, this bias would (hopefully) be counteracted by the inertia of Free Software, so the GPL would be unnecessary and the more permissive licenses would be a better choice.

Notice that Open Source didn't feature in the paragraphs above, since it's unrelated. That's Stallman's argument: it misses the point. He doesn't say it's intrinsically bad, although it may cause indirect harm to Free Software through distraction and confusion. Of course it also does indirect good, by leading people to Free Software who would never have been exposed to a purely Free Software message.


> Compare this to our current situation, where everyone's so used to clicking "I Agree" on an EULA screen before they can use a program that many Free Software programs (most famously Firefox) started including such screens, even though there is no requirement to agree to any terms before using them!

This is in part due to the fact that for a long time it was difficult to forgo the EULA screen on the Nullsoft Scriptable Install System, which a lot of free software projects were using for their Windows ports.


As a Distributist, though here's where I disagree with at least your characterization of Stallman's views (I don't know for sure what he thinks on corporate control of free software, but I will grant that the FSF acts as if that is actually desirable, by setting the precedence of requiring copyright assignment).

For me the question is about corporate control, rather than end-user access to the code. For this reason I see the following things as harmful:

1. Dual licensing

2. Requiring copyright assignment for contributions.

These things place organizations in control of the software, and they are things less important to more permissive licenses.

Hence my view is that the BSD license is more radically anti-corporate than the GPL.


He's made the suggestion to companies so that they would make software free which were/would have otherwise been proprietary. I wouldn't say he likes it though.

There's the video of Brian Aker trying to antagonise rms at FOSS 2009[1], wherein rms lays out some additional rationale, if you're interested.

[1] https://www.youtube.com/watch?v=KSydSpDQtpA


He explains why he thinks this is a good thing: the non-copyleft licenses allow producing non-free software, and he doesn't think they're doing a bad thing by allowing this, just weaker. So if non-copyleft isn't ethically wrong, then selling exceptions isn't wrong either.


I found his reasoning very clear.

"Selling exceptions means that the copyright holder of the code releases it to the public under a free software license, then lets customers pay for permission to use the same code under different terms, for instance allowing its inclusion in proprietary applications."

Users still have access to the same exact code. There is no loss. He goes to on further detail what you might find confusing:

"We must distinguish the practice of selling exceptions from something crucially different: proprietary extensions or proprietary versions of a free program. These two activities, even if practiced simultaneously by one company, are different issues. In selling exceptions, the same code that the exception applies to is available to the general public as free software. An extension or a modified version that is only available under a proprietary license is proprietary software, pure and simple, and no better than any other proprietary software. This article is concerned with cases that involve strictly and only the sale of exceptions."


> Users still have access to the same exact code. There is no loss.

Sure, there's loss of what the other party builds on top of the code. While I don't think this is a real loss, the argument that it is is exactly the argument that Stallman uses against the desirability of non-copyleft licenses, so Stallman's positions on these issues seem incoherent viewed together, even if each might be viewed as reasonable enough on its own.


But he doesn't say the above is ideal, he says it's not unethical - which he also says of permissive licenses.


Isn't selling the exception explicitly enabling the proprietary extension, rendering the dual licensor essentially a partner in profit regarding the proprietary software?


It doesn't enable proprietary extension any more than permissive licensing does - in fact, less so since it comes at a cost. Meanwhile, it also provides some funding for Free Software development. I can't imagine how that would be worse than a permissive license.


> ...how is selling an exception any different except that the open source project is now making money? I mean an argument could be made at that point that you are selling off your principles to the highest bidder.

Ah, but the beauty of it is that the principles haven't been sold. It's still Free Software, which is all that matters. Except now, it is Free Software funded by proprietary software companies.


> One of the traditional business strategies built on the GPL, which RMS does not greatly like, but is quite possible to do, is the dual-licensed GPL/proprietary approach. People who are willing to GPL their own software may incorporate your code under the GPL's terms. Other people who prefer more traditional commercial terms can, alternately, purchase a commercial license.

You can't effectively dual license software unless the public license has restrictions that don't serve your target market. The more restrictive the license, the more it favors dual licensing. This is actually my biggest concern with the GPL.

> And in practice, it seems the most common alternative to the AGPL in this setting is to just keep your code fully proprietary, so competitors can't build on it.

Efficito (of which I am a co-founder) offers hosting for a web-app based on open source software. We have few specific enhancements that don't make it upstream but those are really specific to our hosting offers (i.e. they don't provide customer-facing functionality, but provide functionality to us as hosting provider). Almost all of our work gets contributed back. The software is licensed under the GPL v2+, and the community is (I think rightly) hostile towards upgrading to the GPL v3.

I don't like the AGPL. I think that once you start encumbering services, then you have added a series of restrictions which really are even unheard of in the proprietary software world. Yes, it is pragmatic, but this is the way real freedom is lost, by insisting that practice serve some notion of freedom rather than the other way around.


> I think that once you start encumbering services, then you have added a series of restrictions which really are even unheard of in the proprietary software world.

In practice, the restrictions in the proprietary software world are insane compared to the AGPL, imo. There are restrictions on, to make a non-exhaustive list:

1. Commercial vs. non-commercial use. Just yesterday there was a JS chart library that got positive comments here on HN, whose terms for the free version are that you cannot make any money from sites using the charts, even indirectly (a single affiliate link on your website and it's a license violation!).

2. Number of developers. Your three-man team asked a fourth person to make some edits to the code? Now you need to upgrade your license to cover a 4-seat setup!

3. Number of deployed servers or sockets or CPUs. You're load-balancing across more than 32 cores? Now you need to negotiate an Enterprise license!

4. Number of users. You got linked on HN and got 10,000 hits today? You've exceeded the size of site that's eligible for the free license!


In terms of developer tools you are right, but in terms of redistributable libraries that come with those? I don't agree with you there.


I'm thinking more in terms of production software, stuff like databases. If you want to license Oracle or WebSphere, you've got per-core or per-socket, per-concurrent-users, sometimes per-MIPS fees, may depend on field of endeavor, etc. Oracle and IBM are the masters of this particular art, but there are quite a lot of bits of proprietary software that include that kind of fee structure at least in part. Some game engines also charge you depending on your game's sales. A flat fee for any use, no royalties, seems limited to certain software niches, especially anything seen as non-enterprise.


So:

Would you prefer MySQL or PostgreSQL? ;-)

Here's a case of a BSD-licensed project overrunning a GPL-licensed one.


I don't think he misses the point. He just doesn't find it a good one. I mean, you are of course entitled to your opinion, and to call his a mistake, but saying RMS "misses the point" of what he's been working on almost 30 years is a bit disingenuous.

And I personally disagree with the statement that BSD-like licenses are definitely better than GPL. As always, it depends. What would have happened to Linux without GPL? Would it support as many devices as it does? Would it be as widespread as it is? On the other hand, I agree that a BSD-like license has been a plus for PostgreSQL, by permitting the existence of various 'PostgreSQL enhanced' companies selling their versions and offering support.

What's ultimately more important than the license is the people working on the project and the community that forms around it. They are what ultimately lead to success or failure, not the choice of a license.


> What's ultimately more important than the license is the people working on the project and the community that forms around it.

Is it? Look at the router industry - licenses like zlib, the busybox license, and the "no copyright" sqlite licenses have enabled an entire industry to take open source software and use it for profit without having to invest developer hours to making it themselves. But they still sell that software, and take away their users freedoms, on their routers. Every time I buy a new one, I have to either look for one with an open source firmware already installed, or be very careful to make sure one I get is supposed so I can reflash it (if its even possible on some models) to reclaim my freedoms.

Tons of other embedded devices do the same. As long as Linux at least is gpl v2, they can get away with using the kernel as well as long as they don't modify it directly.

And who knows how much open source code Microsoft and Apple have in their OS installs that has been heavily modified without any of that work being contributed back to the source projects while those companies profit off license key sales?


> Is it?

Community is what is important, I would agree.

> Every time I buy a new one, I have to either look for one with an open source firmware already installed, or be very careful to make sure one I get is supposed so I can reflash it (if its even possible on some models) to reclaim my freedoms.

Now, why do you do this? What motivates you? Is it ideology? Or do you have a practical reason for wanting that power over the appliance?

Now, if you have a practical reason, then you have proven what I have been arguing, namely that freedom is of economic value. I.e. freedom is important not because of some abstract value but rather what you can produce with it.

If we accept that, then in the long run, software with more freedom will outcompete software with less freedom.


One of the great things about software is that it doesn't wear out from over use.

So what if there are a bunch of router companies selling proprietary products consisting largely of (permissive) Free Software components? It does not harm to those projects; in fact, they probably get more bug reports and other fringe benefits. So what if someone's making money off those components; is that money somehow being taken from the authors? No. That would be a claim far more dubious than even the RIAA's.

We can ask "what if those components were copyleft?", and I can think of three answers:

1) All of this whizz-bang technology we have will also be copyleft, and hence Free Software. 2) We'd have completely unknown, secret, proprietary technology in its place. This would presumably be less capable, more locked-down, less secure and likely much further behind than what we have now (since it had to be written from scratch). 3) We wouldn't have that kind of technology, since nobody finds it profitable enough to develop.

Scenario (1) wouldn't be an inevitability if those components were copyleft. Those companies aren't "getting away" with using Linux; they're using it in a perfectly legitimate way. If you find that usage unethical (like I do) then strive to: 1) (ideally) Replace their technology with something better. 2) (acceptable) Avoid using it (we managed for thousands of years without issue). 3) (unfortunate) Put up with it, but support those who are trying 1 and 2.

This is the approach I take, for example with regards to social networks.


Yes, it is.

I don't understand your point. There are people taking advantage of both GPL and BSD. Some (not all) of the GPL violators can be made to comply, and none of the BSD "violators" can be made to comply, because they are not actual violators.

All of the previous statements do not alter at all that all the software pieces that are "taken advantage of" are huge value contributions to society at large and that their success is not dependent on the license choice.

If you are angered by "other people profiting with my free software" you will of course choose GPL to have an option to sue. If you don't care, you will choose BSD or GPL for another reason. Neither option will make much of a difference on the success of your project.


> There are people taking advantage of both GPL and BSD.

But whereas it is fine that they take advantage of the GPL, because they must publish their modifications and anything linking against it, with BSD they can make all the changes they want, link to whatever they want, and sell the result.

I get you are fine with that, but some of us aren't. Which is why we use copyleft licenses and try to explain out positions like this.

> are huge value contributions to society at large and that their success is not dependent on the license choice.

LLVM vs GCC - Apple effectively built the former ground up because the latter wouldn't budge on the GPL. There are a lot of parallels - be it busybox vs coreutils, or bionic vs glibc - where the license does matter, and what happens is businesses that are uncomfortable with providing freedom spend the effort (which is entirely in their right) to rebuild the whole thing under a different license.

The license does matter. And the GPL does help, because it means you either need to preserve your users freedoms or rewrite it yourself. It is a great motivator to drive the ideology if you can put great software in front of someone and say "all it takes is you behaving ethically, and you can avoid having to write this all by yourself". But the license really matters, it is why there is this conflict of interest in the first place and not everyone just uses the GPL without hesitation.


> But whereas it is fine that they take advantage of the GPL, because they must publish

As long as they comply. There are lots of people who don't comply and are sued where possible, which is not at all in all cases.

> LLVM vs GCC - Apple effectively built the former ground up because the latter wouldn't budge on the GPL.

And how is that better for the world, duplicating functionality and reinventing the wheel?

And what I've said twice (and now thrice) is that the license choice does not determine the SUCCESS of a project. People are a way more important factor.

As you said, you need that great software and awesome community, but you need it FIRST.


> And how is that better for the world, duplicating functionality and reinventing the wheel?

Healthy competition. Fresh ideas. Something to turn to should there be an unfixable problem with the other thing.

Monocultures are dangerous and come with a high risk of stagnation.


Yes, I'm aware of the monoculture argument. But anyway, the raison d'etre of the GPL is to preserve freedom, not to avoid monocultures, so, even if in this case we might be able to see a good outcome (even though that is still debatable as we have more than one compiler, gcc is big, but far from the only compiler) it's not actually relevant to the question posed in the general case, unless we think the only benefit of the GPL is to avoid monocultures...


Your preference for BSD is certainly valid, but it's valid because of your objectives.

If you want a software package that you own to be openly collaborated, but still controlled by you, the GPL is a great copyright construct to do that with.

There isn't a right answer here. I think Stallman has an ideologically pure argument that is appealing to me as a consumer, but not always ideal for my business needs.

I disagree that BSD solutions will necessarily "win" in the long run. There's no incentive to share.


> I think Stallman has an ideologically pure argument that is appealing to me as a consumer, but not always ideal for my business needs.

I, OTOH, given the conflict between Stallman's position on selling GPL exceptions vs. his position on non-copyleft licenses, and given the GPLv3's domain-based discrimination in what is required freedom, thing Stallman and the FSF have ideologically incoherent positions.

> I disagree that BSD solutions will necessarily "win" in the long run. There's no incentive to share.

There is only no incentive to share if you think that open source has no independent value to producers, that its a sacrifice they make in order to be permitted to use others work. While the GPL model and a mass of early high-quality software licensed under that model was probably essential in getting people to accept the value to producers of open source, once that value was widely accepted -- as it now is by many major software producers -- the incentive to share isn't from someone holding a gun to the producer's head, its from the value of community engagement with the code that permission to use it fosters.


There is no conflict between Stallman's position on selling GPL exceptions and his position on non-copyleft licenses. He considers neither unethical, and has considered positions on the tactical considerations. You many disagree with any of it, but it's not incoherent.


There are plenty of incentives to share. They can be summarized by this: Code that you don't share is code that you have to maintain yourself. Code that you share is code that you can offload the maintaining to someone else.


I agree. But offload != collaboration.

With BSD, there is no legal incentive for somebody to take their ball and go home, or take your ball and sell it. Depending on what you want, that can be a good thing.

Making commercialization difficult is not always bad -- if you own the copyrights, you can license to commercial users under terms favorable to you.


Also I don't think the BSD license makes it harder to commercialize software than the GPL does. You can't have a dual license model without the GPL, and that also requires copyright assignments. And once you do that, you are controlling not whether the software can be commercialized but merely who can commercialize it.


Licenses are a toolbox, like the tech they cover.

Wanna stop basically everything commercial related? AGPL

Wanna stop tivozation? GPL 3

Wanna allow tivozation? GPL 2

Wanna allow general commercialization? 2-clause BSD

EDIT: if anyone remembers the OSS license feature matrix site that's new, plz reply.


"Wanna stop basically everything commercial related? AGPL"

It stops anyone from using the code (including extensions to the code) as a unique differentiator. In no way does it prevent "everything commercial related". If there are other barriers to entry, you can still perfectly well charge for access to a service running AGPL code.


Wanna stop basically everything commercial related? AGPL

The whole business of the company I work for, and of the large network of peers around the world, is built around a piece of AGPL licensed software called OpenERP[1].

In other words, my paycheck disagrees with you :)

[1] https://www.openerp.com/


Just to poke a little fun at you, Most ERP softwares are not well-known for being exactly understandable by average developer, and is known to be consultant-based business so much that it is hardly possible to learn it without paying for consultant.

It's just another way of being proprietary by obscurity.


Wanna combine "free" with another brand or version of "free"? Avoid any "free". Avoid any GPL. Use something that is unquestionably free, with no strings attached.


If you use GPL on your project, you can combine any BSD, MIT, etc and any GPL licensed code.

If you use BSD, MIT, etc, you can't combine any GPL licensed code.

You have more possibilities of combining code by choosing GPL for your project.


What you're saying makes absolutely no sense. If combine MIT and GPL, you combine MIT and GPL whether you're using MIT or GPL because, wait for it.. you're combining MIT and GPL. You either can combine these or you cannot. You can use both or you cannot. Which is it? There are many projects that combine MIT and GPL code.

But GPL is the license that rather explicitly forbids combining with some licenses.

EDIT: If you're saying that you cannot combine free with "free" and remain free, then you're right -- you cannot combine MIT with GPL.

And you're right in that a nonfree project can incorporate free code into it. So they have more options, but the end result remains nonfree.


Only code in the public domain or under the WTFPL is categorically freer than the GPL. The MIT and BSD just impose different conditions that you have to follow.

So if I'm going to subject myself to licensing restrictions, it's silly to restrict myself to some code.


So despite having fewer restrictions than the GPL, you think the MIT license is incompatible with at least as many licenses as the GPLs are?

Care to shed some light on your or your lawyer's interpretation of the license? Can you point out what causes incompatibility?


I said nothing about incompatibility with other licenses. I said that by licensing your code under MIT, you're restricted from using L/GPL code, while the opposite is not true, and if you're going to use code that imposes restrictions anyway (like MIT-licensed code), you're better off allowing yourself to use GPL-licensed code as well.


The MIT license does not prohibit using GPL, unless there is a license incompatibility (which I do not see). You can of course prohibit yourself but that has nothing to do with the license. If you release that code, other people can still combine with whatever regardless of what you restrict yourself to.

The GPL on the other hand does prohibit many licenses. Whether you want it or not. Or whether the people who use your code want it or not.


A license that you choose personally never prohibits you from doing anything, because you're the copyright holder, so you don't need a license at all. So choosing the GPL for your doesn't prohibit you from doing anything either. What it does is allow you to use someone else's GPL code, which the MIT doesn't.


Indeed. In fact since the MIT license explicitly grants sublicensing, you can take MIT-licensed software and simply offer it with no modifications under the GPL. This is not safe to do with the BSD license btw.


> If you use BSD, MIT, etc, you can't combine any GPL licensed code.

In the LedgerSMB project, I have started licensing core framework libraries under the BSD license because that should allow easier bridging to proprietary software. We started doing this with PHP libraries, but then decided that Perl shouldn't be a second-class language integration-wise.

There's no reason that GPL code can't depend on BSD code.

These licenses can co-exist and one can choose to license some parts of a project under the GPL and others under a BSD license.


The free vs open source thing is irrelevant to what you're saying above. Both the GPL and the BSD licenses are free and both are open source. Some BSD distributions even make a point of calling what they're doing "free software", e.g.

http://www.openbsd.org/lyrics.html


But my disagreement with Stallman is ideological. In particular:

1. I think that enumerating freedoms is at best a waste of time and at worst a way to justify abridging the freedoms that matter.

2. I think the question really is who gets to direct downstream licensing and under what circumstances. The MIT license allows an individual to add restrictions to the license without even making contributions. The AGPL encumbers services provided with license terms. The other licenses are in the middle.

Instead of enumerating freedom, I would rather define it, namely as the right to engage in economic production without upstream obligations. From this viewpoint, the AGPL is significantly less free than the license of the closed source redistributable libraries that come with Microsoft Visual Studio. Since I find the latter too restrictive for my taste, I won't touch the former.


[deleted]


This is true even for the BSD licenses that are not GPL-compatible. "Free software" doesn't mean "GPL-compatible only."


The GNU project even has a full list of GPL-Incompatible Free Software Licenses: http://www.gnu.org/licenses/license-list.html#GPLIncompatibl...


> This is true because the 3 (and modified 2) clause BSD license are GPL compatible and approved by the FSF.

They might be compatible with the GPLv3, because of its allowance of extra terms; they are strictly incompatible with the GPLv2, een though the FSF claimed that they were compatible with it when the GPLv2 was the current GPL version (the FSF's claim that they are compatible -- a self-interested one to induce people to relicenses BSD-licensed code as GPL-licensed code, is indefensible since both versions require specific copyright notices, the BSD license itself, and the specific disclaimer of warranty included as part of the BSD license, and all of those requirements are additional requirements incompatible with the GPLv2.)

The FSF has an overt interest in promoting the relicensing of code under the GPL which gives them a motive to exaggerate the degree to which this action is valid under other licenses. They are not neutral, objective party when it comes to license compatibility.


BSD/GPL compatibility is a complex issue.

Here's my take. The 2/3 clause BSD licenses are clearly compatible with the GPL v2 because they offer a strict superset of rights. I.e. they don't offer any restrictions not found in the GPL v2. Consequently the work as a whole can be licensed under the GPL v2 without worrying about whether any piece of it has additional permissions which satisfy the license.

The GPL v3 however provides some real reasons for caution here. The additional permission section is clearly compatible with the MIT license, but is clearly incompatible, as it stands, with the BSD license which does not explicitly grant sublicensing rights (meaning you can't relicense someone else's BSD code under the GPL without their permission). So you can't include BSD licensed code and count on the additional permissions section as protecting you. (This is based on my discussions with Richard Fontana and other lawyers involved in free software issues.)

The question then becomes whether section 7(b) legal notices can be read broadly enough to include the BSD license. I.e. the author of the BSD licensed code is merely giving notice that all users have the permission, directly from him, to use the code as allowed under the BSD license. This is not an additional permission under the GPL, but an additional permission directly from the author, and notice is merely being preserved.

If this is the case, then the GPL v3 is compatible with BSD licenses which do not have an obnoxious advertising clause. But if it is not, and if all additional permissions must be removable even in the absence of software modification, then they are incompatible.


> Freedom can't be defined as a freedom from restriction or a Lockean framework of liberty, as Stallman imagines, but rather the freedom to creative endeavors without micromanagement from others.

Freedom certainly can be defined in such a way, even if you don't happen to fall in with that definition. Put bluntly the big question between the two major license types is whether you're pushing for individual freedom or collective freedom.

Rather I think the point that Stallman misses (or more likely, chooses to argue against) is that many open source programmers deliberately choose not to be "Free Software" political activists, but simply choose open source licenses for technical or social (but not political) reasoning. They don't want to save the world, they want to sling the best code.


He doesn't miss it; he outlines it specifically in the linked article. He correctly identifies it as a philosophically different approach to software, and to licensure.

He hopes to communicate to those who have that short-sighted view, that their interests are not best served by focusing on just the code.


My apologies if this is slightly inflammatory, but in my opinion preferring BSD-style licenses over copyleft licenses is both selfish and elitist (or classist, if you will).

It's an attitude which says that as long as the elite class of techies get freedom to do as they like, that's good enough. The freedom of the end-users does not matter, even to the point that when Free Software advocates ask developers to take their end-user's freedoms into account, that request is met with outright hostility.

It's a very selfish and one-sided type of freedom. Freedom for us, not for them. Freedom to oppress, monetize and lock-in the peons who don't know how to code.


> It's an attitude which says that as long as the elite class of techies get freedom to do as they like, that's good enough. The freedom of the end-users does not matter

I actually don't see the additional restrictions in the GPL as doing much for end users, per se. The real beneficiaries are still developers, just developers one level further removed from the licensor than the beneficiaries of the freedom in permissive licenses. But if you think that a substantial portion of the people using your work under a permissive license are themselves likely to offer a Free/Open license (whether permissive or copyleft), a copyleft license actually may reduce the freedom actually experienced by the indirect beneficiaries as well as that experienced by direct licensees.


Permissive licenses give freedoms for techies and users equally. If it's free for one, it's free for the other.

Less permissive licenses, and the GPL in particular, restrict both users and techies.

Users can be subject to oppression, monetization and lock-in if they are willing. But it is their choice. And if they so want, they can grab that free code and hire a developer to "oppress, monetize, and lock-in" the other guy. If he is willing to be oppressed.


> It's an attitude which says that as long as the elite class of techies get freedom to do as they like, that's good enough.

Well, no.

The question (if you read the blog post I linked to) is whether you go for institution-centric and centralizing controls here or whether you go for decentralized controls and questions of community structure.

The point is the best protection for everyone is widespread ownership over private property. Ownership means "the right to use" here. The BSD licenses demand greater community controls because the community cannot survive without them.

> Freedom to oppress, monetize and lock-in the peons who don't know how to code.

And yet, if you demand that there be a stronger power capable of preventing oppression, then you typically get stronger organizations more capable of oppression. The end goal is, really, to decentralize and ensure that end users have a choice of what to use.

Interestingly I am living in Indonesia right now. It is amazing to see a Distributist economy in motion and see that, although the nation is poor on paper, the society functions for the poor much better than it does in the US, and so real poverty is far less of a problem. Sure the poor may have fewer television sets than in the US but they do have better access to housing and wholesome, nutritious food.....

The reason why things work so well is because the economy is so heavily decentralized. 70% of the economy is self-employed. Self-employment means that capital and labor are not separate. This is what the freedom to produce things with the software has to offer our economy.


What freedom does BSD takes from users? Users are equally welcome to use BSD code.

BSD allow anyone to do anything to BSD code. GPL prevents developers from doing everything to GPL code. That says more about users being selfish and eilitst than the other way around.

Why? Just because they are end-users means they are better then me? That's exactly selfish right there.


>Freedom can't be defined as a freedom from restriction or a Lockean framework of liberty, as Stallman imagines, but rather the freedom to engage creative or productive endeavors without micromanagement from others.

How is "freedom to engage creative or productive endeavors without micromanagement from others" not a "freedom from restriction"? Is the implication here that using the GPL is tantamount to "micromanagement from others"? Because I don't really see it.

>one need not worry so much about people misappropriating things because in the end they cannot out-compete what is free and open. Yeah, SunOS forked from BSD. How is it doing these days compared to the open source versions?

That's not the example I would pick. How about Apple forking FreeBSD?

>The question, rather literally is who has a right to tell you what license your works go under

I'm not sure what this has to do with GPL vs BSD. Nobody has the right to force you to use a particular license. Ideally, nobody gets to change the license of code you wrote either, just because they changed a variable name. It is this particular guarantee that the GPL provides and BSD doesn't.


A friend recently introduced me to the ISC http://en.wikipedia.org/wiki/ISC_license which is similar to the MIT and BSD except extraneous language has been removed. If you like the simplicity of BSD, maybe you'll like this even more?

OpenBSD uses it.


> The question, rather literally is who has a right to tell you what license your works go under, and under what circumstances.

When ever I see this question put forth regarding GPL, I see it as extremely dishonest question. No one want to license software just for licensing sake. What some people want to do is to prohibit copying, modification and usage of work in order to create profits.

The question you actually asking is: Who has the right to tell if restrictions on copying, modification and usage is allowed on a work. It has nothing to do with freedom, and the answer is always going to be the author. Political philosophers has long since past agreed that permission to restrict other people freedom is not liberty.


> The question you actually asking is: Who has the right to tell if restrictions on copying, modification and usage is allowed on a work. It has nothing to do with freedom, and the answer is always going to be the author. Political philosophers has long since past agreed that permission to restrict other people freedom is not liberty.

Read the full blog post. The question goes effectively to a question of enumerated liberties vs work ownership, and myself siding with the latter. There may be lots of reasons to license or not under the BSD license but once you do, then you are saying that anyone downstream gets to own their own work.

Again I define "own" and "work" in the piece. I would recommend you read it.


I would say that the FSF is using Free Software as a weapon to get all the other proprietary software to open up.

Usually the biggest barriers to entry by free software are network effects and proprietary agreements. See the recent article about Bloomberg

http://mattturck.com/2014/03/19/can-the-bloomberg-terminal-b...

(I bet someone at bloomberg read it because they released an article the next day: http://www.bloombergview.com/articles/2014-03-20/tesla-can-t...)


That's why so much new software is FOSS. It's basically the only way to break in without massive funding and unrealistic expectations.

Again, freedom is economically valuable.


"Yeah, SunOS forked from BSD. How is it doing these days compared to the open source versions?"

How is BSD doing compared to Linux? (Keeping in mind that BSD is officially something like 20 years older than Linux.) I wonder how much better it would be doing if it hadn't been forked so many times by so many really smart people in the 80's and 90's?


I can personally count the FreeBSD contributors in the LedgerSMB community. I don't know that firm counts are really possible but I would say FreeBSD ports were one of the first packages formally added (even before Debian).

It's hard to say for sure. However, from what I have seenof the FreeBSD community, they seem quite active and vibrant.


> I am uncomfortable with the MIT license's sublicensing grant

I did a little research to try to figure out what you meant; tell me if I have it right:

MIT allows you to redistribute the code under a different license. The problem is that the sublicense might be more permissive than the MIT license, potentially allowing someone to bypass the requirements of the MIT license.

Is that what you meant?


Not quite.

One right that can be passed on is the right to sublicense, which gives the licensee the right to issue new licenses. The licensee cannot provide downstream licenses to rights he or she did not receive. So the license can never be more permissive than the existing one.

The difference is that under the BSD license, the original author grants licenses and requires notice on downstream redistribution. Someone can add code, however, and add restrictions to that code. The MIT license allows something very different, which is the right of a mere licensee to negotiate licenses (provided they are no more permissive than what was granted) on behalf of the licensor.

So you can take MIT licensed code with no changes and relicense it under the GPL. The BSD license requires that you license only your code in it (and the corresponding work as a whole) under the GPL, but the MIT license allows you to add restrictions to code you did not author.


Well said. I've tried in the past to articulate the "creator's freedom" that you're talking about. To my view copy middle is the only truly free as in freedom licensing paradigm. But, I also don't think proprietary software is necessarily evil.


What's more is that terms "open source" and "closed source" by themselves allow many companies (like GitHub) to sneakily evade the stigma of shelving out proprietary software. After all, you can view the source, right? So it must be open source! And it technically, is, too. Even if not by the OSI definition, it still fits the criteria, because having source access is only one piece of the puzzle.

What's more is "closed source" sounds much less scary than "proprietary".

Now you might say that the same can be said for "free software". Not if you explicitly denote it as "libre" or "free as in freedom", in which case its meaning becomes unequivocal.

Terminology matters.


> After all, you can view the source, right? So it must be open source! And it technically, is, too.

No. It's not. It's technically viewable source, or readable source, but it's not open, which as you know, needs to meet certain criteria.

Those of us who have been around long enough know this old game. Microsoft has tried this in the past. If it doesn't pass by OSI, it's not open source, and that matters to some of us. It's also why being an "open source" company is meaningless to many of us.


It seems like HN is mostly missing the point. Stallman's four essential freedoms are intended to fix proprietary software vendors abusing their users.

For example, let's say there's some "open source" software that allows you to read the code, but prevents you from distributing it. Well, what's stopping them from slipping in a nasty backdoor in their binaries if you're not allowed to compile your own clean version? I'm really shocked, and quite frankly disgusted, that you all can be so critical of free software after all that has come to light about the NSA.


> For example, let's say there's some "open source" software that allows you to read the code, but prevents you from distributing it.

I think btw that is a bigger restriction than allowing you to distribute the binary but not read the code.


Free Software is dead. Long Live Open Source Software. The reason for this is simple: Free Software is simply too radical for most practical uses. The majority of users don't care about the philosophical benefits of one over the other and are never going to contribute back to the original project (think of the millions of Android/Linux or Firefox users). On the other hand, OSS allows plenty of practical benefits: you can view the source, fork it, often times contribute to it. It's often done on good faith. Think of all the projects released under the Apache or MIT licenses which are doing so great. Who cares if someone somewhere is not contributing back: most people that matter do and the license does not hinder them.

The GPL is an appropriate license for lots of projects, such as the Linux kernel. Those are too important and too large a target to leave to good faith. However, something like a JavaScript framework of the week does not benefit from being GPL. Also, think of all those BSD distributions.

Having said that, open source your technology now. Not your secret sauce, but most of your code can be OSS. No reason to hide the Rails app that runs your site. It's not why you are making money, so open it up and let others take a peek. The worst thing that's going to happen is that nobody will look. Chances are, nobody will clone your exact product because you are likely delivering value that's past just the code you are writing.


You seem to be under the very, very, very mistaken understanding that "Free Software" requires either the GPL or copyleft. Apache, MIT, BSD, GPL are all both Free Software licenses and Open Source licenses. The definitions make "Open Source" and "Free Software" almost synonymous.

But the term "Open Source" is much easier to co-opt and abuse. There are a variety of things that broadcast themselves as "Open Source" based only on the sense that "Hey you can look at our code! You can't actually do anything with our code, but hey you can look at it, so duh, it's Open Source!". This is not actually Open Source.

The problem with Open Source is that it seems intuitive that these Open Source posers could be correct--the "open" vs "open" clarification is more difficult and nuanced and not-intuitive esp. compared to clarifying the meaning of Free in Free Software as "free as in freedom" vs "free as in beer".


I understand the distinction. I am talking about the FSF pushing the GPL on everyone as if it's a one size fits all solution. There has been much debate on GPL vs MIT-style licenses and I believe both have their place.

Now, as far as OSS vs open-to-view-but-not-use, it's a different point. The problem is that you can have something like Android where Google has lots of control over where the software actually runs. Technically nothing would prevent you from forking it, putting together your own hardware and running a completely open platform that will compete with Google. Practically, it would cost you a lot of money. I actually think that CyanogenMod is a counter-example to this for Android: it is an open build of Android for the devices that support it. In reality, the problem with Android devices is not Android-the-OS. It's the closed bootloaders and the hardware that supports them. If only every phone's bootloader was as permissive as the BIOS on PC's (EFI notwithstanding), we wouldn't be complaining about this. You get your Moto X, nuke the Motoblur crap, install your favorite Android distro and you are good to go.

Another example: would you classify WordPress as free software? Most people do. The reality is that it is very tightly controlled by Automattic which has its own roadmap that is often times not public. You submit a patch to them, they sit on it, then produce their own solution in the next release that does things completely differently.

In the end, the license can do very little to prescribe governance of a project and that's what things most often come down to: who is in charge and how flexible are they? So we can debate the finer points of licenses or even what to call those licenses or we can write useful software where the source is available and others are free to run it and fork it.


Copyleft and permissive licenses are all both free/libre and open source. The distinction between free/libre and open source does not lie in the distinction between copyleft and permissive licenses.


> Not your secret sauce

Open source your damn secret sauce so other people can improve and benefit from it rather than hoarding it as your precious in a lockbox like Gollum.


There are times and places not to do this though.

I see business encapsulation as a legitimate goal. the general public should not be exposed to the internals of your business. They should know what you do and what you can do to help them but they don't need to know all the administrative details. Keep your interfaces with customers clean. That requires not revealing the internals of your business to everyone in the world.

At Efficito, virtually all of our work on LedgerSMB gets contributed back to the community. There is one exception which is not given back for this same reason: We modified LedgerSMB to work ok in a multi-tenent environment.

To do this we did two things. First we enhanced the authentication structure to make it work, and we contributed this work back. However, secondly, we wrote a custom authentication provider to handle the details.

Now, had we wanted to release the custom auth provider back, we would have made some changes in structure. As it is, however, the structure of the auth provider is closely bound to our approach to hosting. Publishing it would effectively ensure that everyone would see our internals, and the benefit to them would be only in cloning our services. The work wasn't significant (maybe 5 hours development time) but it also wasn't generally useful to everyone else.

So we kept it secret. There's nothing wrong with this any more than there is anything wrong with insisting that you don't break encapsulation when doing object-oriented programming.


If you can do so without damage. I suspect that if Google opened up their exact page ranking algorithm, the quality of the web overall would drop dramatically for everyone. But for example, if they opened up their home page, or Google Docs people could actually improve upon them with no downside to Google.


> I suspect that if Google opened up their exact page ranking algorithm, the quality of the web overall would drop dramatically for everyone.

That's only because Google is a single point of failure. They have excellent engineers making their systems resilient, but relying too heavily on a centralised system inevitably amplifies those bugs which do slip through.

If Google's code were Free Software, there would be many much smaller, much less stable instances out there. There would be far more outages, but each one would be very minor.

Of course, a decentralised Google would be excellent. There are projects out there which try to do this.


This assumes, though, that for every exploitable loophole in their page ranking there wouldn't be someone contributing efforts to fix it.

I must concede that some of their cleverness is probably exploitable. It is hard to have really accurate searches without some hacks.


A lot of people probably don't open source their web code because it could open them up to attacks, but it also probably wouldn't be that interesting.

It never would have occurred to me to open up my work's rendering pipeline, it's just to boring and ho-hum for words.


Interesting versus boring isn't really the criterion, though. I mean, doubtless there are some programmers who read code for entertainment, but they're in a minority. Usually what we care about is what the code does.

Right now I'm using the excellent Dragon NaturallySpeaking, which is useful enough to me that I bit the bullet and paid for a license. But it would be even more useful if it were open source, not because I want to read the code for intellectual stimulation, but because there are several bugs that would be easy to fix, would make it even considerably better, that the developers refuse to fix (a common enough occurrence) and nobody else can fix (a problem peculiar to proprietary software).


Exactly. And even if they only open sourced the UI portion of it, I bet it would be a net benefit.


It never would have occurred to me to open up my work's rendering pipeline, it's just to boring and ho-hum for words.

You say that, but if there's anything I've learned from HN, it's that nothing is "too boring". I'm not advocating that you do open up your rendering pipeline, but you never know who might find it interesting, useful, or even help you make it better.


It is interesting to read this through the eyes of the burgeoning Open Source Hardware (OSH) community. There seems to be an Free Hardware Foundation in Italy, but I have never seen it mentioned before, and rarely do I see discussion of the sort of essential freedoms I see Stallman is talking about. However, I often see people struggling with (and reverse engineering) proprietary hardware, firmware and software. Hardware tools often come feature locked and internals are intentionally obscured, down to sanding the labels off chips. When the question of open tools comes up, the response is usually something like this: "How much demand is there for, say, a 100 MHz open 'scope that costs a bit more than a Rigol?" Taken from a recent discussion about Free/Open Hardware:

https://news.ycombinator.com/item?id=7375771

Does the Free Hardware movement need a Stallman?


Eh... you do realise Arduino comes from Italy, right? That's not a coincedence.

I'm currently studying Interaction Design at Malmö Hogskola, and have had David Cuartielles as a teacher. I have also seen Massimo Banzi give a workshop on the Arduino in the Copenhagen Institute of Interaction Design.

So I can say from experience that there are Stallmans for open hardware out there.


I think you misunderstand my comment. I know there are lots of advocates for OSH. But I don't think there is someone like Stallman who is advocating for free as in speech hardware the way Stallman does for software. I don't see the "social and ethical values" of the kind of freedom that Stallman talks about reflected in OSH discussions. However, I only see the English language part of the conversation, so something different might be happening in Europe/Italy.


It seems that the only reason why people would prefer BSD/MIT over the GPL is to say "I want people to give me their code for free but I may want to sell it in the future."


Seriously? Really? Every programming-centric forum that I've read for the past 20 years, HN included, has recurring flareups about this specific topic. Every single one. The debates don't even change, at least not in their fundamentals. I bet this very thread will turn into 500-600 posts which don't look all that different from innumerable threads on Usenet from 20 years ago.

Point being, half of the posts on every single one of the instances of this seemingly never-ending debate are from people explaining why they prefer BSD/MIT, and none of them are for the reason you gave. Like, none of them. So, there's plenty of counterexamples for you. I don't know how you would have missed them.


> It seems that the only reason why people would prefer BSD/MIT over the GPL is to say "I want people to give me their code for free but I may want to sell it in the future."

Not even close.

For example, client libraries in LedgerSMB are moving towards a BSD-licensed model. The reason is that this way we allow things like proprietary shopping carts to be integrated easily. Before you ask, basically, I re-engineered/fully rewrote the relevant modules for LedgerSMB 1.5 so it wouldn't be a problem. There are some subtle API differences but they mostly clean up problems with the old implementation.

There are lots of reasons to prefer the BSD license. Here's one:

1. I want folks to be able to take my work in different directions and grow the possible market.

2. I want the overall competition to expand the project as many people contribute back to a common base.

These are the things which make PostgreSQL's pace of development so high. Yes there are proprietary spinoffs but the project will certainly outrun them all.


I don't think that's the case.

I prefer BSD/MIT/Apache over the GPL because I don't have to worry about legal issues in regards to library integration with binaries that I may build. Why should I have to make sure that I'm using LGPL versus GPL, etc? Its much easier just to use, and license, software that is under BSD/MIT/Apache.


Or maybe they just want their code to be unquestionably free.

https://news.ycombinator.com/item?id=7404914

Besides, there's nothing wrong with selling software. And for what it's worth, I can sell GPL software too, even though it's not free.


Placing any license on code imposes restrictions. The only "unquestionably free" license is public domain.


This is just incorrect. By default, you retain the copyright to things that you write. Which means that others can't make copies without getting your approval. And in many jurisdictions, it is not at all clear that you can relinquish your copyright simply by declaring your work to be in the public domain. So by default, there are legal restrictions on what others can do with things you write.

It's called a "license" because it enumerates the things you are explicitly _allowing_ others to do with something you hold the copyright to. Without a license, the default "rules" of copyright apply. Licenses don't impose restrictions, they remove them.

Liberal licenses (BSD, MIT, etc) allow you to do nearly everything you can do with something in the public domain. Copyleft licenses (GPL, etc) allow you to do somewhat less, with the notion being that this restriction of your freedom increases the overall freedom of everyone.


Actually the restrictions are imposed by copyright law. A license is used to lift away these restrictions.

I would agree about public domain, if it existed everywhere in a usable manner.


Maybe some people might say "I want to give you my code for free and you can sell it in the future."


Absolutely. Except that you phrase it in a way that makes it sound artificially one sided.

I want to give away code for free that other people can sell, because it is mutually beneficial.

Money provides freedom for programmers, so I want programmers to be able to make money.


For the record I am more of an open source guy. I think tools are used by people in all sorts of ways and I care about how good they are and that they should gently encourage the right kind of culture. Free software is about liberty as the foremost social value and derives everything from there. It would be interesting to many laissez faire market advocates that almost all the Free Software advocates are extremely leftist civil libertarians.

In fact the whole thing might not compute for anarcho capitalists because the main enemy of Free Software -- which is restricted or unfree software -- is produced and used, not by governments, but by corporations. You might realize why they are so leftist and why they actually use the copyright laws to ENFORCE software freedom (an interesting twist!) when you realize that their main enemy is privately held companies who build large platforms on top of proprietary codebases.

I am for open source for practical reasons, they are for free software for philosophical reasons. And lookit: The PRIVATE COMPANY (which anarcho capitalists so admire as the outcome of a completely laissez faire society) is in fact the government over its little jurisdiction, which is the proprietary installed code base that people have. Such as the Bloomberg terminal, or Windows or the iPhone. In many industries, you have to pick one of several companies and they all are run as feudalism. They grant certain favors to some app developers and not others. You can't just deploy apps you write on them.

The exceptions are Linux and the Web, etc. Which have in fact become the most widespread operating system and platform, respectively. Linux and other open source software did it using licenses on their code that USED GOVERNMENT OVERSIGHT THROUGH COPYRIGHT to prevent the software being used by companies to lock people out. The Web did it through a culture of openness where every user could View Code and browsers had to conform to standards of bodies like W3C and WhatWG.

My point can be summarized as usual: people create groups, and if it's not governments then it's companies. Someone will always be lording it over others, creating barriers to unrestricted freedom. And the most we can do is have systems to guide things away from terrible abuses of power.


One of my friends (who is an anarcho capitalist) replied:

There's nothing wrong with creating groups, as long as nobody forces me to be a member. I'll read about open source vs free software, but I think you know my view: I'm against IP because I'm against legal fictions, because they violate natural property rights.

No one is forcing you to become a member of New York City or your particular town or state. You can move.

What anarchists are really lamenting is the lack of available space where people havent set up a group with a government. That just goes to show how it emerges naturally out of other states, which can briefly be described as close to anarchist. And sometimes those states arent so glamorous.

Anyway it's the same in software. It takes massive effort to build a system that is completely free for everybody. That is what the Free Software movement has done. But they are besieged at every turn by PRIVATE, proprietary interests such as businesses who lick their lips and want the "freedom" to use the software those guys built to RESTRICT the freedom of THEIR users. So the Free Software Foundation and its allies have a great ally in the US government and copyright laws! They use them specifically to banish infringers who would use software licensed under GNU License for example without giving their users freedoms.

Interesting? Government helping keep people more free. Thats what happens when the perps are private companies and not governments.

And to address your point - it is just as hard to move away from Windows and Mac, or from Android, iPhone and Blackberry all of them etc. as it is for you to move from the United States. Sure it's possible. But first you need a massive effort to build a natio-- err I mean a platform that is based on principles of freedom. And along the way you will need the help of governments to defend it from people easily coming in and ruining the whole thing because they were "free" to take what you built for their own selfish interests.

The dynamics are almost exactly the same! But it's an interesting case study because software battles are virtual, hurt less people, and softwrae moves really fast. Yet you can actually see the problems that would happen with anarchy without enforcement.

Even today, the free software movement is developing new licenses to combat a new threat: hardware that will only run an approved version of an open source program.


I was going to write something up to the guy above you, but you nailed all my points. Good show!

> Even today, the free software movement is developing new licenses to combat a new threat: hardware that will only run an approved version of an open source program.

And a lot of people miss that this is why they wrote the GPLv3 in the first place, and why it is such a big deal that the Linux kernel doesn't adopt it.


> Even today, the free software movement is developing new licenses to combat a new threat: hardware that will only run an approved version of an open source program.

You mean, like the GPLv3, which restricts the freedom to choose such software to business users?


Right, which is why I am not a major fan of ideologies of any kind getting too much power. I think there are trade-offs, in this case the freedom of businesses vs the freedom of their users.


The phrase "restricts ... to" is ambiguous or incorrect here.


There are a host of issues that one could take with Stallman's proposals/ideas, but one that I think doesn't get much attention is the slight falseness in some of his assumptions.

We give up our freedom to a plethora of things in the world all the time that we all interact with (be it cars, planes, microwaves, televisions, etc). I interact with tons of products that I know, in theory, could threaten me because they are closed systems, but I use them anyway. I suspect RMS does the same and I'm sure he and I try to be cautious and judicious of our use of these things (many others are probably not).

For example, I use Gmail. I know that there is a possibility, however remote, that my correspondence could be hacked or used against me in some way, because of the distributed and closed source nature of the program I'm using. I don't care though. I simply don't trust Gmail with correspondence that is sensitive to my personal life and I get along happily.

How is Gmail impinging on my freedom if I am able to choose, taking a knowing risk? I know RMS would respond that since I don't have access to the source that I actually don't know the risks that I am taking, but I think this is a straw man. Even if every product in the world was open source we would all still be taking risks with them, because there is no way we could spend our time reviewing all of the specific implications of every product.


As long as you are happy with the terms GMail is offered under, and the feature set of the software, you are right, in the short term it probably does not impact your freedom in a way you are likely to notice. It may even enhance your short-term freedom by letting you focus on other things.

However, the fact remains that if you dislike something about GMail (the ads, the way it renders ASCII art, or maybe you wish it supported OpenPGP encryption), you are powerless to do anything about it. This also means that if GMail changes in some way you don't like (e.g. the recent UI changes), you have no choice but to accept them. If one day they decide to forbid normal attachments and force everything to go into Google Drive... well that's just too bad.

Basically, your choices always boil down to "take it or leave it", where leave it means migrating (or losing) your mail and learning to use a new app. This is not a trivial undertaking, even for a skilled user.

When you further consider how many people are putting their eggs in the same basket, these issues (especially the privacy concerns) become much more worrying. GMail, through its market dominance, is actively holding back the adoption of encryption and actively harming the privacy of entire nations. This wouldn't be a concern if it were free software people ran in a decentralized fashion.

Free Software comes with its own issues - running your own software and maintaining it does incur a cost. But with Free Software you have the option of doing things yourself or hiring someone to help you out. With non-free software, you don't have that choice.

How important these issues are to you personally will of course vary. But that doesn't mean Free Software supporters are wrong to believe these are problems worth spending time and effort on fixing. Raising awareness is of course a necessary part of that.

(disclaimer: I work on https://www.mailpile.is/, a Free Software project which aims to offer many of the features of GMail with strong emphasis on privacy/security, so I feel pretty strongly about this.)


But this comes back to why I keep saying that freedom is economically valuable. If you don't like something about Gmail, if you have all the components, you can bring another service to market.

This is what's missing in the discussion. The point of freedom is in production, in bringing things to market. There are certain things (like DRM) that Stallman does not want to be brought to market and so the FSF tries to discourage them using the license.

But that's a dangerous power, left in the hands of a few organizations and companies. I prefer to see this as something that should not be in the hands of anyone, but a case where the freedom to bring products and services to market is the primary goal of the movement. However, this only really exists in Distributism, and of this, the BSD license is the best fit.


If your statement proves anything it's that you are unfamiliar with RMS and his writings beyond what trolls write.

Also, what on Earth do you think you are proving by building a strawman and then explicitly arguing about it being a strawman?


That's actually probably not how RMS would respond. He goes out of his way to emphasize that Free Software is fundamentally about morality rather than any sort of pragmatic reasons like security. He would probably make some analogy equating you choosing to use Gmail with some hypothetical people in the past choosing slavery or indentured servitude because they either didn't know any better or had no better choices in life. He might even chastise you for choosing expediency over moral correctness, and he might even question your own morality because you are contributing to the capital-E Evil in the world by doing so.

You might think that this is somewhat crazy and shortsighted and absolutist and nonconstructive, and you might question the groundedness of someone who equates other people's choices in mail clients with things like slavery, and you'd be quite correct in feeling that way. If you then vocalize these concerns, you will be roundly flamed by one or more CS undergrads claiming that you just don't get it and that you either need to get on board or be steamrollered by history. You might think said CS undergrads are also a little lacking in the groundedness and perspective departments, and you'd probably be right about that too.


The name "Free Software" is bad. The explanation is confusing. The idea that you can have a class of software that is Free but not GPL is confusing, and I'm not sure what he means unless he is just saying you can use other copyleft licenses.

The obvious practical reality in our society driven by money is that if your product must include its source code then you may have some big problems making money or maintaining whatever competitive edge you had.

Whatever your license says or the law says, if the source code is available its a good chance some people are going to copy your software and distribute it for less.

Also, as far as old-school copyleft components (such as GPL, not LGPL), if including the component in my software means that I have to distribute the full source of my application, that means that I go from having a product that is only available by purchase to a product that someone can compile on their computer for free.

The reality is that we live in a monetary society and people aren't always honest. And insisting that source code be distributed with proprietary software is not compatible with business.

Now, I believe that the current form of the structural aspects of society related to business and the monetary system are ultimately incompatible with the truthful holistic application of science (technology) and with ethics in general. We need to fix that. Until we do, copyleft isn't practical for many products.


I once wrote Richard Stallman suggesting what I thought was a much more helpful name, keeping all the good connotations but with less of the ambiguity:

Liberating Software

But I never heard back.


Some people use the term "Libre" or "Free as in Speech" also.


I know that. That's why I wanted to choose a two-word English phrase which immediately conveyed the right thing without the downsides.


The distinction between Open Source and Free Software seems increasingly silly to me (as a user and someone who has to program for his job, but is not a developer, and is not terribly interested in licenses). Both are open source (lowercase) as in, I can see the source openly. That's what's important for me, personally. Then there is the question of Copyleft or not, which is partially orthogonal to that. Copyleft is this neat hack of the copyright system where you can make people who use your code (and care about copyright) share their code, too. I think the real question Stallman is addressing is copyleft vs. non-copyleft.

) In fact, I'd be really happy if e.g. Microsoft would "open their source", that is show the source code to Windows, even under a ultra non-permissive license a la: "You may not use this for anything."


In fact, I'd be really happy if e.g. Microsoft would "open their source", that is show the source code to Windows, even under a ultra non-permissive license a la: "You may not use this for anything."

That is proprietary software. Source code by itself is useless when you have no rights to go with it. This is why "open source" is such a sly term. Companies can very easily pull off shenanigans like in your hypothetical scenario and then hide behind the banner of "open source". They would also technically be correct, even if not abiding by the OSI. After all, it sure as hell isn't closed source!

Free software, so long as you specify "libre" or "free as in freedom", is unequivocal. Bullshit like freely viewable source without distribution rights doesn't cut it.

Your views are misguided, and are even potentially harmful.


There are plenty of benefits to being able to read the code without the ability to distribute it. Two things come immediately to mind:

1. Is the software secure? Are there gaping security holes riddled through the source? Think about all the times you hear about people "working on getting the project ready for open source". Often this is due to vulnerabilities that are ticking time bombs waiting to go off as soon as the security by obscurity clock runs out.

2. There may be GPL code in the source that is being used in violation of the license. I would not be at all surprised if a significant chunk of closed proprietary software is using GPL code, but no one knows because they cannot read the source.

Both of these points are moot if you simply avoid proprietary software altogether RMS style, but only a tiny fraction of users are going to do that. Of course, these benefits are also the reasons why this will never happen.


> This is why "open source" is such a sly term. Companies can very easily pull off shenanigans like in your hypothetical scenario and then hide behind the banner of "open source".

They would be technically incorrect to do so. Microsoft tried, but they had to retreat to "shared source" because of the backlash.


All copyleft really is a cost. "I will give you the fruits of my labor, but in exchange, you must share your enhancements on the same terms."

Being able to see the source isn't very useful at all, at least if you do something significant with it. You can pretty easily access Windows source code, but doing so "taints" you with NDAs and other hooks that potentially make it difficult for you to apply whatever you learned in your own products.

Saying that things like the GPL are silly because complying with it brings you some short-term angst is a really short-term thought pattern.

People bitch about GPL in Linux because of things like ZFS and graphics drivers. But without GPL, who is to say that you would be able to actually build a operating system that supports as broad an array of hardware and features as linux does?


All copyleft really is a cost. "I will give you the fruits of my labor, but in exchange, you must share your enhancements on the same terms."

I'd re-word it as "in exchange, if you share your enhancements, you must do so on the same terms". Because lots of people think that if you modify for your personal use, or if a company modifies for its own internal use, they must share those changes, which is not true.


Is the distinction between "advanced interrogation techniques" and "torture" also silly to you? How about the distinction between a republic and a democracy? Or the distinction between socialism and communism?

Copyleft vs non-copyleft is not the distinction between free and open source. The distinction is about the emphasis in the language, that's all. Stallman wants people to think about their freedom. The open source initiative wants to sweep this freedom talk under the rug.


Yes, it depends, and no, respectively.


While its intentions are noble, in my experience the GPL is Free as in "you probably need a lawyer to ensure you're not violating it". Doubly so for AGPL.

The irony of RMS spreading his own vision of "Freedom" is that the GPL restricts things which he doesn't agree with, which seems to violate the most basic principle there. I've been involved with several organizations which try to avoid GPL code, by policy, in favor of MIT/BSD because it raises too many issues. Not saying GPL hasn't done good things (my understanding is that much of Apple's compiler work is public bc they started with GPL code), but the wind seems to be blowing towards less restrictive OSS licenses.


Stallman is wrong that proprietary software hurts users; that's the essence of his critique. It's sad that so much software has sailed under the GPL flag of convenience, simply because it existed and could avoid license bikeshedding. Most of the efforts embodied in Linux or even GCC are not motivated by RMS's political spin.

What's really unfortunate about his noise is that it has consumed the air that should be supporting more fundamental topics - especially the nature of protocols (which must be free, documented and unencumbered in order to really qualify as protocols.) The IETF really embodies the philosophy that has made the net a success.


Imagine a world where all software adheres to the tenets of Free software. Our freedoms would continue to be egregiously curtailed by website Terms of Service Agreements at, Contracts with the service providers of hardware devices, Firmware restrictions like UEFI safeboot, and legal straightjackets like software patents. I dont understand how the philosophical underpinnings of just the software are really all that effective in guaranteeing any sort of freedom without also having all the other freedoms we're already denied.


How does the free software movement live in a capitalistic society? I'd be all for writing and contributing to free software if I could make a living off it. But I need to make a living, and that likely isn't coming from writing free software. I charge for my software because I want the freedom to choose what I create, rather than just pounding out code for someone else to make a profit from.


> How does the free software movement live in a capitalistic society?

Quite well. Which is why so many for-profit corporations release F/OSS.

> I'd be all for writing and contributing to free software if I could make a living off it.

People do -- by selling their expertise with the software, or selling solutions in which the software is an enabling component.


I understand this model, but with some software there is no obvious model for selling solutions beside the software. A lot of times the software is the solution.


> How does the free software movement live in a capitalistic society?

One obvious way is to sell Free Software. The market has raced to the bottom recently, but a while ago a lot of GNU development was funded by Free Software sales.

Compare this to proprietary software, which can't operate in a capitalistic society. It relies on government interference in the software market to create an artificial scarcity (ie. copyright).


> Compare this to proprietary software, which can't operate in a capitalistic society.

Er, what?

> It relies on government interference in the software market to create an artificial scarcity (ie. copyright).

Capitalistic society relies on government involvement in the market to create property rights; among the property rights that were features of the systems for which the term "capitalism" was coined is copyright.

So, to say that proprietary software cannot exist because it relies on government for the system of property rights that underlie it is a gross misunderstanding of "capitalism".


How does one sell free software?


> How does the free software movement live in a capitalistic society?

Define "capitalistic."

If you mean free market there are all kinds of ways it can live. If you mean investor-backed corporations, then the answer is dual-licensing.


Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.


The problem is that code doesn't afford freedom. Money does. So to the extent that a license inhibits users of a codebase from making money, it is anti-freedom.


To the extent that the Underground Railroad inhibits would-be slave-owners from making money, it's anti-freedom.

Note that I'm quite emphatically not saying these are exactly the same thing, but pointing out by example that there are other factors that can clearly be far more important.


It's not clear at all what you are trying to say. If you think there are other more important factors, why don't you just say what they are?


There are some obvious important factors - most importantly the ability to extend my software (or pay others to do so) and to thereby ensure continued interoperability.


Why are these more important than the ability for developers to make money?


In general, because an increasing amount of our lives are dependent on software and there are far more users than developers.

Note crucially that we're not talking about all ability to make money (as we would be with Non-Commercial clauses); we're talking about the difference between the ability to earn money based on copyleft code (demonstrably non-zero) versus non-copyleft code (probably more).


> The problem is that code doesn't afford freedom. Money does.

What do you mean by "freedom?"

I would argue in fact that code, as a tool for producing goods and services, affords greater freedom than money does. The argument is specifically about, IMO, the question of restrictions on what goods and services can be provided. Those restrictions I would agree are anti-freedom but it has nothing to do with money per se.

If you are paid in chickens, does that make you any less free?


So you are arguing that a barter system provides more freedom than a money based economy.

I'm genuinely interested and open to being convinced of that, but you've only said "I would argue that.." and then offered conclusions without actually presenting the argument.


Not really. Money is an abstraction. The freedom is not in money. The freedom is in what you make that you bring to market. Whether you barter or trade for money is really a secondary concern.


Once again, you make a series of pronouncements without any explanation or argumentation.


I got the point "Free" in Free Software. Whether it ends up in giving the software Free since we can modify and redistribute Free Software?


I used to put a lot of stock into RMS's philosophy of How The World Works Best™. Now I ask myself why I don't just treat it any differently than reading some random blog on the internet. Yes, RMS has done great work in leading emacs through the ages. That's pretty awesome. But that doesn't really give him any credibility in the realm of philosophy. And such a social and human topic as software licensing is pretty genuinely venturing into actual philosophy.


Correct me if im wrong, but I don't think he just invented this mindset out of nowhere. It was born from the hacker culture at MIT before industry completely took over software production. Im not very hip on philosophy, what makes someone a credible philosopher?


> what makes someone a credible philosopher?

Peer review in major academic publications typically. Philosophy is a lot more rigorous than many imagine. RMS' ideas are interesting, and may even form the basis of some philosophical positions in the future, but I would not call him a philosopher in the academic sense. A lot of the distinction is wrapped up in culture and context. As a programmer, I work on subjects that delve heavily in mathematics, but I would not call myself a mathematician, because I am not part of that culture or the peer review process.


Absolutely, but that model relied on programmers being paid by MIT, who was in turn paid by the US taxpayer. It was never going to pay for millions of programmers salaries, it was designed for the elite few.

I think the past decade has shown that free, open source, and completely proprietary software can all co-exist without negatively affecting consumer choice.


Absolutely, but that model relied on programmers being paid by MIT, who was in turn paid by the US taxpayer. It was never going to pay for millions of programmers salaries, it was designed for the elite few.

My paycheck disagrees with the assertion that the model relies on programmers being paid by MIT.

It's certainly less profitable than writing proprietary code, but I see no reason why it can't pay for millions of programmers' salaries. And no, the fact that it doesn't right now is not proof of that, because proprietary software crowds out free software jobs. I'm talking about the hypothetical situation of all software written being Free.


Sure, it could be an option, but for those of us who have no moral objection to proprietary code, its not a compelling universe to live in.

People who write proprietary software generally take on harder problems before the free software community (from AT&T to Google), and are quite generous with their fortunes once they make them.

I'm not concerned when producers of good things make money, I'm happy when I see that happening, as opposed to non-producers like financial vultures making all the money while being destructive to society.


It seems like a degree in philosophy would. RMS's qualifications appear to just be his experiences.


Question:

If I license my software under the GNU Free Documentation License and include invariate sections, is it still free?


This licensing terms of this article is not compatible with the GPL or the Debian Free Software Guidelines.


This article isn't computer code, it's an editorial.


tl;dr Open Source is a necessary but not sufficient requirement for Free Software.


To begin, my position on this matter has been clear for years: both free software (as defined by Stallman) and non-free software (as defined by Stallman) can co-exist. I believe in free market (not ideal free market).

-->

For the free software movement, however, nonfree software is a social problem, and the solution is to stop using it and move to free software.

We in the free software movement don't think of the open source camp as an enemy; the enemy is proprietary (nonfree) software. But we want people to know we stand for freedom, so we do not accept being mislabeled as open source supporters.

These two quotes strike me. Why should we label proprietary software as enemy?

If we clone all proprietary developers to work on free software alternatives, then we definitely have more options to choose from. The problem is not a social problem -- it isn't that people, average like my parents, don't know free software exists - but because there aren't enough to choose from. Like I said, if you can clone all of the developers to work on free alternatives every day, you will definitely have free alternatives. If you only have a handful of people working part-time as a hobby to contribute to free software, how can you compete with proprietary software?

I am not against free software. I like free software (as defined by R.S). I like open source. I also think proprietary softwares have value. Note here on HNs a lot of people run X-as-a-service. In the ideal world, if everyone knows how to program, if everyone has access to a computer, if everyone has time, we could have the old Internet back; imagine a world where everyone can write, distribute and host their free X-as-a-service for people to use? That's why knowledge base like Wikipedia is important to us. I like this ideal world, but at the moment this is not easy to achieve.

You don't need to teach me to use free software. If it is free and open source, and reliable, I will use it. But if the interface is ugly, unusable, crashes all the time, and if there is no reason for me to contribute back (say an IRC client), I will dump that software and look for something else. I am a programmer, but I am not going to contribute to every software I use. I don't have the time. I don't have the necessary skill. I have more important things to do like finishing my work, looking after my family, relax, cooking, working on my hobby project, and getting enough sleep.

-->

But software can be said to serve its users only if it respects their freedom. What if the software is designed to put chains on its users? Then powerfulness means the chains are more constricting, and reliability that they are harder to remove

<delete chars>

Sooner or later these users will be invited to switch back to proprietary software for some practical advantage.

This is a good time to re-mention MS Office vs LibreOffice/OpenOffice. I am fine with LibreOffice's Word processor and PowerPoint program until I need to do something complex. If I just need a quick PPT or a quick doc I can get away with LibreOffice. But when I need something complex, polished, I like to use MS Office. True I have been raised to use MS Office since I was a kid. It is true MS is locking me in all the time, but it is simply because the features in LibreOffice is still lagging behind. I will be happy to dump Office completely if LibreOffice continue to improve.

-->

Under pressure from the movie and record companies, software for individuals to use is increasingly designed specifically to restrict them. This malicious feature is known as Digital Restrictions Management (DRM) (see DefectiveByDesign.org) and is the antithesis in spirit of the freedom that free software aims to provide. And not just in spirit: since the goal of DRM is to trample your freedom, DRM developers try to make it hard, impossible, or even illegal for you to change the software that implements the DRM.

I don't want to start a flame war on DRM. This is as dirty as complex as politics. After reading the FAQ on http://www.defectivebydesign.org/faq#what I will point out a few striking remarks:

If you purchase electronic copies of games from Steam, you can't sell them or share them with a friend after you're done playing them.

I don't see this as a violation of my freedom. If the license given to me is restricted to my account, why is it okay for me to distribute it to my friends and everyone in my friends' circles? The other examples may be violation of freedom, I won't argue. What do you propose? Create a universal gaming platform where you can download games and all you need to access a game is to own an account. Say pay $29.99 and I can run a Steam game I didn't purchase but acquire from my friend? If Steam has a feature to transfer game (say only once) but locked to Steam platform, is that a violation of freedom?

Are Hollywood the one to blame? Not exclusively. This way, all their customers remain dependent on them, and helps maintain their dominant position in the market.

I think this is a direct attack on anyone who is trying to come up solutions. If you are a solution technology company, your job is to create a solution. Just as Google is an excellent search engine I feel attached to using it because it provides what I want 8/10 times. As a customer of Google's search engine, I am okay with Google keeping its dominant position by using the search engine. When Google SE fails to deliver the right results I might use Yahoo, Bing or even DDG.

-->

I feel like a lot of the free software advocates seem to be against the existence of proprietary software and any business depends on proprietary software development. As I have said before, I think both can co-exist. Do I want free software? Of course. I would like to own a free copy of Mac OSX and able to modify from start to finish. But I don't think everyone should be told to use free software.


> I believe in free market (not ideal free market).

Nothing about proprietary software reflects a free market. The entire proprietary software industry can only exist through the existence and practice of copyright law. Nothing about copyright law has anything to do with the usual tenants of free markets - voluntary exchange, property rights, and informed transactions. It is just made up rules with (maybe) good intentions and catastrophic consequences.

> Why should we label proprietary software as enemy?

Because it violates Richard Stallmans, and anyone who agrees with him (so at least the entire FSF and GNU project) ethics.

> I also think proprietary softwares have value.

The act of being proprietary adds no value to any software. It only serves to take away potential value in the ability to trust, understand, reuse, and modify it. The only exception is software that only functions through its obfuscations, such as DRM, and that entire class of software is implicitly anti-user and only functions to take away more freedom.

> but at the moment this is not easy to achieve.

The ease of accomplishing something should never be just cause to work for or against it.

> because the features in LibreOffice is still lagging behind. I will be happy to dump Office completely if LibreOffice continue to improve.

You probably (assumptions here) have done no part to fund or participate in the continued development of LibreOffice, while you have paid Microsoft for their Office suite. You are directly incentively the continued usage and development of proprietary software without doing anything for the free alternatives. Even if you have contributed to LibreOffice in some way, you are still sustaining the proprietary freedom depriving Microsoft suite through both your purchase and usage of it.

> I don't see this as a violation of my freedom.

Free software has three tenants - the ability to study, modify, and share software. Implicit to Steam is a violation of (at least) one of those freedoms. You are free to not consider them freedoms in your ethical outlook.

> But I don't think everyone should be told to use free software.

It isn't about forcing anyone to do anything, it is about removing the force already imparted upon you by proprietary software vendors that restrict your ability to modify or redistribute software. Richard Stallman (probably) doesn't give a shit if you use emacs or a competitor, as long as both are free, or at the least that you understand that you are sacrificing your freedoms to use convenient proprietary alternatives.


Nothing about proprietary software reflects a free market. The entire proprietary software industry can only exist through the existence and practice of copyright law.

Not exactly, since Freedoms 1 and 3 could still be abridged even without copyright, by just releasing binaries.


It's also worth mentioning that without copyright, all GPL-licensed code would enter the public domain, so you would then be free to modify it and only release the modified software as a compiled binary.


That's the plan (although RMS/FSF would also be happy with a less egregious copyright system; eg. like the early 14 year copyright system).

In the mean time, the copyleft is a clever hack which exploits the current copyright system to make it less biased against Free Software. If the copyright system goes, so does the bias, so there's no need for copyleft anymore.


It is just made up rules with (maybe) good intentions and catastrophic consequences.

Not necessarily catastrophic though I can see this as an argument to defeat patent trolls.

My main point is that in a market where can freely consume a freeware, free software and fully proprietary software is a free market. A world with only free software is still one sided.

The act of being proprietary adds no value to any software. It only serves to take away potential value in the ability to trust, understand, reuse, and modify it.

There isn't always a need to actually understand, reuse and modify a software if the user only wants to use it. Proprietary software cannot be studied and trusted fully -- that's true, but if there is no free alternative competitive sacrificing is how we live in this world.

You probably (assumptions here) have done no part to fund or participate in the continued development of LibreOffice, while you have paid Microsoft for their Office suite. You are directly incentively the continued usage and development of proprietary software without doing anything for the free alternatives. Even if you have contributed to LibreOffice in some way, you are still sustaining the proprietary freedom depriving Microsoft suite through both your purchase and usage of it.

Using a software is already participating in the continued development of LibreOffice.

If I could take a train to get to work in 15 minutes, why would I bike for 45 minutes to work every day? I may bike occasionally, but definitely not everyday. If LibreOffice is convinent to do everything I need to do with MS Office, I'd switch permanently. If not, they will both co-exist on my computer.

How will removing MS Office do any good to free software if I don't actually write code for LibreOffice in the first place?

Is there not enough people already writing code and plugins for LibreOffice suite? Sounds like free software moment is pushing people to write free software because they don't have enough developers who are willing to put time writing code for free software.

Implicit to Steam is a violation of (at least) one of those freedoms. You are free to not consider them freedoms in your ethical outlook.

That's why free software movement from R.S. is radical to me.

It isn't about forcing anyone to do anything, it is about removing the force already imparted upon you by proprietary software vendors that restrict your ability to modify or redistribute software.

The force imparted upon me is due to the fact the free alternatives aren't good enough or just don't exist. If there exists one that works really well, like proprietary software, the force is not as strong as you think.

If we shall, free software is awesome, it has the ability to study and modify the software in any way the user wants, now, how do I make a living off my work?


> If LibreOffice is convinent to do everything I need to do with MS Office, I'd switch permanently. If not, they will both co-exist on my computer.

LibreOffice will never be as convenient if you keep paying Microsoft to improve Office. If you truly cannot switch to LibreOffice 100% then you might consider making donations to LibreOffice for the same amount as an Office license would cost. That way, at least you're not being biased against LibreOffice.


> My main point is that in a market where can freely consume a freeware, free software and fully proprietary software is a free market. A world with only free software is still one sided.

And my argument is a world with only free software is just one without copyright law. How about we add in a new kind of software - loanshark software. You have to pay monthly and you get a random file from the source code each month as per the EULA. We don't have much of that software around, though, so I guess the market is lopsided and needs more balance?

It is all artificial, and yes, even the release-the-source part of the GPL is artificial. But if we lived in a world without copyright, we wouldn't need the release the source stipulations because you couldn't profit off artificial scarcity of information anymore anyway, so not releasing the source would just be considered a dick move. But platform lock in matters a lot less when you have no way to profit by "having the platform" since you can't enforce distribution restrictions.

> but if there is no free alternative competitive sacrificing is how we live in this world.

What software is there without free alternatives? I'd get started tomorrow on any unique problem not addressed to some degree by a free software project. If you are going to argue "the proprietary has more features and convenience than the free", then of course it does, our current copyright regime enables the profiteering off information denial, you can make profit off of denying freedoms. So businesses can bloom under it. It just means you are leeching value out of artificial constructs and are redirecting effort and money artificially.

> Is there not enough people already writing code and plugins for LibreOffice suite? Sounds like free software moment is pushing people to write free software because they don't have enough developers who are willing to put time writing code for free software.

There are never enough people. We could have most of the human species devoted to the development of free software and we wouldn't have enough. There is always work to be done, especially if you are claiming MS office as having features Libre doesn't - then yes, Libre is understaffed and needs either funding or developer hours to make it better, and that is your (and my, and everyone elses) responsibility if you believe in software freedom. If you don't, and won't consider it, then the entire argument is moot since the whole position of free software assumes a belief in it by providing its rational argument for why it is optimal and why proprietary software is bad.

> That's why free software movement from R.S. is radical to me.

And your stance is radical to me, because I think respecting a users freedom should be assumed, not extraneous.

> If we shall, free software is awesome, it has the ability to study and modify the software in any way the user wants, now, how do I make a living off my work?

You do the same thing you do anywhere else, you propose value and seek compensation for your work. "I want to add bloom filters to GIMP, but will need about 400 hours to do so, and at $50 an hour that is about $20000 of work, so if I can raise that money I'll implement the feature".

The same thing applies to pretty much all other copyrighted works, but this is beyond the scope of free software arguments and into the anti-copyright movement, but it boils down to "charge for scarce resources, not for artificially restricted infinite information".


"all existing free software would qualify as open source" - does Stallman missed Freeware software? I hate this guy.


Stallman has a rather precise definition of "Free" software, which does not include freeware (i.e. "free as in beer") software.


It's not just Stallman insisting on it. "Free software" has been a well-defined term for a long while now.


"Why Free Software missed the point of Open Source.":

doing WTF you like, commercial or not.


To be clear: Free Software does not object to commercial activity. Copyleft requirements happen to get in the way of some commercial activity, which the FSF and related community finds objectionable for reasons unrelated to its commercial nature. Stallman opposes "noncommercial" requirements in licenses, no FSF license has these, and such clauses are reason to call a license "nonfree".


Gpl on commerce, in a nutshell:

Sell this software without ability to modify: tyrant

Use this software to create a closed REST API: no problem


The license doesn't prevent the latter, but the FSF doesn't approve. There's also the AGPL, which would forbid the closed REST API.

None of that means there's no opportunity to make money. People might pay for convenience (I don't have to set up and run my own server, even though I technically could) or access to networks - if Facebook AGPL'ed their whole stack, people using Facebook would keep using Facebook because their friends are on Facebook.


So, where is the line where providing services with the software becomes acceptable? An API is obviously a service provided with the software, but so is consulting using a GPL statistical package. How, and where, can you draw the line between those things?


The customer is not the end-user of the GPL code; the consultant is. The customer is an end-user of the consultant. That relationship will be governed by a completely separate contract.

On a related note, the output of a GPL program is not GPLed. I can compile non-GPLed code with GCC. Myths like this keep getting used as FUD.

Licenses with a network-use clause, like AGPL and CPAL, define access over a network as distribution. This would cover an API, but would not cover going via a consultant, since the consultant isn't software. If you want to argue that people's minds are software, you may as well argue that our teachers hold the copyright to our thoughts.


I'll have to look at those network use clauses. I've always found proprietary, BSD, and AGPL to have coherent philosophies. The GPL, on the other hand, has always felt to me to be much more of a mishmash of whatever Stallman likes or dislikes.


I'm confused - it's the GPL that fails to make a distinction between the REST API and the consultant. I'd thought you were criticizing that distinction as being arbitrary.


Yes, that's what I think and what I thought I'd been saying. What of what I've said indicates otherwise?


I see contradiction in:

1) The AGPL is philosophically well founded, the GPL is arbitrary.

2) The AGPL enforces an arbitrary distinction, the GPL does not.


I think I've found the confusion. I was still talking about the GPL in my second comment. I see why that was confusing given that you'd explicitly added the AGPL into the discussion, sorry.

I might have better stated it as "I agree the AGPL removes the tension, I think the AGPL is philosophically coherent. But the FSF still primarily pushes the GPL. [transclude prior comment]"


Hm, I still don't see how that resolves it.

You say "How, and where, can you draw the line between those things?", when the AGPL does precisely that and the GPL refuses to.

I'm not trying to criticize, here, I'm trying to understand...


I'm criticizing the GPL as inconsistent because it draws lines haphazardously. That it is ok with the API but not with the distribution feels arbitrary and inconsistent to me.

The AGPL is elegantly precise - anything you do to the code becomes public.

The bad is elegantly precise - anything you do is fine.

GPL is complicated and inelegant - some things are fine while their near equivalent actions aren't.

Edited to clarify


"Anything you do becomes public" is an inaccurate description of the AGPL. That consultant can keep things private.


In principle, the line is a gradient based on how much you're putting yourself in a position of power over your users.

The consultant doesn't serve so much of the market that there won't be tons of competitors. If he makes some changes to better meet his particular needs, that has a very small impact on my options as a client. I would prefer that he share it, if anyone else is interested in it, but it doesn't matter very much at all.

One API can potentially serve the entire market, and you wind up with just a few players all fighting for lock-in. Proprietary changes there matter quite a bit more.




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

Search: