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?

  • 1
    Only a legal court could answer. I've got a similar problem in github.com/bstarynk/bismon and soon in refpersys.org Feb 23, 2020 at 17:45
  • 1
    @BasileStarynkevitch isn't this a bit like compiler output? Feb 24, 2020 at 9:19
  • 1
    If you look at the generated code, what indications are there that the code was generated from another source and not directly written by a human? Feb 24, 2020 at 13:56


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.