Metawidget is proudly: Open Source (OSI) Friend of the JBoss Community Open Invention Network

Frequently Asked Questions - Licensing

Metawidget is licensed under both the LGPL/EPL and a commercial license.

Metawidget (LGPL/EPL)

Metawidget may be used under the terms of either the GNU Lesser General Public License (LGPL) or the Eclipse Public License (EPL). As a recipient of Metawidget, you may choose to receive it under either the LGPL or the EPL.

Both the LGPL and EPL are weak copyleft licenses. They are sufficiently flexible to allow the use of Metawidget in both open source and commercial projects. They guarantee that Metawidget and any modifications made to Metawidget will stay open source, protecting our and your work.

Using Metawidget (by importing Metawidget's public interfaces in your code) and extending Metawidget (by subclassing or implementation of an extension interface) is considered by the authors of Metawidget to be dynamic linking. Hence our interpretation of the LGPL/EPL is that the use of the unmodified Metawidget source does not affect the license of your application code.

The use of the unmodified Metawidget binary of course never affects the license of your application or distribution. For example, you can distribute a commercially licensed application that includes the LGPL/EPL Metawidget binary.

If you modify Metawidget and redistribute your modifications, the LGPL/EPL applies. This cannot be avoided simply by attaching a different source file header and/or providing proper attribution (i.e. a statement clarifying the code is modified from the original). Rather, you must pursue one of the following options:

  1. You work to have your modifications integrated back into the original code base (please submit them to our issue tracker)
  2. We work to add sufficient hooks that you can subclass the originals and override methods
  3. You switch to a commercial license

Option 1 can be problematic for the following reasons:

  • Your modifications may be confidential, so you don't want to open source them
  • We may feel your modifications are not acceptable to integrate. For example, they may introduce third-party dependencies or have insufficient unit tests. If they are not accepted, you cannot continue to use your modifications. It is not sufficient just to have submitted them. Rather, you would need to refactor your modifications from the rest of your code base, open source them, and host them in a public repository (see the Genuitec/Hibernate incident)

Option 2 is cleaner in most circumstances, and what we have done for other clients. Please consider taking out a small commercial support package and we can make the required changes within that time frame.

For option 3, see below.

Metawidget (commercial)

Some organizations have policies against the use of Open Source software. For those scenarios, commercial licenses are available for most portions of Metawidget. The commercially licensed portions are the exact same code, but can be used without any of the obligations of the LGPL/EPL.

For more details on commercial licensing, please contact us.

Metawidget Examples (BSD)

The Metawidget Examples are Free Software.

They are licensed under the BSD 2-Clause License (also know as the "Simplified BSD License" or "FreeBSD License"). This is a permissive license. It allows redistribution and use in source and binary forms, with or without modification. You can freely copy code from the examples, modify it and redistribute it. This is not the case for Metawidget itself, which is dual licensed under both the LGPL/EPL and a commercial license (see above).