List of Libraries used by OFBiz
We have moved all the LGPL libraries from the applications and framework folders to the specialized folder. For details see the OPTIONAL_LIBRARIES file in the ofbiz directory from svn.
Because of this the libraries in the specialied directory are not included in this list.
Some notes on licenses (after doing a little research)
We can use and include libraries licensed with any BSD/MIT like license including Apache, etc. We can also change and redistribute these libraries.
We can use and include libraries licensed with SPL (Sun), MPL (Mozilla), and similar licenses. We cannot change these and redistribute the changes though. These are a combination of the GPL and BSD licenses and make a distinction between "Covered Code" and "Larger Works". If we change the code the changes must be SPL/MPL/whatever licensed, but we can use the libraries unmodified just fine.
We can use, but can not include, libraries licensed with LGPL. The licensing quirk here is that we can write code that uses the libraries but can't include (distribute) the libraries themselves. This means that we have to have the build.xml files out of the box with exclusions for these source files. For each one we should document which jar files are needed, where they can be obtained, and which build.xml file(s) need to be changed to compile the Java files that depend on them.
We cannot use nor include libraries licensed with the GPL. The use and distribution restrictions are simply too tight and there is no way around them. If there is any critical functionality that cannot be replaced by using another library or writing a "sane" amount of code, we will need to chat about this... One possibility is to start an "official" OFBiz-based project that is GPL licensed. We would probably host this in our own SVN repository and what not, and it would basically consist of probably just one component that can be dropped into OFBiz to get the needed functionality.
File Name |
Description |
URL |
OFBiz Component |
License |
Notice |
Notes |
|
---|---|---|---|---|---|---|---|
base |
|
|
|
|
|
|
|
commons/commons-beanutils.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-cli.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-codec.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-collections.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-dbcp.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-digester-1.7.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-discovery.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-el.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-fileupload.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-lang-2.1.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-logging.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-modeler.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-pool.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-primitives.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-vfs.jar |
|
base |
Apache 2.0 |
|
|
||
commons/commons-vfs-providers.jar |
|
base |
Apache 2.0 |
|
|
||
scripting/bsf.jar |
|
base |
Apache 2.0 |
|
|
||
scripting/bsh.jar |
|
base |
|
|
|||
scripting/jython-nooro.jar |
|
base |
|
|
|||
scripting/oro.jar |
|
base |
Apache 2.0 |
|
|
||
Tidy.jar |
|
base |
W3C License |
|
Not used? |
||
ant.jar |
|
base |
Apache 2.0 |
|
|
||
ant-launcher.jar |
|
base |
Apache 2.0 |
|
|
||
avalon-framework-4.1.5.jar |
|
base |
Apache 2.0 |
|
|
||
avalon-util-exception-1.0.0.jar |
|
base |
Apache 2.0 |
|
|
||
freemarker.jar |
|
base |
BSD |
|
|
||
j2eespecs/geronimo-activation_1.0.2_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-j2ee-connector_1.5_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-javamail_1.3.1_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-jaxr_1.0_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-jaxrpc_1.1_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-jms_1.1_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-jsp_2.0_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-jta_1.0.1B_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-qname_1.1_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-saaj_1.1_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
j2eespecs/geronimo-servlet_2.4_spec-1.0.jar |
|
base |
Apache 2.0 |
|
|
||
httpunit.jar |
|
base |
BSD license |
|
|
||
icu4j_3_4.jar |
|
base |
|
|
|||
jakarta-regexp.jar |
|
base |
Apache 2.0 |
|
|
||
javolution.jar |
|
base |
BSD license |
|
|
||
jdbm.jar |
|
base |
BSD (JDBM LICENSE v1.00) |
|
|
||
junit.jar |
|
base |
|
|
|||
junitperf.jar |
|
base |
|
|
|||
log4j.jar |
|
base |
Apache 2.0 |
|
|
||
mx4j-3.0.1.jar |
|
|
base |
Apache 2.0 |
|
|
|
mx4j-remote-3.0.1.jar |
|
|
base |
Apache 2.0 |
|
|
|
resolver.jar |
|
|
base |
Apache 2.0 |
|
|
|
xercesImpl-2.6.2.jar |
|
|
base |
Apache 2.0 |
|
|
|
xmlParserAPIs-2.2.1.jar |
|
|
base |
Apache 2.0 |
|
|
|
catalina |
|
|
|
|
|
|
|
catalina.jar |
|
|
catalina |
|
|
|
|
catalina-cluster.jar |
|
|
catalina |
|
|
|
|
catalina-optional.jar |
|
|
catalina |
|
|
|
|
jasper-compiler.jar |
|
|
catalina |
Apache |
|
|
|
jasper-compiler-jdt.jar |
|
|
catalina |
Apache |
|
|
|
jasper-runtime.jar |
|
|
catalina |
Apache |
|
|
|
jmx.jar |
|
|
catalina |
|
|
|
|
catalina.jar |
|
|
catalina |
|
|
|
|
naming-factory.jar |
|
|
catalina |
|
|
|
|
naming-resources.jar |
|
|
catalina |
|
|
|
|
servlets-default.jar |
|
|
catalina |
|
|
|
|
servlets-invoker.jar |
|
|
catalina |
|
|
|
|
servlets-webdav.jar |
|
|
catalina |
|
|
|
|
tomcat-ajp.jar |
|
|
catalina |
|
|
|
|
tomcat-coyote.jar |
|
|
catalina |
|
|
|
|
tomcat-http.jar |
|
|
catalina |
|
|
|
|
tomcat-util.jar |
|
|
catalina |
|
|
|
|
content |
|
|
|
|
|
|
|
lucene.jar |
|
content |
Apache 2.0 |
|
|
||
poi.jar |
|
content |
Apache 2.0 |
|
|
||
entity |
|
|
|
|
|
|
|
ofbiz-minerva.jar |
|
|
entity |
X license |
|
|
|
oswego-concurrent.jar |
|
entity |
X license |
|
|
||
jdbc/derby*.jar |
|
entity |
Apache |
|
|
||
jdbc/hsqldb.jar |
|
entity |
BSD |
|
|
||
jdbc/p6spy.jar |
|
entity |
Apache |
|
|
||
geronimo |
|
|
|
|
|
|
|
geronimo-transaction-1.0.jar |
|
geronimo |
Apache 2.0 |
|
|
||
jencks-1.1.3.jar |
|
geronimo |
Apache 2.0 |
|
|
||
guiapp |
|
|
|
|
|
|
|
XuiCoreSwing_v2_0_5_jdk1_4.jar |
|
guiapp |
MPL 1.1 |
|
It's now XPL but we don't have to worry it's a clone of MPL see https://sourceforge.net/forum/forum.php?thread_id=1378343&forum_id=261851 |
||
jetty |
|
|
|
|
|
|
|
ant.jar |
|
|
jetty |
Apache 2.0 |
|
|
|
jasper-compiler.jar |
|
|
jetty |
Apache |
|
|
|
jasper-runtime.jar |
|
|
jetty |
Apache |
|
|
|
org.mortbay.jetty.jar |
|
jetty |
Apache 2.0 |
|
Not needed? |
||
org.mortbay.jmx.jar |
|
jetty |
Apache 2.0 |
|
Not needed? |
||
pos |
|
|
|
|
|
|
|
jcl.jar |
Configuration and loading of device services developed to the JavaPOS architecture and standard |
pos |
|
|
|||
jpos18-controls.jar |
|
pos |
CPL |
|
Latest version is now 1.10 and the licence is CPL which is an OSS Apache-like license. The complete license is located at: http://oss.software.ibm.com/developerworks/opensource/license-cpl.html |
||
looks-2.0.2.jar |
JGoodies look&feels make your Swing applications and applets look better |
pos |
BSD |
|
|
||
service |
|
|
|
|
|
|
|
axis.jar |
|
service |
Apache |
|
|
||
axis-ant.jar |
|
service |
Apache |
|
|
||
wsdl4j.jar |
|
service |
CPL |
|
|
||
webapp |
|
|
|
|
|
|
|
DataVision.jar |
|
webapp |
Apache 1.1 |
|
|
||
EdenLib.jar |
|
webapp |
Apache |
Related to JPublish |
|
|
|
JPublish.jar |
|
webapp |
Apache |
|
|
||
MinML2.jar |
|
webapp |
BSD |
|
|
||
barcode4j-fop-ext-0.20.5-complete.jar |
|
webapp |
Apache 2.0 |
|
|
||
batik.jar |
|
webapp |
Apache 2.0 |
|
|
||
fop.jar |
|
webapp |
Apache 2.0 |
|
|
||
itext-1.3.6.jar |
|
webapp |
MPL 1.1 |
|
|
||
velocity-1.3.jar |
|
webapp |
Apache 2.0 |
|
|
||
velocity-dep-1.3.jar |
|
webapp |
Apache 2.0 |
|
|
Notes about Dependencies
The notes below should be used as a starting point to see if there are parts of the OFBiz codebase that we can put outside of the build process (i.e. that can be considered as plugins that are disabled by default).
EdenLib.jar
The EdenLib.jar is only used by two classes:
- org.ofbiz.webapp.view.GenericViewRenderer.java: this seems an old experiment and it doesn't seem to be used.
- org.ofbiz.webapp.ftl.FreeMarkerViewRenderer.java: after complete migration from JPublish (hey we are very near!!) we will not need this class anymore
Reports created using JasperReports
- manufacturing: ShipmentPlanStockReport
- manufacturing: ShipmentLabel
- manufacturing: ShipmentWorkEffortTasks
- order: orderreportjasper
- order: orderitemreportjasper
- product: ShipmentManifestReport
- webtools: JasperDemoPdf
- webtools: JasperDemoXml
The reports above need the following classes to work properly:
- org.ofbiz.content.report.JREntityListIteratorDataSource.java
- org.ofbiz.content.report.JRMapCollectionDataSource.java
- org.ofbiz.webapp.view.JasperReportsPdfViewHandler.java
- org.ofbiz.webapp.view.JasperReportsXmlViewHandler.java
And the above classes are the only ones that need jasperreports-1.0.2 jars.
Reports created using DataVision
- webtools: UomReport
The report above needs the following class to work properly:
- org.ofbiz.webapp.view.DataVisionViewHandler.java
And the above class is the only one that needs the DataVision jar.