Is that true? If there was ever a group of people who knew, it would be here.
Is that true? If there was ever a group of people who knew, it would be here.
Another option is to only release your source code.
If you use the GNAT Community version, there is a runtime exception which states you don't have to release source if you just use the stdlib (something along those lines). If you use any of the Adacore libraries, then you are under the GPL.
If you get the commercial GNAT compiler, you can of course withhold your source.
I'm not an expert or lawyer, but I was told (not by Adacore) that is how it works.
At the end of the day, this makes Ada an excellent language that I can't use. Their customers seem to work on big ticket items like aircraft and aerospace where the pockets are deep. It's a shame too as I'd love to use it over C.
This example of integer overflow is also very common amongst C/C++ programmers. Almost nobody cares about overflows or 2gb boundaries. Nobody knows how to efficiently use adc ("add with carry") or how to check for it at compile-time. spark does it for you automatically.