Giter Club home page Giter Club logo

Comments (21)

eriksvedang avatar eriksvedang commented on May 10, 2024 7

Carp now is on Apache Public License 2.0.

from carp.

chrisosaurus avatar chrisosaurus commented on May 10, 2024

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?

from carp.

sirinath avatar sirinath commented on May 10, 2024
  • 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.

from carp.

chrisosaurus avatar chrisosaurus commented on May 10, 2024

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.

from carp.

sirinath avatar sirinath commented on May 10, 2024

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

from carp.

piot avatar piot commented on May 10, 2024

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

from carp.

vyp avatar vyp commented on May 10, 2024

@piot MPL is a 'proper' license.

from carp.

sirinath avatar sirinath commented on May 10, 2024

Any thoughts on how to move forward in this?

from carp.

eriksvedang avatar eriksvedang commented on May 10, 2024

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.

from carp.

sirinath avatar sirinath commented on May 10, 2024

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

from carp.

eriksvedang avatar eriksvedang commented on May 10, 2024

Good point!

from carp.

chrisosaurus avatar chrisosaurus commented on May 10, 2024

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

from carp.

eriksvedang avatar eriksvedang commented on May 10, 2024

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:

from carp.

paines avatar paines commented on May 10, 2024

+1

from carp.

JonasG avatar JonasG commented on May 10, 2024

+1

from carp.

tomsmeding avatar tomsmeding commented on May 10, 2024

+1

from carp.

doublec avatar doublec commented on May 10, 2024

+1

from carp.

chrisosaurus avatar chrisosaurus commented on May 10, 2024

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

from carp.

dckc avatar dckc commented on May 10, 2024

+1 ASL 2.0

from carp.

piot avatar piot commented on May 10, 2024

+1 MIT and BSD

from carp.

dckc avatar dckc commented on May 10, 2024

+1 ASL 2.0

from carp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.