Skip to content
This repository has been archived by the owner on Jun 16, 2023. It is now read-only.

license question #3

Closed
IzzySoft opened this issue Feb 9, 2023 · 8 comments · Fixed by #6
Closed

license question #3

IzzySoft opened this issue Feb 9, 2023 · 8 comments · Fixed by #6

Comments

@IzzySoft
Copy link
Contributor

IzzySoft commented Feb 9, 2023

Can you please add a license to your repo here? I guess you just forgot to declare it. As most of the libraries used are (dual) licensed GPL-2.0-only or GPL-3.0-only, I assume the same also applies to your app?

@depler
Copy link
Owner

depler commented Feb 10, 2023

I' am not sure why and how. Feel free to create PR to add license 😊

@IzzySoft
Copy link
Contributor Author

Would be a requirement for #4 anyway. OK, so you want me to pick one for you? Let me give you a few choices then to pick from those I at least have a rough idea of. For reference, see SPDX, we'll need one that is approved by OSI/FSF as being free/libre:

  • Unlicense: best corresponds to "public domain" (approved by both, OSI+FSF), alternatively WTFPL does as well (FSF only)
  • Apache-2, MIT, BSD have few conditions. And depending on which, BSD is quite short and easy to comprehend.
  • GPL enforces that derivates must be GPL as well if you plan to publish derivates
  • AGPL additionally enforces to open your code changes (under AGPL of course) if you run the resulting code for "public services"

There are plenty of others, feel free to dig in. But if you do not care to much about the dots on the ï, just pick one of those mentioned that suits you best.

Oh wait, stupid me: you use GPL'd libraries – so see, now your app is bound to that as GPL enforces it (section 5). So you basically just have to check whether it should be GPL-2.0 or GPL-3.0 (as the libs are dual-licensed if I got that right). IIRC, they said "only" in both cases (otherwise you'd have the option of saying "GPL-2.0-or-later").

TL;DR: Which of the 2 you want to pick (GPL-2.0 or GPL-3.0), or do you want to dual-license, too?

So how to apply it? Simply add the corresponding LICENSE.txt to the root of your repo (for GPL-3.0, e.g. copy it from here and name it LICENSE.txt). Optionally add a header to all your code files (as the libs do, see e.g. libtransmission for an example – though I'd skip the last two lines for your files as you're not bound to the company mentioned) and a note to the Readme.

@IzzySoft
Copy link
Contributor Author

@depler any preference yet? As shown above, it will need to be a GPL one if you're using GPL'd code. Let's see:

  • b64 is public domain, so no restrictions apply.
  • curl uses the curl license, which is not approved by either OSI or FSF (not sure why, the terms sound pretty free/libre to me) – so not sure about implications. Assuming none in this context.
  • daemon says either GPL-2.0-only or GPL-3.0-only
  • dht seems to be MIT
  • event2 looks like BSD-3-Clause
  • fastfloat is partly Apache-2.0 and partly MIT (dual-licensed)
  • fmt is MIT
  • jsonsl is MIT
  • libdeflate is MIT
  • libspl is MIT
  • libtransmission again is dual-licensed GPL-2.0-only / GPL-3.0-only
  • libutp is MIT
  • math uses the Boost license, which looks quite similar to MIT
  • MiniUPnP is BSD-3-Clause
  • natpmp is BSD-3-Clause
  • utfcpp is Boost again
  • wildmat is public domain
  • wolfssl is GPL-2.0-or-later
  • zlib most likely uses the zlib License

So this leaves you the choice between either GPL-2.0-only, GPL-3.0-only or a dual-licensing with both (as GPL is the strongest one here it fulfills all the terms of the others but adds on top, which is why you cannot pick one of the "less-strict" licenses). IANAL, but that's how I "was taught" about it.

So will you choose?

@depler
Copy link
Owner

depler commented Apr 15, 2023

@IzzySoft I don't really understand what problem this license file will solve. But again, feel free to create PR and I will merge it. Let's choose GPL-3 if it matters.

@IzzySoft IzzySoft mentioned this issue Apr 15, 2023
@IzzySoft
Copy link
Contributor Author

Thanks @depler – PR opened. And it solves the problem of missing clarity. Quoting Wikipedia:

A license (or licence) is an official permission or permit to do, use, or own something (as well as the document of that permission or permit).

In terms of free/libre software it ensures the freedom is granted (e.g. to use, distribute, modify etc. pp.).

I've added the closes clause to the PR – so when that's merged it should automatically close this issue.

Thanks a lot! Once it's merged I will see to include your app ASAP with my repo, which often serves as stepping stone for F-Droid.org – and #4 can be proceeded as well. Maybe @Pentaphon wants to start the process then by opening an RFP?

@depler depler closed this as completed in #6 Apr 15, 2023
@IzzySoft
Copy link
Contributor Author

Thanks a lot! As promised I've set everything up for my repo now, so Transmission will become available here with the next sync around 6 pm UTC. Be welcome to pick a badge if you want to link there e.g. from the Readme then 😃

@depler
Copy link
Owner

depler commented Apr 16, 2023

@IzzySoft thanks for including app into your repo! Please fix changelog url, it has misprint releasses

@IzzySoft
Copy link
Contributor Author

Argh… Thanks for spotting that! Fixed, effective with the next sync.

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

Successfully merging a pull request may close this issue.

2 participants