Xref: utzoo comp.sys.apple:5580 comp.sys.ibm.pc:14674 comp.windows.misc:484 Path: utzoo!mnetor!uunet!husc6!bloom-beacon!mit-eddie!uw-beaver!cornell!rochester!udel!burdvax!sdcrdcf!trwrb!desint!geoff From: geoff@desint.UUCP (Geoff Kuenning) Newsgroups: comp.sys.apple,comp.sys.ibm.pc,comp.windows.misc Subject: Re: A Nutty Idea Message-ID: <1722@desint.UUCP> Date: 20 Apr 88 05:54:59 GMT References: <231@unsvax.UUCP> <6276@watdragon.waterloo.edu> <138@bud.UUCP> Reply-To: geoff@desint.UUCP (Geoff Kuenning) Organization: Interrupt Technology Corp., Manhattan Beach, CA Lines: 44 Keywords: volunteer GNU-like PD freeware You know, I really hate to rain on anyone's parade, especially when people are so eager to volunteer their time for what they feel is a good cause. But it's fairly obvious that nobody who is supporting this idea has much experience with managing software projects. Yes, the idea *is* nutty. Here's why: Coordinating different workers on the same project is difficult and time-consuming. With 3-5 workers, it's a full-time job. With more, because of the combinatorics involved, the complexity rises exponentially (*not* linearly). Read "The Mythical Man-Month" by Frederic P. Brooks for a thorough discussion of this issue. As an example, in the past year I have devoted between 500 and 1000 hours to a single program, ispell. The current version is something over 8000 lines of code, plus about 1000 lines of shell scripts, which is not all that large a program compared to an editor, a kernel, or troff. So, if I had volunteered my time at 5 hours per week (I've devoted *lots* more than that, as you can see from the total) it would have taken me between 100 and 200 weeks (that's 2-4 *years*, folks) just to get that one program done. The alternative suggested is cooperative effort. To keep things realistic, I'll assume a 6-person project for ispell; at 5 hours per week, that produces 20-40 weeks of work, or about 1/2 to 1 year (1 of the 6 people will spend all of her time coordinating the rest of us). Now go look at the number of programs in /bin, and multiply these by an average of 3 people per program. That's the number of volunteers you'll need. Then you'll need coordinators to coordinate the coordinators, because of the large numbers involved. And I'll bet money my estimates are grossly optimistic. This is not to say the project is impossible. But I think people are underestimating its size by several orders of magnitude, as well as ignoring some logistical problems that are, in fact, larger than the programming project itself. Ask yourself this simple question: have you ever completed a 1000-line or larger program in the time you estimated it would take? If the answer is no, the chances are excellent that you're underestimating this project, too. (BTW, if nine women would like to get together and produce a baby by next month, I'll commit to raising the thing... :-) -- Geoff Kuenning geoff@ITcorp.com {uunet,trwrb}!desint!geoff