6 ms·
If you want to have a multi platform (desktop) app, the only decent (imo) framework is QT. So now your app is either GPL or you fork something like 5 grands ..
by jmnicolas 6y ago
If you want to have a multi platform (desktop) app, the only decent (imo) framework is QT.
So now your app is either GPL or you fork something like 5 grands ...
- pjmlp 6y agoYeah, lets not pay the others for the fruits of their labour.
- beojan 6y agoIt would be misleading to call Qt the fruits of the labour of (the current) Qt Company. It is licensed under the LGPL though (however much its current owners may want to change this, they can't because of the KDE Free Qt agreement), which means you don't have to pay. All you have to do is dynamically link to the library instead of statically linking.
- pjmlp 6y agoIt is surely more than those leeching Qt for their own projects. The major contributors for Qt have always been the same regardless of the legal name of Qt owner. It is quite easy decision process, don't want to pay for Qt's development, use LGPL and GPL variants earn as much money as one is willing to give upstream. Decide to go commercial, then pay accordingly upstream.
- beojan 6y agoI think you misunderstand me, I think the LGPL is a perfectly good license for Qt and I have little sympathy for those who aren't willing to abide by it (not least because Qt is a rather large library, and there's no excuse for every application to load its own copy). > Decide to go commercial, then pay accordingly upstream. Hmm. The commercial license actually prohibits starting development under one of the open source licenses then switching to commercial. If you start under an open source license, you'll need to abide by the LGPL if you decide to go closed source (and of course what you've already released remains open source).
- jmnicolas 6y ago5 grands is twice my yearly disposable income. Yeah let's go into debt for my side projects.
- josefx 6y agoThe small business license is $499 and you only have to pay that if you want to statically link against QT without dealing with the LGPL. Dynamic linking Qt is the default, costs $0 and doesn't incur the wrath of the LGPL.
- jmnicolas 6y agoThanks, I didn't know that. I looked at QT 4 or 5 years ago and dismissed too quickly apparently. Wasn't there talks about ending the lgpl version ? I thought I read somewhere that KDE devs were quite worried.
- josefx 6y agoThere are agreements with kde that prevent the Qt company from outright dropping free licenses: https://kde.org/community/whatiskde/kdefreeqtfoundation.php https://kde.org/community/whatiskde/kdefreeqtfoundation.php As far as I can tell from that the LGPLv3 seems to be required under the current terms of the agreement.
- michaelsbradley 6y agoStatic linking also costs $0 if you comply with the terms of the LGPL: https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDyn... Note that does not necessarily require “your code” to be/come open source.
- mmargerum 6y agoIs that $499 per platform? I'm using Lazarus right now (after QT sticker shock). It's pretty good and free. I rather like object pascal. TMS has a webcore product that runs out of Visual studio (non free) which is also object pascal and generates an html/js SPA. i'm not affiliated with them at all. Just a fan.
- coldtea 6y agoPeople don't automatically deserve payment for the "fruits of their labour". Only if you use it and can't find a better/cheaper alternative. What the parent suggested was not using QT and not paying the company that makes it, but that its price makes it unusable for their purposes. (Now, that might have been based on a misunderstanding of the licensing involved, but ignoring that, the point still stands. If one had to pay $5000 for a GUI library, and one didn't have $5000, then one could look elsewhere...).
- pjmlp 6y agoExcept that look elsewhere seems to be understood as free beer around here. $5000 is not the price for small developers by the way.
- oehtXRwMkIs 6y agoIt's lgpl
- jchw 6y agoQt switched to LGPL over a decade ago! So this is not true, even if Qt company tries to make it seem like it is.
- millstone 6y agoIf you want to build a good cross platform app, create some shared core and then separate, platform-specific UIs on top of it, using each platform's native capabilities.
- tonyedgecombe 6y agoThis is the conclusion I came to after trying various cross platform tools. There is no shortcut to creating a good user interface.
- pkphilip 6y agoI would argue that Lazarus is a lot better than Go + QT on many counts - including the fact that it is completely free and you don't have to get an expensive QT developer license. Think Visual Basic but cross-platform, with a much better language and component architecture. You can develop non-trivial apps in hours rather than days. The IDE is here: www.lazarus-ide.org Why Lazarus? * Has a proper Rapid Application Development (RAD) IDE with visual layout, event handlers, component tool bars etc and also built in documentation * Extremely fast to develop on: The IDE starts in a couple of seconds. Compilation to native binaries in seconds. * Cross Platform - Windows, Linux, Mac OS and perhaps even Android * Binaries are really fast * Excellent set of visual components * Excellent set of database components including grids, CRUD toolbars etc * You can write your own components very easily. * Very small executable * Most Delphi documentation is directly usable * Many existing products use Lazarus https://wiki.freepascal.org/Projects_using_Lazarus https://wiki.freepascal.org/Projects_using_Lazarus * Demos and projects here: https://www.getlazarus.org/ https://www.getlazarus.org/
- jchw 6y agoLazarus is fine and good, but what does it have to do with writing UIs for Go apps? Can you integrate Delphi/Lazarus code together with Golang code in some meaningful way?
- R0b0t1 6y agoYes? It supports different calling conventions. Easiest would be exporting things cdecl from Go. But usually the better way to do this is to write the UI in FreePascal (or something else) and use some form of IPC like pipes or network sockets to get the data to the UI. I've actually done this, it works well, and the Lazarus GUI libraries manage to get a natural look and feel on all platforms.
- UnnoTed 6y agohttps://github.com/ying32/govcl/blob/master/README.en-US.md https://github.com/ying32/govcl/blob/master/README.en-US.md