SchemeBBS probably cannot be distributed and packaged because of a licensing conflict. lib/html.scm
is licensed under the GNU Affero General Public License, but the rest of SchemeBBS is under the MIT License. To resolve this issue, the copyright holder (the person who ported the code from Guile to MIT Scheme) should change the GNU Affero GPL back to LGPL (which is the license of code from which lib/html.scm
is derived).
Can't you distribute it under the AGPL?
>>2
The fundamental issue is that you cannot use AGPL code from MIT licensed code.
>>3
I thought you could, it would just become AGPL, as long as the AGPL part is there. Is this not the case?
>>4
Yes, but the problem is that SchemeBBS claims to be under the MIT License, which is not allowed if SchemeBBS uses AGPL code.
>>5
I don't understand the conflict here. Why can't you distibute the parts of SchemeBBS under the MIT and html.scm as AGPL at the same time?
>>6
I think because projects using AGPL software must be released under AGPL. that's a rule in the AGPL license
>>7
So people should distribute the AGPL software under AGPL and the MIT software under MIT. Is there something that I'm missing here?
>>8
No, that is not permitted. Once you include AGPL code in your software, the entire code base has to be licensed under AGPL when distributed. That is the "viral" nature of the AGPL. Refer to ยง5c in https://www.gnu.org/licenses/agpl-3.0.en.html
Related reading: https://stackoverflow.com/questions/11819831/including-gpl-external-library-in-mit-code
>>1
That's not the only license violation in SchemeBBS. There are at least two other violations:
* deps/httpio.scm
- GPL code copied from MIT Scheme.
* deps/server.scm
- GPL code.
SchemeBBS is violating the GPL by claiming to be licensed under the MIT license. SchemeBBS should be licensed under the GPL to fix these two licensing conflicts.
>>9,10
There are various nuances that people (such as yourself as an example) do not understand about GPLv3. This confusion is based upon the idea that GPLv3 software causes all additions to the software to be permanently and exclusively relicensed as GPLv3; this confusion is a false interpretation of GPLv3.
1) Publisher A conveys program P under GPLv3
2) Publisher B conveys module Q under a licence that is compatible with GPLv3 but is not actually GPLv3.
3) Publisher C conveys program P combined with module Q: this is program R and program R is GPLv3 by implication of program P being GPLv3
Note that it's possible for publisher A, publisher B, and publisher C to be the same legal entity, it's possible for them to be different legal entities, however this distinction doesn't have any meaning as far as the GPLv3 is concerned.
You are correct in your assessment that module Q within program R is licensed under GPLv3. The subtle thing you need to understand is that this is true for the context that module Q forms a combined work with program P. One implication of the GPLv3 is that the licensee publisher D is allowed to delete program P and then publisher D is allowed to convey module Q under GPLv3, however it isn't mandatory to convey it as GPLv3 when doing so; note the context is that the module Q has been divorced from program P meaning it doesn't form a combined work under GPLv3 any longer. The license of module Q from publisher D remains according to the licence from publisher B.
So the "relicensing" or "viral" aspect of the GPLv3 only has meaning within the context of the "combined work with GPLv3 work". When you divorce it completely, the combined work mandate doesn't apply to the non-GPLv3 software.
Now this brings me to lib/html.scm, deps/httpio.scm (program P in my analogy) being AGPL while the rest of SchemeBBS (module Q in my analogy) is liberally licensed under MIT license and together they form the combined work SchemeBBS (program R in my analogy). While it's correct that the combined work SchemeBBS is AGPL, the module Q portions have never stopped being free software under MIT when isolated from program P. Licensees of program R are allowed to delete lib/html.scm (program P) then convey the module Q portions under the MIT license without the AGPL mandates. The meaning of the AGPL allows for this scenario.
This means the MIT licensed portions of SchemeBBS are not in conflict with the AGPL (and GPL) combined work of SchemeBBS.
>>11
I think this is more a problem of how these two parts are distributed and run together. The sources are separated but the distributions not.