Difference between revisions of "SCEC Software"

From SCECpedia
Jump to navigationJump to search
(Created page with 'SCEC Software Release Policies - SCEC software engineering group has established standard practices for use when releasing new versions of publicly distributed scientific softwa…')
 
Line 1: Line 1:
SCEC Software Release Policies
+
'''SCEC Software Release Policies'''
  
- SCEC software engineering group has established standard practices for use when releasing new versions of publicly distributed scientific software. These practices are based on "best practices" for scientific software development established on SCEC's CSEP project.
+
SCEC software engineering group has established standard practices for use when releasing new versions of publicly distributed scientific software. These practices are based on "best practices" for scientific software development established on SCEC's CSEP project and on SCEC's UseIT SCEC-VDO project.  
  
Each software project must have the following items:
+
Every SCEC/CME project that releases SCEC-developed and SCEC-supported software to the community is expected to provide the following materials before the software is released, unless there is a good reason not to follow these guidelines.
  
(1) A public SCECpedia entry that provides and overview of the software project, the capabilities of the software, and a software release history.
+
Before SCEC/CME software development group releases Each software project must have the following items:
  
(2) A private SCECpedia entry that describes the software development information for the project including design overview, data sources, algorithms used, software language, development environment, run-time environment, and required software stack.
+
# A public SCECpedia entry that provides and overview of the software project, the capabilities of the software, and a software release history.
  
(3) Source code under version control.  
+
# A private SCECpedia entry that describes the software development information for the project including design overview, data sources, algorithms used, software language, development environment, run-time environment, and required software stack.
  
(4) Issue tracking system (TRAC) site with a trouble ticket system and a connection to source code under version control.
+
# Source code under version control.  
  
(5) Automated suite of user-oriented acceptance tests typically-based on reference inputs and outputs compared to calculated results.
+
# Issue tracking system (TRAC) site with a trouble ticket system and a connection to source code under version control.
  
(6) Automated build and test capability, such as CruiseControl, which will run the acceptance tests without manual interactions.
+
# Automated suite of user-oriented acceptance tests typically-based on reference inputs and outputs compared to calculated results.
  
(7) Assigned Software Version Number using CSEP model of Yr.Mo.Day v10.8.1 with tags in version control system.
+
# Automated build and test capability, such as CruiseControl, which will run the acceptance tests without manual interactions.
  
(8) Release Description wiki pages containing the following information:
+
# Assigned Software Version Number using CSEP model of Yr.Mo.Day v10.8.1 with tags in version control system.
- Software or system name and description of purpose of software
 
- Link to public web page describing project
 
- Description of software capabilitie
 
- Description of intended users
 
- Version of current release
 
- Overview of changes including new capabilities of current release
 
- Software support email list
 
- Contact for Responsible scientists
 
- Contact for Responsible Software Engineer
 
- How to report software problem or request features
 
  
(9) User documentation including web and pdf versions of:
+
# Release Description wiki pages containing the following information:
- Scientific User Guide to using Software and results
+
** Software or system name and description of purpose of software
- Computer User Guide to Installing and operation software
+
** Link to public web page describing project
 +
** Description of software capabilitie
 +
** Description of intended users
 +
** Version of current release
 +
** Overview of changes including new capabilities of current release
 +
** Software support email list
 +
** Contact for Responsible scientists
 +
** Contact for Responsible Software Engineer
 +
** How to report software problem or request features
 +
 
 +
# User documentation including web and pdf versions of:
 +
** Scientific User Guide to using Software and results
 +
** Computer User Guide to Installing and operation software

Revision as of 14:17, 27 July 2010

SCEC Software Release Policies

SCEC software engineering group has established standard practices for use when releasing new versions of publicly distributed scientific software. These practices are based on "best practices" for scientific software development established on SCEC's CSEP project and on SCEC's UseIT SCEC-VDO project.

Every SCEC/CME project that releases SCEC-developed and SCEC-supported software to the community is expected to provide the following materials before the software is released, unless there is a good reason not to follow these guidelines.

Before SCEC/CME software development group releases Each software project must have the following items:

  1. A public SCECpedia entry that provides and overview of the software project, the capabilities of the software, and a software release history.
  1. A private SCECpedia entry that describes the software development information for the project including design overview, data sources, algorithms used, software language, development environment, run-time environment, and required software stack.
  1. Source code under version control.
  1. Issue tracking system (TRAC) site with a trouble ticket system and a connection to source code under version control.
  1. Automated suite of user-oriented acceptance tests typically-based on reference inputs and outputs compared to calculated results.
  1. Automated build and test capability, such as CruiseControl, which will run the acceptance tests without manual interactions.
  1. Assigned Software Version Number using CSEP model of Yr.Mo.Day v10.8.1 with tags in version control system.
  1. Release Description wiki pages containing the following information:
    • Software or system name and description of purpose of software
    • Link to public web page describing project
    • Description of software capabilitie
    • Description of intended users
    • Version of current release
    • Overview of changes including new capabilities of current release
    • Software support email list
    • Contact for Responsible scientists
    • Contact for Responsible Software Engineer
    • How to report software problem or request features
  1. User documentation including web and pdf versions of:
    • Scientific User Guide to using Software and results
    • Computer User Guide to Installing and operation software