Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!pasteur!ucbvax!decwrl!Angelo!Portia!Jessica!rick From: rick@Jessica.stanford.edu (Rick Wong) Newsgroups: comp.sys.next Subject: Re: NeXT and sources Message-ID: <169@Portia.Stanford.EDU> Date: 31 Jan 89 18:28:48 GMT References: <651@blake.acs.washington.edu> Sender: news@Portia.Stanford.EDU Reply-To: rick@Jessica.stanford.edu (Rick Wong) Organization: Stanford University Lines: 45 I just wanted to throw in my two cents worth to the outcry for source availability. Most of the folks arguing for source availability seem to be coming from a UNIX or networking standpoint. I would like to make a pitch for source availability for the AppKit. I develop applications on the Mac, using MacApp, Apple's object-oriented applications framework. It is analogous to NeXT's AppKit. Apple distributes MacApp in source-code form, and I find having the source absolutely essential to getting anything done with it. I have four points: 1. Object-oriented programming requires the programmer to have fairly precise knowledge of the protocols that have to be followed when "plugging into" an existing set of classes (i.e., the AppKit). Although _extremely good_ documentation may be able to describe the protocols sufficiently, it can never provide as precise a description as the source of what the source is expecting. 2. Software (even NeXT's!) often has bugs. When I run into a problem because some method call to an AppKit object isn't behaving as I expect, I would like to be able to find out if it's because of something I'm doing wrong, or because of a bug in the AppKit. It's much easier to determine this from the source than from documenta- tion. 3. Having the source available ought to greatly improve the quality of bug reports to NeXT. When I find a bug in MacApp, for instance, I can usually find out the exact portion of code that's in error, fix it myself, and send an _exact_ description of the bug _and_ its fix to Apple. 4. Being able to fix bugs also saves me from having to kludge around them until they're "officially" fixed. I suppose many of these points apply to having source available for all levels. I think they especially apply for object-oriented programming, considering the often complex interactions between different objects. (Smalltalk is distributed with source, isn't it?) Rick Wong Stanford University rick@jessica.stanford.edu