Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Orchid is not in compliance with PlantUML GPL license #405

Closed
cjbrooks12 opened this issue Jul 5, 2021 · 2 comments
Closed

Orchid is not in compliance with PlantUML GPL license #405

cjbrooks12 opened this issue Jul 5, 2021 · 2 comments
Labels
chore feedback wanted Feedback from the community is greatly appreciated, to make this exactly what the community wants
Milestone

Comments

@cjbrooks12
Copy link
Contributor

It has come to my attention that Orchid depends upon a GPL-licensed library, PlantUML, in its OrchidSyntaxHighlighter plugin. Orchid being licensed under LGPL is a violation of the terms of that library, and as such this needs to be resolved in some manner before the next release, to get back in compliance.

Some strategies for handling this are:

  • Re-license Orchid under GPL
    • Pros: Orchid could then freely depend on other GPL libraries, like PlantUML or Graal Ployglot (replacing Jython/JRuby)
    • Cons: If anyone is currently developing and distributing their own plugins, they will then need to be relicensed as well. If they are closed-source plugins, they would then need to be open-sourced under GPL.
  • Remove the dependency on the GPL PlantUML artifact, and use a differently-licensed version of it. PlantUML actually publishes several other artifacts under different licenses
    • Pros: No need to relicense Orchid, and community plugins can stay as they are
    • Cons: PlantUML artifacts with other licenses are not published to MavenCentral, so it would complicate Orchid's own build, and potentially end-user sites, to reference that artifact
  • Completely remove PlantUML as a dependency from Orchid
    • Pros: least amount of work to get back in compliance
    • Cons: breaks sites already depending on those diagrams. Some PlantUML diagrams may be able to be migrated to MermaidJS syntax and use that OrchidComponent instead, but that's a lot of work I would rather not force on the community.
@cjbrooks12 cjbrooks12 added this to the 1.0.0 milestone Jul 5, 2021
@cjbrooks12 cjbrooks12 added chore feedback wanted Feedback from the community is greatly appreciated, to make this exactly what the community wants labels Jul 5, 2021
@cjbrooks12 cjbrooks12 changed the title Resolve PlantUML GPL license issue Orchid is not in compliance with PlantUML GPL license Jul 5, 2021
@cjbrooks12
Copy link
Contributor Author

Personally, I would lean toward re-licensing Orchid under GPL. Please leave your thoughts here and let me know if this would be a major concern for you. I'm also open to any other suggestions not listed here.

@cjbrooks12
Copy link
Contributor Author

Since I've not gotten any objections to this issue, I've decided I will change Orchid's license to GPL Version 3 for its 1.0.0 release.

If anyone needs Orchid to remain LGPL, the dependency on PlantUML is the only violation and I will gladly accept a PR to use the LGPL-licensed version of it.

If I do not get any objections by the end of this year about this license change, I will consider the GPL license to be permanent and freely start using other GPL-licensed libraries within Orchid (most likely starting with replacing JRuby and Jython with Graal). I will refrain from adopting any new GPL libraries until that point, just to make sure the community has time to adopt to the new license, raise any concerns, and address them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore feedback wanted Feedback from the community is greatly appreciated, to make this exactly what the community wants
Projects
None yet
Development

No branches or pull requests

1 participant