Comments (19)
@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.
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.
I have no objection.
from thumbfast.
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.
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.
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.
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.
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.
Is thumbfast a library?
from thumbfast.
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.
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.
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.
Why GPL3+ to begin with?
from thumbfast.
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.
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.
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.
I'm somewhat worried that you're going to get yourself in legal trouble if your playing so loose with license stuff.
- Not everyone here gave their consent for the MPL-2.0
- 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.
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.
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)
- Syncplay bug HOT 3
- Disable thumbfast for images
- Support to pause video when show thumbnails
- no thumbnail on youtube stream HOT 2
- Incorrectly disabled thumbnails
- Use the user-data property instead of shared-script-properties property - OSC.lua HOT 6
- symbolic link icon popped up when hovering on the timeline HOT 5
- no thumbnail showup on hovering timeline HOT 2
- ModernX osc did not show up with mpv latest version 20231203 HOT 2
- Better mpv.net support HOT 6
- [thumbfast] mpv subprocess create failed HOT 2
- youtube thumbnails using storyboards with `network=true` HOT 2
- After setting `network=no` in `thumbfast.conf` , `osc_tethys.lua` still displays a white background
- [Windows] mpv subprocess create failed
- The preview image colors of 4K Dolby Vision appear to be slightly green. HOT 1
- Thumbnails have wrong colors for SOME Sofdec Dreamcast Movie formats (.SFD)
- Celluloid support
- mpv.net thumbfast help HOT 1
- [Feature Request] Optimize for rclone mounts
- How to change the interval between thumbnails? HOT 1
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 thumbfast.