[comp.sys.next] Development

ragnar@kopasker.is (G. Ragnar Gudmundsson) (02/09/89)

     Dear NeXT,

     Could someone at NeXT please send me the "Developers info package"

Thank you.


     And concerning source code availability.


     I have been working with computers for a few years.  My first experience
was as an operator of an IBM S/34.  I was then taught to "program" the thing,
which involved writing code in RPG 2, using the command language and some
pretty powerful utilities e.g. for file sorting and data entry.  It was a
small microcosmos for manipulating files of records of fields. We had good
documentation and all told it was not bad for what we were doing.  Occasional
bugs had usually been encountered by someone else before and the next release 
of the software had it fixed.
     I would like to focus on two relevant points.

     1.  We had no source code access.  The documentation was very good and
we weren't really doing anything "new", just shuffling records.  So we did not
need source code.
     2.  The people at IBM were constantly improving the system, adding new
features and fixing bugs. There is NEVER a final version of system software.

   My next project was absolutely different.  I adapted the Acorn/BBC
computer for use with the national languages of Iceland, Denmark, Norway and
Sweden.  This was a totally different story.  Here I had to dig into the
operating system and (with help) managed to change the keyboard layout, screen
font and printer driver.
     Due to lack of documentation for the parts of the OS that I was working
on, I actually had to go to Acorn in Cambridge, England.
     The Acorn OS for the BBC computer is very brilliant. There are
hooks in the OS to intercept almost anything and you can direct it to
access extra facilities in auxiliary ROMs.  I really did not have to do 
to much work.  I had to:
     Get access to the documentation (what can I do and how should I do it),
     Get relevant source code (rewrite the keyboard driver),
     Get help from someone who knew 6502 assembly language (I got a lot of
help with the coding).
     So what happens?  There is a minor problem in then OS, one that someone
not doing an Icelandic keyboard driver will never notice.  I look at the 
source and there is a comment "If we can spare a few bytes in the ROM and 
some cycles in the interrupt we will do this differently".  
They never did and over the years it has cost us months of work to write
around.
     To restate the relevant points as in the previous example.

     1.  At the time Acorn had not released documentation on the parts of the
OS that I was working on.  I was doing something that had not been done on
their machine before.  Access to the source code was thus essential to the
completion of this project.
     2.  Operating systems should constantly be improved by adding new
features and removing bugs.  There will always be developers, who for some
obscure reason run into bugs or are doing things that are incompatible
with the way your operating system is written.  They must be able to modify
your system to test the validity of potential fixes.  THEY are better off
fixing your code than having to write around it.

     It is very much a question of productivity.
     If you supply source code, then the users of your system that are
developing truly innovative applications will excel.
     They will be able to build on the advanced technology of your system.
     They will be able to compete favorably with developers doing similar
work on other systems.

     Some developers are constantly trying to optimize the use of human and
computer resources.  They are debugging systems at various levels.  I would
like to say that for these people management problems are just like any
other bugs.  So they ask you to supply the source code of your system.  If
you don't, they will have to revaluate their options.

     You are running a race.
     If developers can do new things in a more productive way on your system,
they will help you win that race.

Gudmundur Ragnar Gudmundsson
P.O.Box 156
121 Reykjavik
Iceland
ragnar@kopasker.is

wtm@neoucom.UUCP (Bill Mayhew) (02/11/89)

I would prefer source be available if possible.  It might be fair
to attach a fairly high monetary cost to furnishing source, thus
assuring that only companies/people who really, really, honestly
need it go to the effort to get source.

There are some advantages to keeping source proprietary.  The Apple
Macintosh systems are good examples.  With the Mac. it is often a
pain in the neck to code in the manner Apple prescribes.  There is
a strong temptation to say "if I knew where to pointer to blah-blah
were, I could just go in and modify the pointer directly".
Unfortuantely, the Mac. ROMs have undergone fairly frequent
revisions, and the internal structure of the current 256K ROMs is
vastly different from the original 64K devices.  Unfortunately,
witholding source hasn't stopped industrious coders from reverse-
engineering the salient sections of code and hacking in.  Even
fairly main-line applications, even some from Claris (Apple's
software spin-off company), have been guilty of poking around in
the O/S and have been burned when new ROMs appeared.

The same situation is analogous to different revisions of the Next
kernel.  One hopes that the cube has enough horsepower that most,
if not all, of the time going through the high-level interface to
system services will not be overly penalizing, unlike the original
Macs. which were pretty s-l-o-w.

It wouldn't be too surprising that people writing networking stuff
would need to have access to source to really understand the kernel
data structrues and software interfaces.

I can see both sides of the argument.  But.. I believe source
should be available at a price, if you really need it....  There
are quite a few times when I've been very glad that we have a
source license for our bsd relase.

--Bill
  wtm@impulse.UUCP
  ...!lll-winken!scooter!neoucom!impulse!wtm

dorner@pequod.cso.uiuc.edu (Steve Dorner) (02/14/89)

In article <1495@neoucom.UUCP> wtm@neoucom.UUCP (Bill Mayhew) writes:
>
>I can see both sides of the argument.  But.. I believe source
>should be available at a price, if you really need it....  There
>are quite a few times when I've been very glad that we have a
>source license for our bsd relase.
>

I just want to add my voice here.  In Universities where there is
operating system or networking research, source is pretty important.
No vendor can anticipate each and every need of such institutions,
either in the code they provide or in their documentation.

This is all exacerbated by the fact that NeXT insists that Universities
provide support for the boxes; supporting a UNIX machine you don't have the
source for is really tough.
-- 
Steve Dorner, U of Illinois Computing Services Office
Internet: dorner@garcon.cso.uiuc.edu  UUCP: {convex,uunet}!uiucuxc!dorner
IfUMust:  (217) 244-1765

chapman@fornax.UUCP (John Chapman) (02/15/89)

In article <440@garcon.cso.uiuc.edu>, dorner@pequod.cso.uiuc.edu (Steve Dorner) writes:
> In article <1495@neoucom.UUCP> wtm@neoucom.UUCP (Bill Mayhew) writes:
> >
.
.
.
> 
> This is all exacerbated by the fact that NeXT insists that Universities
> provide support for the boxes; supporting a UNIX machine you don't have the
> source for is really tough.

This is a little off the topic, but: does NeXT insist that the university
continue providing support to a machine if the owner leaves the academic
environment? If not, does NeXT plan to support all those students who
buy the machine and then graduate?

just curious.....