6

I develop a piece of software that uses AGPL licensed iText7. The licensing options are therefore GPL and AGPL. The software is to be installed locally and acts as a plugin to a proprietary desktop application.

This PDF manipulation software needs to work with very specific PDFs that contain very specific proprietary, non-Unicode fonts. This means, the test suite must include such PDFs.

I see the following options:

  1. Embed the publisher-specific fonts that our clients' publisher requires them to use. Effectively those fonts are "all rights reserved" and not available for purchase.
  2. Use a proprietary alternative as stand-in font that has a proper commercial license, like the Monotype Imaging EULA.
  3. Use a font under SIL Open Font License as stand-in.

Option 1 is technically preferable because it tests the software precisely like the client will use it. Also no need to make the software work with stand-ins. However, it's likely to be problematic licensing-wise because of the lack of a proper font license. Could we have a test suite that we do not publish under GPL terms and keep it secret instead, despite testing a software that has an AGPL component?

Option 2 might allow us to distribute the test suite documents, if the respective font license can be interpreted in such a way. (In the case of the Monotype Imaging EULA that is still debatable, but I don't want to make this the topic of this question – commercial font licenses vary in their terms.) Would it be possible to exempt the test documents from the GPL license, despite the software itself and the test suite being under GPL?

Option 3 seems to be unproblematic, both from a technical as well as a licensing perspective. Is that correct?

13
  • 2
    The more I think about this question, the more I think it would be very helpful if you recast the first paragraph in the active voice, and were precise about the licence (GPL and AGPL are different beasts). If you mean "I intend to use a GPL piece of PDF manipulation software in my web-hosted offering, and I need to include proprietary fonts in my internal test suite", say so. If you mean "I wrote a piece of PDF manipulation software and released it under AGPL, now I wish to include proprietary fonts in the test suite that ships with it", say so. If something else, say so.
    – MadHatter
    Oct 5, 2020 at 10:56
  • These are very different scenarios, and the answers will accordingly be very different.
    – MadHatter
    Oct 5, 2020 at 10:57
  • 2
    @MadHatter Very good advice, I updated the question accordingly.
    – Thomas W.
    Oct 5, 2020 at 11:11
  • 3
    Thank you so much for being receptive to the criticism, and for the considerably-improved question. Could I ask that you also expand slightly on the proprietary licence of the fonts in question? Do you have any permission to redistribute these as part of a test suite? I ask since if you don't, the question of whether you're obliged to do it under (A)GPL becomes a bit academic.
    – MadHatter
    Oct 5, 2020 at 11:25
  • 1
    @Someone no, I mean that if you are required to obey two sets of conditions, the first of which says "you may not do X", and the the second of which says "when you do X you must do it in this particular way", worrying about the details of the second set is pointless.
    – MadHatter
    Sep 27, 2022 at 5:59

1 Answer 1

3

In addition to the question as-is, you added in chat

I'd [...] ask for solutions to have a test suite with a) "all rights reserved" fonts, b) proprietary fonts that allow embedded and subsetted distribution (I'd link to more specific licenses) and c) fonts under SIL Open Font License. (Where solutions might be technical, like separating software and test suite, or "legal", like exempting PDFs from the license.)

First off, you are not obliged to distribute a test suite at all. It's good that you wrote one — I wish more software authors did — but you don't have to do it, and having done it, you don't have to distribute any or all of it. GPLv3 doesn't list test suites under the definition of Corresponding Source. This is quite an important point, because you will be releasing your software under GPLv3 or a mix of AGPLv3+GPLv3 (depending on your choices), and it means that the test suite is not part of the work which iText is part of, and so the licensing obligations imposed by iText don't extend as far as the test suite.

Other than that, the answer to all three of your cases above turn on the same point: what the licence on the font says.

  • If the font licence is proprietary ("all rights reserved"), then you have no permission to redistribute it at all, so the question is academic.
  • If the font licence is proprietary+distribution-allowed, then you may redistribute it but you will have to be clear that the test suite contains material governed by a more restrictive licence than the software.
  • If the font licence is OFLv1.1, then your proposed use satisfies all five conditions, provided that you make it clear that the font is covered by OFL, you include the relevant texts (condition 2), and you do not modify the font.

For the second and third cases, it might be worth thinking about packaging the test suite separately from the main software, because it will be easier for prospective users to know which bits are AGPL/GPL+AGPL, and which bits are not. Every time someone asks me about reuse of code on GitHub under mixed licences, my heart sinks, because I know I'll have to comb through it working out which licence applies to which bits. And, as usual, IANAL/IANYL.

1
  • Because development and branching of main code and tests always go hand in hand, I don't see a practical technical alternative to keeping everything in the same git repo. There is one other technical solution that will allow putting everything under the same license: Instead of the PDFs with the fonts, we could distribute code that generates the PDFs or that embeds the fonts. That's not so simple with the particular proprietary piece of software in question, but still worth considering.
    – Thomas W.
    Oct 8, 2020 at 17:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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