comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@merv.cs.nyu.edu (Robert Dewar)
Subject: Re: Towards a free GNU Ada
Date: 1997/07/05
Date: 1997-07-05T00:00:00+00:00	[thread overview]
Message-ID: <dewar.868107646@merv> (raw)
In-Reply-To: 33BBB704.167E@velveeta.apdev.cs.mci.com


Jim Rogers says

<<ACT has taken on a very large and difficult assignment: to maintain
and improve GNAT, providing high quality code free to the public,
while making a profit.  This assignment contains some inherent
contradictions.  One cannot make a profit by giving away the fruits
of one's efforts.  On the other hand, free versions of GNAT must
not cost more than the cost of the media upon which they are
delivered.>>

Robert replies

   I am not quite sure what the reference to cost of media here is. I hope
   you are not under the mistaken impression that the GPL requires this.
   The fact that free versions of GNAT continue to be available is a result
   of ACT's determination to provide free versions, more on this later.

I wish ACT great success.  I hope they achieve spectacular profits.
I also still see the need for a free Ada compiler.  This compiler
must be of high quality, passing all applicable validation criteria.
It cannot be a subset or crippled compiler suitable only for simple
demonstration of the potentials of the Ada language.
>>

   There is a lot of confusion here, which I find surprising. We certainly
   do "give away the fruits of [our] efforts" in the sense that we are
   committed to distributing all software that we develop. The current
   discussion is simply about whether we should wait to publicly distribute
   versions of GNAT until we feel that they are in sufficiently good shape
   to distribute, given that many or indeed most people will be using these
   versions without support. We strongly feel that the premature distribution
   of versions of GNAT would be harmful to the Ada community, and from both
   the public postings here, and many private email messages I have received,
   I have the impression that most people support this position.

   Now if you are saying that the problem is that it is not possible for
   people to get free support, that is a different matter. Yes, one can
   imagine a system in which someone (we will discuss who in a moment)
   pays someone (e.g. ACT) to provide completely free support. Note that
   this would be a very expensive proposition, since providing support
   is expensive and if you want someone to provide this support to what
   is a very large community of GNAT users, then you are talking about
   a LOT of resources.

   We do not need to make "spectacular profits", but we do need to make
   a living. The free versions of Ada we distribute are to the best of
   our ability, and in the opinion of many of our customers, high
   quality, and, as of 3.10, will indeed pass all validation criteria.
   Indeed so far, GNAT is the only technology that impleements 100%
   of the Ada language, including all the annexes.

   At no time do we distribute subset or crippled versions of GNAT. When
   we make public distributions, we are distributing the latest version,
   which includes our full technology. If you have got some other 
   impression, you are very much mistaken. As I mention above, the issue
   in the current thread has been whether ACT should publicly distribute
   versions of GNAT that it does not feel are ready for public release.
   We don't think this is a good idea, but do not for a moment get the
   impression that we are distributing a subset of our technology. For
   example, version 3.09, available publicly on many targets, was at
   the time of the distribution the absolute latest version of GNAT.
   The same version that was in use in many large scale deployed
   commercial programs.

   Since you seem to have some rather inaccurate impression of the
   state of affairs, I am not quite sure what your possible responses
   are responding to, but let's look at them anyway:

* Use gnat3.09 for a long long time

   Certainly those using the public version of GNAT who find 3.09 
   entirely adequate for their purposes can reasonably continue
   to do so. I must say I have never understood people who just
   have to immediately update to the latest version of everything
   just for the same of updating. On the other hand, version 3.10
   has a LOT of problems fixed, corresponds to the fully validated
   versions, and has many very important functional improvements,
   including much better handling of elaboration order issues, and
   much better debugging support.

   If you need these new features, or if you are having trouble because
   of problems that 3.10 fixes, then I don't see any possible advantage
   in staying with 3.09. Really the situation with the public versions
   of GNAT is not much different from a lot of proprietary software
   that you buy in Software Etc, and cannot really get much meaningful
   support for. You pay for upgrades in accordance with your needs. The
   difference with GNAT is that you do not have to pay.

* Form a consortium of GNAT users, with annual dues which will be
  paid to ACT to provide public support for GNAT

   To a limited extent this is what happens now, where the consortium
   of users is those users who need and pay for commercial support.
   However, the support that this generates for public use is limited
   to access to these public versions. I really do not see it as viable
   to ask customer A to pay for free support for customer B. As I noted
   above, the commitment to provide free support for all users of GNAT
   would require very large resources.

* Abandon the concept of a free Ada compiler and purchase all our
  compilers from AONIX, JANUS, Intermetrics, Rational, ACT, etc

   This makes no sense to me at all. If you are willing to pay for
   proprietary compilers, then the proper GNAT alternative is to pay
   for GNAT suport. I do not see that any of your goals are met by
   this suggestion. The fact is that there are thousands of GNAT
   users who find the current arrangement in which they can get
   their hands on the latest publicly distributed versions of GNAT
   at no cost to be higly advantageous, and this suggestion would
   eliminate this advantage.

* Organize a distributed group of Ada compiler developers to take
  over development of a free Ada compiler, resulting in a second
  branch of Gnu Ada development.  Such an effort would likely be
  haphazard and uncoordinated, resulting in questionable quality
  and lack of responsibility for compiler defects.

   If your model here is that GNAT can be maintained by an informal
   group of volunteers, I don't believe it. ACT has the equivalent
   of twelve extremely experienced software engineers working full
   time on GNAT. The idea that you can replace this resource with
   part time volunteers working in an uncoordinated manner is
   simply unrealistic.

   Yes, this model can work for simpler software components, particularly
   those which can be handled as a labor of love by a single person, but
   not for large complex software systems like GNAT together with its
   tool chain.

   The history of GNAT is that it was funded by the government primarily
   to provide a free compiler for academic research purposes. A number
   of the proprietary Ada vendors (certainly not all, some supported
   the effort) tried hard to kill GNAT early on, because they felt it
   was unfair competition. In fact the total amount of funding the
   government provided for GNAT (about $3 million to NYU) is considerably
   smaller than the support they have provided indirectly and directly
   to other Ada vendors, but nevertheless the opposition was intense. As
   a result of this opposition the contract deliberately only funded a
   subset (omitting for example fixed-point and subunit support). As it
   turns out we provided these features on our own time (Ed and I were
   both on sabbatical for one year, and as our sabbatical project, filled
   in the missing features).
   
   But the pressure from other vendors continued to be intense, and one
   consequence was that the government did not want to provide any direct
   funding for continuation of the GNAT project past July 1995.
   
   I don't think that is such a bad decision at all. The model where the
   serious users of GNAT pay for the continued development of GNAT strikes
   me as quite appropriate, and much more consistent with our competitive
   environment. The trouble with the government funding a particular Ada
   compiler technology is that it means that government users tend to be
   pushed to using that technology for other than technical reasons. 
   
   I prefer the current situation where for the most part government users,
   like any other users, evaluate various Ada technologies, and choose the
   one that gives the best value for their money. If GNAT is the right
   choice, then GNAT it is. If Rational provides a product that they think
   does a better job than GNAT, then Rational it is. The result is fierce
   technical competition between the Ada vendors. Great! competition
   drives quality. We at ACT certainly feel the competitive pressure
   to improve GNAT, and I am sure that other vendors feel the heat from
   GNAT. That's the way an efficient market place works.
   
   If you go to a model where GNAT is fully supported say by a single
   large government grant, then I am not saying that development would
   stop, since a lot of the development is driven by our own enthusiasm,
   but the competitive pressure is definitely a positive factor, and for
   one thing means that we are driven more by customer needs, and less
   by our own fancy, which seems a good thing.
   
   The model does not have to be 100% one way or the other of course.
   Recently, the AJPO has initiated a program to directly provide
   GNAT support for a limited number of COE users, and that is proving
   an effective tool for encouraging the use of Ada 95 in some important
   government programs. On the other hand, original plans at the AJPO
   to provide completely free blanket support to all COE users was
   abandoned (the proposed price, which approached a million dollars,
   giving some idea of how you get into real money providing free
   support, seemed just too high).

   One kind of support program that I have proposed is that at least
   some limited support be provided for academic users of GNAT. We do
   of course provide free versions of GNAT to universities, as we do
   for all GNAT users, and many universties are using GNAT to teach
   Ada 95. However, we do not have the resources to provide help for
   all the professors and students who are using GNAT. Many of you
   have helped provide informal support here on CLA, and on our
   chat list (chat@gnat.com), and that is very welcome, but is not
   a complete substitute for full support. However, so far no funding
   has been forthcoming for such a venture.

   It would also be useful if there could be some support for use of GNAT 
   by students. Here again, volunteers, for instance Mike Feldman, with
   his work on the DOS version, have provided very valuable additions to
   the GNAT technology. It is hard to mention all who have contributed
   to that effort. Notable are the Brighton and Air Force Academy efforts
   to provide simple IDE's for use of the Windows version. The latter
   effort is particularly interesting, because the Air Force Academy is
   using GNAT despite the fact that they have access to another academic
   compiler that is free for them. It is rather remarkable when you get
   fierce competition between free products!

   The trouble is that the ACT funding model does not work so well for
   simplifying student use. One consequence of the funding model is that
   we tend to be driven by the large customer requirements, so for example
   we are putting resources into the requirement for handling DCE threads
   as normal Ada tasks. Very useful to certain large scale users, but not
   exactly critical for student use! 

   My feeling here is that to make the optimal progress in the area of
   providing easy student access, direct government funding is necessary,
   and it is a pity for example that Mike Feldman's proposal to do simple
   snazzy interfaces for the PC and Mac was turned down. Given what he 
   accomplished with no resources, I think we would have had something
   really attractive by now if that project had been funded (it was
   turned down incidentally on the grounds that ACT was not a credible
   organization for guaranteeing validation (we had guaranteed validation
   at our expense, since the government at that stage was set on not
   giving one more dollar of support directly for GNAT), which is a bit
   ironic, and also odd, given that validation is hardly necessary for
   academic use. Oh well, we can all be thankful that Mike has continued
   to plug away withou support despite this decision.

<<GNAT has helped fuel a renaissance for Ada.  We cannot simply turn
our backs on the newly emerging interest in Ada.  We must continue
to find ways to support and encourage the growth of interest in Ada.>>

   We strongly agree, and our commitment here is that, although no one
   is directly funding this, we will continue to do the work to make
   public high quality distributions of GNAT from time to time. 

   Meanwhile, I think that the public users of GNAT owe a considerable
   amount to those who are willing to support the continued development
   of GNAT by paying for support, and in particular to those customers
   who are willing to invest their resources using early prereleases
   of these versions, something that is practical precisely because
   they have full support from us.

Robert B.K. Dewar
Ada Core Technologies






  parent reply	other threads:[~1997-07-05  0:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-07-03  0:00 Towards a free GNU Ada James Rogers
1997-07-05  0:00 ` Roy T. Fielding
1997-07-06  0:00   ` Robert Dewar
1997-07-07  0:00     ` Roy T. Fielding
1997-07-08  0:00       ` Larry Kilgallen
1997-07-08  0:00         ` Roy T. Fielding
1997-07-06  0:00   ` Michael F Brenner
1997-07-06  0:00     ` Ada User Reports Larry Kilgallen
1997-07-08  0:00     ` Towards a free GNU Ada Roy T. Fielding
1997-07-08  0:00     ` Robert Dewar
1997-07-05  0:00 ` Robert Dewar [this message]
1997-07-10  0:00   ` Ronald Cole
1997-07-06  0:00 ` Chris Morgan
1997-07-06  0:00   ` James S. Rogers
1997-07-06  0:00     ` Chris Morgan
  -- strict thread matches above, loose matches on Subject: below --
1997-07-06  0:00 Re " Robert C. Leif, Ph.D.
1997-07-08  0:00 ` Robert Dewar
1997-07-15  0:00 Robert C. Leif, Ph.D.
1997-07-16  0:00 Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox