-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove all AGPL licensed YOLO references from Frigate #10717
Conversation
✅ Deploy Preview for frigate-docs canceled.
|
They stated that you should modify the license if you use their model or perform inference on it. PS: I believe what they stated there are just their imaginations :) |
…e into remove-yolov8-dev
Or maybe you could consider renaming all 'yolo8' references to 'model8', for instance? The script itself is not very specific to yolo8 without explicit reference. Removing from Frigate will ruin all my surveillance :( |
@andrey-skat the models being run come directly from a source that is AGPL licensed, changing the name does not change that fact. |
Perhaps the way around this is Frigate adopts a remote detector approach similar to the deepstack connector. Different detectors could be packaged as separate containers and licensed accordingly to not break the agpl license. |
We are currently migrating parts of the codebase to use ZeroMQ so that could be a potential avenue to accomplish that (preferable to http) |
It was half-joke and I understand you will not do that. But the point is that you don't run model, user does. This code has zero references to yolo8 code or models. And, for example, if your program can only copy files it doesn't mean you should forbid users from copy AGPL files. If in future, code in branch |
I am really sorry to hear that, but that sounds a bit like an overreaching lawyer. Could you maybe publish the relevant text parts, here so we can dissect them in the community? This project cannot include any reference to models -> pretty sure that one can link to / name whatever the hell one wants
From my understanding nobody can forbid you to write code to interface with their models as long as one didn't use private knowledge from the (A)GPL-3.0 licensed material of Ultralytics. Fortunately yolo models were widely published in the scientific literature and are a favourite in the open source community so it will be insanely difficult to prove with what knowledge frigates ancillary code was built unless it was directly copied. If just the switch to AGPL-3.0 is the problem, one could just freeze everything to version 8.0.77 before AGPL-3.0 was chosen. If GPL-30 has been the problem all along, frigate has to make sure it doesn't distribute Ultralytics work i.e. no exact copies of their code and no models. But everything else can and should stay. By the way contributors to the ultralytics repo have only agreed on their contributions to be GPL-3.0 since Dec 5, 2022. Maybe @glenn-jocher can chime in on what Ultralytics really wants to be removed. |
As I understand it, you can use AGPL Code in your own code (even under a different license) as long as you keep the GPL part separate (for example by using dynamic linking, in case of source code) so that the user can change the GPL parts. Here the user can easily change the model. |
Sorry for many responses, I'm still a little bit upset about this :) I read again linked thread. And what they say is if gpl program create, compile, encode, encrypt, save file in own file format or compress file then non-gpl programs can't use that file. The fun fact is that nobody can be sure what program created particular type of file. Even model in YOLO8 format can be created by another software. Weights can be created even manually. All this looks like new version of patent trolling. Anyway "GPL focuses on the source code and how modifications are handled, but it doesn’t restrict file compatibility". Models are not a programs nor "extensions" of software. |
This would mean that any program that reads files created by GPL programs would be forced to be GPL. This is the most insane interpretation of copyleft licenses ever and you should ignore them. However, their models aren't even the best. Look at Yolo NAS and architectures based on efficient former etc. Sorry you're dealing with profiteers weaponizing open source. |
It's going to be ok. There are many alternatives to evaluate. Based on the linked thread, I would prefer not to touch it with a 10 foot pole for now. I understand that they are trying to protect their business model by limiting commercial use to channels they control. It's a tough line to walk with an open source code base. |
The main mystery is how they create non-GPL models for they commercial product
@blakeblackshear Do you plan to add support of YOLO-NAS? Maybe it even requires same code :) |
Well, the YOLOV-NAS license is also pretty restrictive... You are only allowed to use it with their tools see here: Moreover, you are not allowed to modify the model see here: This means, I cannot use YOLOV-NAS on the rockchip platform, because I need to rebuild the model into an rknn format and use the rockchip tools to perform inference. Maybe, this is different for other platforms. |
Does it mean they change their position? :) link |
I will also add seems like all comments from @glenn-jocher on the yolo repo seem to be chatgpt responses. It really seems that they aren't necessarily reading anything and doing mostly a copy paste job. There's even an issue on the repo discussing this problem. |
Not really, they just suggest to talk to a lawyer and take it from there. I doubt they can make it stick in court, but until then it’s a potential headache and best to stay away. |
I have been made aware by Ultralytics that Frigate is in violation of the AGPL-3.0 license because it is MIT licensed.
Some public discussion unrelated to Frigate is here.
This project cannot include any reference to models, code, or content that are AGPL-3.0 licensed from Ultralytics. In my understanding, this even includes novel code written to interface with their models that does not utilize any source code published by Ultralytics. Their position is that the models are not considered an output, but rather an extension of the source code published under AGPL-3.0.
At this time, I am not interested in changing the license to AGPL-3.0. Unfortunately, I believe this means that Frigate will never be able to support Ultralytics models published under this license even if I was to obtain an Enterprise License. This pains me as I am obviously a big fan of open source projects with a business model that enables them to be self sustaining.