qrohlf / trianglify

Algorithmically generated triangle art
http://qrohlf.com/trianglify/
GNU General Public License v3.0
10.08k stars 669 forks source link

Trianglify's license #86

Closed pieterdd closed 6 years ago

pieterdd commented 6 years ago

Can you clarify the terms of Trianglify's license?

If someone uses this library in their website's frontend, do they need to open source the code of the backend too? Is Chrome - being a closed-source browser - even legally allowed to execute Trianglify's source code?

I looked this up on Stack Overflow, and the GPLv3 license you chose is quite the legal conundrum for a frontend library. Have you considered licensing it as MIT or another less ambiguous license instead?

qrohlf commented 6 years ago

I'm not an intellectual property lawyer, so caveat emptor, but here's my take:

The GPL deals with the distribution of modified works, not the execution environment. You can run plenty of GPL software in non-GPL execution environments (GIMP on Windows, Linux Kernel in a proprietary VM). There are about 60,000 javascript repos on GitHub licensed under the GPLv3, including the wildly popular uBlock Origin Chrome extension, so alarmist StackOverflow threads aside I think it's safe to say that you can run GPLv3-licensed Javascript in Chrome.

The whole frontend/backend thing is blurry. If you're concerned about the minimum amount of open-source licensing required to meet the licensing terms of the GPLv3, I suggest you find a lawyer who can answer such questions for your specific codebase.

All that said, I have always provided the option of purchasing a commercial license to Trianglify for closed-source projects. This is one of the primary ways that I fund time spent making improvements to Trianglify. If you are interested in purchasing a commercial license, please get in touch.

I've updated the README with an expanded Licensing section that will hopefully address many of the licensing questions I've gotten over the years. If you've got any feedback on the wording there, I would be interested in hearing it - this issue thread is probably a good place.

csuwildcat commented 6 years ago

We're releasing a web extension under Apache 2 and considering this lib for a hero background feature. I have deep concerns with using this lib because of its selection of GPL. To be clear, I don't care about protecting the code of the extension we're building, as it's already under a far more open license. To the contrary: given our code is under Apache 2, the addition of GPL inserts a parasite that can legally infect its host with something that is less open source than the Apache 2 license.

If I read you right, what you really want is for anything your lib is freely used for to be noncommercial and open source. Instead of using a copyleft license like GPL, which does far more than just ensure code is used in noncommercial, open source projects, I would advise that you dual license this code under license language that specifically targets commercial/for-profit use as prohibited without payment, but leaves the lib under a truly open source license (MIT, Apache 2, etc.) for noncommercial, open source projects.

qrohlf commented 6 years ago

Hi @csuwildcat, thanks for weighing in. I actually did intend to license Trianglify under a copyleft license, and I personally don't feel that it's fair to imply that the GPL isn't "truly open source".

My intention here is basically - if you want to use Trianglify in a GPL or GPL-compatible project, commercial or noncommercial, go for it. If you've got a reason why you can't GPL your project, feel free to drop me a line and we'll talk - my contact info for licensing inquiries is in the README.

csuwildcat commented 6 years ago

This is the issue: GPL can infect the entire project it's used in and force GPL details on the entire project. Our project is being contributed to Decentralized Identity Foundation, which is bound to Apache 2 and W3C IPR, thus we cannot switch to a far less open license.

On Wed, May 16, 2018, 12:10 PM Quinn Rohlf notifications@github.com wrote:

Hi @csuwildcat https://github.com/csuwildcat, thanks for weighing in. I actually did intend to license Trianglify under a copyleft license, and I personally don't feel that it's fair to imply that the GPL isn't "truly open source".

My intention here is basically - if you want to use Trianglify in a GPL or GPL-compatible project, commercial or noncommercial, go for it. If you've got a reason why you can't GPL your project, feel free to drop me a line and we'll talk - my contact info for licensing inquiries is in the README.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/qrohlf/trianglify/issues/86#issuecomment-389576237, or mute the thread https://github.com/notifications/unsubscribe-auth/AAICyl_FKba1b29ON5Jr37qFlFcsx6H7ks5tzE93gaJpZM4TVIgD .