ytomino / drake

Drake: A Runtime Library for gcc-Ada
https://github.com/ytomino/drake/wiki
MIT License
42 stars 10 forks source link

Deciding a license #3

Closed ytomino closed 6 years ago

ytomino commented 6 years ago

I have to decide this problem.

Some translated headers are still kept the various their original licenses GPL, LGPL, BSDL, APSL, etc because they have been inherited from the original. See https://github.com/ytomino/drake/wiki/License for details. The license of body of drake should keep compatibility with them.

Probably some kind of dual license is safer, for example, a pair of BSD (or MIT) license for use in BSD, and LGPL (or "GPL with Runtime Library Exception") for use in Linux.

Could anyone give me some advice?

hiirotsuki commented 6 years ago

LGPL licensing like glibc does I think would be the best option for all platforms, this way it would avoid non-free modifications of the runtime, yet still allow non-free usage freely.

ytomino commented 6 years ago

Thank you for advice.

LGPL is exactly best in most cases.

A question, is Apple Public Source License is compatible with LGPL? (GPL is not, http://www.gnu.org/philosophy/apsl.html)

I think small modifications are necessary for practical use. For example, I tried for compiling with x32 ABI several days ago, and found some small fixes. I've not yet done enough tests, and glad if feedback is given by LGPL, but want to lower the hurdle on the other hand.

Additionally, (I may worry too much that) someone may possibly hate GPLv3/GMGPL of GNAT, so perhaps drake is expected to be non-GPL... according to https://news.ycombinator.com/item?id=14209685. I have certainly written "non-GPL" in https://github.com/ytomino/drake/wiki/Why-a-new-Ada-runtime%3F, but had forgotten...

hiirotsuki commented 6 years ago

I am not sure about the APSL nonsense, sadly.

However, people who dislike the GPL licensing of GNAT, like myself, dislike it because everything is GPL licensed, when the runtime definitely shouldn't be, anyone disliking it for purely ideological reasons should be ignored, imho:-)

ytomino commented 6 years ago

Hmm... GNAT has no problem on the point because Runtime Library Exception must be applied also to GNAT runtime, at least, on the official distributed gcc. This exception is deleted on GNAT Community/GPL Edition :_( but, "apt-get install gnat" gets the official gcc fortunately : )

I'll look into APSL. Perhaps LGPLv2 is compatible.

Earnestly commented 6 years ago

Apple should be fine with LGPLv2 (not v3). If you really want to please corporations like Apple then you're looking at MIT or one of the BSD licenses.

If you want to entertain the option, you can consider dual licencing it as LGPLv2 and MIT (or Apache). Rust for example, is MIT and Apache dual licensed.

I have no real vested interest in licenses besides appealing to whatever makes lawyers comfortable, if that's my goal anyway.

I don't care much for the politics around them.

ytomino commented 6 years ago

How complicated are licenses. I has been exhausted, and selected easy one. MIT. There is nothing more meaningful than I was tired. I'm very grateful and terribly sorry for the earnest advisers.

The following is my note:

MPL The result I searched, Mozilla Public License seems better because MPL 2.0 is created for use with plural licenses without contradiction. But MPL requires to insert the characteristic header into each source files. It's impractical for me. I don't want to do it.

Apache License 2.0 This license is described that the clause of patent protects us. But it's conflicted with (L)GPLv2.

BSDL I liked BSDL. However a certain person told me that BSDL requires to add copyright also into binary form. Honestly I had been convinced that an attached document is allowed. If that is true, I think BSDL is suitable for applications and unique libraries but unsuitable for the basic libraries.

LGPL I agree LGPL is exactly best even now. Sadly, the misunderstanding about LGPL is deep-rooted. Critical one is that the difference exists between static link and dynamic link, and LGPL is same as GPL on static link. Of course it's misunderstanding, but this "misunderstanding" is also qualified with "in my opinion". I want to use by static link too, but have no confidence to explain.

ISCL It was candidate because OpenBSD uses it. The reason of I passed is just github template is missing.

ytomino commented 6 years ago

By the way, I added LICENSE file into the repository, but "MIT" is not shown at top-right of github.

drake drake another repository one repository

I'm afraid I'm asking too impudent question again, could anyone teach me to show it? At that time of headmaster, the first line "BSD 2-Clause License" was trigger. So I tried several times in changing the first line according to github template and some other repositories, but failed.

ytomino commented 6 years ago

Resolved. The cause is license.rst. Perhaps if two files having "license" in each name exist in the same repository, even if the contents of two files are completely the same, github can not detect the license. Thank you.