In practice, if a core library is changed, we think that the resulting cost of changing code has to be borne by the Project Center since otherwise the cost to end-user programmers of tracking continuing changes will be a strong disincentive to use the system. Here the most difficult problem is deciding which pieces of an application can be moved to the core library. Advice on priorities for this process can come from our clients but detailed advice on what to migrate when must come from a technically knowledgable group. Integration of a new package will be viewed most favorably if the code obeys our coding and documentation rules, and if the expected lifetime of the package is more than one year. Determining which configurations will be supported is a function of the Project Center, but advice is particularly important here.
Development entails hard choices.
These choices have to be made bearing in mind the needs of potentially all the clients, and making sensible guesses as to which lines of development should be followed with which priority. We return to this issue below.