Code Monkey home page Code Monkey logo

Comments (19)

Hill-98 avatar Hill-98 commented on June 11, 2024 1

@AndersonTorres Other scripts do not depend on thumbfast, because it just accepts messages, and the provider of this message can be any script.

from thumbfast.

po5 avatar po5 commented on June 11, 2024 1

the provider of this message can be any script

Yup, see jellyfin-mpv-shim and marzzzello/mpv_thumbnail_script#40 this is why the API usage example should just be CC0.

from thumbfast.

hooke007 avatar hooke007 commented on June 11, 2024

I have no objection.

from thumbfast.

N-R-K avatar N-R-K commented on June 11, 2024

Let's do it properly and get everyone's approval for GPLv3.

Doesn't that mean any (UI) script that uses thumbfast will need to be GPL-ed too? Not an issue for me, but perhaps you might also want to consider MPL (FAQ) which is still copyleft, but unlike GPL it isn't "viral".

from thumbfast.

po5 avatar po5 commented on June 11, 2024

I hadn't considered that, seems like there are conflicting opinions on this issue online.
Seems like MPL would have the same issue?

1.10. “Modifications” means any of the following: a. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software

The license requires that Modifications (as defined in Section 1.10 of the license) must be licensed under the MPL and made available to anyone to whom you distribute the Source Code. However, new files containing no MPL-licensed code are not Modifications, and therefore do not need to be distributed under the terms of the MPL, even if you create a Larger Work

Since UI scripts are typically single files and it's a large burden otherwise, that'd be an issue.

The obvious solution is explicitly licensing the client examples under CC0.
No uncertainties, and the main software can use any license.

from thumbfast.

N-R-K avatar N-R-K commented on June 11, 2024

Seems like MPL would have the same issue?

MPL applies to only the files that are under MPL. So for example, I can even bundle an MPL file with my proprietary software:

mpl.c
proprietary.c

In this case, only modification to mpl.c would be subject to the copyleft, not proprietary.c. This is not the case for GPL, as it's "viral" (i,e your entire project needs to be GPL-ed if you use a GPL component).

from thumbfast.

hooke007 avatar hooke007 commented on June 11, 2024

Doesn't that mean any (UI) script that uses thumbfast will need to be GPL-ed too?

Why other scripts using thumbfast's "API" need to be GPL-ed?

from thumbfast.

N-R-K avatar N-R-K commented on June 11, 2024

Doesn't that mean any (UI) script that uses thumbfast will need to be GPL-ed too?

Why other scripts using thumbfast's "API" need to be GPL-ed?

See: https://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL

from thumbfast.

hooke007 avatar hooke007 commented on June 11, 2024

Is thumbfast a library?

from thumbfast.

N-R-K avatar N-R-K commented on June 11, 2024

Is thumbfast a library?

It certainly is in the way we traditionally use that word. I.e it provides an API for actual application (UI scripts in this case) to do things as opposed to being an end user application by itself.

The gpl faq talks about dynamic/static linking, which isn't relavant for lua. But AFAIKU the concept still applies.

But of course, I'm not a lawyer, so if thumbfast switches to GPL, I'll just err on the safer side and switch mfpbar to GPL as well (it's currently AGPL, which isn't compatible with GPL AFAIK since it adds additional restrictions EDIT: GPLv3 is compatible with AGPL (but not GPLv2 AFAIK)).

But if it uses MPL, then I won't have to worry about it since I do not modify the thumbfast.lua file (and MPL applies file wise, not entire project wise like GPL).

from thumbfast.

hooke007 avatar hooke007 commented on June 11, 2024

I think po5 should have the final say on how it is positioned and obviously it must be clear. The api it provides should not 'pollute' other scripts (or even those frontends which may use thumbfast) if possible.

Ref: uosc is using gplv3, and it provides the api of menu and translation which is used by many other scripts...

from thumbfast.

Hill-98 avatar Hill-98 commented on June 11, 2024

If thumbfast is a library and uses the GPL, the scripts that use it don't follow the GPL, because they don't bundle and distribute it, thumbfast is installed manually by the user as an optional feature, and the way other scripts use thumbfast can't be called For "Link" or API.

If you write a Bash Shell script and run a program that uses the GPL, is your Bash Shell script also GPL? lol...

from thumbfast.

AndersonTorres avatar AndersonTorres commented on June 11, 2024

Why GPL3+ to begin with?

from thumbfast.

AndersonTorres avatar AndersonTorres commented on June 11, 2024

If you write a Bash Shell script and run a program that uses the GPL, is your Bash Shell script also GPL? lol...

It already happens on compiled languages. Aegisub source code is BSD but it links against GPL libraries, therefore the runtime binary is GPL.

from thumbfast.

christoph-heinrich avatar christoph-heinrich commented on June 11, 2024

it links against GPL libraries, therefore the runtime binary is GPL.

Linking something and calling an executable are very different. As long as other scripts only depend on thumbfast and not ship with it, their license wont be affected by the license of thumbfast afaik. But you know, not a lawyer and all that...

I'm fine with making the license GPLv3.

from thumbfast.

jalil-salame avatar jalil-salame commented on June 11, 2024

Did discussion end on this?

Just ran into issues installing thumbfast on NixOS because it needs you to allow "unfree" packages (this includes packages without a license), not a blocker, just annoying, but it seems to be a problem with MPV scripts in general (a lot lack licenses).

from thumbfast.

christoph-heinrich avatar christoph-heinrich commented on June 11, 2024

I'm somewhat worried that you're going to get yourself in legal trouble if your playing so loose with license stuff.

  1. Not everyone here gave their consent for the MPL-2.0
  2. I've seen some GPLv2 code in your GPLv3 projects, however they are not compatible

I'm fine with MPL-2.0, and I'm also fine with you using my code (I would appreciate asking though, particularly when the licenses are not compatible). I'm just worried that you might end up stepping on the wrong persons foot at some point, that's all.

from thumbfast.

po5 avatar po5 commented on June 11, 2024

If someone wants to ruin the fun, I'm sure there will be more people mad at that person than me. None of us are getting paid and do it for the love of it. No lawyers are involved, or we wouldn't get anything done.
If there actually is code in my projects that violates licences please submit an issue in the appropriate repo, a quick glance at my repos only shows references to "GPLv2 or later", GPLv3 or WTFPL projects.

from thumbfast.

christoph-heinrich avatar christoph-heinrich commented on June 11, 2024

Like I said I'm fine with you using it, so I won't open an issue about it and there is no need to change anything because of me.
memo uses parts of quality-menu, which is GPLv2 only. I only noticed it when looking into that uosc menu bug and I didn't look further because I don't really care, I just thought I should say something before you accidentally find yourself in hot water.

BTW I never thought I had any use for a "recently played" script, but it turned out to actually be useful 😄. Thanks for your work (not just memo but also other projects).

from thumbfast.

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.