I was contacted today by someone working on a translation of Dialog’s stdlib.dg, who raised a very good point. The LICENSE.txt file in the repository applies a two-clause BSD license to everything, which means:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Which means, in theory, every Dialog project that uses the standard library needs to include this LICENSE.txt file somewhere in the distribution.
But that’s clearly not Linus’s intent. (And it’s definitely not mine!) This is what the manual says about credit, for example:
The default implementation of
(intro)just prints the story banner by querying(banner), then prints the initial room description with(try [look]). The banner includes the title, author, and serial number of your story, plus the version information for the compiler and the standard library. By convention, stories should print the banner at some point during play. With Dialog, there is no formal requirement to print the banner at all, but it is helpful to the community and to your future self, and it looks professional.
Emphasis mine. Linus’s own games also don’t include anything like this in their READMEs. Strictly speaking, he didn’t need to when he was the sole contributor; but it’s more evidence that it’s not something he expected.
So…how do we make the legalities line up with this intuitive understanding? Is my reading of the license correct? If so, we’ll probably need to contact Linus about applying a different license to the standard library (but if so, which one?).
My personal inclination is to sidestep the headache by just adding a note to LICENSE.txt saying that we understand “redistributions in source or binary form” to mean distributing the compiler and/or library, not distributing things made with the compiler and/or library. Imo if this wasn’t Linus’s intent, he would have called it out specifically in the manual to avoid tripping up new authors. But I don’t know if that actually solves the problem.