There are advantages to code sharing, as has been made clear by the success of the open source model of LINUX. A major priority for NASA is that the system be sharable across projects. Sharing leverages the investment made in the system development. There are advantages to STScI as well. A major advantage is that other projects could add capabilities to the system. A disadvantage is the cost required to make the system sharable. A major problem is getting a consensus on the capabilities and user interface of the system. We consider a fully sharable system to be one in which no modifications to the code are required, but input data may vary (such as table-driven aperture definitions). We believe that it is not feasible to develop a fully sharable system for the entire APT. The proposal development process, proposal concepts, and terminology differ somewhat across observatories.
We propose to make the system fully sharable only at the bottom level, the tool level, and only for certain tools. Tool level full sharability can be accomplished with modest additional effort, as a benefit of the hierarchy. The tool API provides a means for any project to take advantage of its capabilities through a top level which is customized for that project. We believe that the Visual Target Tuner, Exposure Time Calculator, Bright Object Checker, and possibly the Visit Planner can be fully shared efficiently.
Of course, the top level code will be available to other projects as a starting point for their development efforts. We will not attempt to make the top level generic enough for other projects to use without customization of the code. We believe it would be too difficult and costly to develop a fully sharable top level. On the other hand, we will favor designs which are well structured for future code modification by other projects or where certain top level elements may be made sharable with little cost.