IP clearance

The former code base of OpenOffice.org used several external libraries and code with incompatible licenses (see also Third-Party Licensing Policy) that cannot be longer used in the Apache Open Office project or at least not in the same way. A first overview of critical stuff can be found on the "Migration" page in the community wiki. This page is intended to document the ongoing work of the IP clearance in more detail but still high-level.

The process will be redefined and improved over time and in the end we will end up with an automated process using the Apache Release Audit Tool (RAT) to ensure that we have always a clean code base for Apache Open Office.

The licenses are color coded according to their category on Third-Party Licensing Policy:

Category A License

,

Category B License

and

Category X License

Contributors are encouraged to file issues for the intrinsic code changes. Issue 118566 exists as a parent issue for the 3rd party component removal tasks. Please add such issues as blocking issues to issue 118566.

The impact of removed or replaced libraries to the released OpenOffice is detailed here.

Priority

Task

Impact

Migration Path

Details, Comments

Relevant libraries
and licenses

Volunteers,
Status

1

Clarify legal usage of Category B (eg MPL) libraries

relevant for many critical libs

If allowed, upstream patches where possible and use binaries

Binary builds of libraries can be shipped with binary release of AOO.
Source code of libraries can remain on an Apache server but (like ext_sources of old OOo.)
BUT

  • source code of libraries is not shipped in a source release of AOO
  • instead it can be downloaded and built during bootstrap, but only when developer uses a configure option that is off by default

 

Done

 

Clarify usage of GNU cp, GNU patch, GNU tar

Used during the build process

Native CP

Searching the mailing list archive reveals that GNU cp is a prerequisite for the FreeBSD's port.

No problem regarding IP clearance - see ooo-dev post. It is only used during the build.

Some work was done to mitigate the issue on BSD. In the long-run we should avoid its usage.

 

pfg, orw

Solved

 

List of files where it seems that the copyright owner is not Oracle
but the license probably is compatible with the ASL - http://ooo-wiki.apache.org/wiki/ApacheMigration/Permissive

 

NOTICE file

clarify status of these files
See wiki – ApacheMigration

 

Done

but it would be good to check thirdpartylicense.html

 

List of files where it seems that the copyright owner is not Oracle
but the license probably is not compatible with the ASL - http://ooo-wiki.apache.org/wiki/ApacheMigration/GPL

 

libegg removed. autoconf stuff is OK'd by legal.

clarify status of these files
See wiki ApacheMigration

 

Done

AF may review

1

Regexp

Required for all searches in Writer/Calc/Impress/Help

ICU regexp

A heavily modified LGPL regexp library was replaced by ICU regexp

 

HDU

Done

1

dmake

Used during the build.

Use as an external package until we replace it with system gmake.

moving outside trunk SVN directory. Thus, everything under trunk can be our source release

main/dmake

GPL

af: done - 118604

1

translations

Essential for localization

None

Are these included in SGA?
They are now part of the SGA, see oracle-sga-2-txt

 

jsc: done

1

Clarify usage of boost

Used all over the place especially for smart pointers, extensive use in module canvas

 

clarify if license can be used under Apache
boost is widely used in the source code

Corresponding JIRA issue, found here, has been solved - Boost Software License Version 1.0 is now been classified as category A

boost_1-39_0.tar.gz

Boost Software License Version 1.0

solved

1

Clarify usage of Oracle Berkeley DB

Used in modules l10ntools, xmlhelp and desktop

l10ntools: removal of 'dead code' using Berkeley DB
xmlhelp: code using Berkeley DB is also more or less 'dead' and can be removed
desktop: replacement already available

Not usable in Apache due to license - corresponding JIRA issue, found here

db-4.7.25.NC-custom.tar.gz

Open Source License for Oracle Berkeley DB

done


hdu, orw
118662

2

idlcpp

IDL Compiler

ucpp

Underlying and used code (lcc) has a problematic license. The used code will be replaced by a different preprocessor ucpp with an Apache compatible license (BSD). Related issue 118568.

  • ucpp evaluated -

    done

  • idlc changed to use ucpp -

    done

  • new module for ucpp created (md5 marked download file in ext_source patch for makefile build works) -

    done

  • tested on Windows building udkapi and offapi -

    done

  • testing on Linux building udkapi and offapi - open
  • testing on MacOS building udkapi and offapi -

    done

ucpp

new BSD license

jsc: done

2

dictionaries

Required for spell checking

None

Can we have dictionaries be installed by users as extensions?

Can some dictionaries be contributed by original authors under ALv2?

 

af: done - 118636

2

replace svg (LGPL) support

Used for the important Ooo3.4 feature: SVG support

parsing SVG directly and converting it to primitives

figure out the dependent office functionalities
Replacement for librsvg and cairo

three options:

1) Deactivate
2) Replace with Java renderer
3) Write our own SVG import in C++

librsvg-2.32.1.tar.gz

LGPL


libcroco-0.6.2.tar.gz

LGPL


libgsf-1.14.19.tar.gz

LGPL


cairo-1.8.0.tar.gz

LGPL

MPL


pixman-0.12.0.tar.gz

MIT


pango-1.28.3.tar.gz

LGPL

, parts Freetype License

ALG

solved by removing:
-librsvg
-libcroco
-libgsf
-gdk-pixbuf
-glib
-gettext
-pango
in task #i118466#
(replacement in preparation)

2

replace neon (LGPL)

Used for HTTP file access and WEBDAV support

serf (AL2)

it is more or less a MUST; related issue 118569.

replacement with serf in progress

neon-0.29.5.tar.gz

LGPL

jsc

removed - 118584


replace - 118569

2

3rd party/external library cups

Used for integrating into the print system on Unix

Using the system provided cups functionality. // This should be off by default

CUPS headers are still required by configure. Is this OK?

cups-1.1.19.tar.gz

GPL & LGPL with exceptions for Apple

af
external lib cups-1.1.19.tar.gz not used (anymore?)

but the system provided CUPS headers and libraries

2

3rd party/external library lp_solve

Used by Calc's goal based linear-programming solver

CoinMP (EPL)

 

lp_solve_5.5.tar.gz

LGPL

removed - 118567

2

3rd party/external library openssl

Used for libcurl and as an eventual migration path of LGPL NSS

Already Apache approved?
an optional PKCS11 support needs a seperate review

 

openssl-0.9.8l.tar.gz

OpenSSL License, SSLeay License (both BSD style)

Category A license: nothing to do

3

fix copyright/license statements in i18npool for the data files based on ICU.
There are missing/unclear copyright/license headers.

Used by line breaking
spell checking
word counting
word selection
etc.

 

Main part of these files are covered by Oracle's SGA - see oracle-sga-2-txt

Missing are the data files in folder i18npool/source/breakiterator/data/ which have IBM copyright header. These need to get proper license text.
As these are files are taken from ICU and are adapted to OOo needs, it is worse looking for new ones from ICU.

proper license information is now available in this folder

 

done


orw

3

clarify status of library files used for tests

check license compatibility
and the need for the binaries

None

see wiki – ApacheMigration:

  • VBasicEventListener
  • connectivity

 

hdu

solved: binaries not needed and removed

4

3rd party/external library mysql-connector

Used by Base for connecting to MySQL data bases

None

 

mysql-connector-cpp.zip

GPL

af: removed - 118594

5

3rd party/external library epm

Used during the build process on Unix

Using the system provided packaging tools

epm is made as prerequisite and we have to use a version 3.7 with our patches. In the future we will analyze the packaging process and will change it to work with an unpatched system epm or we find an alternative.

epm-3.7.tar.gz

GPL

jsc

done - 118605

5

3rd party/external library glibc

getopt() and readdir_r() for Windows

Reimplementation

 

glibc-2.1.3-stub.tar.gz

LGPL

af: removed - 118595

5

3rd party/external library javamail

none as Java Mail is not used by mail merge

 

removing unnecessary strings and help content - issue 118572

javamail-1_3_1.zip

orw

Solved - nothing to do regarding IP clearance

5

3rd party/external library xpdf

Used by PDF import extension

Apache PDFBox or eventually native parsing of PDF

 

xpdf-3.02.tar.gz

GPL

af: removed - 118592

6

3rd party/external library gentiumbasic-fonts

A useful set of high quality fonts for e.g. templates

None

 

gentium-basicfonts.1.10.zip
SIL OpenFont License

similar to GPL

af: removed - 118600

6

3rd party/external library liberation-fonts

A useful set of high quality fonts, mostly equivalent to those from MS.

Chrome OS has replacement fonts (Tinos, Arimo and Cousine) under OFL.

 

liberation-fonts-ttf-1.06.0.20100721.tar.gz

GPL

af: removed - 118600

6

3rd party/external library gettext

Used by GTK integration and testautomation

GTK: none
testautomation: rewrite without gettext

 

gettext-0.18.1.1.tar.gz

GPL

ALG: solved by removal with SVG in #118466#

6

3rd party/external library glib

Used by GTK integration

Use system provided functionality

 

glib-2.28.1.tar.gz

LGPL

ALG: solved by removal with SVG in #118466#

6

3rd party/external library libwpd

Used for WordPerfect import/export

None

Default is that this filter is now disabled and removed but it can be built with a system available libwpd (0.8.x). It would be also possible to create an extension and provide it separately if anybody takes care of this.

libwpd-0.8.8.tar.gz

LGPL

jsc

removed - 118587

6

3rd party/external library swingEx

Used by scripting frameworks Javascript support library

None

 

swingExSrc.zip

af: done - 118612

8

3rd party/external library
Core

Used by report builder extension

None

 

core.zip

LGPL

removed - 118573

8

3rd party/external library
flow-engine

Used by report builder extension

None

 

flow-engine.0.9.4.zip

LGPL

removed - 118573

8

3rd party/external library libxml

Used by report builder extension

None

 

libxml-1.1.7.zip

LGPL

removed - 118573

8

3rd party/external library
libbase

Used by report builder extension

None

 

libbase-1.1.6.zip

LGPL

removed - 118573

8

3rd party/external library
libfonts

Used by report builder extension

None

 

libfonts-1.1.6.zip

LGPL

removed - 118573

8

3rd party/external library
libformula

Used by report builder extension

None

 

libformula-1.1.7.zip

LGPL

removed - 118573

8

3rd party/external library
liblayout

Used by report builder extension

None

 

liblayout-0.2.10.zip

LGPL

removed - 118573

8

3rd party/external library
libloader

Used by report builder extension

None

 

libloader-1.1.6.zip

LGPL

removed - 118573

8

3rd party/external library
librepository

Used by report builder extension

None

 

librepository-1.1.6.zip

LGPL

removed - 118573

8

3rd party/external library
libserializer

Used by report builder extension

None

 

libserializer-1.1.6.zip

LGPL

removed - 118573

8

3rd party/external library
flute

Used by report builder extension

None

 

flute-1.1.6.zip

LGPL

removed - 118573

8

3rd party/external library
gdk-pixbuf

Used by AVMedia for Video playback

None

 

gdk-pixbuf-2.23.0.tar.gz

LGPL

MPL

ALG: solved by removal with SVG in #118466#

8

3rd party/external library
Cppunit

Used for automated unit testing

 

 

cppunit-1.12.1.tar.gz

LGPL

af: done, committed - 118608

8

External images
Crystal Icons, Oxygen and Tango Icons

Used by X11/unix: KDE and Gnome

Use existing icon set (for example Galaxy)

 

ooo_crystal_images-1.tar.gz

LGPL


ooo_oxygen_images-2009-06-17.tar.gz

GPL

pfg: removed - 118613

9

xmerge/source/activesync/BIN/xmergesync.dll

Integration with Nokia WordProcessor
Writer2Latex
PocketPC Calc

 

clarify status of these file
see wiki – ApacheMigration

 

af: resolved
this is not an ip problem, just a dll that has been checked in

The following libraries have a

category B License

:

Library

License

Details, Comments

seamonkey-1.1.14.source.tar.gz

MPL

Used for providing NSS, LDAP, and address book integration
We already support alternative openldap.
Address book support uses Mozilla XPCOM to communicate with drivers and Mozilla libraries to access Thunderbird address book. Details
Can we upstream our patches?

hunspell-1.2.9.tar.gz

LGPL

MPL

Used for spell checking

hyphen-2.7.1.tar.gz

LGPL

GPL

MPL

Required for language specific hyphenations

nss-3.12.6-with-nspr-4.8.4.tar.gz

MPL

Used for loading and saving of signed and encrypted documents and the related certificate and key management
possible alternative: openssl
NSS key management is not replaceable without the user being required certificate and key management
figure out the dependent office functionalities
already known: xmlsecurity and AES encryption

silgraphite-2.3.1.tar.gz

CPL

GPL

LGPL

Used for complex text layout of minority scripts

source-9.0.0.7-bj.zip (saxon)

MPL

Used for XML transformations from and to some file formats of minor importance
e.g. Tex
posssible alternative: Apache Xalan

stax-api-1.0-2-sources.jar (StAX)

GPL

CDDL

Used along with Saxon but apparently only on older versions of Java
New StAX releases seem to be under AL2.

rhino1_7R3.zip

MPL

Used by scripting framework for JavaScript support.

bsh-2.0b1-src.tar.gz (BeanShell)

LGPL

SPL

Used by scripting framework
BeanShell will be relicensed under AL2.

  • No labels

2 Comments

  1. how did you test the new module of ucpp on windows,linux,and MacOs?

    1. building it and the changes in idlc on all platforms and then building udkapi and offpai from scratch