I am writing a specialized binary file parser using Kaitai Struct. In brief, the file formats are described in YAML documents according to a custom spec called KSY, which are then passed to a code generator to produce source code for any of several target languages.

Kaitai's documentation recommends using a metadata field to specify the license of the document, but I have concerns about what licensing the document itself under my preferred FOSS license, MPL 2.0, would mean. In particular, I am concerned whether or not the license is flexible enough to cover my use case. There is no notice of the selected license in the generated code, and there is no means to add a license notice or related copyright notices to the generated code. There is a way to add arbitrary comments via docstrings, but there is no guarantee that these docstrings will actually appear, depending on the target language.

My goal is to ensure any distributed software using modified or unmodified versions of my KSY documents, as well as any software using code generated from said documents, must also distribute said documents under the same license. To this end, would licensing each KSY document under MPL 2.0 be sufficient? If not, if there were a reliable way to add a license notice to the generated code, would that be sufficient? Or should I consider a different license?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.