unslothai / unsloth-zoo

Utils for Unsloth
GNU Affero General Public License v3.0
4 stars 3 forks source link

License #1

Open fakerybakery opened 6 days ago

fakerybakery commented 6 days ago

Hi, Thanks for releasing Unsloth + Unsloth Zoo! I noticed that Unsloth depends on Unsloth Zoo, which is AGPL licensed. This seems to create a license conflict. Would it be possible to switch the Unsloth Zoo license to a more permissive license to resolve this? Thanks!

danielhanchen commented 6 days ago

Hey! Thanks again for the constant support on Unsloth :)

We're actually going to release a UI, database stuff and other cool features which expand upon Unsloth's core codebase! So we took inspiration from extremely popular OSS packages like AUTOMATIC1111, [oobabooga, Jan AI, and other packages, and thought AGPLv3 seems to be the standard license for these types of packages. Linux for example is under the GPLv2 license I think.

We wanted to follow industry standards, so we thought this license made sense :) However, if there are any negative implications for this license, I'm more than happy to work with the community and you to address them!

Thanks again, and hope that makes sense!

k8si commented 5 days ago

Hey! I just wanted to give you guys some more info about using the AGPL license in an open source project. Caveat: I'm not a lawyer, this is just based on what I've been told after working as a SWE at various companies.

The decision to use AGPL may be very limiting to who can use your software. E.g. many big companies will not touch AGPL-licensed software with a 1000 foot stick.

This is because AGPL is a "viral license" -- if your software depends on AGPL-licensed software, then your own software automatically becomes AGPL-licensed. So basically, since you're using AGPL in unsloth-zoo, and unsloth depends on unsloth-zoo, unsloth is also AGPL licensed. Furthermore, if e.g. Google tries to ship software with unsloth as a dependency, that software may also have to become AGPL licensed. For this reason, Google does not allow projects to depend on AGPL-licensed software. This is the case for many large companies.

There are other, more commercial-friendly licenses that you can use that will allow SWEs at large companies to use unsloth, namely Apache 2 and MIT. Software licensed under these often don't even have to cross a lawyer's desk to make it into a dependency chain so it's a lot easier for SWEs to just use said software in their projects without going through a long approvals process.

At the end of the day, there are good arguments both in favor of and against using AGPL. I'm telling you about the downsides but it would also be a valid decision to keep it. Either way, it will have concrete implications for your software and any business you build around it. If possible, I highly recommend talking to an actual IP lawyer about this stuff too.

Some more resources on the risks of AGPL:

Hopefully others will correct me if I got anything wrong in the above!

k8si commented 5 days ago

Also, I'll add that I don't think AGPL is "industry standard". HuggingFace Transformers uses Apache 2. I believe pytorch and numpy both use some version of the 3-clause BSD license (another possibly-more-business-friendly license but again I'm not a lawyer). llama.cpp uses MIT. llamafile uses Apache 2, ollama uses MIT. These are just some of the more popular open-source projects I could think of off the top of my head.