Kettle contains a rich set of data integration functionality that is exposed in a set of data integration tools. However, you can also use Kettle as a library in your own software and solutions. The re-use of other software is typical for open source software. It allows you to stop re-inventing the same wheel time and again. In this chapter we explain the license that makes this possible. Then we introduce you to the finer points of integrating Kettle in your own Java software. We start at a high level with a few examples from Kettle usage in the rest of the Pentaho software stack. For each example, we explain how you can perform a similar integration with the Kettle Java API. We also explain how you can parameterize and customize the Spoon user interface. We finish off with a few words about forking.
In this section, we take a look at what makes Kettle popular as an API. We explore the consequences of the LGPL license that comes with the Kettle software and provide a number of examples of the Kettle API.
When the development team agreed to make Kettle an open source product, they decided to use the Lesser GNU Public License, or LGPL, (
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html). This license fell somewhat out of the good graces of the GNU and Free Software Foundation (FSF) folks for the same reason that it was selected in the first place: The LGPL license allows you to link proprietary (closed source) code without ...