rpavlik / VUE

Visual Understanding Environment - updating, build system cleanup, and cherry-picking commits from various forks/branches
23 stars 8 forks source link

VUE4 *almost* works on Big Sur but fails on save #8

Open rcrath opened 2 years ago

rcrath commented 2 years ago

Hi, one of my students worked with me to get VUE 4 running on big sur. We had success until trying to save the file, but saving created an exception that is related to a deprecated class in JAVA 16 and up. We are going to try with Java 11 next, but hope this critical error can be worked out. Sorry I do not have the exact messages since it is not my computer!

rcrath commented 2 years ago

This seems to be accross pplatforms now. Java 16 updated something so that the method of saving used in VUE no longer saves. Workaround is to downgrade jave 11, but they might have "fixed" the file save on that too so it does not work. still testing...

rcrath commented 2 years ago

v. 4 built from latest git works fine and save under linux running java 11

cStuartHardwick commented 2 years ago

The Castor xml serialization library used by VUE is obsolete and cannot be made to run an anything JAVA 16 and up. As part of a completely different application branched off VUE, I'm attempting to port over to the MOXY library, but man it's a lot of work.

rcrath commented 2 years ago

@cStuartHardwick VUE is still the best freeform mindmapping softwareIMHO ... I would certainly be interested in your version. Is it available for testing anywhere yet?

rpavlik commented 2 years ago

Did you try looking at the branches in my fork? I think I have at least one branch which has been updated substantially and I think builds with java greater than 11. However, there's a license incompatibility in the core of VUE: there's GPL2 code and apache 2, which are not compatible, and it appears that there's also missing source for some modules which is a further licensing problem, so unless you replace the core editing features of VUE or get the relevant libraries relicensed, the license says the resulting (binary) software is not distributable. This is a huge bummer but nobody has responded to my questions about it, and I lack the time to find the folks to ask about a relicense or do the rewrite myself. I have mostly switched to draw.io though it's not as well designed for mind mapping.

rcrath commented 2 years ago

@rpavlik thanks for the info, I'll poke around the branches and see what I can find. the licensing problem is a drag. I'd love to take this over as a fork but have slightly (1%) better than 0 coding skills, so would have to find some coders at my uni. I was not happy with Draw.io. CMap is interesting and the description reads well, but it is too wonky to get started with. The closest I have found is Scapple, which does nodes and edges elegantly but none of the advanced features of VUE. That might be worth a try. It isn't free, but it is cheap and the demo lasts a long time.. I think I read the issue about the licensing...I might be able to get in touch with some of the tufts people by using university connections. hmmm, let me think about that. If you get a chance, could you drop a link to that issue? I'm haviing a hard time finding it for some reason.

cStuartHardwick commented 2 years ago

@rcrath as I understand it, contacting the good folks at Tufts is unlikely to help unless they are planning a major update. The problem is that they originally wrote VUE using a whole bunch of libraries, none of which are a problem alone, but some of which are governed by incompatible licenses. The only solution is to get the libraries relicensed (unlikely and not under Tufts' control) or get rid of any references to the one or the other (GPL2 or Apache).

For my part, my application is far removed from the original VUE design and I'm currently in the process of excising a ton of functionality they added in to support university research that's of no use to me. My hope is when this cleanup is done, the remaining license contention will be a more manageable problem.

I've also migrated the serialization from the now obsolete library they used to the more modern Jaxb/MOXY. That was the weak link preventing the code from being updated to anything remotely like a modern version of Java. That's working fine now, but my app has diverged too far to ever be reintegrated into the VUE tree, though I'd be happy to share what I've learned if it'll help anyone.

rcrath commented 2 years ago

@cStuartHardwick wrote

I'd be happy to share what I've learned if it'll help anyone.

I for one would love to try out what you are working on. I'm an excellent alpha and beta tester! and I'd love to see VUE get modernized.. Are the main things you are getting rid of the database/owl/rdf stuff? I was never able to find a use for that stuff in my work other than it did a great job of ingesting a website link structure when I wanted to redesign a site. A lot of other stuff, like the paths, searching, pruning, folding, hover, and layers are really useful and missing from other platforms.
ANyway, I'd love to find out more, but I saw your site has no public repos.

cStuartHardwick commented 2 years ago

@rpavlik, regarding VUE, where did you see GPL2 code? I only see it in the installer and test modules. Am I missing something?

rpavlik commented 7 months ago

The SimplyHTML2 library is GPL2.0+. There are no sources included, only a binary (direct violation of GPL2), there have been additional classes added to the jar without sources (just not good practice, and confusing from a license clearing perspective), the package depends on Apache-licensed dependencies. The only confirmed compatibility between GPL and Apache licenses is GPL 3 with Apache 2.0. This is GPL2+, which can upgrade to 3, but there are other files in VUE that are Apache-1.1 licensed. (At least the weird old apache-commons.jar, which contains a mix of old versions of Apache Commons libraries, apparently with some modifications. Replacing that jar has been very tricky.) FSF considers Apache licenses before 2.0 to be incompatible with all of the GPL versions.

(I am not a lawyer)

So it's not quite as bad as I had remembered, I thought SimplyHTML2 was GPL-2.0-only, which would be incompatible with even Apache-2.0. Looks like maybe, if we can either switch to a release of simplyhtml2 that has sources, and (this is the hard part) try to track down the sources for the Vue-specific files in this weird JAR of it, and go through and make sure nothing is GPL-2.0-only and all Apache-1.1 is replaced, it might be possible to clean it up enough to distribute it.