Ras wrote:Or asking the actual authors for a dual licence release, though that would probably cost money.
I guess that's a pretty common way for SW authors to monetize their side projects without spending a lot on marketing, haha.
To clarify, I don't mean to pressurize anyone into relicensing their code, and actually, I don't think that publishing the
whole program under a permissive license is optimal.
The main advantage of a permissive license is that it allows to
split a distribution into two parts with different degrees of freedom, unlike the GPL that requires the whole distribution to carry it. These two parts might as well be GPL main code and an MIT-Expat / Modified (3-clause) BSD / zlib / LGPL library used by it, the program as a whole being necessarily GPL.
For example, imagine that I'm working on an engine and have coded the board representation and the search algorithm but the static eval (which is very critical to the engine's Elo) isn't ready yet. Still, I want to have the search beta-tested publicly with a stub static eval.
What I can do is write an Expat-licensed wrapper library around the static eval function of an engine whose license is Expat-compatible, putting it in a separate folder copyrighted to the author of that engine. My main code (calling this library when it needs to eval a position) would be copyrighted to myself. Thus a clear distinction would be made between my contribution and the one of the other author.
As a whole, this early version of the engine would be Expat-licensed and fit for beta-testing. Its Elo would be much less than the expected Elo of the final version of the engine (the one with my own static eval), so the opening of the beta code wouldn't harm the expected final version of the engine, whereas the former's testing would help debug the search early on.
The same argument applies if a Modified BSD licensed stub static eval is used, except that my part and the beta engine as a whole would of course carry the MBSD then.
This opening of the code would be a step towards satisfying the curiosity of clone hunters. They'd get more evidence of the engine's originality than if all my code were closed.
And don't forget that if someone suddenly started making huge money out of my Expatted code, I'd still be able to start patent treachery against them - Expat is not as permissive as Apache 2.0, after all