bryce@hoser.berkeley.edu (Bryce Nesbitt) (09/21/87)
In article <156@splut.UUCP> stu@splut.UUCP (Stewart Cobb) writes: > > Why hasn't Commodore released the source to the operating system? > > Think about it. They can't be afraid of pirates: everyone who has an >Amiga gets a copy of the OS, gratis. Are they afraid someone would hack >it up into a better OS? Someone might port it to the Macintosh... or worse yet the Atari ST... or worse yet the Commodore 64... Atari 800... Apple ][... IMSI 8080... :-) :-) :-) :-) :-) > [more discussion deleted] > Can someone point out the flaw in my reasoning? Or, perhaps, the >flaw in theirs? The worst problem would be the detailed internal knowlege that people would have about the OS. Many of them can't be trusted. Some things are much better off as "Black Boxes" because they can, will, or should change. With bad enough habits you get a system as un-upgradeable as the Commodore-64. I once did a little babule called 1541 Flash!. Would you believe that some programs load values from absolute addresses in the ROM, compare them to constants and *crash* if they are not correct? Major, best selling, programs? And that's just the easy to find incompatibilities. People won't do that to the Amiga... but they will do the next best thing; reading, depending and worst of all changing private structures. Depending on interactions and side-effects that may want to disappear later. Using the BCPL globals or other such nonsense. (Remember Scott Turner on this point?) Commodore has said that they are not telling how those things work; yet still people want to use them. >That would only sell them _more_ Amigas. They >shouldn't be concerned about having multiple, perhaps buggy, new OS's >floating around, because everyone who has one of those also has the >original to fall back to.... What Commodore *should* do, in my opinion, is release source to a lot of the device-specifc stuff. Here I mean printer drivers and such. The source can only be used in an Amiga-specific way, and would promote better drivers. To protect Commodore's multi-million dollar investment in all this, some legal vulture could come up with a distribution restriction that reads "...intended for use only on computers sold by Commodore... must retain copyright** notice..." whatever. In cases where good support has been slow to show up (like with DOS handlers) a relase of code can grease many locks. (Someone might hear about MODE_READWRITE... or pherhaps even implement it!) I think serial.device is handled by now... but at a certain point that would have made all the difference for a midi.device. (A midi.device ought be a standard part of the next Workbench release... ) ** It is "Copyright" (The right to copy), not "Copywrite" (How to make a copy with a pencil) or "Copywright" (Something out of Tolkien). Some shareware authors blow this not-so-fine point. |\ /| . Ack! (NAK, ENQ, SYN) {o O} . (") bryce@hoser.berkeley.EDU -or- ucbvax!hoser!bryce U How can you go back if you have not yet gone forth?
schoet@ernie.Berkeley.EDU (Steve Schoettler) (09/21/87)
In article <3866@zen.berkeley.edu> bryce@hoser.berkeley.edu (Bryce Nesbitt) writes: >In article <156@splut.UUCP> stu@splut.UUCP (Stewart Cobb) writes: >> >> Why hasn't Commodore released the source to the operating system? >> >> Think about it. They can't be afraid of pirates: everyone who has an >>Amiga gets a copy of the OS, gratis. Are they afraid someone would hack >>it up into a better OS? As the owner of possibly the best microcomputer operating system around, they do have a competitive advantage. Why risk loosing it? > >Someone might port it to the Macintosh... or worse yet the Atari ST... >or worse yet the Commodore 64... Atari 800... Apple ][... IMSI 8080... >:-) :-) :-) :-) :-) > Or worse yet, someone in Korea or Taiwan might start making Amiga clones... :-) :-) >> Can someone point out the flaw in my reasoning? Or, perhaps, the >>flaw in theirs? > >The worst problem would be the detailed internal knowlege that people >would have about the OS. Many of them can't be trusted. Some things >are much better off as "Black Boxes" because they can, will, or should >change. As an example of the kind of thing that will happen, take the Manx fexec() function that broke under 1.2. To get it to work in a clever way, Jim found out where something was stored on the BCPL stack. In 1.2, the value's stack position changed, and the function didn't work anymore. (I can't print it here because of copyright restrictions, but that command should be memorialized as a tribute to Amiga hackers :-) :-). >People won't do that to the Amiga... but they will do the next best thing; >reading, depending and worst of all changing private structures. Depending >on interactions and side-effects that may want to disappear later. Or someone might find out about the SwitchTask function in the Exec Library and start using it... Some things could prevent this (described later). >>That would only sell them _more_ Amigas. They >>shouldn't be concerned about having multiple, perhaps buggy, new OS's >>floating around, because everyone who has one of those also has the >>original to fall back to.... A strict license agreement would prevent this. Only allow Commodore to distribute updates. >What Commodore *should* do, in my opinion, is release source to a lot >of the device-specifc stuff. Here I mean printer drivers and such. >The source can only be used in an Amiga-specific way, and would promote >better drivers. Yeah, that's the ticket! >In cases where good support has been slow to show up (like with >DOS handlers) a relase of code can grease many locks. (Someone >might hear about MODE_READWRITE... or pherhaps even implement it!) > >|\ /| . Ack! (NAK, ENQ, SYN) >{o O} . > (") bryce@hoser.berkeley.EDU -or- ucbvax!hoser!bryce > U How can you go back if you have not yet gone forth? As a software developer, I would like to see the sources. They would help me trace bugs in my code as well as in the kernel. Also,. a greater understanding of internal functions would result for all of us (mixed blessing). I would also think more bug reports would be written, and more solutions would be offered. This might result in a sturdier software system and reduce the time required (manpower) to fix bugs. Although the mentioned concerns are valid, there may be answers to the problems: 1. Release source only through license agreement, which allows Commodore exclusive right to distribute updates and versions of object code. In the case of UN*X, this method has not resulted in loss of income for ATT, and has not resulted in a lot of copy clones. This is largely due to the strength of ATT's legal department. Commodore may or may not have the strength to enforce this, though. 2. Spend a couple of person-years developing a detailed architectural specification, telling developers exactly what can and cannot be depended upon. In 1983 IBM published the 370-XA Principle of Operation which defined an entire architecture which has spanned many machines, and has remained largely unchanged since. It documented many features of the existing machine, and also specifically left many things UNDEFINED. Granted, the Amiga documentation is magnitudes better than corresponding info from IBM, but it would have to be expanded to explain every element of every structure. Such overwhelming effort and forethought may only be feasible for an architecture intended to last 30 years or so. Are the above ideas feasible? rational? If anyone knows, Commodore would. :-) Steve Schoettler ...ucbvax!schoet {Usual Disclaimers}
dragon@trwspf.TRW.COM (Roger Vossler) (09/23/87)
In article <3866@zen.berkeley.edu> bryce@hoser.berkeley.edu (Bryce Nesbitt) writes: *In article <156@splut.UUCP> stu@splut.UUCP (Stewart Cobb) writes: *> *> Why hasn't Commodore released the source to the operating system? *> *The worst problem would be the detailed internal knowlege that people *would have about the OS. Many of them can't be trusted. Some things *are much better off as "Black Boxes" because they can, will, or should *change. * [text deleted] *What Commodore *should* do, in my opinion, is release source to a lot *of the device-specifc stuff. Here I mean printer drivers and such. * *The source can only be used in an Amiga-specific way, and would promote *better drivers. I totally agree: only release source code for device drivers and, perhaps, some specific handlers. At TRW, we have about 25 Liliths for which we have all of the Modula-2 source code, including the operating system, MEDOS-2. Keeping track of all the changes that we have hacked into our code is a serious problem for us (and we know how to do it, too), particularly, since the code is so easy to change and "improve". MEDOS-2 V5.2 is about 10,000 lines of Modula-2 source code which, BTW does some resource tracking. Now, my question for some Amiga Wizards, since I don't know too much about the internals of AmigaDOS (yet): How hard would it be to graft another operating system onto the AmigaDOS kernel and how would one basically go about doing it? For example, MINIX-like or something like MEDOS-2? How much of the stuff in ROMs is required to run the Amiga as opposed to just booting it up? It seemed that when everything in Kickstart was in WCS, the problem of grafting on another OS kernel was much simpler (relatively). It seems to me that hooking in another OS somehow permits the OS People to work to their hearts content (as in the MINIX world) and yet at the same time not disrupt a foundation upon which other people are trying to build a commercial base. Thanks for your time. -- -- Roger Vossler TRW, Bldg O2-1395, One Space Park, Redondo Beach, CA 90278 BIX: rvossler UseNet: dragon@trwspf.trw.com ATT: 213.535.2804 ....!sdcrdc!trwrb!trwspf!dragon