* Towards a free GNU Ada @ 1997-07-03 0:00 James Rogers 1997-07-05 0:00 ` Robert Dewar ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: James Rogers @ 1997-07-03 0:00 UTC (permalink / raw) Early in the Ada 9X development effort it became clear that one of the keys to the future acceptance of Ada was the availability of a very low cost compiler. This lead to the funding of early Ada 9X compiler development, resulting in what is now known as the GNAT compiler. We can thank the US DoD for the initial funding of GNAT. We can also thank the entire GNAT team. The product of that team is a truly impressive compiler. In late 1994 many members of the GNAT development team realized the DoD funding was limited. They believed in the viability of Ada and of GNAT. They also saw an opportunity for a business. As a result they formed ACT. 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. 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. Perhaps it is time to remove some conflict from the ACT charter. It seems the only way to do this is to either find a continuing source of funding for development and maintenance of GNAT, or to find some alternate group to perform maintenance of a public version of GNAT, effectively creating a separate version from the product produced by ACT. I see a list of possible responses to this problem: * Use gnat3.09 for a long long time * Form a consortium of GNAT users, with annual dues which will be paid to ACT to provide public support for GNAT * Abandon the concept of a free Ada compiler and purchase all our compilers from AONIX, JANUS, Intermetrics, Rational, ACT, etc * 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. 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. -- Jim Rogers ************************************************************* Team Ada ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-03 0:00 Towards a free GNU Ada James Rogers @ 1997-07-05 0:00 ` Robert Dewar 1997-07-10 0:00 ` Ronald Cole 1997-07-05 0:00 ` Roy T. Fielding 1997-07-06 0:00 ` Chris Morgan 2 siblings, 1 reply; 15+ messages in thread From: Robert Dewar @ 1997-07-05 0:00 UTC (permalink / raw) 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 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-05 0:00 ` Robert Dewar @ 1997-07-10 0:00 ` Ronald Cole 0 siblings, 0 replies; 15+ messages in thread From: Ronald Cole @ 1997-07-10 0:00 UTC (permalink / raw) dewar@merv.cs.nyu.edu (Robert Dewar) writes: > 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. ... > 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. Gee, I thought you had said that your policy is to only release stable, well-tested versions of GNAT publicly. Of that I'm not mistaken! In fact, you did the HPUX community a great disservice by releasing 3.09 with a "latest-version" gcc-272.dif file that contained patches that were far from well-tested. > 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. Neither do I, which is why I bitched in the first place. And as I stated earlier, I'll reserve further comment until 3.10 is released publicly. -- Forte International, P.O. Box 1412, Ridgecrest, CA 93556-1412 Ronald Cole <ronald@ridgenet.net> Phone: (760) 499-9142 President, CEO Fax: (760) 499-9152 My PGP fingerprint: E9 A8 E3 68 61 88 EF 43 56 2B CE 3E E9 8F 3F 2B ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-03 0:00 Towards a free GNU Ada James Rogers 1997-07-05 0:00 ` Robert Dewar @ 1997-07-05 0:00 ` Roy T. Fielding 1997-07-06 0:00 ` Michael F Brenner 1997-07-06 0:00 ` Robert Dewar 1997-07-06 0:00 ` Chris Morgan 2 siblings, 2 replies; 15+ messages in thread From: Roy T. Fielding @ 1997-07-05 0:00 UTC (permalink / raw) In <33BBB704.167E@velveeta.apdev.cs.mci.com> James Rogers <jrogers@velveeta.apdev.cs.mci.com> writes: >Perhaps it is time to remove some conflict from the ACT charter. >It seems the only way to do this is to either find a continuing >source of funding for development and maintenance of GNAT, or to >find some alternate group to perform maintenance of a public >version of GNAT, effectively creating a separate version from the >product produced by ACT. > >I see a list of possible responses to this problem: > >* Use gnat3.09 for a long long time > >* Form a consortium of GNAT users, with annual dues which will be > paid to ACT to provide public support for GNAT > >* Abandon the concept of a free Ada compiler and purchase all our > compilers from AONIX, JANUS, Intermetrics, Rational, ACT, etc > >* 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. I think that is a paper tiger. It is unlikely, given the complexity of Ada95 as a language, that a separate free Ada compiler could be developed, and no compiler software (free or commercial) takes responsibility for compiler defects. The notion that such an effort would likely be haphazard and uncoordinated is ridiculous; it would need to be better coordinated and less haphazard than the existing GNAT development process just to get the project started. History has shown that community-developed products are consistently higher quality and more responsive to real user needs than their commercial counterparts, so the only question is whether the Ada95 community includes a sufficient core of individuals willing to support a community-based software project. I'll be testing that in a couple months. Robert's suggestion that community-based projects are only capable of supporting small projects is contrary to established fact: Linux, FreeBSD, Perl, and Apache are all examples of systems that are supported and developed by a core group of their user community. In fact, such systems tend to evolve into better, more extensible design architectures in order to maximize the community input and be more flexible in meeting the needs of individual users. If you are concerned about the continued development of GNAT as a platform for free software (as I am), then I think the most constructive project would be a public, Web/e-mail problem tracking system for GNAT that allowed everyone (ACT, customers of ACT, and non-customers) to see what known bugs exist, to post potential fixes, and provide some focus for the community. It isn't an easy thing to provide, but it is certainly a prerequisite to any other Ada95 compiler effort. And, I think it would help ACT as much as it would the rest of the community. ....Roy ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-05 0:00 ` Roy T. Fielding @ 1997-07-06 0:00 ` Michael F Brenner 1997-07-06 0:00 ` Ada User Reports Larry Kilgallen ` (2 more replies) 1997-07-06 0:00 ` Robert Dewar 1 sibling, 3 replies; 15+ messages in thread From: Michael F Brenner @ 1997-07-06 0:00 UTC (permalink / raw) The part I agree with is that it would be useful to the entire Ada community to see bugs tracked in public, along with the programs that failed. The failed programs are actually more useful, because they can be used to test other baselines. The hard part is getting someone to volunteer their network and disk space and time to keep such a useful information system going. The other hard part is to have the COMMUNITY test the submissions against all commercial and free compilers, analysis tools, year 2000 tools, automatic change tools, language-sensitive text editors, metrics tools, reverse engineering tools, re-engineering tools, data flow diagrammers, program flow diagrammers, cohesion tools, and coupling tools. Of course, the COMMUNITY would then report any thusly discovered bugs to their respective tools. Kind of like what the validation suite started out to be, but could not become, because the market remained too small. I would personally contribute one hour a week to testing on the various tools I have on my home PC. Who will donate the network and disk space? Who will maintain the reporting site? Who else will volunteer to test against various tools as this accumulated data grows? Who will update the data as various tools fix their bugs? Who will close the bugs for each tool when appropriate? ^ permalink raw reply [flat|nested] 15+ messages in thread
* Ada User Reports 1997-07-06 0:00 ` Michael F Brenner @ 1997-07-06 0:00 ` Larry Kilgallen 1997-07-08 0:00 ` Towards a free GNU Ada Roy T. Fielding 1997-07-08 0:00 ` Robert Dewar 2 siblings, 0 replies; 15+ messages in thread From: Larry Kilgallen @ 1997-07-06 0:00 UTC (permalink / raw) In article <5potsi$fc1@top.mitre.org>, mfb@mbunix.mitre.org (Michael F Brenner) writes: > The part I agree with is that it would be useful to the entire Ada > community to see bugs tracked in public, along with the programs > that failed. The failed programs are actually more useful, because > they can be used to test other baselines. The hard part is getting > someone to volunteer their network and disk space and time to keep > such a useful information system going. The other hard part is > to have the COMMUNITY test the submissions against all commercial > and free compilers, analysis tools, year 2000 tools, automatic > change tools, language-sensitive text editors, metrics tools, > reverse engineering tools, re-engineering tools, data flow diagrammers, > program flow diagrammers, cohesion tools, and coupling tools. Of > course, the COMMUNITY would then report any thusly discovered bugs > to their respective tools. Kind of like what the validation suite > started out to be, but could not become, because the market > remained too small. > > I would personally contribute one hour a week to testing on the > various tools I have on my home PC. Who will donate the network > and disk space? Who will maintain the reporting site? Who else > will volunteer to test against various tools as this accumulated > data grows? Who will update the data as various tools fix their > bugs? Who will close the bugs for each tool when appropriate? It seems to me bug reports can only be fully closed by the originator. Although an independent "consumer reports" activity for Ada tools would be valuable if it worked, there are plenty of of possible pitfalls. It seems to me, however, this is a subject much more worthy of discussion than a volunteer parallel development effort on GNAT. Larry Kilgallen ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-06 0:00 ` Michael F Brenner 1997-07-06 0:00 ` Ada User Reports Larry Kilgallen @ 1997-07-08 0:00 ` Roy T. Fielding 1997-07-08 0:00 ` Robert Dewar 2 siblings, 0 replies; 15+ messages in thread From: Roy T. Fielding @ 1997-07-08 0:00 UTC (permalink / raw) In <5potsi$fc1@top.mitre.org> mfb@mbunix.mitre.org (Michael F Brenner) writes: >The part I agree with is that it would be useful to the entire Ada >community to see bugs tracked in public, along with the programs >that failed. The failed programs are actually more useful, because >they can be used to test other baselines. The hard part is getting >someone to volunteer their network and disk space and time to keep >such a useful information system going. The other hard part is >to have the COMMUNITY test the submissions against all commercial >and free compilers, analysis tools, year 2000 tools, automatic >change tools, language-sensitive text editors, metrics tools, >reverse engineering tools, re-engineering tools, data flow diagrammers, >program flow diagrammers, cohesion tools, and coupling tools. Of >course, the COMMUNITY would then report any thusly discovered bugs >to their respective tools. Kind of like what the validation suite >started out to be, but could not become, because the market >remained too small. > >I would personally contribute one hour a week to testing on the >various tools I have on my home PC. Who will donate the network >and disk space? Who will maintain the reporting site? Who else >will volunteer to test against various tools as this accumulated >data grows? Who will update the data as various tools fix their >bugs? Who will close the bugs for each tool when appropriate? I think you are right on the mark, but it is also important not to try to do too much at once. The most difficult thing, aside from finding volunteers, is setting up the archive such that many people can edit it remotely, and without the pain of remote interaction. That means setting up a shared repository with the equivalent of remote CVS access, using something like SSH to enable access via public key, and maintaining three mailing lists (announcements, discussion, and repository-changes). I would also add Apache+PTS to provide Web and e-mail interfaces to a problem tracking system. In essence, this is the same setup required to run a community-developed software project, which is no surprise given that an archive is just another form of software. Someone with a long-term commitment to Ada95 would be needed to setup and administrate the site. Note, however, that it doesn't have to be the same person/organization that is maintaining the archive. ....Roy ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 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 2 siblings, 0 replies; 15+ messages in thread From: Robert Dewar @ 1997-07-08 0:00 UTC (permalink / raw) Michael Brenner said <<Michael Brenner: >>Towards a free GNU Ada 6 Jul 1997 20:06 The part I agree with is that it would be useful to the entire Ada community to see bugs tracked in public, along with the programs that failed. The failed programs are actually more useful, because they can be used to test other baselines. >> Robert replies The great majority of programs that we get are proprietary code that we protect extremely carefully. Public posting of this code is out of the question. It would be possible to have some scheme of identifying code that could be posted, but providing such a public tracking system for all bugs would take a lot of extra work, and is not somethinfg that we could do unless someone paid for the time involved. Volunteer help would not useful in this task. Bug tracking requires very careful management and contro,l, it is not something that can be done in a haphazard manner. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-05 0:00 ` Roy T. Fielding 1997-07-06 0:00 ` Michael F Brenner @ 1997-07-06 0:00 ` Robert Dewar 1997-07-07 0:00 ` Roy T. Fielding 1 sibling, 1 reply; 15+ messages in thread From: Robert Dewar @ 1997-07-06 0:00 UTC (permalink / raw) Roy says <<If you are concerned about the continued development of GNAT as a platform for free software (as I am), then I think the most constructive project would be a public, Web/e-mail problem tracking system for GNAT that allowed everyone (ACT, customers of ACT, and non-customers) to see what known bugs exist, to post potential fixes, and provide some focus for the community. It isn't an easy thing to provide, but it is certainly a prerequisite to any other Ada95 compiler effort. And, I think it would help ACT as much as it would the rest of the community. >> RObert replies This might appeal to the hobbyists in the Ada community who are happy to fiddle with a stream of uncoordinated and insufficiently tested patches, but it would be inimical to the interests of the wider Ada community that needs reliable products. The need for reliability extends both to paying customers, and perhaps even more to those who rely on free public versions, which they must use without much support. Even for those who do know the technology well, formulating a correct fix to a problem is not easy. We get a stream of suggested fixes from people who know GNAT pretty well. In nearly every case, the person has correctly identified a problem, but produced a fix that is either incomplete or plain incorrect. I don'q know quite what makes you think that GNAT development is haphazard, but let me give some idea of how we proceed internally. If one of the GNAT developers develops a fix for a problem, or an agreed on enhancement, then the modification is initially developed as a patch to the current development sources. This patch is submitted to a mailserver that runs our entire regression suite (about 4100 diretories, totalling over 25,000 files, and over two million lines of code). A couple of hours later, a mail message indicates if the change has caused any regressions. If there are no regressions, then the change can be checked in. That night, automatic scripts run on multiple targets, which rebuild the compiler completely from scratch, with a full bootstrap that starts with the most recent public release. These scripts test that the bootstrap succeeds, run the entire ACVC suite, and rerun the regression suite. In the morning all developers receive a report on these nightly runs, and if any problems have developed, fixing them is the highest priority. Only if the nightly run is completely successful, do we qualify the build as a distributable wavefront. Distributable in this case means that we will provide it on an extremely limited basis, on request, to supported customers who need the wavefront to fix an urgent problem. Note that this kind of regression testing is out of reach of informal fiddling. For one thing, the great majority of the code in the critical regression suite is proprietary, for example it includes large chuncks of the DEC test suite, as well as a lot of customer code, that the customer has been willing to entrust to us only on the basis that we will carefully protect it. It is also the case that the configuration control that is needed requires very strong control and management. You need to remember that the entire thread here develops from one individual who is demanding to get a version of GNAT that we do not think is ready to release. Yes, of course, we all want 3.10 to be finished and out there as soon as possible. We have a team of people working full time towards that goal, and all I can say is that we simply will NOT release 3.10 before we feel it is ready for release, no matter how loud people yell. You point to Linux as an example of your model working, but in fact Linux is a system based on many components, including the GNU software. The latter is in fact at as carefully controlled as GNAT. You do NOT see the snapshots du jour of GCC in the Linux sources. Similarly, the kernel itself is also very carefully controlled, and in addition there are several companies providing formal support which carefully control what they support. The sources of GNAT have always been available, and large numbers of people, particularly the hobbyists build from sources. We are always delighted when people from the community DO contribute to GNAT, and indeed in a couple of cases have hired such people (Doug Rupp developed the DOS port of GNAT, and is now a full time employee of ACT, Geert Bosch did some very nice work on the OS/2 port, and we hired him as a consultant to continue the support of this port). However, relatively few people have achieved a sufficient knowledge of what is going on in this highly complex system to really have dug in. It is always nice to receive a bug report together with a fix, and it has happened a few times for runtime library components, but almost never for the core of the compiler itself. And this is true despite a very strenuous effort to make the sources accessible. The idea of a public tracking system for GNAT bugs is unworkable in practice. Why? Because the majority of code involved in such reports is proprietary, and there is no way that the proprieters of such code will post it. We quite often get bug reports that contains tens or even hundreds of thousands of lines of such proprietary code. I think a big difference here is what your view of the community is. You see the community as a group of energetic hobbyists who want to play with the latest versions of GNAT, develop and trade patches, etc. We see the community as a group of serious users who need stability and reliablity, and are not interested in always trying out the latest patches and new features. Our customers are often quite reluctant to switch to new versions, and that makes perfect sense to us. I do not know if Roy is subscribed to chat@gnat.com, as far as I can tell he is not, but I am not sure I am checking the right address. The idea of chat@gnat.com is to develop to a small extent some aspects of this informal community. In practice, most of our support activity is not in fixing GNAT bugs, but rather in helping people use the Ada 95 and GNAT technologies effectively and efficiently in the context of the specific problems that they are trying to solve. The idea of chat@gnat.com is to provide this kind of help, and it does so to some small extent. It would also be perfectly appropriate to post GNAT patches and fixes here if people discover such, but that has never happened. We certainly are not about to participate directly in any such effort of a central bug registry. For the reasons I give above, this is impossible, even if it were desirable. We certainly are NOT about to post our fixes one by one as we develop them. This is a recipe for a completely out of control mess. I have been involved in a number of commercial compiler projects, including Ada 83 compilers, and, while ACT's software process may still not be ideal, I can say that it is greatly superior to anything I have previously encountered in the industry. Sure, I understand the frustration of the enthusiasts who would just love to get their hands on the development version every day and fiddle, but I am afraid their interests must take second place to the needs of the Ada community that is interested in stable and reliable products and wants to see from each GNAT release not only neat new features, but also a general improvement in reliability, correctness and robustness. Robert Dewar Ada Core Technologies ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-06 0:00 ` Robert Dewar @ 1997-07-07 0:00 ` Roy T. Fielding 1997-07-08 0:00 ` Larry Kilgallen 0 siblings, 1 reply; 15+ messages in thread From: Roy T. Fielding @ 1997-07-07 0:00 UTC (permalink / raw) [regarding the notion of a publically maintained problem tracking system for GNAT] dewar@merv.cs.nyu.edu (Robert Dewar) writes: >This might appeal to the hobbyists in the Ada community who are happy to >fiddle with a stream of uncoordinated and insufficiently tested patches, >but it would be inimical to the interests of the wider Ada community >that needs reliable products. The need for reliability extends both >to paying customers, and perhaps even more to those who rely on free >public versions, which they must use without much support. > >Even for those who do know the technology well, formulating a correct >fix to a problem is not easy. We get a stream of suggested fixes from >people who know GNAT pretty well. In nearly every case, the person >has correctly identified a problem, but produced a fix that is either >incomplete or plain incorrect. You jump from one assertion to another without any basis. If you classify myself and my customers as the "hobbyists in the Ada community", then it might be true that we are capable of fiddling with streams of uncoordinated and insufficiently tested patches. We are rarely "happy" to do so, and would obviously prefer coordinated and sufficiently tested patches, but when the choice is finding and fixing a bug or postponing a project until ACT makes a public release, the choice should be obvious. A public tracking system lets us share that work instead of each doing it individually. Does this impact reliability? Yes, but only in a positive way. If the fix is wrong, it will be corrected and the correction attached to the initial report. That is one of the advantages of a tracking system over just posting reports and fixes to netnews or a mailing list. >I don't know quite what makes you think that GNAT development is >haphazard, but let me give some idea of how we proceed internally. I didn't say it was. I said that, in order for a separate Ada95 compiler project to succeed, it would need to be less haphazard than the existing GNAT development process, regardless of whether it was done by a corporation, a joint support contract, or a community of volunteers. There is no correlation between community-based development and haphazard development processes, which is what the poster implied. However, there is often a correlation between haphazard development processes and the success of a competing project. >... >Note that this kind of regression testing is out of reach of informal >fiddling. For one thing, the great majority of the code in the critical >regression suite is proprietary, for example it includes large chuncks >of the DEC test suite, as well as a lot of customer code, that the >customer has been willing to entrust to us only on the basis that >we will carefully protect it. It is also the case that the configuration >control that is needed requires very strong control and management. Obviously, someone who was "fiddling" wouldn't be running regression tests on bugs that they have never encountered. However, there is nothing stopping a community from building a community-supplied and public database of test cases that surpassed any private database. It takes work and real people to support it, but to say that it can't be done is just foolish. Besides, there is nothing preventing ACT from testing the provided fixes, or providing its own patches which have been tested against your private regression and build process. The choice of whether or not to do so would depend on whether or not you are interested in supporting the community beyond mere releases. In any case, such a project would not be dependent on ACT's support, nor would it be subject to ACT's approval. >You need to remember that the entire thread here develops from one >individual who is demanding to get a version of GNAT that we do not >think is ready to release. Yes, of course, we all want 3.10 to be >finished and out there as soon as possible. We have a team of people >working full time towards that goal, and all I can say is that we >simply will NOT release 3.10 before we feel it is ready for release, >no matter how loud people yell. That is, in my opinion, ACT's prerogative. However, I also know that it is detrimental to my work, and thus negatively impacts my customers. We are getting a bit tired of telling DARPA and the AJPO that our software works fine on private versions of GNAT, but has never run under a publically released version of the GNAT compiler. If the wavefronts were named and publically released, then we would have a means of tracking changes to the compiler and running our own build tests, and a means of indicating to our customers what is necessary to compile our software. It doesn't mean that we would always run such tests, just that we would have a *choice*. Furthermore, it would give us (and others) the chance to identify problems before the stable release. >The idea of a public tracking system for GNAT bugs is unworkable in >practice. Why? Because the majority of code involved in such reports >is proprietary, and there is no way that the proprietors of such code >will post it. We quite often get bug reports that contains tens or >even hundreds of thousands of lines of such proprietary code. Obviously, the code placed in the reports of a public tracking system would have to be public. There is no requirement that the public tracking system contain all of the data from your private reports, nor that it even contain all of the known problems. It doesn't have to be perfect in order to be useful. What it provides is a focal point, which is something that ACT doesn't even provide its paying customers. >I think a big difference here is what your view of the community is. >You see the community as a group of energetic hobbyists who want to >play with the latest versions of GNAT, develop and trade patches, etc. > >We see the community as a group of serious users who need stability >and reliablity, and are not interested in always trying out the latest >patches and new features. Our customers are often quite reluctant to >switch to new versions, and that makes perfect sense to us. I see the community as containing both types of users, and would prefer that both be given the choice of receiving stable releases and unstable releases. You claim that giving non-customers wavefront releases will make support impossible, but you don't provide support for non-customers in any case (even less than most free software projects provide free support). Instead, you claim to know what is best for us, and thus the right to choose for us. That is the real source of our disagreement. >I do not know if Roy is subscribed to chat@gnat.com, as far as I can >tell he is not, but I am not sure I am checking the right address. The >idea of chat@gnat.com is to develop to a small extent some aspects of >this informal community. I read the hypermail archive periodically. Building a community requires more than just communication; it requires a common purpose and the ability to contribute to that community, with the tangible results being visible to the rest of the community on a near-immediate basis. I'm not even sure that such a community is possible in the Ada95 world (lack of people is the primary concern), but I do know what is currently making it impossible. Don't be fooled into thinking that these are just off-hand remarks. I have been building such communities for the past four years as part of my research in software engineering. Right now the most significant difference between the Ada95 world-view and the world-view of languages such as Java, Perl, and Python is this self-crippling notion that a secrecy is necessary to control a software project and to provide high reliability. In my opinion, Ada95 will have no future unless it makes community-based development *easier* than it already is for other languages. It needs to be easier because Ada95's language entry-barrier is already much higher than other languages. >Sure, I understand the frustration of the enthusiasts who would just love >to get their hands on the development version every day and fiddle, but >I am afraid their interests must take second place to the needs of the >Ada community that is interested in stable and reliable products and >wants to see from each GNAT release not only neat new features, but also >a general improvement in reliability, correctness and robustness. If that is your definition of "enthusiasts", then I'd say I am not one. My first priority is that the compiler compile, and the real-time system support, Ada95 as defined by Ada95. After that comes support for debugging, particularly on multithreaded code. After that would be an easier installation process, but I understand that is primarily constrained by the intertwining with GCC. In short, I want reliability, correctness and robustness, but do not believe the best way to obtain it is through a closed development process. Proprietary projects have to live with those shackles; we don't. Everything I have suggested has been demonstrated to improve reliability, correctness and robustness on other software projects. It also tends to improve design for extensibility and portability, and in general results in more people being actively involved in using the product and producing related software. These characteristics can be seen in libwww-*, Apache, Linux, FreeBSD, SSH, etc. If you think you understand the nature of software engineering and the limitations of software development processes better than I do, then you can disregard my comments. However, you have a long way to go before you can understand the needs of my customers. ...Roy T. Fielding Department of Information & Computer Science (fielding@ics.uci.edu) University of California, Irvine, CA 92697-3425 fax:+1(714)824-1715 http://www.ics.uci.edu/~fielding/ ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-07 0:00 ` Roy T. Fielding @ 1997-07-08 0:00 ` Larry Kilgallen 1997-07-08 0:00 ` Roy T. Fielding 0 siblings, 1 reply; 15+ messages in thread From: Larry Kilgallen @ 1997-07-08 0:00 UTC (permalink / raw) In article <5ps4eg$bo1@kiwi.ics.uci.edu>, fielding@kiwi.ics.uci.edu (Roy T. Fielding) writes: > [regarding the notion of a publically maintained problem tracking system > for GNAT] dewar@merv.cs.nyu.edu (Robert Dewar) writes: > >>This might appeal to the hobbyists in the Ada community who are happy to >>fiddle with a stream of uncoordinated and insufficiently tested patches, >>but it would be inimical to the interests of the wider Ada community >>that needs reliable products. The need for reliability extends both >>to paying customers, and perhaps even more to those who rely on free >>public versions, which they must use without much support. It seems to me that what you quote from Robert, and what you say in reply, (mostly not quoted here), goes not to the issue of a "publically maintained problem tracking system" but rather some sort of volunteer bugfix exchange. Those two are worlds apart. Please do not tar the notion of a "publically maintained problem tracking system" with the same brush of practicality debates as a bugfix exchange. Note that a problem tracking system can work for multiple Ada products, with no regard to whether sources are public. Larry Kilgallen ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-08 0:00 ` Larry Kilgallen @ 1997-07-08 0:00 ` Roy T. Fielding 0 siblings, 0 replies; 15+ messages in thread From: Roy T. Fielding @ 1997-07-08 0:00 UTC (permalink / raw) In <1997Jul8.071610.1@eisner> kilgallen@eisner.decus.org (Larry Kilgallen) writes: >It seems to me that what you quote from Robert, and what you say in reply, >(mostly not quoted here), goes not to the issue of a "publically maintained >problem tracking system" but rather some sort of volunteer bugfix exchange. No, I was talking about a problem tracking system -- something that let's people record a problem and a sequence of replies or fixes to the problem such that everyone can see the problem report and its status. Not all reports would result in a bugfix. Mailing lists are sufficient to exchange bug fixes, but not to track problems. >Those two are worlds apart. Please do not tar the notion of a "publically >maintained problem tracking system" with the same brush of practicality >debates as a bugfix exchange. Note that a problem tracking system can >work for multiple Ada products, with no regard to whether sources are >public. Yes, just as it is possible to fix a problem without providing a patch. Making a distinction between the two is pointless. ....Roy ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-03 0:00 Towards a free GNU Ada James Rogers 1997-07-05 0:00 ` Robert Dewar 1997-07-05 0:00 ` Roy T. Fielding @ 1997-07-06 0:00 ` Chris Morgan 1997-07-06 0:00 ` James S. Rogers 2 siblings, 1 reply; 15+ messages in thread From: Chris Morgan @ 1997-07-06 0:00 UTC (permalink / raw) James Rogers wrote: [SNIP] > Perhaps it is time to remove some conflict from the ACT charter. > It seems the only way to do this is to either find a continuing > source of funding for development and maintenance of GNAT, or to > find some alternate group to perform maintenance of a public > version of GNAT, effectively creating a separate version from the > product produced by ACT. [SNIP] With respect I think this is a load of nonsense! You can get a copy of a working GNAT for dozens of platforms including almost all the important ones. You can even get the source code and build it yourself. And you are legally allowed to give those items to anyone else you please. If you find a bug you can report it to the maintainers and generally any real bug that might affect the paying customers of ACT gets fixed pretty damn quickly, whilst _all_ bugs are at least noted. Given all this, the fact that the sofware is actually still being actively (and if I may say so very rapidly) by a single team can only be a bonus as far as I'm concerned. I speak as someone who recently got GNAT authorised for some work at a large British defence contractor. I've since changed jobs but I understand they're moving to using it even more widely. Please don't take any offence at this, and in fact feel free to write me and discuss it privately, but really until you demonstrate anything really holding back any unsupported GNAT users you have no case. Chris -- Chris Morgan <mihalis @ ix.netcom.com> "Once upon a midnight dreary, while I pondered, weak and weary," ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-06 0:00 ` Chris Morgan @ 1997-07-06 0:00 ` James S. Rogers 1997-07-06 0:00 ` Chris Morgan 0 siblings, 1 reply; 15+ messages in thread From: James S. Rogers @ 1997-07-06 0:00 UTC (permalink / raw) Chris Morgan wrote: > > James Rogers wrote: > > [SNIP] > > Perhaps it is time to remove some conflict from the ACT charter. > > It seems the only way to do this is to either find a continuing > > source of funding for development and maintenance of GNAT, or to > > find some alternate group to perform maintenance of a public > > version of GNAT, effectively creating a separate version from the > > product produced by ACT. > [SNIP] > > With respect I think this is a load of nonsense! After having a private email conversation with Robert Dewar I must agree. Having been the misguided soul who started this thread, I also want to point out how absurd my earlier statement was. I hope I have learned a valuable netiquette lesson here. I am not interested in seeing some watered-down version of GNAT. I am also not interested in demanding the premature release of any software from ACT, or any other vendor. ACT is doing the Ada world a great service in their work to develop and maintain GNAT. It would be a disservice to ACT and to ourselves to expect or demand the release of any compiler version which is not yet ready for general public distribution. As we all know, software support is an expensive service. This puts an extra burden upon anyone trying to release high quality software to the public, at no cost to the public. The only way to avoid support costs is to deliver software with very low support needs. If some corporation or individual is willing to pay ACT for support costs we should applaud, not jeer. The entities paying ACT for support of "early" releases are also paying the costs which will speed the release of the same software (including many bug fixes in most cases) to the general public. Does this put the general public at a disadvantage? Of course not. Only someone who has gotten used to the Microsoft practice of releasing products prematurely would even begin to assume that there was any advantage to getting the earliest versions of any software. It is always safer to work with proven code than unproven code. The ACVC does not test all aspects of a compiler's quality or usability. Much of that sort of testing must be done in real-world situations. With ACT and GNAT we, the general public, are fortunate to have a situation where we get high quality compilers at no cost while others pay the actual development costs. If one of us really needs newer versions of GNAT ealier, then that person or company must assume the financial responsibility associated with access to the newest versions. However, do not think that you will have exclusive access to a particular version of GNAT, or even to a particular bug fix. The money you pay will benefit you in by delivering fixes to you quickly. It will benefit the rest of us by delivering us high quality code in due time. Jim Rogers Colorado Springs, Colorado -------------------------- Team Ada ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Towards a free GNU Ada 1997-07-06 0:00 ` James S. Rogers @ 1997-07-06 0:00 ` Chris Morgan 0 siblings, 0 replies; 15+ messages in thread From: Chris Morgan @ 1997-07-06 0:00 UTC (permalink / raw) James S. Rogers wrote: > > > With respect I think this is a load of nonsense! > > After having a private email conversation with Robert Dewar I must > agree. > > Having been the misguided soul who started this thread, I also want > to point out how absurd my earlier statement was. > > I hope I have learned a valuable netiquette lesson here. I don't think you violated netiquette. It's fine to discuss these things here and in fact in the past many of the discussions have led to useful developments (e.g. the original discussions on wanting to have a GNAT mailing list). Your post was thus properly "formed" but had some deeper problems, it was thus a semantic error not a syntactical one :-) I too have sometimes wanted GNAT releases before they were public but on balance it's a good thing ACT do what they do. I spent some time as technical representative of a project that had fully paid-for ACT support. I found the ACT support to be better than that of most other software companies, certainly as good as any other support we ever had. Now I'm on the outside again sure I'll sometimes think "I wish I could lay my hands on version x.x" (in fact I'm quite interested in the gdb improvements and the SPITBOL-like string handling library in 3.10) but I know that releasing it prematurely could delay 3.11, so on balance I don't want it until it _is_ ready. -- Chris Morgan <mihalis @ ix.netcom.com> "Once upon a midnight dreary, while I pondered, weak and weary," ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~1997-07-10 0:00 UTC | newest] Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 1997-07-03 0:00 Towards a free GNU Ada James Rogers 1997-07-05 0:00 ` Robert Dewar 1997-07-10 0:00 ` Ronald Cole 1997-07-05 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-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 ` Chris Morgan 1997-07-06 0:00 ` James S. Rogers 1997-07-06 0:00 ` Chris Morgan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox