DaveHealy-github / FracPaQ

Quantification of Fracture Patterns
MIT License
53 stars 25 forks source link

Is this project open source? #8

Open kwinkunks opened 2 years ago

kwinkunks commented 2 years ago

May I suggest adding a LICENSE file to your repo so that people know they can legally use the software?

My suggestion would be Apache 2.0 or LGPL 3.0 (the Lesser, or Library, GPL), depending on where you stand on 'share alike'. Some people find this useful: https://choosealicense.com/

DaveHealy-github commented 2 years ago

Hello again

just checking the details of this...

I know i can add a single LICENSE file to the github folder; but I already have this statement in (most of) the code modules:

“%% Copyright % Permission is hereby granted, free of charge, to any person obtaining a % copy of this software and associated documentation files (the % "Software"), to deal in the Software without restriction, including % without limitation the rights to use, copy, modify, merge, publish, % distribute, sublicense, and/or sell copies of the Software, and to permit % persons to whom the Software is furnished to do so, subject to the % following conditions: % % The above copyright notice and this permission notice shall be included % in all copies or substantial portions of the Software. % % THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS % OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF % MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN % NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, % DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR % OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE % USE OR OTHER DEALINGS IN THE SOFTWARE.”

Do I need to:

a. remove the module specific license text? b. and/or add the LGPL text to each module? c. or leave as is, and just add a new LGPL LICENSE file to the folder?

Cheers, Dave

Prof David Healy [he/him] School of Geosciences Meston Walk University of Aberdeen Aberdeen AB24 3UE

Visiting Academic, University of Manchester

My working day may not be your working day. Please do not feel obliged to reply to this e-mail outside of your normal working hours.

Publications: https://scholar.google.com/citations?hl=en&user=ug9DnVoAAAAJ Software: https://github.com/DaveHealy-github/ FracPaQ: https://github.com/DaveHealy-github/FracPaQ PFS: https://github.com/DaveHealy-github/pfs Home page: https://www.abdn.ac.uk/people/d.healy/

From: Matt Hall @.> Reply to: DaveHealy-github/FracPaQ @.> Date: Thursday, 2 June 2022 at 17:07 To: DaveHealy-github/FracPaQ @.> Cc: Subscribed @.> Subject: [DaveHealy-github/FracPaQ] Is this project open source? (Issue #8)

CAUTION: External email. Ensure this message is from a trusted source before clicking links/attachments.

May I suggest adding a LICENSE file to your repo so that people know they can legally use the software?

My suggestion would be Apache 2.0 or LGPL 3.0 (the Lesser, or Library, GPL), depending on where you stand on 'share alike'. Some people find this useful: https://choosealicense.com/https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchoosealicense.com%2F&data=05%7C01%7Cd.healy%40abdn.ac.uk%7C085a70488af84bda46bd08da44b1f486%7C8c2b19ad5f9c49d490773ec3cfc52b3f%7C0%7C0%7C637897828340342039%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=MhuzY%2FGYHcdRvAQpGe3lD%2F3HgD6lhYx3tpNsy8eQsIo%3D&reserved=0

— Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FDaveHealy-github%2FFracPaQ%2Fissues%2F8&data=05%7C01%7Cd.healy%40abdn.ac.uk%7C085a70488af84bda46bd08da44b1f486%7C8c2b19ad5f9c49d490773ec3cfc52b3f%7C0%7C0%7C637897828340342039%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2BGZxt1bRk3nM2vm2mU4eCWXHaleGxxesoSV%2B4lpoS8I%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAESJKRQFDCT2TBXN2GRPDTLVNDL23ANCNFSM5XVO67CQ&data=05%7C01%7Cd.healy%40abdn.ac.uk%7C085a70488af84bda46bd08da44b1f486%7C8c2b19ad5f9c49d490773ec3cfc52b3f%7C0%7C0%7C637897828340342039%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=lCiIgwVNNt3PBk0INRIeJ8snQqi753%2BHL%2BSePkL23K8%3D&reserved=0. You are receiving this because you are subscribed to this thread.Message ID: @.***>

The University of Aberdeen is a charity registered in Scotland, No SC013683. Tha Oilthigh Obar Dheathain na charthannas clàraichte ann an Alba, Àir. SC013683.

kwinkunks commented 2 years ago

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:

  1. 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.
  2. 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 called LICENSE.LESSER. This is apparently how you're supposed to do it, because the LGPL extends and depends on the GPL.
  3. If you go strong copyleft and switch to the GPL... same thing, but without the LICENSE.LESSER.
  4. Or you can choose another license altogether!
DaveHealy-github commented 2 years ago

Ace, thanks for all this.

Will probably go MIT.

Cheers, Dave

Prof David Healy [he/him] School of Geosciences Meston Walk University of Aberdeen Aberdeen AB24 3UE

Visiting Academic, University of Manchester

My working day may not be your working day. Please do not feel obliged to reply to this e-mail outside of your normal working hours.

Publications: https://scholar.google.com/citations?hl=en&user=ug9DnVoAAAAJ Software: https://github.com/DaveHealy-github/ FracPaQ: https://github.com/DaveHealy-github/FracPaQ PFS: https://github.com/DaveHealy-github/pfs Home page: https://www.abdn.ac.uk/people/d.healy/

From: Matt Hall @.> Reply to: DaveHealy-github/FracPaQ @.> Date: Wednesday, 8 June 2022 at 15:51 To: DaveHealy-github/FracPaQ @.> Cc: "Healy, David" @.>, Comment @.***> Subject: Re: [DaveHealy-github/FracPaQ] Is this project open source? (Issue #8)

CAUTION: External email. Ensure this message is from a trusted source before clicking links/attachments.

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 licensehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensource.org%2Flicenses%2FMIT&data=05%7C01%7Cd.healy%40abdn.ac.uk%7Ca865b2b1ed584f51e42408da495e6d09%7C8c2b19ad5f9c49d490773ec3cfc52b3f%7C0%7C0%7C637902967150288942%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Rk6Qc3ZAVRqkq5UtpUtNHFHuZRMGMMnZv0znXNaBSvA%3D&reserved=0 (aka X license), a very popular permissive license. It's a totally reasonable choice, and is the one recommended on https://choosealicense.com/https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchoosealicense.com%2F&data=05%7C01%7Cd.healy%40abdn.ac.uk%7Ca865b2b1ed584f51e42408da495e6d09%7C8c2b19ad5f9c49d490773ec3cfc52b3f%7C0%7C0%7C637902967150288942%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=EE8mL5spoUzjPK7O6p4e6WxiCFphK2ycaGGqU1tMChM%3D&reserved=0 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:

  1. 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.
  2. 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 called LICENSE.LESSER. This is apparently how you're supposed to do it, because the LGPL extends and depends on the GPL.
  3. If you go strong copyleft and switch to the GPL... same thing, but without the LICENSE.LESSER.
  4. Or you can choose another license altogether!

— Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FDaveHealy-github%2FFracPaQ%2Fissues%2F8%23issuecomment-1150025730&data=05%7C01%7Cd.healy%40abdn.ac.uk%7Ca865b2b1ed584f51e42408da495e6d09%7C8c2b19ad5f9c49d490773ec3cfc52b3f%7C0%7C0%7C637902967150288942%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OclkuUxhSjc1o%2BFz02hspmCTQnVl7vcBf5oRdxafmCo%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAESJKRUYKWOQKQGNZXCNTF3VOCXQLANCNFSM5XVO67CQ&data=05%7C01%7Cd.healy%40abdn.ac.uk%7Ca865b2b1ed584f51e42408da495e6d09%7C8c2b19ad5f9c49d490773ec3cfc52b3f%7C0%7C0%7C637902967150288942%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=RqQ9Ddj5Q5Ll3dbQNFV0GI9c3lUcPWMvYxG0A7uehng%3D&reserved=0. You are receiving this because you commented.Message ID: @.***>

The University of Aberdeen is a charity registered in Scotland, No SC013683. Tha Oilthigh Obar Dheathain na charthannas clàraichte ann an Alba, Àir. SC013683.