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

Frequently Asked Questions - Licensing

Metawidget (LGPL)

Metawidget is Free Software.

Metawidget is licensed under the LGPL. The LGPL is sufficiently flexible to allow the use of Metawidget in both open source and commercial projects. The LGPL guarantees that Metawidget and any modifications made to Metawidget will stay open source, protecting our and your work. Anyone who wanted to release Metawidget under a different license would have to obtain permission from everybody who has contributed code to Metawidget, which would be impractical. Metawidget is and will be open source distributed under the LGPL.

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 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. The LGPL also forbids distribution for profit, so you will never have to pay money to any commercial entity for using Metawidget.

If you modify Metawidget and redistribute your modifications, the LGPL 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

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.

Metawidget Examples (BSD)

The Metawidget Examples are Free Software.

They are licensed under the BSD 2-Clause License. This 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 licensed under LGPL (see above).