Components: Difference between revisions
From FreeMind
Jump to navigationJump to search
Dan Polansky (talk | contribs) No edit summary |
Dan Polansky (talk | contribs) No edit summary |
||
| (8 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
FreeMind (some versions of) uses the following components/libraries: | FreeMind (some versions of) uses the following components/libraries: | ||
* [http://nanoxml.cyberelf.be/ NanoXML] — slim XML parser, used in reading the mind map XML; a (modified) copy of the source code is present in the FreeMind source code repository. | * [http://nanoxml.cyberelf.be/ NanoXML] — slim XML parser, used in reading the mind map XML; a (modified) copy of the source code is present in the FreeMind source code repository; see also [https://web.archive.org/web/20110814134950/http://devkix.com/nanoxml.php devkix.com at Wayback Machine] | ||
* [http://jibx.sourceforge.net/ JiBX] — XML binding for Java, used in undo implementation | * [http://jibx.sourceforge.net/ JiBX] — XML binding for Java, used in undo implementation | ||
* [http://sourceforge.net/projects/simplyhtml SimplyHTML] — WYSIWYG rich text/HTML editing component | * [http://sourceforge.net/projects/simplyhtml SimplyHTML] — WYSIWYG rich text/HTML editing component | ||
* [https://xmlgraphics.apache.org/batik/ Batik] — supports SVG; an Apache project; uses multiple jar files; the last FreeMind version seems to use Batik 1.7 | * [https://xmlgraphics.apache.org/batik/ Batik] — supports SVG; an Apache project; uses multiple jar files; the last FreeMind version (1.0.1) seems to use Batik 1.7 | ||
* JavaHelp — [http://javahelp.dev.java.net] | * JavaHelp — [http://javahelp.dev.java.net] | ||
* And others (this documentation is incomplete). | * And others (this documentation is incomplete). | ||
| Line 13: | Line 13: | ||
* There can be dependencies between the jar files. For instance, gnu-regexp-1.1.4.jar is there in support of the main SimplyHTML jar (to be double checked). | * There can be dependencies between the jar files. For instance, gnu-regexp-1.1.4.jar is there in support of the main SimplyHTML jar (to be double checked). | ||
* FreeMind repository (Git at SourceForge) generally does not contain the source code of the components, only the binary jar files. NanoXML is an exception. | * FreeMind repository (Git at SourceForge) generally does not contain the source code of the components, only the binary jar files. NanoXML is an exception. | ||
* The jar files are listed in the [https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/.classpath .classpath file] (was so in FreeMind 0.9.0). They used to be listed in the MANIFEST file (was so in FreeMind 0.7.1). | * The jar files are listed in the [https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/.classpath .classpath file] (was so in FreeMind 0.9.0). They used to be listed in the MANIFEST.MF file (was so in FreeMind 0.7.1 and [https://sourceforge.net/p/freemind/code/ci/0_9_0/tree/freemind/MANIFEST.MF FreeMind 0.9.0]). | ||
Licensing of the components: | |||
* [[Licensing]] | * The licensing is described at [[Licensing#Licensing of components]]. | ||
* The working hypothesis is that GPL V2+ makes it possible to link with Apache-licensed libraries, with the use of GPL V2+ containing GPL V3+ as part. | |||
More about Batik: | |||
* Version 1.7 of Batik had some dependencies on Sun Java proprietary classes[https://github.com/apache/xmlgraphics-batik/blob/main/CHANGES][https://batik-users.xml.apache.narkive.com/q1X80Z0W/batik-still-does-not-compile-with-java-7][https://bugs.openjdk.org/browse/JDK-6527962][https://bugs.openjdk.org/browse/JDK-8038838]. This could theoretically lead to some problems in FreeMind 1.0.1 (which seems to use Batik 1.7) when used with OpenJDK (a Java version/distribution/whatever), but we do not have any reports of such (perhaps this pertains to Batik function/feature that FreeMind 1.0.1 does not use). | |||
* In FreeMind 1.0.1, Batik is used in the SVG [[plugin]]. | |||
* See also [https://sourceforge.net/p/freeplane/discussion/758437/thread/3bf4dca5/ PDF Export functional again] forum thread (2017-10-14) for Freeplane where Batik is mentioned. | |||
[[Category:Development]] | [[Category:Development]] | ||
Latest revision as of 09:49, 7 May 2026
FreeMind (some versions of) uses the following components/libraries:
- NanoXML — slim XML parser, used in reading the mind map XML; a (modified) copy of the source code is present in the FreeMind source code repository; see also devkix.com at Wayback Machine
- JiBX — XML binding for Java, used in undo implementation
- SimplyHTML — WYSIWYG rich text/HTML editing component
- Batik — supports SVG; an Apache project; uses multiple jar files; the last FreeMind version (1.0.1) seems to use Batik 1.7
- JavaHelp — [1]
- And others (this documentation is incomplete).
More on the components/libraries:
- The jar files of some of the components reside in the lib folder, while others reside in a plugin folder, e.g. Batik in support of SVG.
- There can be multiple jar files per component. Such is the case of Batik.
- There can be dependencies between the jar files. For instance, gnu-regexp-1.1.4.jar is there in support of the main SimplyHTML jar (to be double checked).
- FreeMind repository (Git at SourceForge) generally does not contain the source code of the components, only the binary jar files. NanoXML is an exception.
- The jar files are listed in the .classpath file (was so in FreeMind 0.9.0). They used to be listed in the MANIFEST.MF file (was so in FreeMind 0.7.1 and FreeMind 0.9.0).
Licensing of the components:
- The licensing is described at Licensing#Licensing of components.
- The working hypothesis is that GPL V2+ makes it possible to link with Apache-licensed libraries, with the use of GPL V2+ containing GPL V3+ as part.
More about Batik:
- Version 1.7 of Batik had some dependencies on Sun Java proprietary classes[2][3][4][5]. This could theoretically lead to some problems in FreeMind 1.0.1 (which seems to use Batik 1.7) when used with OpenJDK (a Java version/distribution/whatever), but we do not have any reports of such (perhaps this pertains to Batik function/feature that FreeMind 1.0.1 does not use).
- In FreeMind 1.0.1, Batik is used in the SVG plugin.
- See also PDF Export functional again forum thread (2017-10-14) for Freeplane where Batik is mentioned.