codelibs / jhighlight

JHighlight is an embeddable pure Java syntax highlighting library.
Other
18 stars 4 forks source link

Remove dependency on PCJ source files #4

Open kkrugler opened 9 years ago

kkrugler commented 9 years ago

All files in the https://github.com/codelibs/jhighlight/tree/master/src/main/java/com/uwyn/jhighlight/pcj package use the LGPL license, which means jhighlight isn't actually dual CDDL/LGPL license, it's LGPL only. Which means it can't be used by something like Tika.

One possibility is fastutil (http://fastutil.di.unimi.it/), which is under APL 2.0. You'd want to cherry-pick the minimum number of source files to avoid pulling in a huge jar.

marevol commented 9 years ago

Hmm..., generated codes from fastutil seem to be a part of LGPL.

kkrugler commented 9 years ago

I've got sources generated from fastutil (maybe 2 years ago?) that all have the Apache License. Where are you seeing the LGPL license? Also the documentation at http://fastutil.di.unimi.it/ seems to still say it's all Apache License.

marevol commented 9 years ago

https://github.com/codelibs/jhighlight/blob/master/src/main/java/com/uwyn/jhighlight/fastutil/chars/AbstractChar2ObjectFunction.java For example, the above generated code contains "This file is part of the GNU C Library." at the top of comment. I'm not sure that it actually contains LGPL codes... I think that fastutil should remove the comment if it does not have LGPL code.

kkrugler commented 9 years ago

Which version of fastutil did you use to generate that source? My version of that same file (from 6.0.0) doesn't have the LPGL license piece.

marevol commented 9 years ago

I downloaded http://fastutil.di.unimi.it/fastutil-6.6.5-src.tar.gz and then run "make sources".

kkrugler commented 9 years ago

Hmm - seems like they've got a bug in their source code generation - the project is under APL, so you're right that the header shouldn't have this in it. If you tell me which files you need, I can send you a pull with my (slightly older) versions that don't have this issue.

marevol commented 9 years ago

I added fastutil's files to this repository. jhighlight needs them under: https://github.com/codelibs/jhighlight/tree/master/src/main/java/com/uwyn/jhighlight/fastutil Thanks in advance.

marevol commented 9 years ago

Thank you for your pull request. Merged. Currently, this jhighlight contains original factutil package, it.unimi.dsi.fastutil.*. My concerns is the conflict for class files if user's application has both jar files for jhighlight and fastutil. To avoid this problem, I think it's better to use own package. Please let me know if you have any issues.

kkrugler commented 9 years ago

Hi Shinsuke - I don't have a strong opinion about fastutil's package namespace. In general when "borrowing" large amounts of code I try to keep it the same as the original package, but it's OK if you want to move it into your package.

marevol commented 9 years ago

Thank you for the reply. I'll change the package name and release jar file to Maven repository if I do not find any other problems.

kkrugler commented 9 years ago

Any update on status? Questions about this over at the Tika project...

marevol commented 9 years ago

I deployed jhighlight 1.0.2 to Maven Central repository yesterday!

http://repo1.maven.org/maven2/org/codelibs/jhighlight/1.0.2/

thaichat04 commented 9 years ago

Thank alot @marevol, the next Tika 1.8 version will use your Jhighlight version. You can update readme.md once this version 1.8 turns out.