Subject Re: Fwd from ANN HARRISON: Delivering sources
Author Helen Borrie
At 09:32 AM 28-01-00 +1100, Ann Harrison wrote:
> >
> >Specifically, where to make the tradeoff
> >between clean code and code now?
> >
> >At the moment, there's a single source for InterBase
> >with magic in the source control tool to deal with
> >differences between the various environments. The
> >most significant of those is the use of $ in names.
> >
> >Should NewCo make a pass through the code once to
> >so that the engine is actually, rather than almost,
> >one code base? Should they go a step further and
> >use GCC for all platforms?

I say yes to both: I can't see how source code that's opened but requires
proprietary compilers can be said to be 'open source'. Is there actually
a choice? I think it's a "must do".

> >
> >At one point, some of the compilers used to build
> >InterBase did not accept ANSI prototypes. As a
> >result, every routine has conditionalized prototypes.
> >They're really ugly and completely useless. Should
> >NewCo remove them before releasing the code?

Obviously yes if the sourcecode is rationalized to GCC-compilable.

> >
> >At various times, InterBase has been ported to
> >platforms that are no longer strategic - like
> >HP MPE/XL. Should NewCo remove the conditional
> >code for those platforms? Just the really ugly
> >ones?

On principle, yes. What means do we have to find out if users on those old
platforms are still following the upgrade path?

> >
> >High level internals documentation is almost
> >non-existent. Complete documentation would
> >be (much) larger than the code, so that's not
> >likely to appear. Should NewCo take the time
> >to write module by module documentation? A
> >~30 page overview?

I believe this is an essential task. The detailed H/L will eventuate from
the people working on the code and we will have the means to do this in an
organized way. People who fully understand the boundaries of the module
will need to be in an initial project to set up the very high-level
framework. I think this part of the task should be done by the NewCo tech
people and it should be done with highest priority.

> >
> >As you think about these questions, please remember
> >that you (the knowledgeable InterBase developer) are
> >not the only user of the source. It's important
> >that the code that's released be buildable by humans
> >on all the platforms it runs on.

Amen to that. It will be important for us to design our HL doc strategy
always with that in mind. But even Interbase-aware people who will be
working with the source need it. We don't all have Ann Harrison-level
knowledge of Interbase. We do have the huge benefit of having people like
Ann, Dave Schnepper, Reed, et al. around to be our "Linus T." but it's
vital for us to do everything possible to get their knowledge and
understanding on record.

Helen