To be most effective, a domain-specific repository should be a well-organized collection of high-quality software assets with well-defined scopes of applicability. An asset is any reusable product of the software development life cycle - e.g., software component, template, design, specification, test suite. The purpose of scoping the domain is to determine the domain's definition, boundaries, relationships with other domains, and potential users. The scoping task results in a set of objectives for the repository, as well as criteria for selecting which assets should be included in the repository.
Scoping the domain should be carried out within the domain's organizational context, which consists of the stakeholders, funding and management structure, and team background and culture for projects within the domain. Input is needed from stakeholders as their interest, needs, and criteria for success of the project.
To carry out the scoping task, repository developers should determine answers to the following questions:
(An example set of answers to these questions that resulted from the scoping task for HPC-netlib, the high performance branch of the Netlib mathematical software repository, is included in Appendix A).