Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 (MC840302); site boring.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!mcvax!boring!guido From: guido@boring.UUCP Newsgroups: net.micro.mac Subject: Re: Please post sources! Message-ID: <6652@boring.UUCP> Date: Tue, 15-Oct-85 10:37:40 EDT Article-I.D.: boring.6652 Posted: Tue Oct 15 10:37:40 1985 Date-Received: Thu, 17-Oct-85 20:13:39 EDT References: <3066@potomac.UUCP> Reply-To: guido@mcvax.UUCP (Guido van Rossum) Organization: "Stamp Out BASIC" Committee, CWI, Amsterdam Lines: 77 Summary: The time is not ready fort them. I'd rather see more examples. Apparently-To: rnews@mcvax.LOCAL In article <3066@potomac.UUCP> jsl@potomac.UUCP (John Labovitz) writes: >For all you people out there who write programs and release them publicly >(on USENET, CompuServe, etc.), could you please think about posting the >source code as well as the binhex'ed version? Being one of those people out there who just posted some programs without source, I feel obliged to reply. First of all, I believe that much software posted to USENET (net.sources.mac) wasn't created by the poster. I see a lot of things with notes like "this came around on CompuServe. I can't use it myself because I only have a 128k Mac, but I thought you would know best what to do with it. Enjoy." (Of course, now you ask "why wasn't the source posted to CompuServe?" :-) Some valid reasons for not posting source: - Shareware. This seems a way to make (part of) a living for quite a few programmers. Giving the source away would be commercial sucide; the binary nags users to send some bucks. [I'd be interested in hearing if this really earns one a living, after subtraction of the necessary investment in hardware and software.] - Programs that are still under development. If I post an alpha or beta test copy, I would like to hear people's reaction, but not want them to tamper with the source: that's my business. - Complicated programs that would be too difficult for many to understand. A program may be so subtle or just so big and complex that it needs a thorough explanation before anybody could start and modify it. - Size of the sources. Should I post 11,000 lines of C source? Even if the source is of the same size as the binary, it would be of interest to fewer people, which affects the answer to the question "to post or not to post?" (Every posting costs everybody money.) - Quality of the sources. If I wrote a quick hack I might not like others to see my ugly code; especially if I have plans for rewriting it "some time" to comply with higher standards of software engineering. - The use of an uncommon development system. Even the common C compilers differ greatly in the interface to the library/toolbox they have; wish there were a "standard" for interfacing to the Macintosh toolbox from C! (major points of difference are: the treatment of string arguments to toolbox routines; the names of include files; completeness of the toolbox interface; stdio implementation; and non-standard language features such as declarations beteen statements or the 'extended' data type). If people use other languages like Rascal or Forth, the source would be of interest only to a very small group. Lisa Pascal is only of interest to the proud owners of a Lisa. Etc., etc. Much better in my eyes would be the posting of example programs like SKEL and EXAMPLE in the past, and SimpleTools recently. I believe the net could use a good example of a simple terminal emulator (I've looked at the Kermit souces and decided I don't want to learn from THAT). But even with example programs, be VERY careful with copying them without complete understanding what's going on. Inside Macintosh teaches more than the names of routines and their parameters: it prescribes what an application should or shouldn't do in particular cases to ensure proper cooperation with other applications and desk accessories, portability to different versions of the hardware or software, etc. It's a pity that, indeed, I.M. is difficult to read and not always complete -- you need examples as well to make you understand a note, a warning... But after having seen an example, the text in I.M. often makes clear details (or errors!) in it that you would otherwise have overlooked and not copied correctly (remember the problem with zero menu id's posted today). Regarding programs posted without source that do suspicious things: I believe it would be VERY unwise to post a Trojan Horse to the net, because its origin will be tracked down very soon and that site may be taken off the net. Buggy programs are a different story; but even with source a bug may cause a lot of damage before you find out about it. It's basically your own risk; but in practice the risk seems to be bearable. I've tried out a lot of programs that came from the net on my XL, and seen a lot that didn't work (usually because they assumed the screen memory was at a fixed address) or crashed (often because of the use of sound effects), but I have never had any file destroyed by one of them. >(Remember the big thing about the "arf-arf" programs?) No. Please tell us about it. -- Guido van Rossum, CWI, Amsterdam (guido@mcvax.UUCP)