I would like to propose that we consider changing the ModeShape license from LGPL 2.1 to the Apache Software License (ASL) 2.0., starting with the first alpha release of ModeShape 4.0. ModeShape 3.x would continue to remain under the LGPL 2.1. The primary reason I make this proposal is to reduce the barriers to adoption and contribution, and I think the (weak) copyleft of the LGPL does have more legal barriers for some users and contributors.
I encourage you to read the license texts; it may take some work, but this is the only way to truly understand what is required by or allowed by each license. But here are some highlights of both licenses (and remember that IANAL, and the license text supersedes any mistake on my part):
- The LGPL 2.1 is a weak-copyleft license (rather than the strong-copyleft GPLv2 or v3), which means that OSS and proprietary developers can build on top of ModeShape without having to open source their software under the same copyleft license. Thus ModeShape can absolutely be used in proprietary and open source software. However, should anyone wish to make their own changes to ModeShape (derivative works) and then distribute the modified ModeShape, those changes to ModeShape have to be released under the same LGPL license (or one that is less restrictive). The LGPL 2.1 did not have an inbound contribution clause, which required us to use a Contributor License Agreement (CLA).
- The ASL 2.0 is a permissive license, which means that OSS and proprietary developers can build on top of ModeShape without having to open source their software under the same copyleft license. Even under the ASL 2.0, ModeShape would be able to be used in proprietary and open source software. However, should anyone wish to make their own changes to ModeShape, those changes to ModeShape (derivative works) can be licensed under a more restrictive license. The ASL also has an inbound contribution clause that explicitly says that contributions submitted to ModeShape are licensed under the ASL 2.0.
Both licenses are OSI-approved, though the ASL 2.0 is more popular within the Java community, and is also the license for many of the dependencies that ModeShape 4.0 will use -- including Infinispan 6, JGroups 3.4 and later, Tika, Lucene, and quite a few others.
In summary, I think changing from LGPL 2.1 to ASL 2.0 would be beneficial for ModeShape. The new license would be more permissive license, no longer copyleft, and far more popular. I also think that forking is far less a concern now: we've tried very hard to be as open and accommodating as possible, while the codebase is relatively complex. However, the ASL might also make some users more comfortable that they have more options should the community stop being responsive.
What do you think about this proposal? Please respond whether or not you think it's a good idea -- or even if you don't care.