plantuml / plantuml

Generate diagrams from textual description
https://plantuml.com
Other
9.73k stars 881 forks source link

Publish MIT and Apache versions of the library to Maven #1396

Open nickmcdowall opened 1 year ago

nickmcdowall commented 1 year ago

Is your feature request related to a problem? Please describe. It would be useful to have the alternative license versions of the library available on maven central. They are already available via SourceForge just not Maven which would make it really convenience to choose which version of the library is appropriate for a given project.

Describe the solution you'd like To publish all library versions to maven central

Additional context A related thread can be found (a bit old now but still relevant): ttps://forum.plantuml.net/10310/mit-or-apache-can-we-host-the-code-to-get-this-to-maven

Note that I am happy to help solve this issue - an email has been sent so please reach out if I can be of assistance. I'll start looking around at what's already in place and perhaps raise a PR if possible.

lukasz-gryzbon commented 1 year ago

I second that. It would be very helpful if we could have easy access to the various versions.

Also, I can help with raising a PR if needed.

arnaudroques commented 1 year ago

The good news is that we are very close to it. Our intention is to have a new plantuml-mit artifact on maven central.

The tricky part is that we are using a dedicated preprocessor to generate MIT version. We do have a build for the MIT version.

Unfortunately, we had to disable it when releasing V1.2023.6 because the publication was failing and was breaking the whole build.

However @evantill is working hard on this. If it helps, you can make any comment (in this thread) on our current build scripts: they probably need some improvements.

Thanks for your support and patience! This will be released soon but I cannot tell you when. Sorry about that!

nickmcdowall commented 1 year ago

Hi @arnaudroques, that is fantastic to hear. :-D

I will try and take a look to see if I can spot anything that may be helpfpul.

Thanks, Nick

arnaudroques commented 1 year ago

Finally, the MIT version is available on OSSRH. So I am sure you are going to like this link :-)

Since this is a first try, it is possible (likely?) that there are some issues. So please tell us if you find any!

nickmcdowall commented 1 year ago

That's great news thanks @arnaudroques !

I'll plug it in and let you know if we find any issues on our side 🙏

lukasz-gryzbon commented 1 year ago

Hi Guys.

We have plugged it into one of our projects that is analysed by Fossa and now the result comes up a little worse than before:

image

I'm not 100% sure what is licensed under so many different licences, but is there any way to fix this?

arnaudroques commented 1 year ago

I'm not 100% sure what is licensed under so many different licences

PlantUML code is really ours so we have decided to publish PlantUML under a large number of licences because PlantUML is mainly used as a library by many different projects.

Since all those projects use different licences, each project can pick up the licence that matches their own licence.

but is there any way to fix this?

If you need MIT licence, just use the MIT version of PlantUML distribution.

Speaking about your screenshot, it looks like your tool does not understand this line.

The Base64Code has not been written by ourself but by Christian d'Heureuse and it clearly stipulates that this code is also available under MIT. I don't know Christian but I guess that he uses multi-licences to facilitate the usage of his work (as we do).

Maybe I miss something but I don't get what need to be fixed. Please explain more clearly, thanks!

lukasz-gryzbon commented 1 year ago

Thanks for your reply.

Just to confirm, the result above is from the analysis of the MIT version of PlantUML.

Yes, I think you may be right - Fossa may not understand this line: Multi-licensed: EPL / LGPL / GPL / AL / BSD / MIT.

In fact, it may not understand multi-licensing.

arnaudroques commented 1 year ago

Just to confirm, the result above is from the analysis of the MIT version of PlantUML.

Ok, that's nice: tell us if you find other issues!

Yes, I think you may be right - Fossa may not understand this line: Multi-licensed: EPL / LGPL / GPL / AL / BSD / MIT.

If it helps, we could change the header of Base64Code in the MIT version and simply write that the file is licensed under MIT (so we would remove references to the other licences which confuse the tool). We could keep the original header in the default version, so I think that's ok. Just tell us.

lukasz-gryzbon commented 1 year ago

I guess that would help, as it would make it consistent 👍

soloturn commented 11 months ago

@arnaudroques why making effort to license under so many, is there any difference in the contents? or @The-Lum did you do anything special to give it different contents for MIT, here: https://github.com/plantuml/plantuml/pull/1375/files. because MIT would be sufficient for all if i am not wrong? see a licence compatibility graph:

https://en.wikipedia.org/wiki/License_compatibility#/media/File:Floss-license-slide-image.svg

referenced here: https://en.wikipedia.org/wiki/License_compatibility