
My Personal Journey from MIT to GPL - robenkleene
https://drewdevault.com/2019/06/13/My-journey-from-MIT-to-GPL.html
======
threwawasy1228
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.

~~~
Quekid5
> 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.

~~~
jahewson
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.

~~~
wrsh07
Easy counter example: cockroach labs & Amazon

Why did cockroach decide on their new business license?

~~~
threwawasy1228
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/](https://www.cockroachlabs.com/cockroachdb-community-license/)

~~~
wrsh07
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.

------
godshatter
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.

~~~
kemitchell
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.

~~~
cflewis
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?

~~~
carapace
> 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.

------
pessimizer
This may go either way for you, but I feel like the GPL is the closest thing
that programmers have to a union. It guarantees that our obligations to users
and other programmers always supersede the obligations that we have to our
employer. They are a law hack that encodes professionalism.

edit: it seems obvious that a doctor's obligations should be to the patient,
then to medicine, then to the particular institution they work for. A lawyer
should protect the client, protect the legal profession, then protect whatever
firm they happen to work for.

Programmers should make sure that users have access to inspect the code that
affects their lives; that other programmers can work with, learn from, and
help the users to interpret that code; and that their company makes money. The
only way that companies can accept being pushed to the third priority is by a
united front of programmers who unambiguously swear to uphold the first two
without compromise, and making what you do GPL is attaching an oath to that
effect to everything you write.

~~~
rmtech
> but I feel like the GPL is the closest thing that programmers have to a
> union

But unions generally exist to make their members rich. GPL has the opposite
effect, it means you can't sell your code so you become poor.

It's like the opposite of a union; a collective agreement among a group of
professionals whereby they mutually agree to prevent each other from making
money.

~~~
zAy0LfpBZLC8mAC
The programmer doesn't sell code, the programmer sells time writing software.
With proprietary software, the owner of that software has a monopoly on the
work on that software, and as such can demand monopoly prices. With Free
Software, that monopoly doesn't exist, you only have market competition.

~~~
rmtech
> that software has a monopoly on the work on that software, and as such can
> demand monopoly prices.

This definitely isn't true.

~~~
zAy0LfpBZLC8mAC
Please explain?

~~~
rmtech
Softwares don't form monopolies for that reason. It's easy for another
programmer to go rewrite the code.

------
dbcurtis
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."

~~~
tannhaeuser
> _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.

~~~
anderspitman
Sorry this is off-topic, but can you expound a bit more on the history of
WebDAV in this context?

~~~
tannhaeuser
Sorry I don't have really more knowledge above what's in the protocol specs
and on Wikipedia.

------
Iv
The question that remains is basically "what is your stance on the Great IP
war?"

I agree that the world would be better if all software was public domain and
that the GPL is an inferior option.

In a world where proprietary software is the norm though, GPL is a way to
fight back this trend.

I think GPL makes a lot of sense on software that make computers easier to use
or that have privacy implications: browsers for instance.

Some other times, you just want to help the whole world, including the
software industry, stop reinventing the wheel. Typically with a lib that
solves a specific problem once and for all. There public domain or MIT/BSD
make sense.

~~~
hdfbdtbcdg
Or LGPL...

BTW even Richard Stallman agrees with you with respect to e.g. ogg vorbis
libraries...

------
otikik
I use MIT (compared to GPL) because it's a low-maintenance library.

When I have published stuff in GPL, I would have had someone from (say) the
Netherlands opening an issue asking "hey, can I use this library for doing so-
and-so?". And I had to go and check so-and-so and check the again library and
re-read the license and after I was not sure because I am not a lawyer and GPL
text is fairly dense. Even if I was a lawyer, I would not be familiar with the
legal requirements for someone from Netherlands.

One of the reasons I spend my free time doing open source is that I have fun.
Reading legal text is the opposite of fun to me. So I moved to MIT. I did not
have more of those legal questions.

~~~
atq2119
You are under no obligation to answer those legal questions. In fact, you
probably _shouldn 't_.

Just tell them politely that the GPL is available for them to read and well
documented, and to ask their lawyer if it's really important to them.

------
seandougall
I feel like where this debate breaks down is in trying to apply the same
license to both reusable libraries and finished products.

For a library, an MIT license is much more likely to get it adopted in a
finished product that is accessible and maintained. A GPLed library can only
get adopted in a GPLed project, which means there may be a ton of economic
constraints that make the library's functionality inaccessible to anyone who
doesn't have the time or expertise to build an entire application around it.

Also worth noting: to most ordinary people, GPL on a library is like a Post-It
that says, "Free—take one!" on the door of a safe. It's nice to have
permission, but it doesn't do much good if you don't know anyone who has the
combination. The GPL-everywhere philosophy seems to assume a magical utopia
where everyone is a skilled programmer fluent in multiple languages.

For finished products, though, an MIT license doesn't necessarily make sense,
for the reasons lots of folks here have pointed out; namely, any big corp
could compile the code unmodified, brand it, and sell it. If you want to make
a complete application free and permissive for end users, GPL seems like the
best way to guarantee that.

~~~
atq2119
This distinction is part of the reason why the LGPL exists, and why many
libraries are in fact licensed under LGPL instead of GPL.

~~~
bmaupin
LGPL still has enough restrictions that might discourage adoption of a
library. I find the MPL (Mozilla Public License) is better if you want a GPL-
style license for a library and don't want users to have to worry if they need
to statically or dynamically compile, etc.

------
forkerenok
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

~~~
Arkanosis
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 :)

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

Well said. A net win for FOSS.

------
ubasu
Here's my rant of the day:

The meme that the GPL is "less free" sounds very Orwellian.

What it really means is that I cannot freely use someone else's creation
without restriction, and that I have to respect the wishes of the original
author about how their work should be used.

That is because GPL was intended to be a hack on the copyright system (hence
"copyleft"), but it always respected the idea of copyright - it does not call
for the abolition of copyright.

This talk of GPL being "not free" smells of propaganda so that people (big
corporations?) can reuse and repackage others' valuable work for free without
any kind of compensation or acknowledgement. (TFA says the same thing)

Feel free not to use GPL'ed code if you find it too restrictive, but please
don't contribute to spreading propaganda against it (and get off my lawn while
you're at it)

[For the record, I work on proprietary software myself and haven't written any
FOSS code, but I use GPL software daily - Linux, gcc, emacs etc]

~~~
tokai
Made me remember the free software song.

    
    
        When we have enough free software
        At our call, hackers, at our call,
        We'll kick out those dirty licenses
        Ever more, hackers, ever more.

------
raphlinus
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.

~~~
catdog
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.

------
jwgarber
I personally agree with the philosophy of the author: I think all software
should be free, and in the perfect world, I would license everything I do
under the GPL. However, not everyone in the open source world has this
philosophy. A lot of people prefer more permissive licenses like Apache and
MIT, and using the GPL excludes these people and projects from using the code
- by its viral nature, any single usage of the GPL would force the entire
project to be under the GPL as well. Cooperation is the greatest strength of
the FOSS world, and so I'm willing to compromise a bit to make that possible.
As such, I personally prefer the MPL - it is a weak copyleft license that
enforces all modifications to the source code itself are released back
(important for me), but unlike the GPL is not viral and will not spread
outside its own source files to other projects (important for others). This
way I can keep the project and all modifications to it free, but also allow it
to be used by others who don't share that point of view.

------
TuringTest
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).

~~~
munificent
_> 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.

~~~
TuringTest
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.

~~~
c0vfefe
The classic dilemma of whether presenting the extreme version of your view
will shock people _towards_ , or _away from_ your view.

------
joveian
I generally agree with the idea of the GPL but the thing I would encourage
everyone to consider is: are you really going to enforce it when someone
doesn't comply? If not, consider just adding a sentence (or more) to the top
of the MIT license or public domain release that you would really like people
to share their modifications but are not going to force them to do so.

Otherwise, the main effects of using the GPL are:

1) Projects that are actually open source but want to be available for closed
source use will not use your code (maybe some people want this)

2) Lots of people who would contribute changes anyway will spend time figuring
out what the GPL means in detail (it is not short)

3) Quite a few comanies will still use your code without releasing changes
since they know that few projects try to enforce the GPL (or any other open
source license)

4) It could potentially be helpful in a BSD lawsuit type situation, where
companies that sue over copyright (or patents) will themselves violate the
license of code that they use

I'm just saying keep in mind that a license does not automatically make people
follow it and if you aren't willing to attempt to enfoce it legally then at
least consider using a very short license.

~~~
pabs3
and if you are willing to attempt to enforce it legally, consider doing it in
a reasonable way like the FSF and SFC do:

[https://fsf.org/licensing/enforcement-
principles](https://fsf.org/licensing/enforcement-principles)
[https://sfconservancy.org/copyleft-
compliance/principles.htm...](https://sfconservancy.org/copyleft-
compliance/principles.html)

------
ghaff
It's a very natural human reaction to push back against the idea that someone
else might profit from your work--whether or not you have any real opportunity
to profit yourself. That was really one of the geniuses of open source
licensing (including the GPL) as it developed. By contrast, in the PC world
for example, there were a lot of licenses along the lines of "free for
educational use only" or "you can't use this software if you're an evil
defense contractor."

You still see this usage restriction thread of licensing in Creative Commons
for example with non-commercial and no-derivatives being common--even though
CC has basically been unable to come up with a workable definition of NC in a
decade of trying and ND runs completely counter to the whole idea of remixing
that partly drove CC in the first place.

~~~
biomcgary
I recently ran into a modified MIT license with a no-military clause. My
company would not use the otherwise very nice package because, unfortunately,
it includes an "indirectly" in the language. We don't have anything to do with
the military, but our clients are large pharmaceutical companies, so they
probably have military contracts.

~~~
ghaff
Just purely from a practical perspective, lawyers tend to run screaming from a
lot of usage-based restrictions. Even if they seem fairly straightforward at
first scan, once you start asking questions (as in your case and non-
commercial), all but the most trivial uses--in which the license doesn't
really matter anyway--start to look like they might fall into a grey area.

If your job is managing business risk, it's just not worth it.

------
oarsinsync
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.

~~~
umanwizard
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).

~~~
dmm
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.

~~~
TeMPOraL
> _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_.

~~~
hlkps
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.

~~~
pessimizer
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.

~~~
umanwizard
> 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).

~~~
jeena
But if it were unstable, the GPL would certainly certainly make it
easier/cheaper to fix.

------
ran3824692
Nonfree software is often malware,
[https://www.gnu.org/proprietary/proprietary.en.html](https://www.gnu.org/proprietary/proprietary.en.html)
, and it's nowadays built on top of permissively licensed free software. Its
not just a difference of opinion and its not about "selling" the software. Red
hat happens to sell lots of free software.

~~~
calcifer
Red Hat is an anomaly, not the norm.
[https://techcrunch.com/2014/02/13/please-dont-tell-me-you-
wa...](https://techcrunch.com/2014/02/13/please-dont-tell-me-you-want-to-be-
the-next-red-hat/)

~~~
icebraining
There are many, many companies selling Free Software. I personally worked five
years for one, getting paid for writing A/LGPL licensed code. It's just that
they're small companies working as a network, not behemoths, since the
economics of sharing code favour that. And to me, that's just an extra plus,
not an issue. But I'm sure Peter Levine partner at a16z doesn't like it - VCs
are generally unable to extract profit from these companies.

------
mhh__
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?)

~~~
TelmoMenezes
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...

~~~
anderspitman
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?

~~~
nfoz
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.

------
cryptonector
> 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.

------
beefhash
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.

~~~
jeena
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.

~~~
ronsor
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)

~~~
mcguire
Incompetence is the simple answer.

------
CJefferson
My problem with the GPL is more low level. It (in my opinion) doesn't work
well over very long periods.

I work on an open source system which is over 20 years old. For a long time it
was GPL v2. We had to either go GPL v2+, which assumes the FSF will never go
crazy, or stick with GPL v2, which is incompatible with v3, which causes
various problems.

The GPL v2 and v3 are really strict compared to most other licenses, they
don't really "play nice" with anything, including each other.

~~~
c0l0
> [...] We had to either go GPL v2+, which assumes the FSF will never go
> crazy, [...]

This is a rather common common misconception. If you use the "Version 2 of the
GPL or any later version"-clause in your specific GPL licensing lingo, then
any re-distributor may CHOOSE to distribute under GPLv3, or GPLv4 (if it ever
exists), or, for that matter, also GPLv2. You're not _bound_ to re-distribute
under GPLv${latest} because of that phrase - so it is, in my pov, completely
safe to go with the "or later"-clause. (But that also may be because I do
trust the FSF to not "go crazy" in the forseeable future :))

~~~
CJefferson
A future GPL v4 could say "Your code can be converted to the MIT license", or
even "your code can be used by company X" in the event of a takeover (which I
don't consider an impossible option).

~~~
the_why_of_y
> "your code can be used by company X" in the event of a takeover

The FSF is a tax-exempt 501(c)(3) charity; if it would institute policies to
benefit a single for-profit entity, the inevitable IRS audit would be
excruciatingly painful and likely result in jail time for directors.

------
yingw787
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.

------
zzzeek
I think the distinction between "download and run" software vs. "libraries
used to build new programs" should always be stated in this GPL vs. not
discussion.

For "download and run" software, having it be GPL IMO doesn't limit too much
who will ultimately be using your software. But if you are writing a
programming library that would be used to create new software, GPL and even
the LGPL will scare away a lot of commercial users, as well as projects that
themselves hope to attract commercial users. If you don't care about
commerical users, then it doesn't matter. But I think most people that write
programming libraries care a lot about this.

~~~
megous
For me it's rather simple. I like GNU/Linux, the whole free/sharing ecosystem
helped me learn so much, it allowed me great productivity, to modify anything
and everything, etc.

I like others to have the same opportunity, so GPL it is, even for libraries.

~~~
zzzeek
Well it doesn't always work that way. I have a bunch of MIT licensed libraries
that are very widely used and I'm 100% certain there are no commercial forks
of it of any particular value. Because then they'd not have my support when
their stuff breaks. Im sure there's lots of other libraries like mine, the MIT
license is not limiting anyone's access to the best versions of my code.

~~~
megous
Your argument doesn't say anything about GPL not always working that way. It
just says that MIT license may work that way too, if noone else will make any
useful closed modifications. Which is actually an uninteresting case.

------
nfoz
I use the GPL and I long for the day that it is no longer needed -- when we
finally abolish copyright. I GPL to help virally encourage an ecosystem of
software that will not abuse my freedom via the tyranny of copyright, in the
meantime.

------
slim

      Even once I started using Linux as my daily driver, however, it took a while still for the importance of free software to set in
    

same here. Even though, I'm a Linux user since 1995, I just understood the
true meaning of free software last year (maybe because I'm not a native
English speaker). I realized that it means the software is free, not me. It's
kind of respect to the software as something important in our lives.

------
monocasa
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.

------
bunderbunder
> Your parents probably taught you about the Golden Rule when you were young:
> do unto others as you would have them do unto you. The GPL is the legal
> embodiment of this Golden Rule

Funny. For me, the Golden Rule still leads me to the opposite conclusion: I
want people to share their work with me open-handedly, without telling me what
I can do with it or what other software I am allowed to combine it with. The
more strings are attached, the less it feels like it's really sharing. The
most annoying example of this is when companies open-source their works under
a copyleft license in an obvious attempt to get free labor from the community
while reserving the ability to actually profit from that work for themselves.

And therefore, when I share the software I work on, I prefer to share it open-
handedly.

~~~
kyle-rb
>The most annoying example of this is when companies open-source their works
under a copyleft license in an obvious attempt to get free labor from the
community while reserving the ability to actually profit from that work for
themselves.

Similar to this, Qt has a LGPL license option, but when using it for a
proprietary product, they really push you to buy their commercial license, and
have basically no info on how to actually do LGPL compliance in the specific
case of Qt's libs.

I get that it's not their responsibility to make it easy for me to use an open
source lib in a closed source product, but it just feels like they're using
LGPL compliance as a threat if you don't pay their license.

~~~
detaro
Their messaging on that can be a bit (probably intentionally) unclear
sometimes (and from what I hear they have pushy salespeople), but many
companies use it successfully under LGPL terms, and for typical desktop apps
the compliance effort isn't that large. (embedded devices etc are a different
problem, I suspect that's where they make most of their licensing money)

They also _are_ providing a lot of value to the open-source communities
building on Qt, so I don't think they are a great example for what GP
mentioned.

------
ddebernardy
I went the other way around. I used to mostly release GPL code, and then one
day switched to MIT and never turned back. I've profited from code written by
others; others should be able to do the same under whichever license they
prefer.

There's a simpler way to address the problem outlined by OP: just refuse to
consider binding software dependencies whose source you can't read. (It
doesn't necessarily mean FOSS, as in I'm OK with paying to get the software;
but I do want to be able to read the source code.) To me using such a
dependency whose source code I can't read is just a non-starter.

------
aroberge
I teach Physics and Math. As a student, I enjoyed the freedom to consult
textbooks, learn about new computation methods and be able to use them later
when needed without worrying about potential restrictions. And I want my
students to enjoy the same freedom. In my first projects, I used the GPL
license but have moved since to almost always using the MIT License or,
sometimes and when appropriate, CC-0.

When I find some interesting looking project on github or elsewhere, I am
always tempted to look at the code. However, if I notice that the code is
licensed under GPL, I refrain to do so as I do not want to have to worry about
finding some "cool trick" but not being able to use it later in my own code
without fear of violating the license.

I do get why some people swear by the GPL license, and I respect their choice
and commitment to what they see as the greater good. However, I see it as a
barrier to those that simply desire to learn.

~~~
jbotz
I think you misunderstand copyright... you can't violate a license (that's
based on copyright) by using ideas you saw in the source code. You really have
to actually _copy_ , verbatim, a significant chunk of code to be in violation
of a software copyright. Sure, what constitutes a significant chunk is
somewhat open to interpretation, but nobody who releases their software under
the GPL is likely to ask a court for a ridiculously restrictive
interpretation! I'm pretty sure Richard Stallman would be horrified by what
you're saying here.

~~~
UglyToad
I'm interested in this. From what I have read unless you do a 'clean room'
rewrite, that is a team reads the code and describes the algorithm to another
team with no view of the code, your work can be classified as a derivative
work?

Now there are grey areas for sure, but my problem with the GPL is knowledge
should be a commons, not a field day for lawyers and a creator of 'thought
crimes'. Maybe I have misunderstood that regarding derivative works but it
still seems by enforcing obligations GPL doesn't meet my personal definition
of free.

~~~
jbotz
This is really only an issue for project where you're trying re-implement a
whole piece of software, and not when you pick up some "good ideas" looking at
a piece of code. If you're creating a functional clone of some software and
suspect that the owners of that software might take legal action against you,
then you'll need to make extra sure that no part of your reimplementation
resembles the original source code. Hence the whole "clean room" approach.

But if you're just looking at some code and get some ideas and use them in a
totally different kind of program, you're definitely not violating the spirit
of copyright, and as far as I know no court has ever decided that you're
violating the letter of copyright in such a case either.

~~~
UglyToad
Ah thanks for clarifying, I guess there's a sort of size cutoff where stuff
goes from fair use to a derivative work.

------
jeena
Hehe that is what I tell my friends who ask me to help them to install some
windows software to filter something for their children, etc. will happen:

"Fun fact: the first time I used Linux was as a teenager, in order to get
around the internet filtering software my parents had installed on our Windows
PC at home. ↩"

------
codr7
I used to release all my code as GPL. But the more time I spent witnessing the
madness that is license wars, the less I felt like contributing to the mess.

I spend a lot of time and effort on my code, and I don't mind sharing it for
free. I would prefer if other people tuned into that mindset rather than
greedily raping the world for profit.

But adding more rules never seem to help, it always causes more division.

My current perspective is that its simply not my responsibility to push others
into doing what I believe is the right thing.

Which is why g-fu [0] is released as MIT.

[0]
[https://github.com/codr7/g-fu/tree/master/v1](https://github.com/codr7/g-fu/tree/master/v1)

------
tracker1
I think it varies and the world needs and can utilize a mix of licenses.
ISC/MIT are good in some scenarios, often client libraries and frameworks work
well here. LGPL is great for libraries that have a lot of busy work that can
be part of a larger system, but don't need the license to take over the larger
system. GPL works when you don't want commercial derivative works. AGPL
applies where you don't want online services to subsume your work.

In the end, it will depend on the goals one wishes to accomplish. I tend to
avoid certain licenses and scenarios. Most of the time I will favor MIT or
ISC, but have been considering how to apply some things I've been working on.

------
neuland
> 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.

~~~
oarsinsync
> 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.

~~~
neuland
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/](https://lwn.net/Articles/635290/)

[1] [https://lists.linuxfoundation.org/pipermail/ksummit-
discuss/...](https://lists.linuxfoundation.org/pipermail/ksummit-
discuss/2016-August/003580.html)

~~~
pedrocr
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.

~~~
neuland
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.

~~~
pedrocr
_> 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.

~~~
neuland
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.

~~~
pedrocr
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.

~~~
oarsinsync
> 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)

~~~
pedrocr
_> 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.

~~~
oarsinsync
You're right, I hadn't considered the potential ramifications for the Linux
kernel specifically, and how variably educated court judges can actually be.

------
elagost
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...](https://www.zdnet.com/article/its-mongodbs-turn-to-change-its-open-
source-license/)

~~~
kemitchell
A number of organizations are actively involved in GPL enforcement. The most
active these days is probably gpl-violations.org, in Europe.
[https://en.wikipedia.org/wiki/Gpl-
violations.org](https://en.wikipedia.org/wiki/Gpl-violations.org)

------
qalmakka
My favourite license is still MPLv2. In my opinion it hits just the right spot
between giving back source and not limiting potential uses significantly. So
many languages link statically nowadays, making LGPL fundamentally pointless.

------
letsgoyeti
Not a troll question, so please bear with me...

From the perspective of the _author_ of a piece of software wanting downstream
changes contributed back, I think GPL makes total sense.

From the deontological perspective of a _consumer_ that considers closed
source code immoral (aka Stallman's view if I understand it correctly), it
doesn't make much sense to me.

Consider the example where you go to a bakery and ask for a cake. Most people,
I think, would agree that it would be unreasonable for a buyer of the cake to
consider it immoral that the baker doesn't release the recipe to the cake.
What makes software special?

------
inapis
>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?

------
kissgyorgy
I have a project (X.509 certificate lifecycle manager for bootstrapping CAs,
issuing certs, like Lemur or Vault PKI backend) I would like to provide this
free for any solo system administrators, small companies for internal use,
software developers, freelancers, but I don't want to give the possibilities
for big companies to repackage and resell it as their own and I also want to
force them contributing back.

What license should I choose and why? I thought GPL or AGPL, but I really
don't want to scare away individuals and small teams (who this software would
help the most).

------
la_barba
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?

~~~
icebraining
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.

------
shuzchen
There is no one-size fits all, you should use the license that best suits the
product you have, as well as the ecosystem in which you're releasing it. See
the EFF's documentation on this: [https://www.gnu.org/licenses/license-
recommendations.html](https://www.gnu.org/licenses/license-
recommendations.html) [https://www.gnu.org/licenses/why-not-
lgpl.html](https://www.gnu.org/licenses/why-not-lgpl.html)

------
theturtletalks
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?

~~~
ocdtrekkie
No, copyleft doesn't prevent commercial use. In fact, preventing commercial
use is impossible with the GPL.

~~~
theturtletalks
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?

~~~
pas
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

~~~
TuringTest
> weak copyleft (Apache, MIT)

The term you're looking for is "permissive license". [1]

[1]
[https://en.wikipedia.org/wiki/Permissive_software_license](https://en.wikipedia.org/wiki/Permissive_software_license)

------
bmaupin
Common wisdom says to use the best tool for the job. Why wouldn't the same
thing apply to licenses? The MIT vs GPL argument seems silly to me. Use
whichever one best applies to your situation.

Writing a library and want maximum adoption? Use MIT.

Worried about patents? Use Apache.

Want to ensure the code stays open-source? Use GPL for an application or MPL
for a library.

Obviously these are grossly oversimplified examples to make my point. But I
wouldn't write a web application in C or a device driver in JavaScript. So why
use the same license for all of your code?

------
TazeTSchnitzel
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.

------
SAI_Peregrinus
If you feel your work is valuable enough to be worth receiving compensation
for, use GPL and/or a proprietary license. If not, use a permissive license.

------
cjbprime
> [more free vs. less free]

The intuition that helped me understand this was noticing that the GPL is
trying to maximize _societal_ freedom, and in contrast the BSD is trying to
maximize _individual_ freedom. So, is the GPL less free than BSD? Answer: For
whom? Single individuals or everyone together?

An analogy: a society would have more individual liberty if dogs were allowed
to poop on the sidewalk, because fining dog owners who don't clean up after
their dog is reducing the individual liberty of those dog owners.

But the society with this individual liberty curtailed is a better society.

The same distinction holds across politics in general -- we might
approximately map GPL vs. BSD onto, say, socialist vs. libertarian.

~~~
c22
What about a society where individuals are free to let their dogs poop all
over but most choose not to since it's unattractive and they've been raised in
a society where personal responsibility is of paramount value?

This is the society I want to live in, and I think if you look at it
pragmatically this is a society in which a lot of us already live (I have
heard of very few cases where someone has actually been fined for not picking
up their dog poop and I also see relatively little dog poop lying around).

~~~
cjbprime
I guess I just don't believe cooperation problems scale.

e.g. [https://slatestarcodex.com/2017/02/22/repost-the-non-
liberta...](https://slatestarcodex.com/2017/02/22/repost-the-non-libertarian-
faq/#coordination_problems)

~~~
c22
It's the same cooperation problem regardless. GPL only works because enough
people agree to respect the system that allows it to function. If no one payed
lawyers to argue over licensing issues and no one supported courts in which to
hear the arguments then the GPL would just be words on paper. Since we
fundamentally live in a world where cooperation happens all the time I _know_
that a utopian interpretation of this world is also possible. In fact, it's
been my observation that people's willingness to cooperate increases as a
function of societal excess, so if we are going to keep putting all our eggs
in this maximize-production maximize-efficiency capitalist mindset that has
taken hold in the last century it seems almost inevitable that natural
cooperation will increase and we can rely less on codified regulations with
the threat of force.

~~~
cjbprime
I don't think people are especially willing to cooperate in the absence of
enforced rules, even with regard to the GPL. They didn't "choose" to live in
countries where governments will perform force against them if they break the
rules -- that's a very rosy view of consent and cooperation. And even in such
a world, GPL violations are so common that for a while I think most Android
phones in existence weren't even trying hard to pretend to comply with GPL.

~~~
c22
Governments aren't strange 3rd party alien entities enforcing their "rules" on
a captive population. All governments (and corporations) consist of
individuals. Some day governments will consist entirely of people who haven't
been born _yet_ , so it seems a little disingenuous to imply these people are
just being born into an authoritarian world that they have no power to change.
Governments continue to enjoy legitimacy because populations _choose_ to
continue to accept them.

My argument was that these massive social structures are already the result of
unprecedented levels of cooperation and their global influence and
homogenization appear to be expanding. Are we at peak cooperation yet?
Apparently not, some companies abuse the GPL and I still occasionally have to
clean up other people's dog shit. And realistically there will probably always
be a few "Mikes" somewhere polluting the lake for their personal profit, but I
believe we are moving in the right direction and we will be able to reduce the
freeloaders to a tolerable level as long as we continue to produce way more
than we can possibly use. In the meantime I prefer to walk the walk, I'll
continue to gift my extra time and energy to help others achieve their goals
and I absolutely will spend an extra $50 on widgets if I find out Wanda is up
to something shady.

I'm not against people who choose to use the GPL, I think it's an extremely
clever legal hack, but I look forward to a world where people don't feel like
they have to.

~~~
cjbprime
I agree with most of that. But like.. most software is proprietary, right?
Left to their own devices, Microsoft and Apple didn't decide to cooperate with
the world and share software; instead they became the richest companies in the
world by instituting a de facto computer tax. What you describe as
"cooperation" really seems more like "people complying with rules enforced by
force to the smallest extent possible", even in this software example.

There are obviously some cases where humans work together really well -- times
of conflict or disaster are probably a good example. But as society contains
less scarcity, it seems like we move farther away from that massive
cooperation, because there's no overriding need for it anymore.

------
oliwarner
GPL is about _user_ freedom. The user must always be allowed to inspect what
code they're actually running.

That is restrictive on developers, but that's just the cost of doing business
here. If you don't share those ideals, that you should be able to inspect and
alter the source of the code you run, you will likely never "understand" GPL.

------
ekianjo
> The reality, however, is that we live in a capitalist world. Our socialist
> free software utopia is ripe for exploitation by capitalists

Amusing point of view, when you realize that the largest GPL (or FOSS)
projects (like the Linux Kernel for example) are developed and maintained by
capitalistic corporations more than anything else - GNOME is
developed/maintained by RedHat/IBM, Confluent develops Kafka, Facebook
develops React, Google develops Android and Chromium, Dart, Go, Kubernetes,
Tensorflow... the list goes on and on.

------
AdmiralAsshat
Every time this debate comes up, I think of MINIX:

[https://www.zdnet.com/article/minixs-creator-would-have-
like...](https://www.zdnet.com/article/minixs-creator-would-have-liked-
knowing-intel-was-using-it/)

~~~
_ph_
It doesn't require the GPL to know who is using your software - choose BSD
with advertising clause.

------
kazinator
I've gone the other way; the last time I put a GPL on anything was more than a
decade ago. (I mean on something completely new, not a modification to someone
else's GPL-ed program).

I won't ever be GPL-ing anything going forward; two-clause BSD all the way.

------
mark_l_watson
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.

------
jasonhansel
All of us should be thankful that the tools we rely on (like gcc and Linux)
were available under the GPL, since otherwise proprietary extensions to these
programs would have made the OSS versions obsolete.

------
OJFord
The links to 'blogs I follow' with preview at the bottom is neat;

> Generated by openring

[https://git.sr.ht/~sircmpwn/openring](https://git.sr.ht/~sircmpwn/openring)

Nice.

------
haberman
> 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.

~~~
UglyToad
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?

------
adultSwim
GPL vs MIT/BSD

Code is free vs orgs that make use of code in their products are free

------
TheMagicHorsey
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.

~~~
pessimizer
> 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.

~~~
tannhaeuser
> _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.

------
corkscrew
This recent talk by DHH also discusses this topic.
[https://www.youtube.com/watch?v=VBwWbFpkltg](https://www.youtube.com/watch?v=VBwWbFpkltg)

------
filmgirlcw
This is an interesting read, but it's almost ironic because over the last
decade, the argument between MIT and GPL has become less important, IMHO
because of the rise of SaaS. And by that, I mean, that we've seen a recent
push back towards both Apache and GPL licenses from companies that take
umbrage with other companies using their source code to sell hosted SaaS
versions of their work, without contributing back. Of course, the problem is
that the GPL doesn't solve that problem any better than BSD or MIT or Apache
and it is debatable if the AGPL does either. The fact is, modern OSS/FOSS
licenses really weren't designed for the age of server-side software where
there isn't a distributed client or locally compiled code.

And while I'm incredibly sympathetic to companies who see Amazon and others
(and disclosure, I work for Microsoft but my opinions are my own and I don't
represent my employer) using their work to sell hosted versions of their
products that directly compete/undercut/undermine their core businesses,
that's also just a natural side-effect of using an OSS license in the first
place. If you, as a business, are unable or unwilling to account for that
possibility, perhaps you shouldn't have used that license to begin with. It
seems unfair and wrong to attempt to relicense or reframe the rules after you
have already benefited from the source used by others, which is why I look at
things like Common Clause with disdain. Own that you are proprietary or GTFO,
don't try to do this bullshit middle-ground approach, which doesn't do
anything.

So in a SaaS situation, MIT vs GPL is irrelevant, and yet many of the renewal
of licensing discussions are around those ideas.

My personal philosophy around open source has also shifted over the last
decade or so, but it has largely cemented why I personally prefer BSD/MIT
licenses. Having said that, although I prefer BSD/MIT licenses, I'm also of
the opinion that in many cases, it is beneficial to everyone to contribute
changes back to the main projects. Period.

I used to be much more in favor of proprietary software -- or, at least the
_right_ for a developer to choose to make some or all of their software
proprietary. I still believe that -- because even though I would argue that
open source is often a _better_ development model, I'm not in favor of the FSF
POV that deems all software must be free. True freedom means the ability to do
things that are not in the interest of the public or maybe, even ultimately,
the developer herself.

My position has changed insofar as I now think that the business case (and not
just the moral/ethical case) for FOSS or OSS is stronger -- but I still feel
strongly that aspects of the GPL make it overly cumbersome when releasing
software. My feeling has always been, if I choose to make my code available,
I'm making that choice -- I would like you to choose to contribute any changes
back. It would probably be better for everyone if you did that -- but I don't
want or need reciprocal access to any code you use alongside what I wrote, and
I don't feel you're obligated to share any specific changes back with me. If I
wanted to enforce that someone has to pay me for my work in order to
potentially profit from it, I would need to make my work proprietary and sell
it that way.

------
coreyp_1
This includes a cynical view of capitalism, too.

~~~
whatshisface
Software is full of tiny monopolies and it's standard consensus that
monopolies cause the market to fail.

~~~
zepto
There’s no such thing as a tiny monopoly.

~~~
whatshisface
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.

~~~
kazinator
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.

------
lone_haxx0r
> 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.

~~~
TuringTest
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/](http://www.iftf.org/uba/)

~~~
lone_haxx0r
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.

~~~
TuringTest
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.

------
rmtech
I have a question for the author.

How does he pay his rent? Where does the money come from? Is he a software
professional?

------
chilicuil
For me this all copyright / license topic is non sense, that's why I don't
even bother adding a license to my projects, some years ago I used to add MIT
licenses when requested, however these days I just ignore those requests, they
can use it or not, but I'm not doing any effort to fulfill these copyright /
license claims.

------
rmtech
Can somebody clarify for me - if you write 9,990 lines of proprietary code and
include 10 lines of GPL code, the whole 10,000 becomes GPL, right? And then
the whole 10,000 becomes public property according to the GPL so the person
who wrote the 9,990 lines of proprietary code starves to death and dies
because you can't monetize public property, and our food system only accepts
money in exchange for food, not "good deeds" or whatever?

If so, then this is what people mean when they say the GPL is a "general
public virus".

~~~
evmar
If I make a movie and include your copyrighted song for just three minutes of
the intro, my whole movie violates the law. Or if I write a book and copy-
paste just one chapter you wrote on your blog into it, the book also violated
your copyright.

And I "starve to death and die" because yes, in this world you can't just take
things that other people have made and use them in whatever way you like -- if
you can't obey the terms that someone else has given for the use of their
creative work, then _don 't use their work_.

~~~
rmtech
> if you can't obey the terms that someone else has given for the use of their
> creative work, then don't use their work.

Yes I agree, but the conclusion to this is that you probably should never use
the GPL.

If you want other people to be able to use your code, use the MIT license.

If you want to monetize your code/keep it secret/sell it, then don't try to
open-source it.

The GPL makes code radioactive and useless to everyone.

I get the intent in the OP that people should obey the golden rule and only
build open source on open source. But what actually happens in my limited
experience is that when a company comes across GPL code, the boss asks you to
find equivalent code with an MIT license and ditch the GPL code.

If no such MIT code exists, the boss asks you to find another way, or to
rewrite the GPL code yourself and keep it secret, or maybe even release it as
MIT code.

GPL code is a dead end because it poisons other code.

And the fundamental reason for this is that programmers have to get money
somehow, which almost always means being able to have some of the code they
write as closed-source.

MIT allows closed and open source to exist side-by-side. You can write some
code that does something, release it under the MIT license on GitHub, and also
use it as a component of your company's proprietary product which ultimately
pays for you to eat and live.

And this problem recurses. If I am _not_ in a corporate setting and I am
choosing between a GPL library or an equivalent MIT library to use in my own
open source application, I should choose the MIT one because otherwise my open
source code becomes "infected" with GPL, meaning that people in a corporate
setting can't use it. If I'm deciding which library to learn as a hobby I
should choose the MIT one because that will be useful for getting a job. Etc.

GPL will IMO be radioactive for as long as we insist that most programmers
have to sell something in order to have a house to live in and food on the
table. If the rest of society sets up a big fund to hand out money to
programmers who make useful software, then we can talk about GPL.

But actually even if such a fund existed I still think MIT would be better.

~~~
mathnmusic
GPL is an activist license. They have a worldview that they think is more
right than others. It's of course not optimal for everyone. They think that
closed source software is "morally wrong", and therefore "allowing closed and
open source to exist side-by-side" is not really their goal.

As a user, I prefer GPL's activist stance, rather than MIT license's non-
activist approach which essentially translates to an ethics of "might is
right".

~~~
rmtech
> They think that closed source software is "morally wrong", and therefore
> "allowing closed and open source to exist side-by-side" is not really their
> goal.

OK, that's nice but can these people explain to me how I should pay rent?

~~~
icebraining
Work for one of the thousands of companies that pay you to write GPL licensed
code? I can give you some references, having worked for one for a few years
(specifically, we wrote Odoo modules for various businesses).

~~~
rmtech
And how does the company get money?

~~~
icebraining
Sales of the modules, optional support contracts, and SaaS hosting of the GPL
application and our GPL modules for people who prefer it to self-hosting.

------
gridlockd
I always thought of the GPL being more about the distinguished self-importance
of programmers than software freedom. Imagine if mathematicians started
putting licenses on their contributions to math. They'd be laughed out of
math-town.

Look, if you want to contribute to the commons of programming, use a
permissive license. If you want to cut out certain people who can't or don't
want to use copyleft, use the GPL. If you can't stand the fact that someone
might profit off of your work while you get nothing, _don 't publish
anything_.

Another good but seldomly given piece of advice: don't publish all your half-
assed crap on Github. This is software pollution. _Nobody_ wants to read the
source code to such garbage as "stfupy3.org", but it will show up on search
results regardless. No employer or potential client wants to sift through a
list of trash to find the one good thing that you did that one time, that
actually shows you know how to finish a program. Less is more!

~~~
Wowfunhappy
> Nobody wants to read the source code to such garbage as "stfupy3.org"

How do you know? It could be exactly what I need for some esoteric reason!

Within the past year, I've found several useful projects on Github that their
authors who appeared to consider them worthless.

\---

Edit: As an example, I really wanted a simplistic dictionary app for my
iPhone, which used the definitions built into iOS so it could work offline
without taking up lots of storage space. Apps like this are explicitly against
App Store guidelines.

After a chance search on Github, I came across this. Licensed under the WTFPL.
[https://github.com/forresty-archive/Dictionary](https://github.com/forresty-
archive/Dictionary)

I'm not really a developer of any kind—I know basic Javascript—but I was able
to figure out enough to get the app working on modern iOS, with modern fonts
and such. The result was
[https://github.com/Wowfunhappy/Dictionary](https://github.com/Wowfunhappy/Dictionary)

Here's what really surprised me—I posted this to the /r/Jailbreak subreddit
and I still get PM's once every other week thanking me for the app (which, I
think I made quite clear, I didn't write). Apparently english language
learners in particular find it very helpful.

Suffice to say, I'm really happy that "forresty", whoever they are, posted
their rejected iOS app to Github.

~~~
gridlockd
> How do you know? It could be exactly what I need for some esoteric reason!

No _true scotsman_ wants to read that garbage.

> Within the past year, I've found several useful projects on Github that
> their authors who appeared to consider them worthless.

If the authors truly believed it was worthless, they wouldn't have expended
the energy to publish it.

But that's not the point anyway. If you drown out your good work with all the
crap you may have written over the years, your overall portfolio becomes
weaker. In the arts, pretty much everyone knows this. In programming,
apparently only the people that are hiring know this.

~~~
Wowfunhappy
Take a look at the example I edited in above (it looks like our posts
crossed). I really do think that app's author considered it fairly worthless,
it barely has a readme and it was explicitly given a WTFPL license.

I would have thought my barely-tweaked fork was worthless to, and almost
didn't share it, but I'm glad I did.

~~~
gridlockd
Just because that one thing happens to _not_ be entirely worthless, doesn't
mean that _anything_ has value.

Also, since you're not even a professional developer, I'm not directing that
advice at you.

~~~
Wowfunhappy
> Also, since you're not even a professional developer, I'm not directing that
> advice at you.

I think your implicit assumption that most Github projects are created as a
form of resumé building is incorrect.

~~~
gridlockd
I'm not assuming that and it's irrelevant anyway. I'm concerned with what
_matters_ , not what represents some majority. The Github profile is (part of)
your portfolio and if your portfolio sucks you are worse off professionally.

If that doesn't apply or matter to you, that's fine. You can move right along.

