Comments (3)
from fracpaq.
Ah, cool, I did not spot that. Depending on how you feel about that license, it changes things a bit. Apologies in advance for the essay which follows...
The short answer is that the text you have in your modules is the MIT license, which is awesome but you probably don't want to mix it with the LGPL. So you either need to keep it and just add the MIT LICENSE
file to your repo, or replace it all with the LGPL's requirements. To choose between them, you need to know about permissive licenses like MIT vs copyleft licenses like LGPL.
Permissive vs copyleft
Broadly, there are two kinds of open-source license: permissive and copyleft. Both of them are fully 'open source' but copyleft licenses have an important and substantial restriction: if someone uses your copyleft-protected software and distributes their derived work, they must use a copyleft license too. In this way, they propagate open source in a sense, forcing downstream users to be open too. Some people don't like this feature, for others it's essential. Like most religious arguments, there is a decades-long and heated debate about it, of course :D
What you have
The license text you have in each file is the MIT license (aka X license), a very popular permissive license. It's a totally reasonable choice, and is the one recommended on https://choosealicense.com/ if you want "simple and permissive". Lots of open source projects use it. Other permissive licenses include the BSD license and the Apache license, both of which just offer slightly different restrictions or protections.
Strong and weak copyleft
The canonical copyleft license is the GNU Public License or GPL. It's 'strong' copyleft (the Affero GPL is even stronger though). Personally I don't think it's a good choice for libraries and packages, because if anyone just uses one function from your library, they must also use a copyleft license like the GPL (if they distribute their program). For that reason, lots of people won't use a GPL'd library (me included).
Because of this, there's a Lesser GPL, sometimes called the Library GPL. It's 'weak' because it's more permissive than the GPL. It acts like the GPL for people distributing "work based on the library" (like a wrapper, say), but acts like a permissive license for people distributing "work using [linking to] the library". It's a subtle but important distinction. I can distribute proprietary code that calls on functions from an LGPL'd library; I can't do that with a GPL'd library.
Your options
So I think your choice looks like this:
- If you go permissive and keep the MIT license, you should add the same text to a
LICENSE
file in your repo. Don't forget to add the name of the copyright holder (eg you, your institution, or "FracPaQ Contributors" or whatever), it's important. Having the license in the modules as well is probably good practice because it's close to the code. - If you go weak copyleft and switch to the LGPL, you should remove the statement from the module files, replacing it with something short saying that you're using the LGPL. Then add the GPL to your repo in a file called
LICENSE
and the LGPL text in another file calledLICENSE.LESSER
. This is apparently how you're supposed to do it, because the LGPL extends and depends on the GPL. - If you go strong copyleft and switch to the GPL... same thing, but without the
LICENSE.LESSER
. - Or you can choose another license altogether!
from fracpaq.
from fracpaq.
Related Issues (6)
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 fracpaq.