
Ask HN: Choosing open source project licenses when not legally-minded? - sbjs
I have an idea for a really great open source project that I know there&#x27;s going to be a lot of interest in, and no app already fills that niche. Before I open source it, I want to choose the right license, to allow people to use the app freely for whatever they want, to protect me from whatever they do with it (without forming an LLC), to allow other developers to contribute to it, but still allow me to maintain control over the project, and to protect my right to receive donations through Patreon if people become enthusiastic and excited about the app. But IANAL and have no idea what repercussions each license comes with. What are some resources where I can <i>quickly and reliably</i> choose a good license based on my requirements, without becoming a lawyer and without accidentally choosing a license that bites me later down the road?
======
tptacek
No open source license will allow you to maintain control over the project.

If you can imagine having any proprietary interest in the project --- some
line of business or donation revenue stream built on your thing that will
naturally go to you --- you probably want to GPL. GPL adds use restrictions
that make it difficult (though not impossible) to commercialize open source
software, and those restrictions will apply only to your downstream users (you
are not bound by the GPL for code you own and can relicense it as you see
fit). This is part of the business model for a lot of open source companies.

If you want to go really nuts with that, look at AGPL, which imposes even more
restrictions. People are generally cool about GPL and less cool about AGPL.

If you don't care about any of that, MIT license is the most normal choice.

~~~
SeanLuke
I'm not sure what the "most normal choice" means, but in this age of software
patents, X/MIT (or BSD) is archaic to the point of being dangerous except for
the most trivial of projects.

Select a license which has a patent release. Otherwise people will have a very
good reason not to use your software. If you want to go the BSD-style route,
the most normal choice here is Apache.

~~~
yellowapple
Is this still an issue if you don't own any software patents?

~~~
SeanLuke
Yes. Because your licensees don't know that and they don't know you wouldn't
obtain them later.

------
cweagans
Highly recommend [https://choosealicense.com/](https://choosealicense.com/)

------
cimmanom
Also consider dual licensing as a solution. For instance, you can release code
under a restrictive open source license (such as GPL or AGPL) and also offer
the code for a fee under a non-open license that allows it to be used in
closed-source projects.

~~~
sbjs
That sounds like a great idea for the app I want to make! It would let users
create and ship apps that come with my custom runtime functions bundled in.
I'm trying to figure out how to monetize it, and my only thought so far is to
open up a Patreon for donations from any very enthusiastic users. But
sublicensing seems like a good alternative! Or maybe I can do both.

------
Boulth
Besides the license think about registering a trademark. That way Docker,
Linux or git manage not to dilute the name (see e.g. [https://www.git-
scm.com/about/trademark](https://www.git-scm.com/about/trademark) ).

As for the code, if it's open source anyone can fork. But with trademark
they'd have to rename the project.

<insert IANAL boilerplate here>

~~~
sbjs
Good point, I was reading through licenses and saw some like Apache and
Mozilla mentioned trademark limitations, but now that you mention it, that
probably only counts if you trademark it first! I will look into trademarking
without an LLC, great idea.

------
zzzcpan
The easiest and safest approach is to choose the most restrictive license
possible, like AGPL, and not accept contributions without signing an
agreement, like Google does [1]. You can always switch to a less restrictive
license later or sell under a different license, etc.

People will still be able to use your product freely, try it out, read code,
contribute, but you will be protected from large corporations taking advantage
of your work without paying you (like Amazon unable to use open source Mongo
and Mongo unwilling to sell to Amazon).

[1] [https://cla.developers.google.com/about/google-
individual](https://cla.developers.google.com/about/google-individual)

------
dom96
This website is a really good resource:
[https://tldrlegal.com/](https://tldrlegal.com/)

~~~
sbjs
Hi dom96, it's so weird to see authors of big projects I really like just pop
up in Hackernews comments like this! Thanks for the link and recommendation,
it looks great, did you use this when choosing the license for Nim?

~~~
dom96
Actually I think we did. Nim used to be GPLv2 and we changed to MIT. :)

------
miguelrochefort
The only open source licenses that make sense are the Free Public License
1.0.0 and the Zero Clause BSD License.

