Comments (8)
I just realized that this is the EPL. Unfortunately that is also incompatible with Mozilla's license MPL (so I am told). This means I can never use it within Firefox :( which won't happen soon, but there's a chance I might convince my teammates at some point to. I'd be in favor of switching licenses as well to something like MIT or BSD.
from js-csp.
You invested so much time into a library and never looked at the license? Have you noticed mori is also published under the EPL? That's the real reason immutable-js is such a godsend, IMHO.
A permissive license like the MIT license would also be my first choice for a library with such a wide range of possible applications as js-csp, ideally it would be licensed in such a way that it could be used by anyone.
If a license with a patent grant clause is preferred, both the MPL 2.0 and Apache License 2.0 are good choices, as pointed out by the Mozilla Foundation: https://www.mozilla.org/MPL/license-policy.html
from js-csp.
I know almost nothing about licensing :( Where can I more about the differences between licenses and how to best choose one?
How about the multiple-license approach? Is that a good choice?
from js-csp.
I like the overview presented on this site:
http://choosealicense.com/licenses/
There's more information here, including compatibilities:
http://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses
Most of what I see in the Node community is MIT. Here's a graph of the larger ecosystem:
http://www.blackducksoftware.com/resources/data/top-20-open-source-licenses
from js-csp.
Github has some advice:
http://choosealicense.com/
http://choosealicense.com/licenses/
I guess the first question to ask is: Are you afraid of your code getting stolen, meaning someone else taking the code (or parts thereof) and using it without contributing anything back?
If yes, you should use a license with copyleft restrictions. The GPL is too strong for a library like js-csp, although the LGPL might work.
On the other hand, restrictions mean that some people will not be able to follow the license, and not be allowed to use your library, if this is something you want to avoid, lean towards more permissive licenses.
Using multiple licenses is generally avoided, more licenses just means more hassle. I've never seen it done unless there were legacy reasons that made it necessary to continue using a license that was already in use but also use a new license.
I think the MIT license is the best simple, permissive "use my code, use it everywhere, do with it what you want"-kind of license. You don't get to be JQuery if you put a lot of restrictions on how people are allowed to use your code (although you can go in the opposite direction and be Wordpress). It should also be noted that the MIT license is compatible with every other open source license I know. It is a really good way to avoid any sort of situation where another open source project might have to say that they can't use js-csp because their license is not compatible with your license.
The Apache License 2.0 is similar license, but with one major difference: it has a patent grant clause. Some people (such as the Mozilla Foundation) consider this a must, although most open source projects use licenses without one and are fine.
This does complicate license-compatibility a bit, though. For example, the GPL v2 is not considered compatible with the Apache License 2.0, whereas the GPL v3 is. Most software (like Wordpress) using the GPL is licensed under the "GPL v2 (or later)" and works fine with the Apache License 2.0
The MPL 2.0 strikes a compromise that I like (that is not well-explained on choosealicense.com):
On the one hand, it does have a patent grant clause and a wee bit of copyleft thrown in, on the other hand it is designed to get out of the way and be compatible with other licenses.
For the one big case where that is complicated, namely the GPL, the license basically says that if you're using me together with the GPL somehow, ignore what I say and do what the GPL says. Other than being an exact subset of the GPL, that appears to be the only way for a license to be GPL-compatible.
I don't know why the MPL 2.0 would be incompatible with the EPL, I dont know enough about the EPL.
from js-csp.
You invested so much time into a library and never looked at the license?
I invested time into the concept; honestly the library itself is not that large, worst case if I wanted to use it within Firefox we'd re-implement it. More important to me that CSP is known among JS, and this library was an awesome implementation regardless of license.
About MPL, I don't know why it's incompatible with EPL but one of our guys informed about licenses said so. There is debate about it though. I know mori is EPL and we've talked with them to re-license it and they are willing but would take a bit of work and since we don't have an immediate need it hasn't been done yet.
If you aren't that interested in licensing this, I'd say MIT or BSD are the best bets. They are pretty much "do whatever you want".
from js-csp.
Thanks guys, I changed it to MIT.
from js-csp.
Nice!
from js-csp.
Related Issues (20)
- getting started - how to run examples? HOT 8
- [question] take/put vs JS event loop HOT 2
- cannot 'npm run build' on linux or mac HOT 5
- Determine whether an object is a Channel
- External termination of goroutines HOT 2
- Exception unhandling
- react create app uglify errror HOT 4
- Major bug: proc is yielding first pending value when channel is closed but skipping the rest HOT 36
- High level explanation HOT 2
- Destructuring missing in transpilation? HOT 2
- BaconJS examples? HOT 8
- bug related to close in v1 HOT 19
- throttle and debounce HOT 2
- Golang like Context HOT 4
- Bubble Burster Game example
- Failed to minify code : Create React App Build Error HOT 2
- Question: similarities to parallelLimit() HOT 2
- interest in maintaining HOT 2
- Happy to be a maintainer HOT 8
- Maintainers HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from js-csp.