I'm working on license plate recognition software. I have found following project: https://github.com/openalpr/openalpr The project itself is under AGPL-3.0

Part of this project is trained data for Tesseract OCR engine. I would like to use their trained data for my own application. But I'm not sure what are the conditions of using it?

I have read through the AGPL-3.0 and to me it seems that using the binary data, without modifying it means, there is no restrictions on the use of the data. The AGPL talks about source code, and object code form, but the trained model is neither.

I don't have any problem with admitting I used the data and providing the AGPL-3.0 license along with it. What I cannot do, is to provide source code of my own application.

  • 1
    Would you say that your program reads the model as input data? Or does the model contain executable code or is imported as an executable module by your code? – apsillers Sep 25 '17 at 14:43
  • 1
    My program reads the model as input data, the trained model is not executable. – jnovacho Sep 26 '17 at 8:23

The GPL FAQ is clear in several places that when a program reads and acts on GPL-licensed input, it does not create GPL obligations for the program reading the input. Most notably:

If a programming language interpreter is released under the GPL, does that mean programs written to be interpreted by it must be under GPL-compatible licenses? (#IfInterpreterIsGPL)

When the interpreter just interprets a language, the answer is no. The interpreted program, to the interpreter, is just data; a free software license like the GPL, based on copyright law, cannot limit what data you use the interpreter on. You can run it on any data (interpreted program), any way you like, and there are no requirements about licensing that data to anyone.

This seems like a case where the model is "just data," so (A)GPL copyleft does not extend to a program merely because it reads (A)GPL-licensed data as part of its operation.

However, if you use any AGPL-licensed executable code that links or combines with your code in a way that creates a derivative work, then your code will have to be distributed (or served over a network) in compliance with the AGPL.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.