Access to add and change pages is restricted. See: https://cwiki.apache.org/confluence/display/OFBIZ/Wiki+access

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

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

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-cli.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-codec.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-collections.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-dbcp.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-digester-1.7.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-discovery.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-el.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-fileupload.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-lang-2.1.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-logging.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-modeler.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-pool.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-primitives.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-vfs.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

commons/commons-vfs-providers.jar

 

http://jakarta.apache.org/commons

base

Apache 2.0

 

scripting/bsf.jar

 

http://jakarta.apache.org/bsf/

base

Apache 2.0

 

scripting/bsh.jar

 

http://www.beanshell.org

base

SPL(Sun)/LGPL

 

scripting/jython-nooro.jar

 

http://www.jython.org

base

license

 

scripting/oro.jar

 

http://jakarta.apache.org/oro

base

Apache 2.0

 

Tidy.jar

 

http://jtidy.sourceforge.net/index.html

base

W3C License

 

Not used?

ant.jar

 

http://ant.apache.org

base

Apache 2.0

 

ant-launcher.jar

 

http://ant.apache.org

base

Apache 2.0

 

avalon-framework-4.1.5.jar

 

http://avalon.apache.org

base

Apache 2.0

 

avalon-util-exception-1.0.0.jar

 

http://avalon.apache.org

base

Apache 2.0

 

freemarker.jar

 

http://www.freemarker.org

base

BSD

 

j2eespecs/geronimo-activation_1.0.2_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-j2ee-connector_1.5_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-javamail_1.3.1_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-jaxr_1.0_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-jaxrpc_1.1_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-jms_1.1_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-jsp_2.0_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-jta_1.0.1B_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-qname_1.1_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-saaj_1.1_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

j2eespecs/geronimo-servlet_2.4_spec-1.0.jar

 

http://geronimo.apache.org/

base

Apache 2.0

 

httpunit.jar

 

http://www.httpunit.org

base

BSD  license

 

icu4j_3_4.jar

 

http://icu.sourceforge.net

base

X License

 

jakarta-regexp.jar

 

http://jakarta.apache.org/regexp

base

Apache 2.0

 

javolution.jar

 

http://www.javolution.org

base

BSD  license

 

jdbm.jar

 

http://jdbm.sourceforge.net

base

BSD (JDBM LICENSE v1.00)

 

junit.jar

 

http://www.junit.org

base

CPL 1.0

 

junitperf.jar

 

http://www.clarkware.com/software/JUnitPerf.html

base

BSD

 

log4j.jar

 

http://logging.apache.org/log4j

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

 

http://lucene.apache.org

content

Apache 2.0

poi.jar

 

http://jakarta.apache.org/poi

content

Apache 2.0

entity

ofbiz-minerva.jar

 

 

entity

X license

oswego-concurrent.jar

 

info

entity

X license

jdbc/derby*.jar

 

http://db.apache.org/derby/

entity

Apache

jdbc/hsqldb.jar

 

http://www.hsqldb.org

entity

BSD

jdbc/p6spy.jar

 

http://www.p6spy.com/

entity

Apache

geronimo

geronimo-transaction-1.0.jar

 

http://geronimo.apache.org/

geronimo

Apache 2.0

jencks-1.1.3.jar

 

http://jencks.org/

geronimo

Apache 2.0

guiapp

XuiCoreSwing_v2_0_5_jdk1_4.jar

 

http://sourceforge.net/projects/xui/

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

Duplicated?

jasper-compiler.jar

 

 

jetty

Apache

Duplicated (catalina)

jasper-runtime.jar

 

 

jetty

Apache

Duplicated (catalina)

org.mortbay.jetty.jar

 

http://jetty.mortbay.org/jetty/index.html

jetty

Apache 2.0

Not needed?

org.mortbay.jmx.jar

 

http://jetty.mortbay.org/jetty/index.html

jetty

Apache 2.0

Not needed?

pos

jcl.jar

Configuration and loading of device services developed to the JavaPOS architecture and standard

http://sourceforge.net/projects/jposloader

pos

CPL

jpos18-controls.jar

 

JavaPOS see also POSTest

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

JGoodies

pos

BSD

 

service

axis.jar

 

http://ws.apache.org/axis see also

service

Apache

axis-ant.jar

 

http://ws.apache.org/axis

service

Apache

wsdl4j.jar

 

http://sourceforge.net/projects/wsdl4j

service

CPL

webapp

DataVision.jar

 

http://datavision.sourceforge.net

webapp

Apache 1.1

EdenLib.jar

 

http://edenlib.sourceforge.net

webapp

Apache

Related to JPublish

JPublish.jar

 

http://sourceforge.net/projects/jpublish

webapp

Apache

MinML2.jar

 

http://www.wilson.co.uk/xml/minml2.htm

webapp

BSD

barcode4j-fop-ext-0.20.5-complete.jar

 

http://barcode4j.krysalis.org

webapp

Apache 2.0

batik.jar

 

http://xml.apache.org/batik

webapp

Apache 2.0

fop.jar

 

http://xmlgraphics.apache.org/fop

webapp

Apache 2.0

itext-1.3.6.jar

 

http://sourceforge.net/projects/itext

webapp

MPL 1.1

velocity-1.3.jar

 

http://jakarta.apache.org/velocity

webapp

Apache 2.0

velocity-dep-1.3.jar

 

http://jakarta.apache.org/velocity

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.

  • No labels