430 comments

[ 2.7 ms ] story [ 359 ms ] thread
This very clearly and simply describes the differences between absolute freedom, limited freedom, and the value of limiting freedom.

In a way, it's similar to the paradox of tolerance, and a tolerant society needing to be intolerant of those that are intolerant.

Or to quote Team America: freedom isn't free.

I may be re-thinking my own use of BSD licensing in favour of something more copyleft in future too.

> In a way, it's similar to the paradox of tolerance, and a tolerant society needing to be intolerant of those that are intolerant.

That's not a paradox; you're just intolerant. Whether you're right or wrong to be so is immaterial, as is whether the people you're intolerant of are also intolerant.

(comment deleted)
People keep posting this Wikipedia link as if it ended discussion on the topic. An idea is not automatically true just because it has a Wikipedia article. Even the linked article has quotes from people who disagree:

Thomas Jefferson had already addressed the notion of a tolerant society in his first inaugural speech, concerning those who might destabilise the United States and its unity, saying, "...let them stand undisturbed as monuments of the safety with which error of opinion may be tolerated where reason is left free to combat it."

Jefferson may have changed his mind had he seen the horrors that Nazi ideology led to in WW2 -- and may do so again, the way Europe (and the US) is going.
Maybe he would have, maybe he wouldn't have. We'll never know. We'll certainly never know if Jefferson would have thought the wholesale slaughter of jews to be an appropriate topic to broach when discussing the relative merits of the GPL vs MIT. Instead of resorting to temporally impossible hypotheticals, why not talk about people who actually had the sort of experiences you think are most relevant to the discussion?
Please post your thoughts rather than dropping a link with no commentary.
the paradox isn't about what you are or aren't. but about what you should be.

it is certainly a subtle nuanced issue.

It's really not all that subtle.

If you want to laud yourself as tolerant and pure, and then do bad and intolerant things, one way to avoid the obvious inconsistency is to furrow your brow and say, "well, it's a paradox," and then change the subject.

Look, I was in the Army. My job was to close with and kill the enemy. I can say, "well, a peaceful society sometimes has to make war, it's a paradox!"

Or I can cut the bullshit and accept that we're really not very peaceful.

> Or I can cut the bullshit and accept that we're really not very peaceful.

I'm peaceful. But I'd violently defend my peace - I think it's a paradox.

The "paradox of tolerance" was formally defined in 1945, at the height of WWII. It's the result of grappling with a complicated moral issue - how do you remain peaceful when Nazis are dropping bombs on your city so as to march in and start rounding up minority populations for extermination? You have to abandon your peace value, at least for a moment.

"Cut the bullshit" is an extremely dismissive thing to say about a highly debated philosophical moral concept. Maybe it feels good to say, maybe it feels like an intellectual high ground, but I say it's intellectually dishonest. It's the imposition of your philosophical viewpoint as "right" because you claim your viewpoint is more "simple" or "natural."

I think you're not getting the paradox part.

If you're tolerant of intolerance, you may be tolerant, but others will be intolerant. If you want a tolerant society, you need to be intolerant of intolerance.

Of course to write it down like that, it sounds like they're the same kind of intolerance, but they're not, and that's also the solution to the paradox: it's intolerance of people who are simply being who they are, that's oppressive and therefore unacceptable, but intolerance of oppression is necessary if you don't want oppression.

Copyleft vs permissive is kinda the same thing. I hadn't really looked at it that way yet, but I see the similarity.

> If you want a tolerant society, you need to be intolerant of intolerance.

But what's the limit of this process? The end state will continue to be intolerant of intolerance, because people will continue to think bad things.

All that means is that your "tolerance" has a clearly defined limit.

This comes up all the time. I pointed out the case with war. There's also crime. We respect the rights of others, so we don't steal, except when we fine criminals, we don't imprison, except for the prisons we have, we don't kill, except in self-defense and to execute.

No one ever describes those as "paradoxes" because they're not.

As to why people would describe this particular case as a paradox, I'm going to avoid getting into ideology.

Written by a philosopher amidst the height of Nazi power:

>Less well known is the paradox of tolerance: Unlimited tolerance must lead to the disappearance of tolerance. If we extend unlimited tolerance even to those who are intolerant, if we are not prepared to defend a tolerant society against the onslaught of the intolerant, then the tolerant will be destroyed, and tolerance with them. — In this formulation, I do not imply, for instance, that we should always suppress the utterance of intolerant philosophies; as long as we can counter them by rational argument and keep them in check by public opinion, suppression would certainly be unwise. But we should claim the right to suppress them if necessary even by force; for it may easily turn out that they are not prepared to meet us on the level of rational argument, but begin by denouncing all argument; they may forbid their followers to listen to rational argument, because it is deceptive, and teach them to answer arguments by the use of their fists or pistols. We should therefore claim, in the name of tolerance, the right not to tolerate the intolerant.

If nobody had fought the Nazis (an intolerant culture), they would rule at the very least all of Europe.

It's the difference between political freedom and metaphorical freedom (knowledge & rights).

Political freedom I define as not being subject to violence unless you're attacking someone or stealing (material objects) from someone.

Metaphorical (software) freedom is being in control of your computer, that means: you run free software (you know what you're running) and you can use and distribute it freely. There is nothing inherently violent in closed source programs.

Violence is usually too far removed from the relevant abstractions. It's not difficult to see violence behind everything, because rules don't mean much if they aren't enforced, and it's all too easy to conflate violence with a threat of violence, or a threat of force with a threat of violence, etc.

But that's not a very useful perspective; a well-functioning society filters violence so that it is only applied when things go seriously awry, and most of us should only ever threatened by minor inconveniences. To focus on violence is to be reductive; it is like trying to talk about programming in terms of electromagnetic laws -- yes, computers ultimately run on electricity, and social powers are ultimately enforced through violence, but the abstractions we've built atop those facts are actually very relevant and useful.

Political freedom is not simply about establishing when violence is appropriate. It's broader than that -- it's about the functional ways we can convert violence into something softer without abdicating our ability to govern ourselves effectively.

More to the point, closed source software doesn't need to be 'inherently violent' for it to cause problems. Nothing is inherently violent, and political freedoms are not defined by violence any more than computer programming is defined by electricity use.

Property rights are the primary domain of politics. If you personally define a certain formulation of property rights as a natural state, your opinions on how freedom should be defined are going to spring from that formulation.
My view is: if you don’t care what people do with your software and just want anyone who finds it useful to use it, including anyone from Stallman-esque ideologues to cogs in the FAANG machine and everyone in between, then use BSD, MIT or similar.

If you care about “free software” as an ideological movement and only want to give your software to people who are, in exchange, willing to help advance it, then use copyleft.

I am sure that some copyleft fans will have different interpretations or motivations. I’m just giving mine :)

(This all applies to contributions done in an individual’s free time. Companies contributing to open source for strategic reasons might think about these decisions in different terms).

Exactly the same for me. For most personal creations, I seriously do not care at all what happens to it. I just don't want to be successfully sued over it.
I use the GPL because I want every user of my software to have the right to use, examine, modify and create derivative works. Every user, not just programmer and entrepreneurs making products.

I want to live in a world where software, which plays an increasingly important role in our lives, can be modified by anyone. Imagine if only google could fix your plumbing

I've found that programmers tend to frame licenses in they way you have, placing emphasis on how the GPL affects them and describing the GPL as a way to enforce tit-for-tat but software is such an important part of everyone's life now that it's worth considering how licenses affect non-developers too.

> I've found that programmers tend to frame licenses in they way you have, placing emphasis on how the GPL affects them and describing the GPL as a way to enforce tit-for-tat but software is such an important part of everyone's life now that it's worth considering how licenses affect non-developers too.

That's the point people keep forgetting. GPL wasn't created to benefit developers, it was created to benefit end users.

My iPhone has a BSD-licenced kernel. Having that kernel under that licence benefits me as an end user of the product. Maybe having used another kernel would've resulted in a less stable mobile that would not have taken off.
I doubt any licensing makes your phone more stable, but if it were unstable, the GPL would certainly certainly make it easier/cheaper to fix.
(comment deleted)
> I doubt any licensing makes your phone more stable

Sure it does. Without open-source software to base their work on, Apple would have had to start from scratch and possibly never get the project into a usable state. (In fact, they did actually try several multiple times to replace Mac OS 9 with an in-house-developed OS, before eventually buying NeXT, whose OS was rebranded as OS X and ultimately became iOS).

But if it were unstable, the GPL would certainly certainly make it easier/cheaper to fix.
NeXTSTEP, by the way, was a proprietary OS based on the MIT licensed Mach and BSD code.
"if you don't care what people do with your software and just want anyone who finds it useful to use it, including anyone from Stallman-esque ideologues to cogs in the FAANG machine and everyone in between, then use BSD, MIT or similar. If you care about "free software" as an ideological movement and only want to give your software to people who are, in exchange, willing to help advance it, then use copyleft."

It's really not about advancing ideologies but advancing your software. For software under with a Free license, the source code to any improvements someone else made to your software would have to be distributed along with it. Without it, they could keep any improvements they made to themselves.

So using a Free license provides a tangible, non-ideological benefit to your software, in so far as the source to any improvements will be distributed and can be integrated back in to it to make it better.

The one wrinkle is that the traditional GPL was not designed for situations where the software is never actually distributed -- ie. "web services"/SAAS and the like. In that case, even software under the traditional GPL that companies like, say, Google uses could be improved by them without having to distribute the source, as the software only runs on their servers and is never distributed anywhere.

This is where the AGPL comes in, and why Google forbids using AGPL software inhouse.

This is also why I license all my own software under the AGPL.

This includes a cynical view of capitalism, too.
Software is full of tiny monopolies and it's standard consensus that monopolies cause the market to fail.
There’s no such thing as a tiny monopoly.
An example of a tiny monopoly would be a program with no alternatives that performed a task worth a few thousand bucks to 20 people on Earth. It doesn't have to be Standard Oil for monopoly pricing to take effect, if the market is small enough the mere fact that two vendors couldn't survive at the same time would be enough to keep out competition. Another example would be proprietary data formats, if your program is the only thing in the world that writes and reads an Oracle database, you can charge monopoly prices to anyone who has an Oracle database - and unsurprisingly, Oracle does.
There is no monopoly in either case you describe.

In both cases there is competition from other solutions.

People can and do migrate away from Oracle all the time, and that does constrain the price.

Your other example is obviously not a monopoly since the supplier has no pricing power.

The alternative is for those 20 people to learn to code, or spread the word that they are looking to pay for an alternative.

A monopoly occurs when competition is actively prevented, in spite of its ample competitive ability. The monopolist uses its power to block the entry of new competition, even if that competition has the product, know-how and so forth. In some cases monopolies are geographical, like utility companies. Another utility company is just as capable, but it and its wiring/plumbing is in another district.

The mere difficulty of mustering a viable competitive effort (e.g. it being difficult to write a replacement program that those 20 people are willing to use instead) is not a monopolistic entry barrier.

Of course there is. What else would you call a company store in a remote logging camp? When the market is small, a monopoly can be small.
Is that camp the only one in the world?
Do you think it is?
Of course not and therefore there is no monopoly.
Self preservation or self interest is important. You can't really do much for others if you dont have your own stuff together. Having said that, modern capitalism is moving toward pure self interest and even exploitation of others. The author correctly identified the one freedom the GPL denies - the freedom to exploit the work of others purely for your own gain.
capitalism was always about exploitation of others
Capitalism is about providing others with products and services they want.
Both assertions are not incompatible.
No, capitalism is about enriching yourself by, among other ways, providing others with products and services they want.

There's a slight but important difference between providing people what they want/need in exchange for money, vs. trying to make people give you maximum amount of money for minimum value provided. A lot of the problems attributed to capitalism are consequences of companies doing the latter rather than former. Instead of serving customers, they mine them. The current euphemism for that is "monetizing".

Capitalism is not "about" anything really. It's a description that sometimes applies (if private individuals can own (and buy/sell) equity, and operate the means of production for profit) to economies.

Of course there are good and bad parts, of course there are good and bad implementations/representations/manifestations of such big concepts.

For example using a price system and voluntary exchange is usually a great way to get clear signals about what people want and value. But if the market is in a pathological state (monopoly, oligopoly, or monopsony, high barriers to entry, etc.), then the market becomes exploitative. Is this the systems's fault? Well, maybe, but it's not because people can own equity/machines, it's because that particular system/market is fucked due to various reasons. (Either due to historic reasons, eg. enormous income inequality led to a small clique of people owning all/most of capital coupled with a political system that wasn't able to represent the capitally-disadvantaged; or due to other failure of politics - eg. a group consolidated power into a totalitarian system which then dismantled competition.)

I'd say that a system whose essence is to concentrate capital in a few hands, and where concentrated capital provides the power to tilt the system in your favor, is very prone to ending being fucked up. It's not that other political doesn't also suffer from this problem, but capitalism is not exempt from it.
This question screams for some quantitative analysis. What's the model, then let's crunch the numbers. Otherwise I fear we get into a yes it is, no it's not, yes it's inherently that, no it's not inherently that.

What is the essence of capitalism? That private property protection extends to capital goods, they can be legally bundled up and sold and bought.

Does this have any inherent dynamic about concentration?

I don't see it.

Throughout our history we always had inequality. Maybe capitalism mirrors that. (Does it exacerbate it? I don't know. It usually allows for competition, which should force inefficient markets to turn into efficient ones - which would provide a niche for everybody, but of course there is nothing inherently there to guarantee this.)

So I have to agree with you, basic bitch capitalism is too vague and as such most of its implementations are bound to fail due to human nature.

In a system of exchange, even when the rules of how exchanges take place is completely random, you necessarily end up with wealth inequality:

http://www.decisionsciencenews.com/2017/06/19/counterintuiti...

Now, in capitalism, where exchanges can be influenced more by those who have more wealth to begin with, it's pretty obvious that it will naturally lead to extreme concentration of wealth. So I don't believe this question "screams for some quantitative analysis" but there you have it anyway.

The essence of capitalism is indeed the protection of private property and the resulting dynamics will lead to the aforementioned results. I don't know how you cannot see it.

As for inequality throughout history, it is actually a pretty recent phenomenon. Considering humans have been around for 100k+ years, and that we were all pretty equal up until around 6k years ago, inequality is very much an exception in history rather than a norm. And you can make a strong argument that inequality only really took place once humans became sedentary and started to implement a practice of private property.

This is also how I think about human nature. The "nature" of hoarding and greedily taking everything and leaving your fellow humans with barely enough to scrape by is not something we have always done. In fact, we only became so successful in nature originally due to our innate capacity for co-operation and our social behaviour and language. The fact that our "nature" for over 90% of our existence was very different to the brutality of capitalism that we see today goes to show that there is no fundamental "nature" that explains inequality. It is clearly a function of the current system rather than an inevitability resulting from the nature of its participants.

> Capitalism is about enriching yourself - not enriching your users and certainly not enriching society.

Capitalism is not about enriching anyone, it's about being free to do whatever you want with your resources.

Free software developers use their resources to enrich society (and I applaud their work). Mark Zuckerberg uses his resources to enrich himself. Both are being capitalistic, as long as they don't steal or kill (I'm sorry, Hans Reiser). They freely decide who to work for.

Capitalism is the most selfless economic system. It’s predicated on providing others with things they want at a price they are willing to pay for it. If you aren’t making a product or providing a service that others value, you do not succeed. Socialists like to frame capitalism as selfish, however, it’s exactly the opposite, you must provide value to others in order to succeed. The downvotes of your comment (and the inevitable downvotes for this one,) suggest that there is a fundamentally misunderstanding of capitalism. Capitalism requires that it’s participants provide value. Capitalism rewards providing others with things they want. When markets are distorted, often by government mis-regulation, it is then that capitalism struggles; it is then that the goal becomes not one if providing people with what they want and are willing to pay for, but one of providing government with what government decides what people should want.
Capitalism has an enormous blind spot, in that it doesn't contains ethic provisions on what happens in a free market to people not able to create value that others are willing to pay for. Given the relentless tendency of capitalism to optimize towards eradicating any inefficiency, it contains as a natural consequence the propensity to expel those people out of the system - i.e. the ethical proposition of capitalism is essentially "produce or die".

There are some relief provisions against this outcome of people being expelled from the system, supported by those who reject it as immoral; but they are typically frowned upon by those who see capitalism as an ethical system.

The first one is building an unconditional safety net to take care of those who have run out of resources to compete inside the system. There's also the possibility to create make-believe work so that everybody will be able to earn a living; not exactly efficient, but for some reason this tends to be better accepted by free market supporters.

> it doesn't contains ethic provisions on what happens in a free market to people not able to create value that others are willing to pay for.

If you care so much about those people, you can create or support charity organizations. No one stops you from helping other people.

Blaming capitalism for poverty carries an implication of wanting to steal from others in order to eradicate poverty. I say: Why don't you 'steal' from your own pocket and help the poor? If enough people actually care, then you can change the world for better without stealing from anyone.

(Replying to lone_haxx0r here, as the thread went dead while I was writing this):

> Why don't you 'steal' from your own pocket and help the poor?

See? That's exactly what I was referring to with "frowned upon by those who see capitalism as an ethical system" and with "capitalism has an enormous blind spot".

There's a rational argument perfectly consistent with libertarian free market principles, by which a government collecting taxes is not "stealing", as long as you don't take "anything a government do is evil" as a premise. If you begin from the assumption that people can willingly enter into contracts as long as their terms are legal and free from coertion, the argument goes like this:

- A country's land is owned by the state (or by its ruler, in case of a monarchy or a tyranny).

- There's a "social contract", willingly enforced by the citizens in that country (either explicitly or tacitly)[1], that the government has a duty to protect its citizens, and the citizens in turn will obey the government and pay due taxes in order to support the country.

- You were signed into that contract by your parents when you were born, as they had the legal authority over your rights to decide on your behalf.

- As soon as you legally become an adult, you can step out of that social contract by leaving the country at any time. By remaining in your country, you consent to its social contract, so you pay taxes to the government by your own will.

- Therefore, as an adult, you are not forced to pay taxes to that country where you acquired citizenship; but you don't have a right to be a free-rider by using the services provided by that country (military, roads, social welfare) without paying the required fee for those services.

- There's a free market of countries with open borders; people can vote with their feet in this market and migrate to their preferred one. You have no obligation to pay taxes at any one of them, but they have no obligation to accept you nor provide you with services if you're not willing to play by their rules.

TLDR version: creating governments and establishing taxes is the strategy we use to "'steal' from our own pocket and help the poor" in a sistematic way. Anyone not willing to participate is free to leave, but good luck finding a country that will not do the same.

[1] https://en.wikipedia.org/wiki/Social_contract

> - You were signed into that contract by your parents when you were born, as they had the legal authority over your rights to decide on your behalf.

> - As soon as you legally become an adult, you can step out of that social contract by leaving the country at any time. By remaining in your country, you consent to its social contract, so you pay taxes to the government by your own will.

This is where you're wrong. By saying "you can step out of that social contract by leaving the country at any time." you could justify any political system, including monarchy, dictatorships, etc. as long as people can leave the country.

You might as well say: "If you don't like the country you were born in, just kill yourself." because you're rejecting the discussion about justice entirely.

> - There's a free market of countries with open borders; people can vote with their feet in this market and migrate to their preferred one. You have no obligation to pay taxes at any one of them, but they have no obligation to accept you nor provide you with services if you're not willing to play by their rules.

That would work if switching countries had a negligible cost. Switching to another country is not as easy as choosing a pair of shoes.

> you could justify any political system, including monarchy, dictatorships, etc. as long as people can leave the country

Exactly! Can you point at how precisely this is "wrong"? I thought that was the essence of libertarian free-market capitalism as described by people who propose it, that any possible consensual arrangement is valid as long as it is entered without coertion and it doesn't affect third parties? (Sometimes, even when it affects third parties; I've lost count how many times free-market proponents will skip over the topic of externalities, abandon the conversation when politely pointing them to the externalities involved, or simply insisting that those externalities could be magically solved by applyinng more private property to the problem).

It's not a system I personally believe in, but the people proposing it always put it in those absolute terms, with "private property" being an absolute moral value, and any system (like taxes) which limit it being considered evil; so hey - what's wrong with exploring it to its ultimate logical consequences, just from an unconventional angle? Or maybe rationalism is only valid when you use it to arrive to the same exact consequences that you started with?? Playing devil's advocate to show the contradictions of an ideologic system is a valid argumentation strategy.

> You might as well say: "If you don't like the country you were born in, just kill yourself." because you're rejecting the discussion about justice entirely.

Not at all. I'm merely exploring a definition of justice different from "private property good, government intervention bad" that I inferred from your comment considering tax-supported social programs as a "steal".

> That would work if switching countries had a negligible cost

People proposing free markets as the ultimate moral good typically do not take into consideration these concerns of the cost suffered by the people who least benefit from applying the immutable axioms; in my experience, they will justify people suffering poverty because they have a plausible way of escape by engaging in private initiative and consensual contracts. So how exactly is that way of thinking, that I have often encountered in the wild, any different from my thought experiment above?

> Capitalism requires that it’s participants provide value. Capitalism rewards providing others with things they want.

No, and it's surprising this is still believed even though most of the market economy around you screams otherwise.

Capitalism requires and rewards amassing capital. It may incidentally involve providing others with things they want, but it doesn't need to and frequently doesn't. Consider advertising, or the job of salesmen: the whole point is to convince people to buy your product/service where, left alone, they wouldn't. In a world where capitalism would reward providing others with value, these jobs would not exist. They're needed because there are more efficient ways of making money than giving people what they want.

"the whole point is to convince people to buy your product/service where, left alone, they wouldn't. " - your implication is cynical. Some of the time the reason you wouldn't is that you're ignorant of a better way. Certainly you don't want a better mousetrap if you don't know they exist. In that context, advertising and sales is just a way of getting the word out that something better is available.
I strongly disagree. My implication is down-to-Earth realistic, whereas your argument is a Motte-and-Bailey defense of the advertising industry. Yes, informing consumers about what's available on the market is crucial for good operation of the market. No, that's not what the advertisers do.

Informing consumers is putting yourself in Yellow Pages / catalogs of companies. Informing consumers is making a catalog of your products available. It's having a product page available with full specifications up front. It's showing up on trade shows.

Informing consumers does not require spamming them with e-mail and snail-mail, banners, billboards, leaflets or interstitials. Informing consumers does not require branding, or polluting every inch of space available to you with said branding. It does not require tracking people, spying on people, or manipulating people with dark UI patterns, dishonest journalism (aka. native advertising), paying people to lie to their audience (aka. influencers).

Most of money and effort in advertising is not spent on honestly informing people about availability of a better mousetrap.

We just asked you (https://news.ycombinator.com/item?id=20137064) to please stop breaking the guidelines with generic ideological comments, and it hasn't slowed even a bit so we've banned the account. We're happy to unban accounts if you email hn@ycombinator.com and we believe you'll start using the site as intended.
Wikipedia states both, operation for profit and private ownership, as defining characteristics:

"Capitalism is an economic system based on the private ownership of the means of production and their operation for profit."

Classically free software works more like a gift economy: https://en.wikipedia.org/wiki/Gift_economy

No capitalist society ever worked without a state that enforces rules and social constructs (such as private property or contracts).

Simple example of how simply talking about (some abstract notion of) freedom misses this: A gift based (ideas) economy could work without a state enforcing copyright. A capitalist (ideas) economy requires a state enforcing copyright.

> A capitalist (ideas) economy requires a state enforcing copyright.

No. Copyright has nothing to do with capitalism. In a completely capitalistic system, there would be no intellectual "property".

If you read the founders of right libertarian (pure capitalist) thought, the whole system is based around freedom. And property is justified based on the fact that it's necessary for freedom. Intellectual "property" doesn't enhance freedom in any way, to the contrary.

Granted, Marx created the term 'capitalism' to refer to the private ownership, and he conveniently bonded that private ownership to for-profit operation. But there can be ownership that's not for profit, and libertarian theory considers owning things without operating them for profit a perfectly acceptable stance.

Marx doesn't say anything about copyright or intellectual property, as far as I know.

And no true Spartan...

Some schools of thought use some weird notion of freedom to derive some abstract structure that has never been tried anywhere and claim it has some hypothetical properties. You want to call that "true capitalism".

I like theory, I do theory, but the post was talking about existing social systems within which we operate. Your private definition of "true capitalism" has nothing to do with that system.

Nor does it have anything to do with the accepted use of the term capitalism. E.g. in state capitalism [1]. Therefore it is a bad definition that hinders clear communication, and you have failed to convince me to use it.

[1] https://en.wikipedia.org/wiki/State_capitalism

If state capitalism is capitalism, then National-socialism is socialism.
You still can't define words to mean what you want them to. Common use of the term capitalism disagrees with you, and the use of the term in the posts you replied to does not align at all with your definitions, but with common usage.
There's a category error in treating commons as property.

Even though Wikipedia copyright is nominally owned by the respective writer of each individual edit, the fact that it's licensed as copyleft allow anyone to treat it as a public good an benefit from something that you don't own.

See a framework like the Universal Basic Assets (UBA)[1] manifesto: it distinguishes between Private assets, Public assets, and Open assets - each having different roles and expectations in relation to society and how each resource can be exploited.

Trying to reduce everything to XIX century economical and political concepts is limiting in terms of discourse; we have acquired much better understanding of society-wide dynamics since then.

[1] http://www.iftf.org/uba/

Ideas can't be property in the capitalistic sense. Intellectual "property" doesn't enhance freedom in any way.

Conflating real (material) property with false, intellectual "property" is one of the biggest lies that have been fed upon our society.

I approve the efforts of Creative Commons and other initiatives to get around the sick copyright system. But I don't believe in their premise of "commons" because it implies a dependence in a political system or society at large deeming things as commons.

We are always going to depend on politics or society in deeming some resource as "public", as "commons" or as "property", because those are concepts that get their meanings from how people think about them. Whether they are defined by custom, by the legal system or because everybody shares the same ideology, they are necessarily social constructs - there's no such thing as "real" and "fake" property except as understood by people.

IMHO the biggest lie of our society is not property about physical vs intellectual goods, but the ideology that applies the same concept of "property" to the gadgets you can keep in your pocket and you can keep control personaly, and equate it to the large multinational company encompassing the work of thousands of people on several continents. They simply don't have the same behavior nor expectations, and yet somehow we're supposed to apply the same legal framework - in order to uphold the decisions made by the few people who are in control of the large organisation.

I about to launch an open core SaaS and all these articles about open source software getting exploited and how copyleft should be the way to go is getting me confused. The software is for e-commerce. So if users use it to make more money, is that considered commercial use? Would the copyleft license require them to get a commercial license then? Would this cause less adoption and less use of the software? What kind of license would protect us from someone coming along and replicating our open core model using the open source app?
No, copyleft doesn't prevent commercial use. In fact, preventing commercial use is impossible with the GPL.
Sorry I was under the impression copyleft meant that commercial users must purchase a license and normal users could use it for free. Is this what CockroachBD just did?
From the Open Source Definition[0]:

>The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

From the FSF's "What is free software?" page[1]:

>A free program must be available for commercial use, commercial development, and commercial distribution.

Licenses like CockroachDB's with restrictions on commercial use are "source available", which is a form of proprietary software.

[0] https://opensource.org/docs/osd

[1] https://www.gnu.org/philosophy/free-sw.html.en

In my experience advising clients who haven't already spent years reading about open source licenses, those lines confuse more than clarify.

The dominant mode of commercial software development is closed. Many commercial firms forbid the use of copyleft software components that might compel licensing choices about company work.

They moved from Apache2 (a permissive license) to a no-compete license basically.

Copyleft means the license leaves the right-to-copy for the user. But copyleft (AGPL, GPL, LGPL) means that you can't remove the copyleft itself even from the new parts, whereas permissive (Apache, MIT) means that you can.

edit: I mixed up weak copyleft and permissive :o

Apache and MIT are not copyleft, since you do not need to share your code modifications.

weak copyleft would be things like MPL, that limit the modifications you have to share to only parts of the program.

CockroachDBs new license isn't even Open Source following the common OSI definition of the term.

(comment deleted)
No, copyleft means anyone can use it for anything they want, commercial or otherwise, but the product and any modifications to it must be made available to others to do whatever they want with it.
(comment deleted)
That's absolutely not what copyleft means. The concept of copyleft is the core of viral open source licenses like GPL. CockroachDB did something completely opposite - they migrated away from open source licenses.
Thank you for clearing that up. I’m going to read more into it.
You may be confusing the GPL with the Creative Commons "non-commercial" restriction. (I do find the latter a bit confusing myself.)
I can offer some general principles, but when it comes time to apply those generalities to your specifics---to give legal advice---you'll need to speak with a lawyer who will stand professionally accountable to you. I won't.

Let's put licenses for public software projects into three general categories: permissive, copyleft, and noncommercial. MIT is a classic permissive license. GPLv2 is a classic copyleft license. Prosperity (https://licensezero.com/licenses/prosperity) is a recent noncommercial license.

Heavily simplifying, and ignoring a lot of details and variations:

Permissive licenses allow you to do more or less whatever you please with the software, as long as you make sure that copies of the software you share with others come along with copies of the permissive license terms and the developer's copyright notices.

Copyleft licenses are permissive licenses plus one extra rule: In at least some circumstances, you have to share and license your own software work the same way. When you have to share, and what code you have to share, varies by specific copyleft license.

Noncommercial licenses are permissive licenses plus a different rule: You may not use the software for commercial purposes.

So what's the deal with developers releasing code under copyleft licenses, and then charging individual customers for "commercial licenses"? To understand that, we have to read the licenses in context. It's not just about what the licenses say, but about how that fits into the broader picture of the software industry.

Most companies producing software insist on keeping their software closed, rather than releasing it in the open. That way they can sell access and permission to use it. These companies will not share their work alike. So they intentionally avoid and reject software under copyleft licenses that would require them to do otherwise.

However, sometimes these firms really want to use software under a copyleft license in their products. If possible, they'll often try to buy a license from the developer that allows them to ignore the copyleft rule, so they can have it both ways.

Meanwhile, these firms often use tons and tons of permissively licensed software. They're free to do that, without paying anyone, so long as they follow the rules about copies of license terms and copyright notices.

Hopefully that gives you a broad picture to work from. Good luck with your project.

Thanks my man. Any articles or documentation you can point me to so I can better understand what kind of license I should use?
MIT-like freedom is the "freedom to sell yourself as a slave". GPL is "your liberty ends where my nose begins".

If you understand freedom as the removal of social constraints, you won't understand the value of something like GPL software or Wikipedia.

If, on the other side, you think of freedom as the capability to do things, the accumulation of knowledge in copyleft projects creates possibilities that are less likely in a permissive project, where anyone can capture a version under a proprietary license at any time and evolve it as closed source (compare the ecosystems of Linux and Android for a practical example).

> MIT-like freedom is the "freedom to sell yourself as a slave".

I don't think this analogy is strictly wrong, but the tone is insensitive enough that it is unlikely to be persuasive to the people you are trying to persuade. (Also, some will feel that it diminishes the gravity of actual slavery.)

I agree with your point, but I think you would be better off stating it in a different way.

You're of course right. I created that line for a different place, aiming for a provocative adage that would capture attention (by being aggresive) and make people think by getting straight to the point and highlighting the paradox of "pure freedom". For that purpose, being controversial and rough was a feature, even at the cost of causing initial rejection.

I copied it here to deliver the basic idea as fast as I could, but it certainly is out of context as the starter of a calm conversation with more time to expose ideas and ponder them, as is the style of this forum.

The classic dilemma of whether presenting the extreme version of your view will shock people towards, or away from your view.
I absolutely encourage people to choose the license that works best for them. My motion has been the other way, all my new stuff is permissively licensed. This is basically because I want my work to have broad impact, and have the possibility of collaborating with as many others as possible, including those making proprietary software.

I'm a fan of Drew's work, and also hope to help GPL projects such as Inkscape (I met many such developers at Libre Graphics Meeting). Choose the license that works best for you, and if you can articulate the reasons for your choice, as Drew has done here, even better.

It really depends what your goal is if you choose a copyleft license or not. As far as I know even the FSF acknowledges that for pursuing some goals (e.g. driving adoption of open standards) a more liberal license is an appropriate choice.
> The GPL is the legal embodiment of this Golden Rule: in exchange for benefiting from my hard work, you just have to extend me the same courtesy.

This is a great article that's focused on just explaining why GPL is good. But I'm wondering what people think about enforcing this part of the GPL.

I was very disheartened to see the Linux community's and other GPL projects' attitude to enforcement actions brought by individuals.

If you ask people to contribute under the terms of the GPL, I think that it is fair for those contributions to be enforced. And unless a project has some kind of CLA that excludes it, the individual contributor should be able to hold violators to the copyleft portions of the license.

> I was very disheartened to see the Linux community's and other GPL projects' attitude to enforcement actions brought by individuals.

Can you share some examples of what's happened that's disheartening? I'm assuming based on context that the reaction to individuals enforcing GPL violations have been negative, which I would agree is disheartening. If you don't enforce the terms, the terms are valueless, and you might as well just use a more permissive license.

The big case recently was in Germany against VMWare [0]. They lost that case. But it was controversial partly because the person (who contributed a non-trivial amount of networking code) was asking for monetary damages in addition to bringing the company into compliance.

But setting the money aside, even the enforcement part was flamed by Torvalds and Greg KH [1]. The gist was that they're able to bring more people into compliance by working with companies behind the scenes. And lawsuits shut down all that backroom handholding. So ultimately, the lawsuits result in less compliance and less Linux adoption.

Linus mentions BusyBox specifically, where attempting to bring companies into compliance just led to fewer users and a shitty closed source alternative that these companies started using instead.

From Linus' perspective that's lose-lose: fewer users and more closed source software. But from people interested in GPL enforcement, they are more interested in not having their contributions abused by companies for profit. So if they won't give up their bad attitude, that's not the GPL projects' problem.

[0] https://lwn.net/Articles/635290/

[1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/...

That's not really being against enforcement. It's having a tactical argument that sueing is not the best way to get enforcement. Given that they did lose the lawsuit, a big part of the Linus/GregKH argument seems vindicated.
Only if you want to maximize use of open source software in general and/or that specific open source project.

If you're goal is to minimize the number of people using your work without following the agreed terms, it is worth it to shoo away non-compliant companies or companies that don't share the values of open source.

Like another poster said, why use GPL if you don't actually care that companies are violating the terms.

>Only if you want to maximize use of open source software in general and/or that specific open source project.

>Like another poster said, why use GPL if you don't actually care that companies are violating the terms.

Both of these are wrong according to Linux/GregKH. They both very deeply care about both those things and argue very convincingly that you get more of both of them by their strategy than with lawsuits. They cite very specific cases of that both in the kernel and in BusyBox, and the fact that the lawsuit was lost is further support of their argument.

I don't think you understand. From the perspective of a pro-lawsuit person, there can only be upside. If they lose the lawsuit, it's the same effectively as the status quo. The company will continue abusing your contribution. But if you win, you win. Similarly, if you scare off people that are not interested in open source values (ie. they're using open source only b/c people have convinced them that in practice it's better b/c they can offload maintenance of their code to the project), that's basically fine too.
That's only true if your only options are a lawsuit or sitting on your hands. Linus and Greg explain how they do a bunch of other stuff that ends up actually working. So that's a false dichotomy.

And it's not even true that there's no downside to losing. You may get a precedent settled that actually invalidates enforcing the license. Then you've screwed up your own enforcement and everyone else's.

> You may get a precedent settled that actually invalidates enforcing the license.

Which means the license is unenforcible and a new legally enforceable license is needed.

> Then you've screwed up your own enforcement and everyone else's

Nope, they would have been screwed already, they just didn’t know it yet. And fewer future people would end up screwed as new licenses would be created in the aftermath.

Untested enforceability is not better than tested and confirmed un-enforceability.

Or to use an absurd example in an even more absurd context, it’s better to open the box and know your cat is dead than to leave the box closed and believe it might still be alive.

(EDIT: I was wrong)

>Untested enforceability is not better than tested and confirmed un-enforceability.

This is addressed by Linus directly and it's simply not true. That the license can be enforced without testing in court is evidenced by the fact that they are being able to enforce it without lawsuits. If you get a legal precedent that somehow says the opposite you are now deeply screwed. Courts are fickle beasts. You now get to spend a bunch of time/money trying to reverse that, or even worse, launch the worlds largest open-source relicensing effort. For the kernel that's basically impossible. You'd basically destroy copyleft completely.

You're right, I hadn't considered the potential ramifications for the Linux kernel specifically, and how variably educated court judges can actually be.
This almost smacks of the discussion yesterday in the thread about gorillas that were dismantling poacher traps. There was a subthread about intelligent parrots stealing bait from traps that were set to capture artificially introduced predators of the parrots. Thus the parrots were unknowingly harming themselves, though benefiting themselves in the short term.
What's the closed source BusyBox alternative?
I believe you are mixing up two separate Linux related lawsuits: the case against VMWare by Christoph Hellwig, who is known for his filesystem contributions, was supported by SFC and the goal was compliance with the license.

https://sfconservancy.org/copyleft-compliance/vmware-lawsuit...

Some years earlier, there were lawsuits brought by Patrick McHardy, who contributed a non-trivial amount of networking code, that asked for monetary damages; these lawsuits were not supported by any organization.

https://sfconservancy.org/blog/2016/jul/19/patrick-mchardy-g...

I'm not involved in those communities. Do they generally dislike when people go after individuals legally for violating the license?
I have a feeling that the jury is still out on this one.

My observations are that:

* MIT license increases adoption of OS projects, increasing pool of potential contributors and derivative works

* People like sharing what they create, hence derivative works are likely to be shared with the world as well.

I know there are companies that utilize tons of free code without contributing enough back.

Overall to me the difference:

* MIT license increases throughput, hence increases participation in absolute terms

* GPL licenses limit throughout, but improves overall quality of participation

That's my observations as well. I'd add that people share derivative work not only because they like it, but because it makes sense: upstream means much less maintenance and infrastructure work, many more opportunities for improvements.

I believe in FOSS so much that I'm confident anyone smart enough will end up using it and contributing to it to some level. It might take a lot of time, but it'll happen. Companies not doing FOSS have a competing disadvantage in the long run.

Sure, not everything will be contributed back. And so what? It wouldn't have been anyway if the license terms had discouraged the use of FOSS in the first place. What matters to me it that /more/ is being contributed back.

Short version: part of much more > everything of much less.

So, I'm very fine with any non-FOSS reuse of FOSS projects. It directly increases the likehood of improvements to these projects and indirectly increases the likehood of improvements of FOSS in general, by making it more and more relevant in still-non-FOSS environments (the long tail of small FOSS projects is what makes it ubiquitous). Just don't ask me to use non-FOSS derivatives :)

> Short version: part of much more > everything of much less.

Well said. A net win for FOSS.

Historically, this is false. See Sun, HP, SGI, IBM, and a good host of others.
Linux probably wouldn't have gotten the investment to become the server OS of choice if it wasn't for Microsoft and Oracle licensing. Chrome only has user concerns now because of business constraints around adblock, and only then do users gravitate back to Firefox (I am guilty of this). GPL in this sense might get in the way of providing user impact, and IMHO positive user experience with FOSS is critical to sustaining FOSS development.

I'd love to see hard metrics on enterprise Linux tech stacks; I would hazard to guess most business-critical FOSS is Apache/BSD, the latest Javascript framework is probably MIT, and most UNIX-philosophy FOSS (those with a "done" point) is GPL.

First, I'm not a lawyer, but I've always seen the MIT license as being more "free", whereas the GPL is more "fair". Both licenses are pretty much the same for users of the code. Where they differ is that the MIT license gives you the freedom to make an awesome change to the free code you were given, and add it to your closed source application with no obligation to give those enhancements you made to the code to anyone else. This is more "free". You made the enhancements, why shouldn't you keep them for yourself? It's not unethical since the developer chose that license knowing what it entailed, but it's just less "fair". The GPL is all about making sure that those awesome changes you made can be used by others so that they can make other awesome changes to the code. You were given free code that benefited you, so you should pass on any changes you made to the code to others so they can also benefit from it. And so on. That's my basic understanding of the differences, anyway.

I personally prefer the GPL way, but I have yet to use either license on code I've written.

Permissive licenses give freedom to the developers who use code under that license. The developer is free to restrict the users' freedoms.

Copyleft licenses grant freedom to the users of software: a developer cannot restrict a user.

> the MIT license gives you the freedom to make an awesome change to the free code you were given, and add it to your closed source application with no obligation to give those enhancements you made to the code to anyone else.

It's also the freedom to make zero changes to the free code you were given, reuse it in your closed source software, and pass it off as your own.

In a way, I feel like I should be a big enough person to be okay with this, but I'm not. The possibility bothers me.

Is this meaningfully different from being able to build a multi-billion dollar company like Red Hat on top of other people’s GPLed work?

Yes, because of the GPL, they have to give RHEL customers the source to all their patches, but what difference does this make in practice?

(comment deleted)
> but what difference does this make in practice?

they have to give RHEL customers the source to all their patches, and allow them to share it with the entire world.

In practice, that means everyone gets better software, and RedHat gets compensation for their hard work.

> but what difference does this make in practice?

CentOS is the difference; it is one of the most widely used distributions has the same stability and longevity characteristics and gets security fixes just as fast as RHEL.

That is a good point. Perhaps a better example would be FAANG making billions and running their servers on Linux, which (IIRC) is what things like the AGPL are designed to prevent.
The AGPL wouldn't prevent FAANG making billions, just ensure they respect end-user freedom while doing so.
The decision between MIT-like licenses and copyleft licenses all depend on the contextual usage of the code. Is it just some quick and dirty script I wrote to convert some obscure binary format to another obscure binary format? I literally do not care who uses it and why/where/when/how. The script was complete the day I made it, it does everything it needs to do and nothing it doesn't. School assignments fall under the same category, they were useful for that moment and will never be needed again. Writing my own linked-list in C++ stopped being useful to me the moment I turned the assignment in so I don't care who uses it. It's not anything special and licensing it any other way would (in theory) only limit someone trying to learn. Did I actually write something clever that could actually be used somewhere helpful? Is it something that I can see others would want to build upon and improve? That's definitely copyleft worthy.
> and pass it off as your own

No, the MIT license requires attribution by including the original copyright notice with any distribution of the software. You can claim credit for the parts you build around it, but you can't claim to have written the MIT-licensed part.

"In a way, I feel like I should be a big enough person to be okay with this, but I'm not."

One of the distinctions I like to draw strongly is between "nice" and "good". They are not the same, and at times, are actively at odds with each other.

It is certainly nice to give away your software to everybody, unconditionally, and not be bothered if your code does happen to end up being a fundamental component of some multi-billion-dollar company that gives you nothing.

But I'm less convinced that's necessarily good. In a world where you must live under the assumption there are bad actors, I think it's OK to put into your license that they can't necessarily do that. It is good to prevent the exploitation of anybody, and that goodness extends to preventing the exploitation of yourself, even if you also clearly have direct personal interests of your own.

I don't think "being comfortable with being exploited" is a component of "being a big person".

On the other hand, we often bring to mind mental examples of software where we slaved away for years and years to bring some unique new product to the world, only for it to be stolen by the big bad corporation for no compensation. My verbiage above about "exploitation" probably brought that to the reader's mind as the topic of discussion. If that happens, yeah, it's bad. On the other hand, that's not really the dominant case for software. There's a lot of open source put out there that's just a few day's work, which is still plenty valuable at scale, but if someone took one of these little things and incorporated it into their product, it's not really that big a deal.

I have several such small little things and they're all BSD. If a big corporation did somehow walk off with one of them, I'd legitimately be flattered, because I know that while it may have saved them a bit of time, it certainly isn't a core component of their product and had they needed to implement something themselves it would have been a trivial fraction of their time. I know I can say I'd be flattered because to some small extent, this really has happened, and I really was flattered and appreciative, so I'm not just hypothesizing about my future emotional states. I'm well aware on all levels that my ~two weeks total effort on the project in question, which I mostly did for my own purposes and for which the open source effort was essentially a bonus, doesn't entitle me to significant compensation for a product whose size is measured in person-decades.

> I don't think "being comfortable with being exploited" is a component of "being a big person".

In the context of the types of projects I was imagining, a company would likely just rewrite any code that wasn't available via MIT or similar. If I'm not getting anything in return either way, am I being exploited?

Logically, if the outcome is the same for me, there's no reason to make others redo work.

That's basically the logic I used too for my own code. As I hinted at but may not have been made clear, I was using "exploitation" quite deliberately as a loaded term in the beginning, only to try to defuse it in my final paragraphs as in many, perhaps even the vast majority, of cases you aren't really being that "exploited" no matter what anybody does. If somebody outright stole any of my projects and claimed them as their own work, I still would honestly be only annoyed, and maybe make a few posts in my README.md about the situation, and move on with my life without even a thought about engaging the legal system or anything.

But as rare as it may be, there have been many cases where an open source code base really was "exploited" by any reasonable sense of the term, with corporations slapping their logos on it and reselling significant works in violation of the license, and those cases are significant because of their size, even if they are rare.

> there's no reason to make others redo work.

As a simplified example, consider Corporation G and Corporation P. One will eventually lose market share to the other, go bankrupt, and be replaced by Corporation R that bases its business practices on the more successful one (then the cycle repeats).

Both are evil, as corporations are wont to be, and in particular will never release anything under a less restrictive licence than they have to (so they will never release software under a MIT licence). However, G will release software under the GPL if this allows it to save work, whereas P will always release software under a proprietary licence, even if this forces it to expend more resources rewriting GPL functionality.

Releasing code under the GPL exerts a selection effect that favors G over P, and in the long run results in corporations that release somewhat more software period - and significantly more software under FOSS licences - than if P was not forced to redo work.

(comment deleted)
Even within the libre-sense there's differing axes of 'free'. You're describing one. Another is from the perspective of the software itself. Similar to the phrase "information wants to be free" (which sounds cheesy but gets the message across), if changes made to the software are kept isolated it's less free to spread which is the motivation for free software before it got fractured into open-source that's less free in that sense.
>First, I'm not a lawyer, but I've always seen the MIT license as being more "free",

If you are a lawyer can you maybe be more clear about "more free" , more free relative to what? AFAIK GPL protects the user freedom and I think you are referring at the programmers freedom, GPL is a license that respects the users/society as a group, most people here are developers sothey will say that this is less free for them as an individual, less free to take freedom from others(the freedom to study,modify and distribute).

If “users” = “not programmers” (which I think must be the definition here) then neither license gives users anything except the freedom to hire programmers to do something they want more cheaply. (I include buying software and downloading free-as-in-beer software in “hiring programmers”.) With MIT/GPL the programmers can afford to charge a lot less to do the same job.

It’s fundamentally programmer freedom in either case. Any user freedom is an indirect side effect.

You are correct if I am using an MIT/BSD program as a user I have all the freedoms the issue is if someone forks it and closes it up making it proprietary.

You need to think at the larger picture, compare Linux kernel and BSD and how the licenses affect the projects and all of the users. With Linux GPL prevents parasitic use, like you get Linux, put your proprietary thing on top, close it off and give it to some users, this users will have no freedom to know what the code they run does, no freedom to change it and distribute it. The fact that a user does not code is irrelevant because they ca always pay for others to modify things.

But if the proprietary fork is analogous to the original software the "user" can just seek out the MIT-licensed project and start from there. If the fork contains significant functional modifications then it seems fair to let the author of those changes choose how to distribute them. This doesn't restrict user's freedoms anymore than allowing greenfield projects to be proprietary already does. GPL is for people who are concerned with forcing their viewpoint into wider adoption. MIT is for people that are interested in truly gifting their work (and only their work) to society.
That is only possible sometimes, say I create ffmpeg, it can decode/encode 100 video formats, then Google/Apple forks it and support for a new proprietary format that only they use and not contribute it back, Now Google/Apple use this new properitary format and only their applications will be the only ones that can read all the videos formats.

Maybe a bad analogy, GPL - I make knives and if you want to use my knives you have to agree not to use them to injure/kill people because this taking their freedom

BSD - you can do whatever you want with my knives, you can kill people I am fine with it because I care only about you my customer freedoms but not about any other people freedoms(lives). Just don't remove my name from the knife.

No, the GPL is primarily about user freedom, and programmer benefit is a virtuous side-effect. The GPL is entirely made up of restrictions on programmer freedom, which is why BSD/MIT partisans rail against it. It attempts to define the maximum amount of programmer freedom that can be allowed without impeding the user's freedom in any way.
Actually, that's not really true either. Usually, the company that holds the copyright can afford to charge more for proprietary software, but they also can afford to pay less for software developers, because they hold both the monopoly for the software the user wants, and the monopoly for the work the programmer wants to do/is qualified for. With free software, both sides can potentially just skip the middleman.
Should go and watch any video in which RMS explains what free software aims at achieving.
I was looking at it from the programmer's perspective. Specifically, from the perspective of someone who built something themselves and distributed it.

From what I can tell, the user's freedoms (assuming no changes) are pretty much the same. They can use the software without worry.

The user does NOT have the same freedoms under MIT because there is no obligation to release the sources you have modified and distributed as a binary. A user may also be a programmer but if they have no source their options are limited.
Yes, the direct users of teh MIT program have the freedoms, the issue is the project can be hijacked and made proprietary and then sold to the users. As an example the fact Webkit is opensource is because it was impossible to close source the KHTML fork.
If I make a (A)GPL program, I can be certain that EVERY downstream user has access to the source code and the freedom to recompile, reuse, remix, etc.

That is not the case with MIT, where any developer downstream may choose to re-license as they see fit.

From a user's perspective, the rights are very, very different. When you choose a copyleft license, you are making a specific choice that downstream users should have their rights protected, even if that comes at the expense of the "freedom" of downstream developers--who are now prevented from doing anything which restricts user freedom.

I am a lawyer, and I really appreciated your "free" versus "fair" line.

One tidbit on the GPLs: They require you to share alike if you share the software with others, but do not require you to share the software with others. You can make changes and larger programs entirely for your own or your company's internal use, and not share anything.

The GPLs mention this explicitly, and implement it using concepts like "distribute" and "convey". Your obligation to share alike doesn't kick in unless you distribute or convey.

That got GPL into trouble later on, when it turned out folks often ran software for others to use over networks, rather than sharing with users in copies for them to install locally. That led eventually to AGPL, a kind of fork of GPL, but outside FSF, also to licenses that simply require sharing back whether you distribute your work or not.

That is fascinating. Do you happen to know of any good resources for pitfalls/downsides of other popular licenses (bonus if layman friendly)?
This one is a good resource:

Software Licenses in Plain English https://tldrlegal.com/

You need to be careful though. For example for Commons Clause they accepted changes by Drew Vault (ironically the author of the article we are discussing here) which are misleading at best. Now it says that commercial use is not allowed [0], while it is really only selling that is not granted [1]. In other words, do read the license if you want to know about it.

[0] https://tldrlegal.com/license/commons-clause

[1] https://commonsclause.com/

For example this? https://writing.kemitchell.com/ ;)

(GP is the author - it contains some very good explanations on the subject of licenses, imho of course)

I have been looking for exactly this content for years! Thank you!
> That led eventually to AGPL, a kind of fork of GPL

Yes.

> but outside FSF

Initially. The current version was published by the FSF in 2007.

I wasn't clear. The reciprocal licenses that require sharing alike, with or without distribution, came from outside FSF.
Ah, gotcha. AGPL also came from outside the FSF in its original form, but was adopted (and later extended).
> when it turned out folks often ran software for others to use over networks

aka the SaaS/cloud loophole

"ASP Loophole" or "The Google Problem" at the time.
I like the idea of a license that is "fair", but there's something about GPL that rubs me the wrong way where I feel it accomplishes the goal of fair in some antagonistic manner.

To me, GPL feels more like holding a legal gun to your head and say "You used my code, now play fair". It's not your Mum asking you nicely to share your toys with your brother. But then MIT is too far the other way where it's your Mum saying that if you don't want to give any toys to your brother even though he gave you a bunch then that's your ethical code and you have to live with it.

I wish there was a license that did feel like the "it's the right thing to do" argument without the threat, but I just don't know how you'd achieve that. Even something where you license the core as GPL and then the majority supporting libraries as MIT doesn't feel right to me.

As a lawyer, do you have any ideas along these lines?

It's not as if they spring the GPL licence only after you use the code, though.

It's more like "hi there, if you want to use my code, these are the terms under which I've made it available" than "you used my code, now play fair".

Think of it more as the price you pay for using someone else's work. Just like when you pay $1k for a license to ship some proprietary software, you agree to instead pay for using this code by sharing your source, too. You're free to not pay either price and write your own, of course.
> I like the idea of a license that is "fair", but there's something about GPL that rubs me the wrong way where I feel it accomplishes the goal of fair in some antagonistic manner.

It kind of is antagonistic: GPL started when RMS wanted to fix his printer and Xerox said, "No." IIRC the printer software in question drew on or was based on his own prior work.

The GPL is a weapon to pre-emptively undermine sort of venal mentality RMS had already encountered. Free Software is a reaction to a kind of enclosure of the commons.

GPL is pretty much a "it's the right thing to do" kind of license. GPL violations are widespread and the terms are rarely enforced. Even when they are, in 99.9% of cases there are no penalties(unlike most commercial licenses), just a requirement to publish your code and adhere to the original terms of the license.
The folks who regularly do GPL compliance work have a very reasonable set of principles they apply when doing that work. Legal action is a last resort and GPL violators are given every opportunity to comply. The only legal actions that have been taken have been from years of stonewalling or even blatant refusal to comply and the consequences of those legal actions have been reasonable.

https://fsf.org/licensing/enforcement-principles https://sfconservancy.org/copyleft-compliance/principles.htm...

I don't believe the AGPL requires distribution of the sources unless you are exposing the software in some way. So, a company is free to run modified AGPL software on their intranet without having to offer the sources to anyone but their employees.
The first paragraph of section 13 of AGPLv3 reads:

13. Remote Network Interaction; Use with the GNU General Public License.

Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.

Mmm, I agree. I think I got tripped up by this line:

> That led eventually to AGPL, a kind of fork of GPL, but outside FSF, also to licenses that simply require sharing back whether you distribute your work or not.

...because I read it as "the AGPL requires sharing back whether you distribute your work or not", and felt like splitting hairs for the case where you expose the work, but only internally to a group.

Are there licenses that say if you run an altered copy, you have to contribute back sources, no matter who interacts with it?

> I read it as "the AGPL requires sharing back whether you distribute your work or not"

That's true, insofar as providing as a service isn't "distributing", or in (A)GPLv3-speak, "conveying". See section 13 of AGPLv3: https://www.gnu.org/licenses/agpl-3.0.en.html#section13

Compare how the Open Software License handles network services: by requiring they be treated as "distribution". https://zoo.kemitchell.com/OSL-3.0#5

> Are there licenses that say if you run an altered copy, you have to contribute back sources, no matter who interacts with it?

For an older license of this type, have a look at RPL-1.5. For a newer one, which I led, have a look at Parity.

(comment deleted)
>Capitalism is about enriching yourself - not enriching your users and certainly not enriching society.

Is all capitalism bad? I bought Alfred, Fantastical, Little Snitch and Better Touch Tool. I certainly feel my life has been enriched because of those tools. Does all enrichment have to be direct and linked, by say, bartering code or work? Such a binary representation of ideologies very conveniently forgets that humans operate on shades of gray. Crony capitalists need to be dealt with but that doesn't imply the system itself is shit. Even in a socialist system, the power gets concentrated somewhere and if you try to implement a flat organisation, a lot of projects slow to a crawl because everyone has different needs and expectations. And if I'm enriched, isn't the society also enriched? If paid software improves my productivity so that I can focus on more important tasks that help improve society, isn't that an indirect benefit? Does all "enrichment" have to be direct, linkable and traceable?

> The GPL is the legal embodiment of this Golden Rule

Sort of. It's a bit more like a golden pact with teeth. You can get excommunicated for not following the pact you agreed to. I suppose that's fine. But I prefer not to tempt others to agree -- let them find their own way. Contributing helps the contributor by avoiding having to have local patches, and by getting them reputation and good will points. Sure, a big company might fork an MIT codebase forever and keep it closed, but that's OK with me.

One thing that's worth considering making an exception for, no matter your ideological stand point, is cryptography libraries.

I want everyone to get cryptographic code right, ideally with one implementation that is correct, and then that's the end of it for everyone. Because if commerical vendors do their own thing because of copyleft on a piece of cryptographic code, the one that really ends up suffering is all the users that didn't have a choice in the matter of using said commercial software.

Or, if its a permissive license then the company makes changes to it which break it so that it's less secure and the end user can't even check that (or ask someone to check that) it's not broken. Then the user ends up suffering because they didn't have the choice in the matter of using to be able to check if everything is ok. This is even worse because it pretends making security better but does not deliver. Then it would be better if this commercial software would not exist.
This is illogical because (1) why would the company break the algorithm? (2) it's relatively easy to hide backdoors in plain sight (it just looks like poorly written code)
Incompetence is the simple answer.
Do the LGPL and similar weak copyleft licenses not satisfy this goal?

As long as the company publishes any modifications to the library itself, they are free to use it, whether or not they open source their project.

I don't think that the LGPL can satisfy this goal when it comes to embedded devices, where the whole notion of “dynamic linking” may not reasonably exist in the first place. The state of IoT security is a hopeless trashfire already; every bit of help is needed there.
Consider licenses like MPL (or arguably LGPL) which are a halfway house here. If someone uses your library, your code is copyleft, but the rest of the app may be something else.
Lately there's been a lot of relicensing stories this year, mongodb[1] being the one I thought of first. It seems like the GPL is just a way for groups to protect their own assets without getting ripped off, and more permissive licenses (BSD, MIT) don't give the creator of that software the same protection. However, if you do violate the GPL and release a closed-source product, who's to tell? Who will know? Always struck me as weird.

[1] https://www.zdnet.com/article/its-mongodbs-turn-to-change-it...

I'm a big fan of Social Architecture by Pieter Hintjens, and it's explanation for why he picked GPL instead a BSD license.

BSD tends to fracture the community, and the community is generally even more important than the code, per se.

I agree. I use Apache 2 for code examples in my books but otherwise I prefer GPL. I have a many repos in github that are private and I have been considering releasing everything under AGPL, sharing but forcing improvements to also be shared.
I can't relate to this at all, I feel like I went the opposite way. I started out putting all of my work out under GPL but slowly realized how restrictive and demanding such a license actually is, I think public domain is the license that provides the most good to the world as a whole. It enriches everyone, even those who I don't necessarily agree with. It is a much more powerful statement in my view to provide work in a way that allows the entire world, (corporations included) to enrich themselves and educate themselves in an open and free manner.

If this means that they are going to repackage and sell the work, that is their prerogative. If that means a professor wants to put the work into their course and help to instruct a class with it, that is great too. It is nice to attempt to force people to play by the rules I like in order to try to enforce the actions that I see as best for the world, like sharing, etc. But at a certain point you just have to realize that there are differing points of view, that is just the way things go, and "progress" includes all of them.

>But at a certain point you just have to realize that there are differing points of view, that is just the way things go, and "progress" includes all of them.

This is really insightful, to me. Worth keeping in mind in today’s world.

Eh, is it really insightful? It just seems straightforwardly wrong to me.

Nazism is a viewpoint. Does progress include that?

I know I'm triggering Godwin's law here, but if you're literally saying that progress includes ALL viewpoints, you're really opening yourself up to including some really ridiculously outlandish ideals.

"It's not even wrong."

Flat-Earther-ism is a viewpoint.

Anti-vaxxer-ism is a viewpoint.

he didn't say that all points of view lead to positive progress. Progress is even "quoted".

The GPL has that political nature : it makes you think about your own point of view and hence, the point of view of others. Figuring out if you want or need it by actually reading it is a super useful exercise.

"Progress" is an opinion/propaganda term -- you use it to paint whatever actually happened in a positive light.
> It enriches everyone, even those who I don't necessarily agree with.

That's definitely a valid PoV, but you just have to realize/accept that it may empower people who have power over you. I'm mostly talking about economic power here, but with the absurd expansion of lobbying, etc., this may extend to political power, cf. Turbotax[1].

Again: It's ultimately up to you, but for me... I don't want to give big conglomerates an inch if I can avoid it. Both as an individual and as a software-development business owner. (We do bespoke software, so "overly-permissive" licensing isn't really much of threat in that space -- from either perspective: There's no software that does what we provide, nor would what we provide do much for anyone else except our clients.)

I'm not sure if this is too controversial, but I think BSD (permissive for developers, maybe restrictive for users) vs. GPL (restrictive for developers, permissive for users) is very similar to the Paradox of Tolerance in a way.

[1] Who knows if they're using MIT/BSD licensed code, but I think it serves as a good example of the power of lobbying at least.

EDIT: I don't grammar so good.

People who have power over you are, by definition, already empowered. Whether or not you give them something for free isn't going to move the needle.
"something" = "leverage".

Disprove that.

As a bonus point, leverage is exactly what you may be giving them by licensing with the BSD/MIT/... There's no guarantee that they'll gain leverage, but if they see and seize the opportunity then that's what they'll get.

EDIT: The APL 2.0 is kind of interesting here because it doesn't really do that much over BSD/MIT/... except for the patent grant thing. The patent thing actually brings it much closer to 'acceptable' for me, personally, because a lot of instances of conglomerates exercising their power has been through software patents.

It does cement their power over you even further though. An individual project may not make an appreciable difference, but in aggregate, if lots of people make similar choices, it may have an impact.
Easy counter example: cockroach labs & Amazon

Why did cockroach decide on their new business license?

I don't think that is a fair counter example since it isn't actually straight GPL and provides a different type of leverage than GPL does, which is what we were discussing. The Cockroach Community License[0] was created specifically to fit their needs, and it differs from GPL in several ways.

[0] https://www.cockroachlabs.com/cockroachdb-community-license/

The parent I'm responding to is trying to suggest that giving entities more powerful than yourself (eg better funded) doesn't help them.

That's obviously bs, and that's what I was responding to.

> That's definitely a valid PoV, but you just have to realize/accept that it may empower people who have power over you.

Newtons Equations has also empowered the powerful for a while now but I think we are still happy that they are available for free for everyone without any limitations.

Nobody can take them, change them and close them and sell you a better version of them. So, I have no idea how you made the connection to MIT here.
In the same way nobody can take your MIT program and close it.

Create a better version? Sure. Make the better version closed? Sure.

But close it? No.

Same with math: once discovered and publish anyone can do anything with it.

What? I'm really struggling to find the nugget of 'point' in there, but... what?

Are you saying that Gravity is somehow biased toward powerful people?

Are you saying that refraction is somehow biased toward powerful people?

I'm left so confused by your comment. It's amazing -- hopefully in a good way!)

> I'm left so confused by your comment. It's amazing -- hopefully in a good way!)

This is such a great positive way to reply, kudos

I believe etland might be referring to the knowledge provided by discovering the equations, rather than the natural phenomena themselves. But I may be wrong.
Yep, I'm referring to the fact that you can study, use and build on any mathematical or physics work from the past without understanding or complying with pages of what the idea of "GPL" might have looked like hundreds or even thousands of years ago.
I read what you say and want to flip it around back at you - Aren't you just projecting your own power in lieu of your perceived loss of power?

Even your framing of your market space projects a sense of power.

GPL actually doesn't protect you from your fear. The AGPL does, but I don't know much that uses that.

Many years back, I bought an expensive android phone to discover that it did not support my native language. I have the necessary technical skills to add support for it, but because the phone was locked down (something enabled by permissive licenses but not the GPL), I couldn't fix the phone myself and ended up with a very expensive but useless brick.

Corporate interests rarely align completely with your own, and this small difference can be very damaging to your interests. The GPL, while not perfect, alleviates some of the damage caused by this misalignment by ensuring that users remain in a position to address it.

The problem is, in practice, the GPL doesn't assure as many rights to the user as it is claimed. The example of Android shows this clearly. While the base of Android is GPL and consequently freely available, nonetheless Google managed to mix it with enough proprietary parts, so that they could could block Huawai from selling their phones with Android. Of course, Huawai is able to build their own OS based on the open source parts of Android, but for all practical purposes it will be a separate OS.
Only the kernel is GPL, AOSP is Apache.
Well, right. Thats my point. They have enough parts in "Android" which don't fall under GPL and thus they can keep them proprietary.
"the GPL is ineffective because the non-GPL parts become proprietary" doesn't seem like a strong argument against the superiority of the GPL.
You are not getting my point. The point was, that the ability of the GPL to enforce source sharing is limited. Where source sharing and redistribution are not desired, GPL licensed software just isn't used. Or used in a way that it does not affect the propriatary parts.
The whole argument of Stallman is that you don't give companies the choice to use permissively licensed software (by making it economically impossible for them to rewrite the entire body of free software).

I think "there isn't enough software under the GPL" is not a criticism of the GPL's effectiveness. If anything it supports the GPL as a method for ensuring user freedom.

If the only open source software available to companies were GPLed software, they would not switch their product to GPL, but rather not use open source software. GPL isn't making companies share source which they don't want to share, they just avoid anything GPL. That is what I meant with the limited powers of GPL.

This isn't about not wanting to "give back" to the community, companies using permissive licensed software are contributing back. It is about that the GPL is incompatible with the business model of all companies which are licensing (selling) the software they produce.

> I think BSD (permissive for developers, maybe restrictive for users) vs. GPL (restrictive for developers, permissive for users) is very similar to the Paradox of Tolerance in a way.

It very much boils down to tolerance, yeah. I've made the experience that in the communities where permissive licenses are common, there is much larger tolerance for proprietary software and services than in communities that revolve around GPL. I personally don't care much about GPL vs permissive per se, but I do care about the four freedoms and see copyleft as neccessary evil that's needed in some instances to prevent proprietary takeovers.

The GPL is not self-serving; it is a tool to achieve a type of society, and that is the society you seem to enjoy, too. After all, by what else should be measure the permissive licences vs copyleft licences if not by their influence on society?
Are you one of those "GPL is socialism" people? You are misguided. Yes, there are lots of marxists/communists in the open source / free software community and most people in it lean left.

But the GPL itself is compatible with a capitalist society. In fact, GPL can be the basis for making money with FLOSS software, by offering non-GPL'd commercial licenses. All the GPL ensures that if you want to make a proprietary fork of the software, its original author has to be made part of the equation. Some people see it as a tool to achieve communism and I think they are misguided in the view that the goal is desireable. The open source software they create is nevertheless a valuable and worthy contribution to mankind. You can't just reject someone's work because of idiotic ideology. As long as they share this view and allow me to have a productive working relationship with them on the open source component, I'm fine.

> Are you one of those "GPL is socialism" people?

No, not all. I don't even know why you'd assume so. I don't even see how you connect what I've said remotely to the left-right oversimplification of political opinions, let alone with one of those sides.

> I don't even know why you'd assume so.

In my comment I was talking about communities and you replied with a comment about types of societies. For me a community is focused to one thing like idk a specific game or fan community of a book author, while a society encompasses all aspects of life for its members. So for me, a "type of society" is about a general way of living together, be it capitalism, feudalism, socialism, etc. I've thought you meant that but apparently you haven't so my comment doesn't apply to you, sorry :)

I would argue if you had to paint the GPL with a particular brush it would either be anarchist or possibly (modern) Marxist. Neither are necessarily incompatible with capitalism (in the "free market" sense at least, they are incompatible in the Marxist sense of "employer/employee dichotomy").

The idea is that the GPL empowers users to modify and distribute software rather than enforcing a particular structure of developers and users.

Of course the GPL is not a system of government, so these comparisons are mostly "in spirit". In reality, it's a clever hack to give power to users by abusing the capitalist copyright system (which has historically morphed into a tool for corporations to oppress users).

But the GPL is definitely not communist nor socialist because it has no relationship to government intervention at all (other than relying on copyright laws for its strength). Marx had no interest in governments.

The above commenter may not be, but the author of the article very much seems to think that gpl is exclusively socialist. As a non socialist myself and a gpl fan, I hope people will see that gpl is perfectly valid in a non socialist context, as well.
> but I think BSD (permissive for developers, maybe restrictive for users) vs. GPL (restrictive for developers, permissive for users)

Strawman. MIT/BSD is not restrictive for users.

When someone derives from my permissively-licensed code and doesn't share back with me? Not my problem, but theirs. They now have a legacy fork to refresh every so often at some non-trivial cost. If I'm maintaining a codebase for them to contribute, then they might be better off contributing. If my codebase is their secret sauce, well, good for them -- perhaps they should consider paying me to help them, and they are welcome to try, but it's not a requirement. It's all good.

Now, if I'm building a project to monetize, I might not open source the secret sauce. The GPL wouldn't help me there anymore than BSD/MIT. So, what good is the GPL to me?

Neither the MIT X11 license (one should be careful to identify which MIT license is being talked about as MIT has used many licenses for software) nor the modified (or 3-clause) BSD license look out for patent treachery. For all the user knows, perhaps your organization holds patents which read on the software you're distributing and this program is a means to give them something that tempts users to run, modify, and share software landing them in a patent infringement lawsuit. It's great that you write and distribute free software, but if you insist on using a non-copylefted free software license the Apache 2.0 license is a better choice for users of your software.

But it is also in user's interests to look out for derivative works because that means users of those derivative programs get software that respects their software freedom. Proprietary derivatives of non-copylefted free software means software that doesn't respect a user's software freedom.

I'm sure you understand this already, but corporations can repackage and sell GPL code.

The main thing you're granting in choosing a permissive license is the right to deny others the right to enjoy future improvements to the code.

This is why in practice permissively licensed code is more successful in industry. Industries like to exercise the right to make proprietary improvements to open source code.

> can repackage and sell GPL code

Can you give me some detail about how/when this happens? I was under the impression that you can sell support(or other ancillary services) for GPL'd code, but not for the code itself.

Anyone can sell software built from GPL code, but if/when they do so, they are obligated to provide source code for that software to anyone receiving a copy, and those users are permitted to redistribute both the software and the source code as long as they also adhere to the GPL.
Now I understand, it's not the code itself that has a price(hence the 'THIS IS FREE SOFTWARE' notice at the top of GPL). It's the entire "product" they charge for. Thanks for the reply!
Not quite. FREE SOFTWARE in that context is "free as in freedom" not "free as in beer." I can most certainly sell you for money software licensed under the GPL (if I make the corresponding sources available) with no other obligations on my part.

Of course, today you're probably not going to have a lot of luck selling something that your potential customer can just download from elsewhere for free. So, in practice, you're going to have to provide other services/benefits that go into a commercial product.

But there's nothing in the GPL that prohibits you from just selling a bunch of bits subject to the requirements of the license and calling it a day.

That line has nothing to do with price.

The FSF started out selling copies of tapes with Emacs on them, and then later whole CD collections of free software, including a mixture of GPL and non-GPL code. They even had a service for a number of years where for $5000 they would compile up a whole ton of software for whatever platform you were using, and send it to your business with t-shirts and manuals for the software.

WordPress themes and plugins. They're all WordPress derivatives, therefore the code has to be GPL.

Theoretically you can give away a copy of the code. In practice, people don't.

(Usually includd assets, i.e. images, are kept proprietary, and the thing is sold as an aggregation.)

The thing they're really selling is security updates and maintenance.

No, that interpretation is wrong. GPL'd code can be sold no problem. Yes, even the source code. No, it doesn't make much sense in an age when anyone can download it for free, but nobody is stopping you either.

In the past, when the internet was slower and fewer people had access to it, it made more sense to sell CDs of GPL'd code.

> the right to enjoy future improvements to the code

Why is that a “right”?

Because the license gives you the legal entitlement to do so.
A permissive license doesn’t grant “the right to deny others” a so-called “right” it doesn’t define or even refer to.
Someday, that might come full circle and you'll be the one who won't be enriched because the original code was MIT and not GPL.

Here's an example: you buy some embedded hardware for a personal project, but you find out that the toolchain for that chipset is a pile of proprietary blobs built on Clang and it only runs on Windows. If it were built on GCC, then the GPL would force them to make the source available and people could adapt/update/rebuild it as needed.

Making something MIT/public domain is free for one hop, from you to the next person. After that it can become even more restrictive and demanding than the GPL (i.e. proprietary binaries).

GCC has the GCC Runtime Library Exception: the resulting binary of code compiled with GCC doesn't need to licensed under GPL.
Grandparent is talking about a modified GCC. Not some binary compiled with GCC.
If they aren't distributing their modified GCC with the hardware, they have no obligation to release the source code either.
I can't find the link, but I remember someone from the X Window System regretting that X11 was under the MIT License - it's the origin of the MIT License - rather than copyleft, precisely because so many companies just would not give code back.

Keith Packard on this in 2015:

https://list.waikato.ac.nz/pipermail/wlug/2015-September/013...

> Keith made it clear he prefers GPL-style (copyleft/sharealike) licences to MIT/BSD style ones. Net contributors of code tend to prefer the former, while net consumers of code (those who don’t want to give back to the community) tend to favour the latter. In other words, freeloaders.

> while net consumers of code (those who don’t want to give back to the community) tend to favour the latter. In other words, freeloaders.

I think this is a really unfair statement - "net consumers of code ... freeloaders".

While there are surely plenty of users of code who are not contributing at all, and they would be freeloaders, the phrasing "net consumers" means that some of the consumers are contributing back code, just not as much as they consume.

I would wager that most end users are freeloaders (they never commit code back).

I would further wager that most developers are closer to end-users.

Finally, I would wager that the vast majority of developers who contribute code are net consumers, not producers.

To me, it's not so surprising that a few people who put in the most public effort sometimes feel bitter that others don't carry their weight.

> If it were built on GCC...

This assumes that if the only option available to the embedded hardware company were the GPL, that they'd go with that option. (more likely, the product would never come to market)

In reality, releasing something under the GPL typically just ensures that it won't be used by businesses. This is a real bummer, because it means it is off-limits to me during my day-job.

I would love to try and convince my coworkers to write some Scheme, but the majority of that community uses the GPL, which makes it a bit of a non-starter.

Thisnis because most businesses don't understand GPL.
Are you telling me nobody would sell cable boxes or TVs if they had to provide a URL where I could download the code? That sounds ridiculous.
> If that means a professor wants to put the work into their course and help to instruct a class with it, that is great too.

Just to be very clear, neither the MIT nor GPL licenses prevent this.

Under a strict interpretation of the GPL, a student who copied code out of a textbook to use in a commercial project would be infringing the license.

I've never come across this with GPL code, but I've been a bit uncomfortable about reading Numerical Recipes too closely because their code is restrictively licensed.

> Under a strict interpretation of the GPL, a student who copied code out of a textbook to use in a commercial project would be infringing the license.

This interpretation is very surprising to me. Could you point out what language in the GPL you're interpreting in this way?

If the textbook code is GPLed, this applies. Most textbooks seem to be "all rights reserved" so the copyright would be infringed anyway.
It seems pretty straightforward to me that section 5 of the GPL v3, "Conveying Modified Source Versions" (and the corresponding sections of earlier GPLs) would be applicable to this situation (provided that a non-trivial amount of code is incorporated by the student).

What makes you believe otherwise?

A misreading of the section I copy/pasted. :)

I thought because you were responding to my post saying using GPL code in a class, that you were claiming professors couldn't use GPL code in classes (they can). But you weren't saying that--I misread.

A large portion of programming books are still under neither a FOSS nor a CC license, and hence fully protected by copyright. (I've encountered some where the main text of the book is not under a FOSS license, while the code is, but that's also not universal.) In such cases, you're not allowed to just re-use large code segments from the book (commercially or in an open source piece of code). Hence the case of a book under GPL isn't any "worse" than that, except that you do have the option of using the code in a GPL-licensed codebase.

(Small snippets are obviously not covered by copyright.)

That's a good point. I suppose Numerical Recipes was one case where I was particularly aware of the situation because (a) the license is stated explicitly (b) the code is structured in ways that it WOULD technically make sense to reuse non-trivial portions as is.
If you infringe gpl code though, you're obligated to provide your source. If you infringe some other copyrighted code, you're just liable for damages.

Is this correct at all? Like if Microsoft accidentally included some gpl code in Windows, could they theoretically be required to open source it? Or would just have to stop distributing?

No. If you're found violating the GPL, then you have some time (which I don't remember off the top of my head) to provide the source; if you don't do that you'll be treated as having infringed any generic copyright — being liable for damages, having to cease distribution etc.
You're never forced to follow the license; you just have to accept that you've committed copyright infringement, and may have to pay statutory damages for each copy, besides stopping the distribution of any more.
Actually, you have it all backwards.

If it is a normal textbook with non-GPL code in it (which includes code taken from an MIT/BSD licenced source), then that's copyrighted, and using that code for anything else, commercial or not, would be copyright infringement.

If the code is taken from a GPL source, though, then at least the code in that book would have to be licenced under GPL as well, in which case you would be free to use it for commercial software, as long as it is licenced under GPL. The GPL does not forbid use in commercial software, it only forbids use in non-GPL software.

> ...(which includes code taken from an MIT/BSD licenced source) then that's copyrighted, and using that code for anything else, commercial or not, would be copyright infringement.

I don't think this is right. The copyright of the BSD/MIT licensed code remains with the original authors who should be attributed in the textbook (as per the license). Since these authors have permissively licensed their code you're free to use it in your own project (as long as you also include the original attribution). Copying other parts of the text book may be a copyright violation, however.

I wish the public domain were the least restrictive license, but unfortunately that's just not true globally. In many jurisdictions, notably Germany, there is no public domain or the concept of a public domain doesn't match with common law countries. MIT/BSD or another permissive license is a much better choice if you value openness. [0]

0: https://en.wikipedia.org/wiki/Public-domain_software

I think it depends a lot on how valuable your software can be to $supermegacorp, honestly. If I write a competitor to $bigproprietaryapp I would probably decide to release it under a more copy-left license just so nobody can take a ready-to-run solution to market without recourse or compensation. I don't have a problem with proprietary software extending things I write, so such an app would probably be under something like the MPL - "you can use this and add extra features without contributing them back, but you still have to give changes to my code back" sounds like a pretty good compromise.

Some big company wants to use the silly little structured logging wrapper I wrote for SLF4J though? What do I care, go for it, it's a tool and your use of it has no ability to damage any use the community at large has for it.

> It enriches everyone

This is untrue. It might appear obvious that it does, because in the first instance, everyone can take and use it however they want. But as soon as anyone relicenses the work, everyone else loses out.

There are also more complicated benefits to the programmer-users of GPL software that get lost in the process.

I don't think the situation is clear-cut, and too many factors are hard to quantify, but I don't think you can safely say that non-copyleft "enriches everyone."

> It is a much more powerful statement in my view to provide work in a way that allows the entire world, (corporations included) to enrich themselves and educate themselves in an open and free manner.

That is the purpose of the GPL as well.

The GPL doesn't say that you have to be a free love hippie to use the software, in fact it says that everyone can use whatever.

What it does prescribe is that if you extract value from selling FOOS (not using, but distributing) you must play by the rules of FOOS. You can not sit on the sidelines and extract value without providing anything.

Nowhere does it say that you have to share my values. But if you sell my software you have to play by my rules, and that means contributing back.

I agree. The GPL is sort of a hack for people who don't believe in Copyright. In an ideal world, there would be no difference between GPL and public domain, but in our world the GPL forces people who use your code to behave as if everything were public domain.
> It enriches everyone

Well, except the users.

Say EvilCompany takes the code, puts in in their buggy operating system, distributes it under a commercial license, and then you end up being prevented from fixing the code that you wrote.

Because that’s what happened to RMS, and that’s why we have the GPL.

It’s freedom; not for the author, and it’s not freedom for the developers or the vendors, it’s freedom for the users.

The public domain isn't recognized everywhere and licenses like Creative Commons Zero (CC0) which has a fallback of being all-permissive for regimes where a public domain won't work doesn't look out for patent treachery.

The FSF warns against using CC0 for software (see https://www.gnu.org/licenses/license-list.html#CC0 for the full comments): "For works of software it [CC0] is not recommended, as CC0 has a term expressly stating it does not grant you any patent licenses."

If you really want people to be free to use the software as they wish, you can't ignore software idea patents. That naivety actually works against the users as they would be lured into dealing with the software believing it to be free but then trapped by a patent infringement lawsuit.

> But at a certain point you just have to realize that there are > differing points of view, that is just the way things go, and > "progress" includes all of them.

No, this is too broadly accepting and not carefully discerning as reality requires to make sage judgments nor will it help us understand the ethical underpinnings of the software freedom movement (very much related to one of the major problems in the essay -- the author frames the issue around "open source", a developmental methodology which eschews ethics and is therefore of great use to proprietors. See https://digitalcitizen.info/2019/05/10/how-free-software-and... for more on this). Proprietary software is a "differing point of view" and your statement tries to get us to accept that it is merely another acceptable alternative among many. Seeing proprietary software as some form of social progress means accepting the inherent harm of proprietary software, the very reason why the free software movement was founded in the first place. I will call proprietary software harmful and in no way progress for anything worth defending. The goal isn't to maximize one's ability to have power over someone else, it's to ensure specific and well-identified freedoms for all. Strongly copylefted free software where license terms are defended does this.

> If the people with their fingers on that button held these same ideals, we wouldn’t need the GPL. The reality, however, is that we live in a capitalist world. Our socialist free software utopia is ripe for exploitation by capitalists, and they’ll be rewarded for doing so. Capitalism is about enriching yourself - not enriching your users and certainly not enriching society.

We like to talk in favor of abstract ideals and moral arguments, but I think a lot of our underlying motivations come from our feelings towards (and relationships with) other people. If you see the world in this way (good socialist free software utopians vs. greedy capitalists) then all of the rest of the argument basically falls into place.

I'm not even saying that's right or wrong. I'm saying that no amount of abstract argument will convince someone out of their position if their underlying feeling towards other people is already firmly held. I'm including myself in this.

Hmm, I may have misunderstood your point, but as someone socialist / communist leaning I actually intensely dislike the GPL, as far as my admittedly limited, understanding of it goes.

GPL needs enforcement which requires the force of law and loss of personal freedom. Perhaps I actually do agree with you after all then, but there's a second axis, Libertarian vs Authoritarian, where I think GPL requires Authoritarian enforcement?

People should chose a software license the way they choose a screwdriver, not the way they chose a religion.

Choose the tool that accomplishes the job. Do you want to avoid commercial exploitation without repayment-in-kind in the form of contributing back? Use GPL or similar (although this is getting creaky in the case of SaaS deployments). Do you want total world domination for your new protocol? Release a reference implementation under MIT or similar.

License debates go off the rails because too often people try to compress a two-dimensional discussion (ideology and distribution rights) onto a single dimension and talk past each other.

So this blog post seems to say: "I have changed my religion." To which I say: "Consider choosing licenses more strategically."

I'd s/religion/principles/, and then it becomes clearer why the topic isn't completely arbitrary and may have moral weight.
Religion is a fair analogy, because it has a lot of weight to people who agree and no weight at all to people who believe something different.
No, that substitution completely misses my point. One can have deep and well thought out principles and morals and apply that to the strategic selection of a license, and also in choosing which projects are worthy of contribution. Ideology-based decisions are in a different category.

When I look at RMS, I see someone who has thought deeply about the implications of various licenses, and has decided firmly what kind of projects are worthy of his time. He has an agenda, and acts upon it thoughtfully. Some of his followers are not nearly so thoughtful.

All I am saying here is this: before choosing a license, be clear in your own mind about your agenda.

As an example to back up your point RMS has explicitly supported the use of non-GPL licenses for codecs as a strategic move to avoid being shut out of that market by network effects.
> People should chose a software license the way they choose a screwdriver, not the way they chose a religion.

But your claim of what people should do is itself an ideological argument. Software creators have just as much right to choose their licenses for principled reasons as utilitarian ones. Heck, they could pick a license based on the number of contractions in the license text if they wanted. It's their software and their right to determine which reasons they care about most.

> It's their software and their right to determine which reasons they care about most.

We are pretty much in agreement here. All I ask is that people think for themselves, rather than farming out that decision to that persuasive sloganeer they recently met.

> Do you want total world domination for your new protocol? Release a reference implementation under MIT or similar.

Not sure this would be the right strategy in this case (assuming by world domination you mean your protocol gets maximal use). Because your protocol/impl could be forked into a closed variant with proprietary extensions, defeating the purpose of an open protocol. At which point you might be stuck maintaining the mundane, laborious base code, and others do the exciting stuff and take over your project (aka embrace-extend-extinguish). As has happened multiple times back in the last decade when we still saw value in using standardized protocols such as WebDav, XMPP, etc.

For these cases, FSF recommends LGPL instead.

Sorry this is off-topic, but can you expound a bit more on the history of WebDAV in this context?
Sorry I don't have really more knowledge above what's in the protocol specs and on Wikipedia.
Well you are talking about control of the product road map, which isn't really something that the license can do much about. GPL is just as forkable as MIT or BSD. And as to being "stuck" maintaining code that you don't want to... well, just stop already.

Control over the evolution of a protocol isn't easy to bake into a license. It is probably better to look at tools like trademark where you can require passing compliance tests to fly a logo, for instance.

Again, be clear about your goals. Controlling the evolution of a protocol forever is different from launching and declaring victory once it takes on a life of its own. Both are legit, but require different tool kits.

I worry that the downturn of GPL use will have consequences in the future. I understand why the GPL has its issues in context/s, but I don't see why it shouldn't be the default for open source where possible.

The political argument that gave birth to GNU/FSF seems to have lost it's bite in this day and age (perhaps due to a feeling that now open source is the de facto default, it will always be this way?)

Open Source failed. It remains as something that is useful to build software, but its political aims were defeated.

The political goal was to give users absolute control over their computational environments. In reality, we have less and less control, because computations moved to the cloud (corporation-controlled servers) and the most used devices regressed to a non-hackable state (mobile gadgets).

Even if you use a Linux desktop with 100% open source software, you will still probably do a good part (and the most sensitive part) of your computations on someone else's computer, that you do not control. Open Source ended up making it easier for companies to build this new world, because it provided them with perhaps billions of man-hours of free effort.

The strategy of Open Source as a political movements made sense in the 1990s, but we need something new for 2019...

That's an interesting take. Somewhat random question that came to my mind: Do you think it's more important for a user to be in control of their computation, or of their data, or are they equally important?
I'm not the parent, but IMO the end-user should be in control of the computation on a computer... and that concepts of "ownership" don't really apply to data. So when you say "their data", it is very unclear what that should mean.

I'm a copyright abolitionist, so I think when you write a book, you can only "own" that physical copy. When someone reads that book, the words in the sequence that they read them are now part of their memory and autonomy of thought. And so on.

Arguably GPLv3 was a step in that direction
> The political goal was to give users absolute control over their computational environments

No, that was Free Software. Open Source was created as a reaction to that, with the goal of removing the ethical implications and making it "business friendly". And it succeeded, unfortunately.

See: "Why Open Source misses the point of Free Software"

https://www.gnu.org/philosophy/open-source-misses-the-point....

Actually I think free software is more important than ever, as many people don't get the difference and think open source is sufficient. What they do not get is, that there are no ethical values beyond literally an "open source" are implied with open source, while free software does pursue ethical values as well.

Since many are so uneducated about the difference, it is especially important to highlight this difference wherever one can.

I agree with the author that the GPL engenders a sharing atmosphere, and given its wild success, much more than any other license. It would be amazing if all software could be like this, but you also need to take into account how you're going to make money, and not just for subsistence, as a sustained income so people can take up a job, enjoy a decent life, and save some $ for retirement. Only a handful of high profile GPL projects, probably (wild guess) 0.0001% of the total number of projects have achieved this. Would you take up a job if you had those odds?
Plenty of people make average developer salaries writing GPL code, you just never heard of them. Look into open source business software, especially custom development, and you'll find thousands of small and medium companies hiring. I've worked for them over a few years, in multiple countries.
I feel like OP is naive. If he thinks Capitalism is so bad, why is he insisting that people pay him back in their own labor when they use his code? Isn't that what the GPL is? You use my code, and then you must pay back to me your improvements on the code.

What if someone doesn't want payment in labor, but instead wants some carrots? If they make a license that says, use my code, but send me carrots, is that worse than OP's insistence that he should get paid in the code of his users? And if asking for carrots is okay, then why not asking for cash, which is more fungible?

This isn't about morality. Everyone is seeking something ... even those that use BSD or MIT are seeking something. They are seeking recognition, or adoption of their protocol so they can build a symbiotic business, etc. True altruism exists, but it doesn't have a widespread impact. If altruism really did work like that, without a care for personal well being and on a large scale, then we would all be immigrating to a thriving Soviet Block right now, while the USA would be collapsing ... instead of the other way around.

> Isn't that what the GPL is? You use my code, and then you must pay back to me your improvements on the code.

No. You're not obligated to pay me back, you're obligated to share the code with the public. You can't exclude me, because I'm part of the public, but you don't have to have any contact with me at all.

>you're obligated to share the code with the public. You can't exclude me, because I'm part of the public

Not with the general public, nor with you as the original author, but only with users of your GPL-derived software. This might be a technicality, since users can re-publish to the general public; but then I'm not sure since they aren't required to.