sensorium / Mozzi

sound synthesis library for Arduino

Home Page:https://sensorium.github.io/Mozzi/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Please Change Mozzi's License

eclab opened this issue · comments

Mozzi's choice of license is very poor and it should be relicensed under a proper open source license.

Mozzi is licensed under CC-NC-SA-International, a license EXPRESSLY not meant for code, but rather for text, documentation, pictures, sound, video, and other media. Indeed, Creative Commons itself strongly warns against its use for code:

https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software

Source code is different from other media in important ways.

  • First, it is the only medium which can be both copyrighted and patented, leading to a rat's nest of legal entanglements, and good open source licenses (Apache, GPLv3) take this into account. CC, not being meant for code, does not even consider the issue.

  • Second, code is designed to be integrated with other code, meaning that their licenses must be compatible. Creative Commons licenses cannot be integrated with other proper software licenses at all, including both Apache and GPL, not to mention a host of others. As Creative Commons has itself pointed out, projects which mix CC licenses with GPL or Apache are in license violation. Indeed, Mozzi is likely incompatible with Arduino's libraries themselves, which are under LGPL! That is bad.

  • Third, code falls under many international legal issues that do not befall other kinds of media, and CC does not deal with them.

  • Fourth, Mozzi's license is Non-Commercial only, and so it is not an open source license, as it places explicit restrictions on the usage of the software (violating the "open" in "open source"). OSI is very explicit about this (see Rule 6 here: https://opensource.org/osd/ ). It is also one of several reasons why Mozzi is incompatible with LGPL, hence Arduino's own libraries. Indeed the FSF considers CC-NC as being an invalid license even for documentation https://www.gnu.org/licenses/license-list.en.html

This is a very bad situation for a project meant to run on an arduino running LGPL. To make matters worse, Mozzi is licensed under a viral license with no library release, meaning that to use its library we must relicense our own code under the same broken license.

Please relicense Mozzi under a proper open source license. My suggestion would be Apache 2.0, which makes Mozzi available to the widest audience. But if you insist on a viral license, please at least relicense it under GPLv3.

Licensing is painful and I could do with some help. I wrote Mozzi for my own totally unsuccessful art projects and I thought it could be useful for others. It's not a grand project. Please don't beat me around for it.

I found CC-NC-SA when I was hoping to let people do their stuff non-commercially, and get in touch if they want to use Mozzi commercially. Is there a simple way to do this?

@sensorium I think @tomcombriat and I can help with that, but we definitely need your ok for any path we take.

To sum up the basic options really roughly:

I'm fine with all three of the above with a small tendency towards LGPL. If you (and @tomcombriat) are ok with one of these, I'll be happy to come up with a PR (eventually).

Some more detail, addressing commercial use, specifically:

I found CC-NC-SA when I was hoping to let people do their stuff non-commercially, and get in touch if they want to use Mozzi commercially. Is there a simple way to do this?

Again, none of the above really precludes commercial use. Apache 2.0 would mostly mean commercial use is always allowed. For GPL commercial use would be somewhat complicated in that you are obliged to offer the sources in GPL. For LGPL, that depends.

But again, nothing precludes you as copyright holder from allowing further use, and we could put a statement to that effect in the Readme.

As @tfry-git said, I am also ready to help in the effort of re-licensing (maybe a well defined sed? would do the trick). As per the license, I do not have any strong opinion but I am leaning a bit more for LGPL. But I think this should be your choice in the end @sensorium and will be fine whatever it is.

It's not a grand project.

I think it is a great project and you should not under estimate your work @sensorium ;).

Was hoping to contribute to Mozzi soon! Any chance this could be bumped? I'd be glad to provide code with revised license information if a decision was reached with regard to what license to use. I myself would do Apache 2. But given @sensorium's (reasonable!) opinions regarding commercialism, I would suggest GPL 3.

... still thinking ...

@tfry-git and @tomcombriat, why do you both lean towards LGPL?

LGPL vs Apache / BSD, other permissive license: I think the concept of "share alike" is not too much to ask for in general. Seeing, e.g. how Apple builds on BSD code and then shows massive disrespect for the open source community is something that really makes me angry. (Substitute with whatever company triggers your rage.) Now, I don't actually foresee this happening with Mozzi, but it makes me think that some concept of "share alike" should be the "natural" norm to live by in the open source community.

LGPL vs GPL: GPL takes the above thought furthest, but at the same time, I acknowledge that in some cases GPL may be a bit restrictive, when trying to combine work from several different projects. Then again, we're talking about embedded systems, here, and thus it seems reasonable to expect that any project using Mozzi will be using Mozzi as a relatively central feature, so in turn it seems reasonable enough, if it enforces a particular license. (In contrast, picture e.g. a large office suit that might use a sound synthesis library only to generate some exchangeable notification sound in one of its component apps).

So in effect, I do lean towards LGPL, but it's a close call between GPL and LGPL to me. Apache is a mere third choice (but still quite acceptable) to me.

I basically have the same thoughts than @tfry-git. LGPL might attract a bit more users than the GPL which in turn, might bring more collaborations and additions of features to Mozzi.