>
>Date: Thu, 27 Jan 2000 15:16:59 -0500
>From: Ann Harrison <harrison@...>
>
>Subject: Delivering sources
>
>
>As the opening of the source gets closer, I find myself
>wondering more and more about the details.
>
>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?
>
>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?
>
>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?
>
>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?
>
>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.
>
>Appreciate your thoughts,
>
>Ann