Program To Provide Fermilab Software to the Community May 16, 1994 J. Nicholls, D. Petravick, R. Pordes, F. Rinaldo, B. Schermerhorn, V. White, M. Wicks
Abstract
1.0 Introduction Our Goal is to provide to the general community software that has been developed by the Fermilab Computing Division, found to be useful and worthwhile by our immediate user community, and which the Computing Division has ascertained is of sufficient worth to offer to the community at large, consistent with the mission of the laboratory. In offering this software, the Computing Division will implement a process for providing the software and documentation; a process for communication and feedback for the users; understand the issues concerning support and maintainance of the software; and participate in an outreach program to bring the software to the attention of potential users. This strategy report and accompanying implementation plan address the following issues:
2.0 Offering Fermilab Software to the Wider Community 2.1 Purpose We are offering Fermilab Software to the Community in support of the laboratory's mission. Our purpose is to create and sustain demand for collaboration in the laboratory's software development efforts among governmental, educational, and commercial organizations. Generally such software is made available to those who wish to use it and/or contribute in a collaborative way to its further development, allowing Fermilab to gain at least one of the following benefits:
2.2 Technical Requirements Software offered to the community can be any software package for any computer platform that conforms to the strategy and implementation requirements of the Program - from small stand-alone programs to large multi-part software systems. Fermilab developed software that depends on the acquisition of commercial or other non-Fermilab software for its use may be included, as well as software packages that require development of additional application code in order to be used. The software packages must consist of well defined, internally released versions of software having general utililty, which continue to undergo active development as a consequence of their importance to the laboratory's mission. The requirement of active development means that the Software Provider organizations are easily identified as those responsible for the software within Fermilab. Software to be offered to the community must have a proven record ofbeing accepted and found worthwhile by the laboratory's internal clients. When the benefits to the laboratory associated with making the software available no longer apply, commitments to those using it shall be terminated as described in the terms and conditions statement accompanying the distribution package, and the software need no longer be supported to outside users or collaborators. 3.0 Distribution Strategy The Software to be offered to the community shall be easily and freely available through an identified location on the Internet. Tracking mechanisms shall be in place to monitor when software is distributed from Fermilab. Documentation on and information about the Fermilab Software Tools Program, its policies and software included within it shall be actively presented and disseminated to the community and brought to the attention of potential collaborating software development and user organizations through outreach activities. 4.0 Outreach An integral activity required for the success of the Fermilab Software Tools Program is that of outreach. By moving into a visible role as a significant force in the development and perfection of software, Fermilab will achieve the recognition for its efforts that is deserved. Outreach requires a willingness and commitment to be proactive in promoting the programs that offer the software. Fermilab Software Tools addresses the first. Participation in the Technical Briefings outreach program one part of the second. The Technical Briefings Program is described in a separate implementation document. 5.0 Legal and Liability Issues Software offered to the community through the Fermilab Software Tools Program is considered to be at a stage of development that is suitable for trial or beta-site use in production environments. That stage is also characterized by the need for feedback from outside users to enhance and direct future development or modification efforts. This is, in fact, a key motivation for this effort. The terms and conditions under which the software is offered must be clearly stated within each software package. It is important that users recognize the software's origins, the government's sponsorship under which it was developed and the expectations of all parties involved. To accomplish this, statements must be included in each software package made available under this Program which will:
All authors contributing to the creation of the software must be acknowledged. This may be done in one of two ways: by referencing their work as published in the bibliography of the documentation if possible, or by including a complete list of authors in an 'Acknowledgment Statement' in the documentation. Documentation here refers to both printed and electronic forms. 6.0 Management of the Program Responsibility for the Fermilab Software Tools Program and authorization for inclusion of software within it rests with the Head of the Fermilab Computing Division. An Oversight Committee will be established by the Head of the Fermilab Computing Division to handle the bureaucratic and technical aspects of management of the Program. The Oversight Committee shall meet on a regular basis. Its' responsibilities shall include review of feedback from Users and Software Providers. The Oversight Committee shall ascertain that software submitted to the Fermilab Software Tools Program satisfies the criteria for inclusion. It shall organize an announcement of the eligible software at a Computing Division Status meeting. The Computing Division Head may authorize further review and audits. 7.0 User Expectations Users of the Fermilab Software Tools offered to the community are required to abide by the terms and conditions distributed with the software. They are expected to provide acknowledgement of the origins of the software. They are expected to provide feedback on its use to Fermilab. If users further develop or enhance the package they are strongly encouraged to make the resulting software available to Fermilab through the Fermilab Software Tools Program. Users of software offered under the Fermilab Software Tools Program can expect support at least to the extent of acknowledgement of communications about the software. 8.0 Software Provider Responsibilities For the purposes of this Program, a Software Provider is an identified group or department. A Software Provider should expect to provide a level of support for its software included in the Fermilab Software Tools Program consistent with guidelines given by the Head of the Computing Division and the appropriate line management. A Software Provider shall abide by the Fermilab standard established policy with respect to providing external consulting services for the software included in the Program. A Software Provider may be expected to present its software to user and community organizations. 9.0 Software Standards Software to be included in the Fermilab Software Tools Program must satisfy standards as developed by the Oversight Committee. These standards will include requirements on inclusion and format of source code, scripts, test programs and documentation. Additionally statements detailing the support, user commitment, legal, liability and "Policy" issues associated with distribution and use of the software must be included in each software package. Software from Fermilab or contributed by outside developers that does not meet these defined standards will be excluded from the Program until the deficiencies are addressed.
|
| last modified 05/16/1994 fermitools_support@fnal.gov |
| Security, Privacy, Legal | |