Questions about Ada Core Technologies

Questions about Ada Core Technologies

Post by Ludovic Br » Thu, 08 Apr 2004 06:52:18


I got some flak[1] about things I wrote in my draft Debian Policy for
Ada. While I prepare Draft 2, I would like to get some information in
order to get some facts straight. Here is a list of questions I have;
please answer them only if you have first-hand knowledge; I am trying
to dispel rumours and spread facts :)

- Will ACT make more "p" releases of GNAT in the future? They told me
privately they would, but has anyone else heard about a public
statement from ACT? Is it too much to ask for a release date or
time frame?

- Have ACT really switched their day-to-day development to the FSF?
The changelogs suggest so, in which case I can suppose they merge
selected changes to GNAT Pro in their private repository?

- Will the next GNAT Pro be based on FSF's GCC, or on ACT's private

- Does ACT recommend anyone switch to GCC instead of GNAT 3.15p? If
so, which version of GCC?

- Does ACT request that customers not distribute copies of GNAT Pro?

- Since GNAT Pro, as a derivative work from GCC, is necessarily
distributed under the GPL, is the above request not an infringement
of the GPL?

- Just out of historical curiosity, could someone send me a timeline
of GNAT Pro releases? Especially the ones after 3.15p went out: I
heard about 3.16a, 3.16a1, 3.17w, 5.01?, 5.02? etc. and I would
like to know what version of GCC they used as a backend.

[1] I mean I got *friendly* flak, kind of like error messages from an
Ada compiler :)

Ludovic Brenta.

Questions about Ada Core Technologies

Post by Stephen Le » Thu, 08 Apr 2004 12:22:27

Ludovic Brenta < XXXX@XXXXX.COM > writes:

I'm a paying customer of ACT, so I know the answer to some of these

The last I heard from them on this topic (about 6 months ago) was that
they had not decided.

Yes, it is too much to ask :).

I don't know. I also don't see how this is relevant to Debian.

I assume they are maintaining at least a separate branch, if not a
separate repository, but I really don't know.

5.02a is current (released in March 2004). It is based on FSF gcc
3.2.3 (that's what gcc --version says).

As usual, ACT has made no firm statments about future plans.

I believe they would say "test it with your application; use whichever
is best for you".

No. To be specific, there is nothing in the support contract that says
this. They do point out that the non-public releases are non-public
for a reason; they are more likely to contain bugs, and therefore
should only be used with a support contract. Customers tend to agree
with that position.

Again, I don't see how this is relevant to Debian.

In short, the GPL says "If you give someone a binary, you also have to
give them the source".

The GPL does _not_ say "if you give one person a binary, you also have
to give everyone else the same binary".

So even if ACT was requesting that customers do not distribute
non-public releases, it would not be violating the GPL

Feb 2003, gcc 2.8.1

June 2003, gcc 2.8.1

The "w" means it was a "wavefront"; that's a bug fix for a particular
bug; not an official release.

5.01a July 2003, gcc 3.2.3

5.02a March 2004, gcc 3.2.3

The latest version of your Debian policy looks good to me, except for
the part about ACT requesting non-distribution of non-public versions.

-- Stephe


Questions about Ada Core Technologies

Post by Stev » Thu, 08 Apr 2004 13:38:06

The best way to get these questions answered is ask ACT.

I monitor the gcc mailing list (, and believe I know
the answers to some, but not all of these questions from monitoring that

The last I heard is that they have no plans to stop making tese releases.

Of course ACT will be maintaining their own site. They have customers that
depend on them and they cannot tolerate instability.

A few months ago there was an announcement on the gcc mailing list that ACT
would be updating the FSF repositoriy on a regular basis. If I recall
correctly, Arnauld Charlet of ACT was made responsible for keeping the FSF
repository up to date.

ACT's private repository. Over time the difference between the two will
continue to decrease.

ACT doesn't recommend anyone use a 'p' release for serious work. The public
releases are primarily released for academic use. Of course the 'p'
releases are of good quality and could be used for serious work, but ACT
does not stand behind them. For that you need to by GNAT Pro.

This has come up many times. No. You cannot get a time line for a public
You can look at the GCC scheduled time line for releases, but you will find
that they too favor stability over deadlines.

I hope this helps,
(The Duck)

Questions about Ada Core Technologies

Post by Florian We » Fri, 09 Apr 2004 00:27:47

Ludovic Brenta < XXXX@XXXXX.COM > writes:

The main development happens on ACT's infrastructure (after all, they
have a far more extensive test suite (which is partly covered by NDAs
and cannot be published), an automated regression tester based on that
test suite, a separate bug tracking system, their own developer
communication channels &c).

Arnaud Charlet regularly (daily?) merges ACT's changes into the FSF
tree. But this doesn't mean that this tree is the sole reference for

Current mail filters: many dial-up/DSL/cable modem hosts, and the
following domains:,,,,

Questions about Ada Core Technologies

Post by Jacob Spar » Fri, 09 Apr 2004 09:33:48

Ignoring the difference between "requesting" and "requiring", it
_would_ be a violation of the GNU GPL, since the GNU GPL allows people
to redistribute binaries (as long as they also redistribute the
corresponding source code).

But since FSF and ACT seem to be on friendly terms, I doubt that ACT
is doing anything that isn't completely by the book, when it comes to

nd what about homo sapiens?
Yes, we think that would be a very good idea ...?-- not Gandhi

Questions about Ada Core Technologies

Post by Stephen Le » Fri, 09 Apr 2004 11:37:20

Jacob Sparre Andersen < XXXX@XXXXX.COM > writes:

Hmm. You didn't quote my full post, so you've lost the definition of
"it" that we are discussing here. Here is the original statement:

Hmm. Your question caused me to go re-read the GPL. Here's the
relevant paragraphs:

1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep
intact all the notices that refer to this License and to the
absence of any warranty; and give any other recipients of the
Program a copy of this License along with the Program.

3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms
of Sections 1 and 2 above provided ...

That does indeed say that if you have a copy of the binary or source,
you may distribute it. Note that it does _not_ say you _must_
distribute it, which some people seem to think, sometimes.

So I stand corrected; ACT may not _require_ that customers not give
copies of GNAT to anyone. However, they may _request_ it, for the "not
ready to distribute" reason I gave.

Right. As I said, there is nothing in the customer contract with ACT
about not distributing GNAT. But they do informally request it.

-- Stephe

Questions about Ada Core Technologies

Post by Robert I. » Thu, 15 Apr 2004 05:54:03

Actually, what ACT requests/recommends is not distributing wavefront
versions. Wavefront versions are usually a response to a particular
problem encountered by a (supported) user. As such they are less
thoroughly tested than other versions of GNAT.

What about the versions ending in a, not w? They are betwixt and
between. In general if an a version gets to where it has a short
buglist and no outstanding major problems, it gets converted to a p
(public) version pretty quickly. What has been going on recently, as I
understand it, is that ACT has versions which perform well on some
platforms but fail on others. When you have customers with a support
contract, you can insure that they have a variant that runs on the
hardware (and OS) that customer uses.

Once the 5.xx versions become stable, ACT will stop recommending that
the public use 3.15p. Notice that the 5.xx versions are completely
available to the public, just not recommended unless ACT has insured
that they work in your environment. (And of course they are under no
obligation to test those versions on non-supported hardware and OS

As for me, I have been staying with 3.15 because I want the software I
write to be as widely distributable as possible. (I just went through a
painful process with a failing disk. If it had failed completely I
would have just gone to my last complete backup. But when it started
failing I was able to do one last incremental backup--but it took days.
Then I had to build a new disk, and apply all the increments. Since
that disk held the partition I use for Ada development, I didn't want to
change any libraries in the middle of all this.)


Robert I. Eachus

"The terrorist enemy holds no territory, defends no population, is
unconstrained by rules of warfare, and respects no law of morality. Such
an enemy cannot be deterred, contained, appeased or negotiated with. It
can only be destroyed--and that, ladies and gentlemen, is the business
at hand." -- *** Cheney

Questions about Ada Core Technologies

Post by Peter Herm » Thu, 15 Apr 2004 17:57:07

so do I:
because I want to be at eye level compatibility with my students.

I report a sad reaction from ACT:
I wanted to pay for a gnat3.15-compiler on my pet machine DECalpha
where I am frozen at gnat3.12p
without any need of support
but ACT rejected the deal.
Maybe DECalphaTrue64 is particularly difficult for the GNAT-compiler?

--Peter Hermann(49)0711-685-3611 fax3758 XXXX@XXXXX.COM
--Pfaffenwaldring 27 Raum 114, D-70569 Stuttgart Uni Computeranwendungen
--Team Ada: "C'mon people let the world begin" (Paul McCartney)

Questions about Ada Core Technologies

Post by Robert I. » Thu, 15 Apr 2004 22:56:47

No, they probably don't want to get drawn in to supporting older
versions of the compiler. If they fixed a bug in 3.15 for you, would
they also fix it in 3.15p?

However, if you really want a 3.15p compiler on you DEC Alpha, get the
3.13p, 3.14p, and 3.15p sources and build it. It may not be necessary
to go through the intermediate compiler versions, but I think the time
you would save would not be worth it. You also may want to run the
ACATS test suite against each version to look for regressions.

The whole process might take a week, but if you set up a different
account for it, your involvement could be just a few hours worth. For
each iteration, you are going to be compiling the compiler and test
suite twice. Having a script set up to do that should allow you to do
one iteration a day, with your involvement being checking on progress,
and seeing if there are any regressions to worry about. (You could also
have to worry about different GCC versions. Same procedure, different


Robert I. Eachus

"The terrorist enemy holds no territory, defends no population, is
unconstrained by rules of warfare, and respects no law of morality. Such
an enemy cannot be deterred, contained, appeased or negotiated with. It
can only be destroyed--and that, ladies and gentlemen, is the business
at hand." -- *** Cheney