-
Notifications
You must be signed in to change notification settings - Fork 572
Trilinos Support Policy
User and client support is an essential element of any actively used and developed software product. Any useful software product requires corrective and perfective maintenance, especially as its ecosystem (hardware environments, compilers, etc.) evolves. Support plans and planning activities are also essential, especially for clients.
The Trilinos Project is committed to providing support for its user community, prioritizing support activities according to its mission requirements. This policy sketch provides the framework for conducting support activities, roles and responsibilities. Detailed support strategies for funded projects should be consistent with the policy stated here and provide further detail.
Software support is a significant cost. Many studies estimate support and maintenance to be 70 - 80% of the total software project cost. Any improvement in support will have significant impact on quality, cost and time.
Support of actively developed software is most effective when those who are involved in the development effort take ownership of support planning, and are the first point of contact with issues arise. These people have the fullest awareness of development goals, target computing environments and project priorities. Furthermore, these people should invest adequate time and resources into testing and documentation infrastructure, preparing for the future when the code is no longer actively developed but still used, and support is transferred to others.
Support of software that is not actively developed starts with the Trilinos framework team. This team will work with clients and users to identify the best approach for identifying technical and funding resources.
The Trilinos Project considers its interactions with the general user community to be an essential element of our success. This user community, numbering in the tens of thousands, provides essential value and vibrancy to the project. Contributions include fault detection and correction, ideas for improvement and new capabilities and interactions that spur creativity toward next-generation capabilities. We will support the general community as we have resources, and to the extent that requests are consistent with funded client and user needs.
Most Trilinos capabilities are developed within projects targeted at specific modeling and simulation capabilities. Direct funding is provided for both application developers and for Trilinos developers and support staff. For these projects (called funded projects below), the following statements apply:
- Trilinos support will be an explicitly planned and funded activity within the funded project: While the Trilinos project has dedicated support staff, staffing and funding for support must come from aggregate resources provided by funded projects. Specific project budget amounts should be set aside for support.
- Funded projects will have a support plan that is consistent with Trilinos support policies: The Trilinos support policy provides a framework for support planning and activities, but should be customized and fully developed as part of the funded project planning.
- First level Trilinos support will come from funded project team members who are part of the Trilinos team: Trilinos team members who are part of a funded project must be the first points of contact for Trilinos support. They can engage the Trilinos framework team and other Trilinos team members to provide full support. Significant support from the broader Trilinos team should be part of the funded project support plan.
- Trilinos developers will follow Trilinos policies to reduce future support costs: Trilinos developers are expected to follow Trilinos policies for Issue Management, Testing and Pre-push Testing. They are also expected to work with the Trilinos framework team to develop a project-specific support plan.
- Trilinos framework staff will oversee funded project support activities: Trilinos framework team members are responsible for support policy management, tools and testing environments. They will work with funded project teams to assure that funded project support is effective and consistent with Trilinos policies.
- Trilinos framework staff will provide support for framework activities associated with funded projects: Trilinos framework team members will provide funded projects with support in the use of build, integration and testing infrastructures, understanding Trilinos issue management, testing and other policies. If framework staffing demands are significant, the funded project should budget for this effort.
- Policy Scope: This policy formally applies to any Production Growth package development. It also applies to modifications of other Trilinos packages that are not being actively developed but are essential and may require modification. It is encouraged for packages in other phases (Research Stable or Production Maintenance).
- Exceptions: Yes, there will be exceptional circumstances where you need to bypass the support policy, but it should be the exception and addressed as soon as possible. Exceptions should be documented and reviewed by Trilinos framework staff.
Contact Mike Heroux [email protected]
Copyright © Trilinos a Series of LF Projects, LLC
For web site terms of use, trademark policy and other project policies please see https://lfprojects.org.
Trilinos Developer Home
Trilinos Package Owners
Policies
New Developers
Trilinos PR/CR
Productivity++
Support Policy
Test Dashboard Policy
Testing Policy
Managing Issues
New Issue Quick Ref
Handling Stale Issues and Pull Requests
Release Notes
Software Quality Plan
Compiler Warnings/Errors
Proposing a New Package
Guidance on Copyrights and Licenses
Tools
CMake
Doxygen
git
GitHub Notifications
Mail lists
Clang-format
Version Control
Initial git setup
'feature'/'develop'/'master' (cheatsheet)
Simple centralized workflow
Building
SEMS Dev Env
Mac OS X
ATDM Platforms
Containers
Development Tips
Automated Workflows
Testing
Test Harness
Pull Request Testing
Submitting a Pull Request
Pull Request Workflow
Reproducing PR Errors
Addressing Test Failures
Trilinos Status Table Archive
Pre-push (Checkin) Testing
Remote pull/test/push
PR Creation & Approval Guidelines for Tpetra, Ifpack2, and MueLu Developers