We (the language and the community) don’t need to be, nor want to be, dependent on the corporation — especially because the corporate governance could pivot and, along with new CS grads, start saying “we need to be more like Python and Rust!”… and the guy in the back, piping up: “…and APL!”
A non-AdaCore freely-available implementation would put the brakes on that train.
I have some experience with this (see GCC 10 in NetBSD, props mainly to JMarino) and I also manage to probably create the only GNAT compiler capable of running on NetBSD PowerPC, but I deleted all that. It took me waaaay to much time and it was not worth it (I had fun and that was the objective).
Out of curiosity, suppose someone else were to put together a new compiler for the Ada language.
As I understand it, it can’t really call itself and Ada compiler until it passes the ACATS. Is that correct? I realize USDoD no longer holds a trademark on it, but I was under the impression that this was at least a moral imperative.
Does ACATS validation require an independent verification, or can the compiler writer run the test suite and publish the results?
If it requires an independent verification, I assume this costs ?
Honestly, I disagree on principles with this. A language doesn’t need to be “simple”. Ada is general-purpose, aiming at doing everything. It can not reasonably be “simple” nor should it, if it means loosing features just because it is simpler to write a compiler for a simple language. This complexity shouldn’t concern the user. It is the role of the compiler and associated tools to do the heavy lifting for us. The richer semantics, the more information can be used to optimized and do more non-creative work in our stead, and efficiently so. I rather think all static analysis tools should be packaged in the compiler by default, so that we could relax the strictness of some rules.
The compiler writer/porter would certainly find the ACATS useful. I’ve got a GNAT-specific version including scripts derived from the GCC testsuite (currently up to speed with 4.2A).
There’s also ACATS-grading to make running ACATS easier (my Unix version is here).
Partially wrong, of course. There are plenty of libraries and tools that AdaCore has made that do not bring in any money, or very little. Ada Web Server is on obvious example that comes to mind.