Skip to content
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

Licensing Question #1

Open
TTWNO opened this issue Feb 6, 2025 · 4 comments
Open

Licensing Question #1

TTWNO opened this issue Feb 6, 2025 · 4 comments

Comments

@TTWNO
Copy link

TTWNO commented Feb 6, 2025

Hi there,

I just want to clarify how you were able to license this under MIT when the works you have used for reference are GPL (the original Fortran code, the C cleanups and related works). It seems the only source of non-GPL code is the actual paper.

I'd like to be able to use this in an embedded environment. Somebody used your project to re-implement this in Rust, and then I worked on it additionally to make it work without the standard library.

Due to the confusion around the licensing, I'd just like to clarify how this was made from mostly copyleft sources without inheriting their copyleft license.

Thanks,
—Tait

@chdh
Copy link
Owner

chdh commented Feb 7, 2025

The first GPL was published in 1989. When the original Fortran source code was published by Klatt in 1980 or the C code in 1983, there was no GPL license.

When you compare the source code of my TypeScript version with the older versions, you can see that I did much more than just convert it to another programming language. Most of the explanations in the comments and the documentation of the filter formulas have been written by me. The program logic was redesigned. This work is still very visible in your Rust version. So i would appreciate it if you would reference me as one of the developers.

@TTWNO
Copy link
Author

TTWNO commented Feb 7, 2025

i would appreciate it if you would reference me as one of the developers.

Absolutely! Happy to! (And thank you too, this would have been quite difficult to write just from the paper!)

The first GPL was published in 1989. When the original Fortran source code was published by Klatt in 1980 or the C code in 1983, there was no GPL license.

I had not considered this. I suppose I just saw the repo from Klatt (Fortran) and the updated C code both licensed under GPL in Github and assumed "oh no! Must have been GPL the whole time!" Thank you for clarifying. I did notice the C version had a "this software can not be used for any commercial purposes" line at the top; but then again, it doesn't specify anything else about what's a "derivative work", etc. so I see your point.

I did much more than just convert it to another programming language. Most of the explanations in the comments and the documentation of the filter formulas have been written by me. The program logic was redesigned.

Perhaps I've misunderstood the GPL—as far as I was aware "derivative works" is an extremely broad term that often requires a "clean room"-style implementation. Since you mentioned that this was "based on the source code of <some GPL sources>", it just got me curious and wanting to make sure everything's up to snuff.

Again, please excuse my ignorance here—I could have made up that interpretation of derivative work.

@chdh
Copy link
Owner

chdh commented Feb 7, 2025

Thanks for your answer. There is always some gray area in such cases. But I think we honor the work of Klatt enough by applying the MIT license. The main difference is that the GPL requires modifications to be open sourced and the MIT license does not.
Nobody will use this synthesis for a commercial purpose anyway.

@TTWNO
Copy link
Author

TTWNO commented Feb 7, 2025

Nobody will use this synthesis for a commercial purpose anyway.

I'm trying to get text-to-speech working in the BIOS. A lot of integration work is required to be proprietary—so even though a copy-left license like MPL is fine, the GPL is a big no-no.

There are other speech synthesis methods, so perhaps I'll try to implement those separately.

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

No branches or pull requests

2 participants