[Development] QProperty and library coding guide

Thiago Macieira thiago.macieira at intel.com
Wed Jul 22 19:24:21 CEST 2020


On Wednesday, 22 July 2020 09:55:31 PDT André Pönitz wrote:
> How often do we think people are actively taking advantage of Qt's BC
> promise (and how often do we hold this promise, and how often is this
> relevant as we do not promise to change behaviour while keeping BC)?

That is a good question. I don't want to minimise it, just to add.

Have at least one category of users that require it, that being the Linux 
distributions. So long as we support them, we have to provide a way to have 
BC. And if we do have such a way, how much does it hurt to extend it 
everywhere?

We've seen users of not-systemwide-Qt-OSes having BC issues too. Large 
projects often have binary artifacts they'd rather not recompile every time. 
Those teams can be taught to recompile, but that's not their current practice. 
Breaking BC means subtle errors that are hard do detect and debug.

Finally, there's the issue of binary-only components by third parties. If we 
ever want to support such an ecosystem (we could call it "Qt Marketplace"), we 
must have as few binary-incompatible versions as possible. It's already 
difficult to support, for desktops alone:
 - Linux GCC 64-bit
 - Apple Clang 64-bit [*]
 - Windows MinGW / Clang 32-bit
 - Windows MSVC 2019 / clang-cl 32-bit
 - Windows MSVC 2019 / clang-cl 64-bit

Breaking BC frequently means replicating this table for every BC breakage 
level.

[*] whether that's a single Universal build or if it is released as separate 
x86-64 and ARM64 builds remains TBD.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel DPG Cloud Engineering





More information about the Development mailing list