Long ago there was an OpenSource library called Qt. When it was C++ and Widgets, it was great. Then the library lost its way and became focused on phones. It also became dramatically less "open" and much more "you have to buy a license." The C++ Widgets side of the library withered as resources were poured into a non-typesafe worthless thing called QML. This was well after making a play for the medical device market. You can't use non-typesafe junk when lives are on the line.
Not so long ago a group of people forked the last OpenSource version of Qt before Nokia unloaded the product. QML had only recently been introduced and it was the beginning of the downward spiral for Qt. This fork was and still is CopperSpice. A great many things were changed. Some good, some not so good. Eventually the project became enamored with chasing C++ standards instead of creating official development packages or getting embedded systems support added back in. (Qt 4.8 was used in a great many embedded systems and medical devices.)
The last straw was relentlessly pursuing the C++20 standard. That is where the C++ standards committee went off the rails by mandating all integer representation be 2's complement. Completely ignoring the fact Unisys Mainframes along with many other smaller processors like those in sensors, are 1's complement for a reason. The Internal Revenue Service in America and many multi-national banks use Unisys Mainframes. Why? Because nothing is faster when it comes to straight addition and subtraction of financial values in scaled integers. (Possibly packed decimal too, but uncertain on that.)
You have to know the history to understand how we got here.
Too many people believe an integer is an integer, especially those who never went to college for Computer Science. Passing 2's complement data to backend systems or front end sensors expecting 1's complement causes catastrophes. You need to have the same data units on both sides. While it is not technically the same, read up on the crash of the Mars Climate Orbiter. Sensor sent back metric units instead of US customary units. Faster, Cheaper, Splat.
While we did inherit some tests from the CopperSpice project that we may bother to get running again and we might even add more tests, no release of this will ever go out without being tested on actual hardware by actual humans.
The major downfall of Qt came with chasing the phone market. That lead to shitty products like QML and using JavaScript so kids that never went to college could write phone applications. This library will support various desktop environments, but its ultimate design focus will be medical devices and other embedded systems where life may be at risk. Unless someone comes along that really likes Apple/MAC products, we won't even test there. The old build scripts may or may not work.
A good run has been made at this during the CopperSpice years, but there is still a ton of files that shouldn't be there. Dead code is a disaster waiting to happen.
The standard has not yet
been published and as of September 17, 2024 none of the code conforms.
Anyone familiar with embedded systems development will know that this
standard is the foundation later standards were built on. Once we achieve
this we may look at one of the Misra or other more strict standards. Why?
All medical devices submitted for 510K approval to the FDA must have
formal code reviews and formal coding standards. You have to minimize the
amount of SOUP (Software Of Unknown Providence) to get through.
Gnome has had Gtk. KDE uses Qt (and you all see just how horrible that is). Medical Device Developer Linux will have its own desktop and it won't be a bloated catastrophe trying to be all things to all people. It will have professional menus, not "flick" navigation. It's a desktop on a Linux distro meant to create devices to better/save lives.
Some testing will occur on Windows but Linux will be the primary development platform. Once Medical Device Developer Linux is officially released that will be the primary development platform. This is to be a library for professionals who understand conformity saves lives. Use your "favorite" platform on some other project.