Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site potomac.UUCP Path: utzoo!linus!decvax!ucbvax!ucdavis!lll-crg!seismo!rlgvax!bdmrrr!potomac!jsl From: jsl@potomac.UUCP (John Labovitz) Newsgroups: net.micro.mac Subject: Re: Please post sources! Message-ID: <3068@potomac.UUCP> Date: Wed, 16-Oct-85 17:19:17 EDT Article-I.D.: potomac.3068 Posted: Wed Oct 16 17:19:17 1985 Date-Received: Sun, 20-Oct-85 07:36:17 EDT References: <3066@potomac.UUCP> <6652@boring.UUCP> Organization: Potomac Scheduling Co., Bethesda MD Lines: 145 > = Guido van Rossum, CWI, Amsterdam (guido@mcvax.UUCP) > 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... That's true. I'm grateful for the people who download the stuff off of there and post it here (CompuServe is *way* too expensive for me). Maybe a similar message like mine could be posted there? > 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 really don't see how anyone could earn a living, asking $10 for a program. I'm sure that only a small percentage of people actually send in the money (maybe %20 or so). Personally, I think the shareware idea has gotten a bit out of control. Almost all programmers now ask for $5 or $10, for any kind of program. But since they don't need to maintain the program, or offer updates, or anything like that, they are basically getting money just for writing the actual program. Why couldn't people release source AND ask for donations? You'd be paying them for the time they spent writing it. Sure, other (nasty) people could take their code, reformat it, change a few things, and release it with their name on it. But since it is *so* easy to change dialog boxes, menus, etc., with the resource editor, these nasty people can do almost the same with object code! > - 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. I agree with you here. > - 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. There's a program in the CP/M world, called MODEM7, which has existed since 1979. Since that time, there've been (almost) hundreds of versions, done by a variety of people. The source has grown to over 150k. It's written in 8080 assembly language (subtlety? hah!). And it's public domain. Various evil people have attempted selling it or copyrighting it themselves, but never succeeded. Another example is Kermit, which is pretty big for most versions. Columbia *does* maintain it, and makes sure the bug fixes and features really work, but it's still released to the public. And how about something closer to home -- the news system. Would *you* put up news without sources? (Assuming all binaries were the same, that is...) > - 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.) Ok, I agree here too. However, you could put a message in the source or doc file that says `If you want source, please talk to me.' > - 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. No offense, but I think if someone writes ugly code to begin with, (1) it will never become un-ugly, or (2) they'll never get around to it. > - 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! Most of the C compilers are basically similar. Some you have a function to do string conversion, some it's built in. I've successfully gotten running things that worked under Aztec C. > 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. Not necessarily. Most pascals & c's and Forth's & whatever are *basically* similar. If you can read pascal, you can usually read c, and vice versa. Rascal is, I believe, sort of like C *and* pascal. You can usually figure out the basic concepts behind what's going on. Most programmers (at least from reading net.micro.mac) use one of the C compilers. Most of the rest use Pascal. > 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... Absolutely! A terminal program is one of the things I've been trying to write for a *long* time! SimpleTools is great -- I use it constantly (well, whenever I program, that is). > 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. True. Example: I wanted to find a way to get the directory of a disk (not display a directory with SFGetFile (or whatever), but just read the directory into a buffer). I looked at your backup program, and *voila* -- much clearer than N pages of junk in IM about disk drivers, directory formats, etc. I *did* go back and look in IM, and having an example made it much clearer. > 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. I have. Quite a few times, actually. I wish there was a way on the XL to `protect' the hard disk, and just have the floppy active (I guess I could boot up on a disk that didn't know about the hard disk). > >(Remember the big thing about the "arf-arf" programs?) > No. Please tell us about it. There was a big thing on (I think) net.micro.cpm, which originally stemmed from a magazine article on public domain software. Apparently, some guy downloaded a program and ran it on his PC with a hard disk. It chugged away, and came back with a message that effectively said, ``Haha. You lose. I wiped out your entire hard disk. Arf arf.'' Same basic idea as a trojan horse. Now, people could be smarter, and *make sure* the program is legit, by using it only on the floppy, or whatever, but most people (me included) are too lazy, and we take the chances. I've had to reformat the XL once or twice because something didn't work right, but generally I've had good luck. (Robustness (or the lack thereof) of the Macintosh OS is another flame I have, but we'll save that for later). -- John Labovitz ..!{rlgvax,seismo}!bdmrrr!potomac!jsl -- "Daddy, it's the man with the lightbulb head!" "Avert your eyes from his gaze, junior, and we may yet be safe." "But daddy, it's you!" "It's too late -- I've come to turn you on!" -- Robyn Hitchcock