zxh0 / jvm.go

A toy JVM written in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clarify license

steveklabnik opened this issue · comments

Hey there, neat project! I found it through Hacker News, and thought I'd open an issue for this comment: https://news.ycombinator.com/item?id=9203653

Basically, without a license, "All rights reserved" is what's assumed. http://choosealicense.com/ can help you pick the right license for your code, if indeed you wished to make this open source or free software.

☝️ 👍 (MIT is always a good choice)

No it isn't, not if you want people to give improvements back.

commented

I'd recommend the Mozilla Public license[0] as it is a copyleft license that ensures user freedoms like the GPL, but it is permissive enough that MPL 2.0 files can be linked with proprietary files. It's a license that was specifically made to be compatible with many licenses, unlike the MPL 1.0 which was incompatible with the GPL.

[0] https://www.mozilla.org/MPL/2.0/FAQ.html

@andrewchambers i do not want to start a license war here as it's not the proper forum. Could you email me at donatj at gmail dot com your thoughts on why MIT is bad for contributors? I've contributed to a fair number of MIT licensed projects and it's always been a positive experience.

There is not much to discuss. The argument against an MIT license is as follows:

If a company decides to put this jvm in a product, e.g. a java based plugin system for a paid Go application. If the company makes patches (perhaps fixing bugs to make a java application work), then they have no obligation to return any of the patches to the original project.

The MIT license is fine, I have nothing against it, I just don't think it is "always a good choice". It is sometimes a good choice. It is up to the author to license his code as he pleases.

commented

Thank you for your recommendation. I will choose and add one license as soon as possible.

commented

Hi, I finally decided to use the MIT license. I have no idea which one is the best so I choose the simplest one.