Substrate is licensed under GPLv3. Does that mean all projects that use substrate must also be licensed under GPLv3?
No. You can always combine it with a more permissive license. And as long as you don't distribute binaries which are statically linked to that gpl code you can do whatever you want. I think you could actually embed a linker in an installer and link the library as part of the installation process, and you'd comply with the gpl. Also if you can't afford to get sued no one will bother. If you can afford to get sued, get a lawyer to assess your exposure and negotiate with parity for a gpl exemption.
FSF maintains the view that software that links dynamically is also derivative work - https://www.gnu.org/licenses/gpl-faq.html#GPLStaticVsDynamic
A different license, LGPL, was specifically created to allow that.
Interesting, is the issue resolved then?
Cosmos-SDK and Tendermint Core have the more permissive Apache 2.0 license, which probably means a lot more organizations will be able to leverage their work, both internally and externally. I know many software companies have a blanket ban on using frameworks and libraries that are licensed under GPL (at least in the Bay Area, to avoid potential legal trouble), and I feel like this will be a major barrier to Substrate's adoption.
Yeah, were you asking a question or trying to get parity to relicense? It's
not good etikette to do so, since everyone has the right to license their
work however they wish. I'm not telling you it's not ok to write
proprietary software, why would you propose to tell parity it's not ok to
write free software.
Substrate 1.0-beta is currently licensed under GPLv3, but in keeping with the ideal that Substrate should allow for maximum developer freedom, the Substrate repo will transition to be licensed under Apache 2.0. The widely permissive nature of the open-source license allows for commercial use, distribution, modification, patent use, and private use and opens the door for Fortune 500 companies to adopt the technology. We offer professional services to organisations looking to build with Substrate.
^ That's awesome. Hopefully, the relicensing happens soon.
I'm not personally affected by this, so take it with a grain of salt.
I've looked at CONTRIBUTING.md and LICENSE, and haven't found anything about transferring copyright ownership when contributing code. That means technically you would not be allowed to relicense unless you get explicit (i.e. written) approval of all contributors (outside of paritytech employees, of course, who likely transfer copyright to paritytech anyway as part of their employment agreement).
I'm not personally affected by this, so take it with a grain of salt.
Me either, I've not written anything that's not foss yet. But if you are concerned with competition, you could dump a tarball on every release. Without a git history actually building on it and pulling in changes would be a burden. You could probably even obfuscate it before releasing the tarball, no?
I'm concerned with avoiding legal trouble. For example, OpenSSL's change to ASLv2 took several years because they had to track down individual contributors to sign off.
Yeah, apparently obfuscation is borderline:
The “source code” for a work means the preferred form of the work for making modifications to it.
They'd still have to prove that your not just a bad programmer, you could strip documentation and rename stuff - I've never seen it, but I've heard that some devs have questionable practices in naming things :) I can see why the gpl could be a problem for some companies.
There is a CLA that assigns Parity copyright of all contributions, so the relicensing should not require approval of all prior contributors. The lawyers will know for sure though.
That's actually worse, because that means no individual contributor holds the copyright and can make that decision.
Or do you mean away from contributors? That would solve issues.
"away". The code is relicensable without asking all contributors.
Alright. How does that happen? I haven't tried, if I create a PR, am I asked about this?
Yes, maybe I should have bothered to read it :grinning:
@jfinkhaeuser Yes, we ahve a bot for this.
Most helpful comment
https://www.parity.io/substrate-has-arrived/