I am evaluating SmartClient for use in an upcoming project. The licensing is a little unclear to me. I understand the LGPL but the source files seem to say that I cannot modify or distribute them. I will almost certainly need to modify the source code at some point. Is this allowed or not? is there a link to something that will clarify this?
Announcement
Collapse
No announcement yet.
X
-
SmartClient is available under two licenses - commercial or LGPL. If you've downloaded the Eval, you're looking at the commercial source notices. If you download the LGPL edition, the notice talks about the LGPL instead.
You can modify code under the LGPL, you just have to make those modifications public, under the LGPL.
While there are millions of users of SmartClient LGPL, we are not yet aware of even one that has decided to publish using a modified version of SmartClient LGPL. This is because:
1. there is almost never a reason to modify the base software itself
2. if you start using your own version of SmartClient LGPL, you have effectively forked, so you no longer get updates as the original SmartClient LGPL moves rapidly forward
-
I downloaded the LGPL version and all of the source files I have looked at in the smartclientSDK directory have this in the header:
DEVELOPMENT ONLY - DO NOT DEPLOY
This software is provided for evaluation, training, and development
purposes only. It may include supplementary components that are not
licensed for deployment. The separate DEPLOY package for this release
contains SmartClient components that are licensed for deployment.
I am still just trying to sort out how things are organized and which files I can and can't change if it is ever needed. Hopefully I will never need to change anything, but I still need to understand my options if it comes up.
Comment
-
We really appreciate the humility you've shown - most people, upon encountering any ambiguity, confidently tell us that clearly something has been messed up, even if it's not true!
Rest assured, the LGPL version is as advertised: you can use that code under the LGPL (as the main license file says, and as we say on our website, and in many other places).
That code is also, at the same time, our copyrighted material, and that's why the notice is there. That can be confusing, but basically, the idea is that we are giving the code away under the LGPL, but we can also offer that code under different licenses, where we make certain additional guarantees (like if some patent troll comes after you, we help).
We're taking a look at how to clarify the license information in the files.
In the meantime, we look forward to seeing whatever you might build. Just keep in mind that, if you find a reason to make modifications to the core source rather than just add your own extensions, if your modifications are general-purpose (like bug fixes), usually, the best approach is just to contribute them back to the core source base. That means that whatever you've fixed becomes part of the core SmartClient framework, so you don't have to maintain your own version, or worry about your changes breaking over time.
Thanks!
Comment
Comment