From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,LOTS_OF_MONEY autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3ba18d626276a71e X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Towards a free GNU Ada Date: 1997/07/05 Message-ID: X-Deja-AN: 254789108 References: <33BBB704.167E@velveeta.apdev.cs.mci.com> Organization: New York University Newsgroups: comp.lang.ada Date: 1997-07-05T00:00:00+00:00 List-Id: Jim Rogers says <> 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. <> 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