Skip to content

Docleaf tool is using a non-OSI approved license #61284

@kartben

Description

@kartben

Describe the bug

#59570 introduced Docleaf as a replacement for Breathe to make Doxygen documentation accessible from Sphinx.
As opposed to Breathe which was BSD licensed, Docleaf is published under the Parity Public License. This license is not OSI approved and potentially problematic for downstream Zephyr adopters that may have closed source bits, as they would depend on acquiring a commercial license for being able to keep using the Zephyr documentation system. The project's README makes this even more clear: "If you have a closed source project that you would like to document with Docleaf then you must purchase a commercial license"

This was an oversight from the reviewers of the original PR (myself included) to not look more closely at the license of Docleaf, as I guess (for me at least) the assumption was that it was a continuation/replacement for Breathe and hence would have the same license.

Impact

See above. The Parity Public License is implying that anyone "develop[ing], operat[ing], or analyz[ing] with this software [ie. Docleaf]" needs to make their software available under an open source license such as APL, MIT, ... ("a license that allows everything [the Parity Public License] does").
This is putting unwanted restrictions on how downstream adopters may be able to freely extend Zephyr for commercial / closed source purposes should they be interested in surfacing documentation for closed-source stuff.

I see a few paths going forward (assuming I understood the terms of the license properly, and that Docleaf sticks to it for the foreseeable future):

  • switch back to Breathe. It's slower than Docleaf, and potentially unmaintained/less maintained going forward (?) but it's been doing the job until now.
  • should Docleaf maintain some level of compatibility with Breathe, we might be able to provide both options? But this would need to be tested in CI and I am not sure it'd be desirable to systematically spend 2x the already long-ish time to build our docs in CI for each PR...

Environment (please complete the following information):

3.4.99 / 84e4ffc

Additional context

@michaeljones, feel free to add/comment here, especially if I misunderstood the terms of the license.

cc @nashif @gmarull

Metadata

Metadata

Assignees

Labels

LicensingThe PR has licensing issues => licensing expert to reviewRelease BlockerUse this label for justified release blockersTSCTopics that need TSC discussionarea: Documentation InfrastructurebugThe issue is a bug, or the PR is fixing a bugpriority: highHigh impact/importance bug

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions