3 ms·
whenever I do native (native as in, compiled without going through some bytecode / VM / interpreter ...) apps for mac / windows / linux I don't have to do any o
by jcelerier 2y ago
whenever I do native (native as in, compiled without going through some bytecode / VM / interpreter ...) apps for mac / windows / linux I don't have to do any of this, I just use Qt
- 01HNNWZ0MV43FF 2y agoBut then you have to use c++ or Python, and figure out a good way to ship 10 dlls
- BearOso 2y agoYou can static-link in all of Qt. Just build Qt yourself. It can strip out all the things you don't need, even symbols from the libraries you do use, so your binary isn't going to be that big.
- mococa 2y agoI do not think it is possible to have a commercial application, you have to pay Qt’s license.
- Arnt 2y agoNah. But do it. You just have to open your source, that part which depends on Qt. It's not a real problem. But get a commercial license anyway, the cost is small compared to the other costs of developing your program, and you want to be friends with them. (There's someone on HN who lives on a single-line modification of an open source program. Trust me, source availability of the source code of your client app won't really make a difference.)
- ale42 2y ago> There's someone on HN who lives on a single-line modification of an open source program Now I want to know more about this :-)
- Arnt 2y agoHe's a nice guy. If you want your company to buy his product, you send your boss a link to the product's home page (which doesn't say "open source") and tell your boss that this product is great. Your boss looks at the pricing and description, and says ok.
- Maxatar 2y agoYou can statically link Qt in compliance with the LGPL. The LGPL only requires that users are able to substitute the LGPL'd portion of an application with an alternative and compatible implementation. Using a shared object/DLL is the traditional way of doing so, but you can also accomplish this by providing the object files for your application to allow users to link their own substitutions statically. The FSF explicitly permits this as documented here: https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDyn...
- jcelerier 2y agoI ship apps that statically link against Qt, but even if I didn't it's not like "shipping DLLs" wasn't a solved problem two decades ago
- turrini 2y agoI do as well. I program everything in C++ with Qt 6 (commercial license), compile statically where convenient, and use a single code base for all platforms (mobile, desktop, web). I handle the responsiveness of interfaces, DPI, and other micro-adjustments directly in a simple QML template.
- bobajeff 2y agoWhat about code signing. Won't people that run your programs want to do so without the OS claiming it will harm their computer?
- GnarfGnarf 2y agoI use Qt, and I have to get my binary Notarized by Apple.