petersalomonsen / javascriptmusic

A.K.A. WebAssembly Music. Live coding music and synthesis in Javascript / AssemblyScript (WebAssembly)
https://petersalomonsen.com
GNU General Public License v3.0
378 stars 32 forks source link

possible different or additional license? #60

Closed maks closed 3 years ago

maks commented 3 years ago

Continuing on from discussion in #58 ...

I'd like to be able to make use of your great existing assemblyscript synth work in my project, but my code is usually under a BSD or MIT license which I think may not be compatible with the GPL currently used for this project so I wanted to ask if it would be possible to have at least that part of this project licensed under a license other than GPL or perhaps dual licensed under GPL and another license?

petersalomonsen commented 3 years ago

OK so I'm working on this as you can see (there's a pull request). Just going through my dependencies here, and I see Yoshimi is GPL. So have to spend a little more time on this. Generally open to changing the license if that can enable more use of the code. Also I had to read a little up about the patent trolling, not sure if that is an issue for the code here, but just have to learn a little more about it.

maks commented 3 years ago

Thanks again Peter, I really appreciate you looking at this so quickly and even being open to this as an option! I'm happy with whatever is least amount of hassle for you and no rush at all on this. If it helps, I've seen some projects use different licenses for diff parts of the codebase, dual-license or even GPL but with a specific exception for use wiht other oss licenses, but Im not sure if that makes things easier or harder tbh.

petersalomonsen commented 3 years ago

the challenge is Yoshimi, however wondering if it would be possible to create an exception that you have to use GPL only if using Yoshimi (Yoshimi is not a requirement for using the Assemblyscript synth). Have you got any examples of making such exceptions? I would like the overall license to be MIT, but it has to be clear that it does not include the Yoshimi synth support (in which case GPL is required).

maks commented 3 years ago

Hmm, I do know that quite a few projects dual license for reasons of license compatibility like this and I think I've come across before other projects which have given explicit excemptions to use code outside of the main license, but I can't think of any good examples just now.

As the author and copyright holder, I believe you can state that you make it available under MIT as well as GPL for the case of it being used to link with Yoshimi, that would certainly work for me to allow me to use your Assemblyscript synth code.

maks commented 3 years ago

Sorry for the delay, my memory isn't great! but I did finally remember one place where I have seen use of different licenses, the Dexed project, where its GPL except for the msfa ("music synthesizer for android") which they kept under it's original Apache license which they note as:

stays on the Apache 2.0 license to able to collaborate between projects.

I really should have remembered about this sooner, as earlier this year I actually "revived" that original Android app project and made it available again on Google Play.

petersalomonsen commented 3 years ago

hoping my solution to this works ok for you @maks :)

maks commented 3 years ago

@petersalomonsen that's brillant, thank you again!

I've started a new repo: https://github.com/maks/as-audio to hold the AssemblyScript code I'll be building into a wasm file initially to use in my project jsut to make it easier for me to manage gradually adding functionality in and in case I need to make any small tweaks that are specific to my use (eg. work around current limitations in the Dart WASM support package). I'll definitely make sure to do PRs for any changes that make sense to upstream back to you.