Why Open Source misses the point of Free Software
gnu.org
gnu.org
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.
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.
It'd be great if the distinction were merely academic.
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.
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.
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.
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.
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?
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.
You're responding to real world examples of copy middle projects and proprietary descendants coexisting happily with vague fears but no examples.
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.
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.
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 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 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....
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.
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.)
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.
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.
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.
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.)
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.
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.
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?
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.
Why especially the older ones?
I'm not objecting to your claim, I'm interested in your reasoning.
But network effects themselves discourage fragmentation independent of license.
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.
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. ;-)
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.
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.
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.
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.
I think it's like snipers in FPS games - the only thing that can REALLY stand up to a sniper is another sniper.
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.
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.
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.
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.
But the question is how much one is encumbering the work of others.
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.
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.
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.
GPL -- keep it free
The latter allows us to program in 20 years without asking a corporation for permission.
I have BSD-licensed code with copyright notices from the 80s on my system. Yes, I run a BSD.
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.
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".
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.
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).
Yes there is, for the same reason that the third billy goat gruff increased aggregate freedom by butting the troll off the bridge.
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.
>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.
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...
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 hopes to communicate to those who have that short-sighted view, that their interests are not best served by focusing on just the code.
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.
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.
He actually does like it:
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...
"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."
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.
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.
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.
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.
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.
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.
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.
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!
Would you prefer MySQL or PostgreSQL? ;-)
Here's a case of a BSD-licensed project overrunning a GPL-licensed one.
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.
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.
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.
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.
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.
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.
So if I'm going to subject myself to licensing restrictions, it's silly to restrict myself to some code.
Care to shed some light on your or your lawyer's interpretation of the license? Can you point out what causes incompatibility?
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.
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 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 :)
It's just another way of being proprietary by obscurity.
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.
OpenBSD uses it.
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?
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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...)
Again, freedom is economically valuable.
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?
It's hard to say for sure. However, from what I have seenof the FreeBSD community, they seem quite active and vibrant.
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.
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.
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.
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.
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.
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.
I think btw that is a bigger restriction than allowing you to distribute the binary but not read the code.
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.
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".
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.
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.
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).
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.
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.
I must concede that some of their cleverness is probably exploitable. It is hard to have really accurate searches without some hacks.
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.
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.
https://news.ycombinator.com/item?id=7375771
Does the Free Hardware movement need a Stallman?
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.
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.
I would agree about public domain, if it existed everywhere in a usable manner.
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.
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.
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.
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.
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.
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.
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.
> 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.
You mean, like the GPLv3, which restricts the freedom to choose such software to business users?
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.
Also, what on Earth do you think you are proving by building a strawman and then explicitly arguing about it being a strawman?
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.
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.)
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.
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.
Liberating Software
But I never heard back.
) 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."
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.
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.
They would be technically incorrect to do so. Microsoft tried, but they had to retreat to "shared source" because of the backlash.
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.
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?
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.
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.
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.
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).
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".
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.
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.
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.
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).
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?
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.
I think the past decade has shown that free, open source, and completely proprietary software can all co-exist without negatively affecting consumer choice.
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.
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.
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.
If I license my software under the GNU Free Documentation License and include invariate sections, is it still free?
-->
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.
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.
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?
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".
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.
Not exactly, since Freedoms 1 and 3 could still be abridged even without copyright, by just releasing binaries.
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.
doing WTF you like, commercial or not.
Sell this software without ability to modify: tyrant
Use this software to create a closed REST API: no problem
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.
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.
1) The AGPL is philosophically well founded, the GPL is arbitrary.
2) The AGPL enforces an arbitrary distinction, the GPL does not.
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]"
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...
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
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.