Verdigris: Qt without moc
woboq.com
woboq.com
But seeing that the CopperSpice version of an executable is 115mb vs 16mb with regular Qt and with Qt+Verdigris should make it clear this is "the way to go".
Personally I don't necessarily dislike moc so I won't be using it, but if you're really averse it seems nice enough.
Not sure if that's a requirement of CopperSpice or what, but I'm not sure we are comparing apples to apples in this case.
They actually go into this in the introduction of their CppCon '15 talk:
"CppCon 2015: Barbara Geller & Ansel Sermersheim “CopperSpice: A Pure C++ GUI Library"" https://m.youtube.com/watch?v=LIiwBNvTllk
I don't quite get it either - they appear afraid of the contributer agreement - but I don't get it. So what if a contribution ends up in a closed source product; it's not like they could revoke the rights to code already published; the worst that could happen is that the community would have to fork if/when the at project discontinued the free licenced part (see open solaris).
They claim to have cleaned up a lot of the code base by not involving moc.
I often find myself wishing that Nokia had licensed Qt under the MPL or a custom 'contribute back' license instead of the venomous LGPL. I don't think there's any other framework out there that does all the things Qt does for C++ devs and I'd use it for a lot more things if it had a more reasonable license. Its one thing to expect modifications back (which I complete agree with), but mandating how code can be linked and excluding closed platforms (embedded, mobile) are horrible terms to have to adhere to.
More FUD! LGPL is the best license from what you call 'contribute back'.
To be clear, I don't think anyone minds a civil discussion on the LGPL vs BSD licenses, as long as it's also factual. I wouldn't.
Most developers I know use the LGPL only because they want any improvements contributed back and not because they want to restrict linking or platforms. Plenty of LGPL libraries come with linking exceptions, and lots of devs don't even know about potential platform limitations.
Then you buy a commercial license. LGPL is serving it's purpose here just fine. Somebody has to pay for development. This is the incentive.
In the original announcement for LGPL as a license option:
"Adding LGPL version 2.1 will greatly increase adoption of Qt across Windows, Linux, embedded Linux, Mac, S60, Windows CE, maemo, and Ovi web services. Having a larger number of users, including Nokia developers, providing feedback and contributions will help Qt remain a cutting edge, robust UI and application framework."
To me it seems like the intent was to increase adoption (including in embedded and mobile), but after the recent Digia/Qt Company corporate changes you can tell there's been a shift in the way the LGPL is interpreted. For example, before they had guidelines on their wiki (back when qt-project was still around) on LGPL compliance for mobile platforms that basically said 'Android was okay'... but now if you look at their new guidelines on qt.io after they changed everything, they are pushing for commercial license adoption. I'm pretty sure that was the motivation behind the LPGLv2 -> v3 change as well.