KNIME Open Source Story

KNIME Open Source and Licensed Software

In early 2004 at the University of Konstanz, a team of developers from a Silicon Valley software company specialising in pharmaceutical applications started working on a new open source platform as a collaboration and research tool. Because it was clear from day one that this product would have to process and integrate huge amounts of diverse data, the developers adhered to rigorous software engineering standards to create a robust, modular, and highly scalable platform encompassing various data loading, transformation, analysis and visual exploration models. When the first version of KNIME was released in 2006, several pharmaceutical companies began using it and, soon thereafter, software vendors started building KNIME-based tools.

Today, KNIME users can be found in large-scale enterprises across a wide range of industries including life sciences, financial services, publishers, Retailers and E-tailers, manufacturing consulting firms, government and research – in over 50 countries.

 

KNIME: a solid, robust, open source platform

A true open source development, KNIME is written in Java and based on Eclipse, the open source multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system.

KNIME.com AG, the parent company of KNIME, firmly believes in open source and the power of the community. Our philosophy is to keep available an open source version containing all functionality that any individual might require and to continue delivering extended functionality through our own work and that of the community. Unlike other open source products, KNIME Desktop is not a cut-down version and there are no artificial limitations, such as machine processing size or numbers of data rows: If you have enough hard disk and memory, you can run projects with hundreds of millions of rows, as some KNIME users currently do.

KNIME Desktop is released under an Open Source GPLv3 license with an exception that allows others to use the well-defined node API to add proprietary extensions. This also permits commercial software vendors to add wrappers so that their tools can be executed from within KNIME. That makes KNIME available to everyone. Period.

 

But KNIME.com AG also licenses KNIME as commercial software. What is the difference?

Many organizations require technical support and a controlled release environment before introducing software into their production environments. KNIME Professional is designed just for that. Not just an extension of the open source KNIME Desktop, it IS the version. However, KNIME Professional versions are labelled “beta” and “full production” in order to assist IT organizations in their planning for upgrading their KNIME users. Furthermore, KNIME Professional customers receive full technical support as well as priority consideration regarding enhancement requests.

Some organizations require functionality that allows them to productionise KNIME, such as the sharing of data and workflows, security features, APIs for other applications to call KNIME, and advanced use of clustering. To this purpose, KNIME.com AG offers a series of licensed commercial products which include professional support: KNIME Team Space, KNIME Server and KNIME Cluster. These enterprise features are additions and extensions to underlying KNIME.

For the commercial KNIME products, a yearly license fee is collected. We feel this arrangement keeps us honest: We need to keep delivering you the software and support you require so that you provide us the income we depend on. We are a software company, not a consultancy, and over 90% of our revenue comes from software licenses. We intend to keep it that way.

That is why our partner network is so important. Organizations do require consultancy at times, and our qualified partner network ensures that KNIME resources are available – another aspect of “open source community” that is important to us.

We do make one consultancy exception: If a customer urgently requires a KNIME feature or functionality that is not currently on our priority list, we allow companies to hire us to get that functionality into the product as soon as possible. Generally, we then make this new functionality available on the open source platform so that ALL organizations can take advantage of it.

As Michael Berthold, CEO of KNIME AG says “We feel strongly about open source and customers have confirmed that our approach is honest, open and fair. It is definitely the foundation that allows us to continue to grow so successfully.”

KNIME Open Source License

Starting with Version 2.1, KNIME is released under the GNU General Public License, Version 3 (including certain additional permissions according to Sec. 7 of the GPL Ver. 3). It is also available - through the dual licensing model - under customized licenses. If you which to receive KNIME under a different license than the GPL, please contact us at contact [at] knime [dot] org to discuss licensing arrangements.

The detailed open source license is available here!

A summary of the license follows, but please note that only the actual terms and conditions of the GNU General Public License, Version 3, linked to above, govern your rights to use KNIME. This summary is provided for your convenience and you should consult your own lawyers to confirm this interpretation.

KNIME Open Source License in a Nutshell:

You can download KNIME and use it (run it) without any restrictions (but be aware that THERE IS NO WARRANTY FOR THE PROGRAM and that KNIME IS NOT LIABLE). You may copy and distribute KNIME unmodified, without restrictions. If you want to change KNIME, then you should read the details of the license. If you want to develop new nodes for KNIME, and you do this the standard way (by extending the classes NodeModel, NodeDialog, and/or NodeView), you can release those nodes under any license you may choose. (The additional permissions according to Sec. 7 of the GPL clarify that these nodes are not derivative work of KNIME and are not infected by the GPL).

KNIME is a bundle containing Eclipse Software licensed under the Eclipse Public License (EPL) and separate KNIME plug-ins licensed under the General Public License (GPL), Version 3 (including certain additional permissions according to Sec. 7 of the GPL). Please see the license notices in the source files and the LICENSE files in the respective folders for more detailed information on the applicable license terms.