Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ASL 2.0 | MIT | BSD | Boost #30

Closed
sirinath opened this issue Jul 6, 2016 · 21 comments
Closed

ASL 2.0 | MIT | BSD | Boost #30

sirinath opened this issue Jul 6, 2016 · 21 comments

Comments

@sirinath
Copy link

sirinath commented Jul 6, 2016

Can you license this as a combination of:

  • ASL 2.0
  • MIT or 2 Clause BSD or Boost

for the compiler and

  • ASL 2.0
  • Boost

for the libraries.

Also it might be an idea to triple license it using ASL 2.0, Boost, either MIT or 2-BSD for compiler and standard library.

@chrisosaurus
Copy link
Contributor

Why?
What advantages do the proposed scheme have over the existing MPL?
and why the complex hybrid licensing involving 2-3 licenses spread over compiler and libraries?

@sirinath
Copy link
Author

sirinath commented Jul 6, 2016

  • Having ASL 2.0 licenses: The most free license is MIT but it does not have patent clause so it is safe to have this in combination with a more permissive license or languaging strategy used by MS where you have MIT in combination with a Patent Grant or what is used in Rust, Flix that is MIT in combination with ASL 2.0
  • MIT / BSD you will have to redistribute the license with your source when you use the standard libraries hence Boost is recommended or the licensing strategy used by Apple in Swift whereby which is ASL 2.0 with a runtime library exception.

Now Apple and MS are big companies and many of these exemptions get whitelisted or pre approved by legal in other organisations. In cases there are non standard exemptions then you might have to deal with lawyers to get the approval for each and every client you might want to contract for.

Combining ASL 2.0, MIT, Boost you mitigate the patent issue and are very standard libraries which generally are pre approved and you do not have to add a dangling file MIT or ASL 2.0 text file even when you are using the standard library and may not be licensed under MIT or ASL 2.0.

Why not MPL or variants? Hardly there will be cases where you will make your fork of the compiler or standard libraries. But will there will be legal concerns on releasing the code if it ever happens. MPL may work well for contributors working on their own time or specific products build with it but does not work well for contracting and bespoke software developments. Also the ability and insurance that you make your own flavour fork and keep it for yourself if there are disagreements on the direction and design of the language and infrastructure does happen and you are extensively relient of the language for mission critical work and ended up with a large code base which you cannot feasibly port to another language.

Without having different licenses spread would be triple license if this appeals.

Also it is best this is addressed early on than later before you have too many individual contributors.

@chrisosaurus
Copy link
Contributor

FWIW I in no way speak for the creator(s) of Carp.

Your concern with the copy-left nature of MPL is valid in the case of wanting to use the language to make proprietary software, and modifying the language in order to do so - in which case ASL might be a next step to consider.

However because this is a lisp, modifying the actual implementation shouldn't be needed as much - you should be able to get there via extensive use of macros instead.
Any most modifications to the core should be upstreamable and shareable with the larger community.

I don't see the advantage to dual/hybrid licensing - unless you want compiler under ASL and libraries under MIT (or something equally permissive).

Your other concern seems to be with having the licenses pre-approved within large-organisations, this I cannot speak to.

I have no objections to a more permissive license, but I also have no issue with the current state.

It is also true that any licensing changes are easier when they are done sooner, as you will have to get the okay from each contributor.

@sirinath
Copy link
Author

sirinath commented Jul 7, 2016

ASL 2.0 is fine with runtime library exception. E.g. swift license: https://github.com/apple/swift/blob/master/LICENSE.txt

@piot
Copy link

piot commented Jul 8, 2016

Agreed, this should have a proper MIT license
https://opensource.org/licenses/MIT

@vyp
Copy link
Contributor

vyp commented Jul 8, 2016

@piot MPL is a 'proper' license.

@sirinath
Copy link
Author

Any thoughts on how to move forward in this?

@eriksvedang
Copy link
Collaborator

eriksvedang commented Jul 14, 2016

I'll leave it at the current license for now. May change it later when the project moves to a non-research, "production ready" state.

@sirinath
Copy link
Author

In which case have a CLA so you change the license.

@eriksvedang
Copy link
Collaborator

Good point!

@chrisosaurus
Copy link
Contributor

Worth mentioning that without a CLA, you generally require permission from every contributor to change the license.

OTOH a CLA may prevent some people from contributing - some people are constrained by contracts to not sign any CLAs (or not sign any without consulting a legal team).

@eriksvedang eriksvedang reopened this Jul 15, 2016
@eriksvedang
Copy link
Collaborator

After being more informed about the various licenses I've decided that it's probably a good idea to switch to ASL 2.0.

If you're on the list, please reply to this issue with a +1 if you're fine with the license change. No reply before August 15th 2016 will be considered a +1.

Contributors:

@paines
Copy link
Contributor

paines commented Jul 15, 2016

+1

3 similar comments
@JonasG
Copy link
Contributor

JonasG commented Jul 15, 2016

+1

@tomsmeding
Copy link
Contributor

+1

@doublec
Copy link
Contributor

doublec commented Jul 15, 2016

+1

@chrisosaurus
Copy link
Contributor

chrisosaurus commented Jul 16, 2016

+1 to any single license of: ASL 2.0, MIT, or BSD.

@dckc
Copy link
Contributor

dckc commented Jul 16, 2016

+1 ASL 2.0

@piot
Copy link

piot commented Jul 18, 2016

+1 MIT and BSD

@eriksvedang
Copy link
Collaborator

Carp now is on Apache Public License 2.0.

@dckc
Copy link
Contributor

dckc commented Aug 24, 2016

+1 ASL 2.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants