Please read the HPCC operational policies, and then click the "Agree" button at the bottom to certify that you agree to comply with the policies.
User Contributed Software
The policies and procedures for installing and maintaining software packages on the equipment managed by the High Performance Computing Center (HPCC) are given below. Various types of software packages will be described along with the procedure for users to request adding additional packages. The procedures for renewing or discontinuing existing software packages are also given. For user supported software, additional responsibilities and requirements are given in an Appendix at the end of the document.
HPCC provides access for user-contributed software on a variety of Unix and Windows systems. For Unix/Linux systems such software will be housed in a designated application directory. Within this designated directory, sub-directories exist for containing individual software packages.
Users of HPCC's resources who have software they would like installed on HPCC's systems for use by themselves and others may obtain permission to do so by following the procedure outlined in this document. If granted, a directory in a designated application directory will be created to contain the software.
Software that is being used and/or developed by an individual user is the responsibility of that user. The HPCC will not support that software nor make it available to other users. Such software will reside within the user's individual directories. Permissions required to access this software by other users is the responsibility of the user installing the software.
For other software, a distinction will be made between software being developed at TTU versus software that is externally being developed. For internally supported software, a support individual will need to be identified. This individual will be given permissions to add, delete, and modify files and sub-directories within their package's directory in the designated application directory; It will be the responsibility of that individual to maintain and support the software. This case is dealt with in more detail in Appendix.
In the second case, either a member of the HPCC staff will deploy the software or at the discretion of the HPCC an individual user will be allowed to deploy the software. This will be agreed upon at the initial deployment.
Software of Interest
Software to be considered must meet several criteria. Applications that assist with common tasks or algorithms that are useful to variety of users are most appropriate and will receive the highest priority for installation. In general, the more applicable the application to common system-wide needs, the more likely it will be considered positively as a candidate for installation. Priority will also be given to applications that require root access for installation over ones that can be installed by suers themselves in their own areas. However, we will evaluate all requests.
There are several restrictions concerning the types of software for which HPCC will provide resources. These restrictions are given below.
Software that is used to encourage or proliferate discriminatory or harassing behavior or to in any way violate the state's or TTU's policies on acceptable use will be rejected.
Software that violates the security or integrity of HPCC resources and/or the general network will be rejected.
Software that requires interferes with or requires extensive modification to the existing HPCC software stack or hardware will most likely be rejected. Exceptions to this may be allowed if the impact of such changes can be mitigated and there is commensurate benefit to the general HPC community. The amount of effort to make and support these changes by HPCC staff will be used as a basis for allowing these exceptions.
Proof of Licensing
Any request to install software must include the licensing requirements. To install licensed software, proof of the software's legal status, licensing for use at TTU, and a valid license (if applicable) must be provided to the HPCC. Without this proof of licensing, the HPCC staff will not be able to accommodate the request.
This section describes the procedures to be followed when dealing with user-contributed software. These procedures should normally be followed, but less formal procedures could be used in certain unique circumstances.
Getting a New Package Installed
To get approval for having a new package installed by HPCC staff, the following procedure is recommended. A similar procedure for getting a user-maintained software package approved is given in the Appendix. Users are responsible for making their requests in a timely manner, some software packages can require many days of effort to install, and at least 2 weeks notification is required for any software install. Depending on how many dependent packages need to be installed this time frame could be extended.
Submit a request to the HPCC describing the package and its usefulness to the user community. Include the name, vendor (or other source), licensing description, supported machine types, and an estimate of the amount of disk space required, include dependent packages in this size estimate.
Include a list of all dependent software applications and any additional licensing requirements.
If you are a student at TTU, please include your supervisor's contact information in your request for him/her to receive an email to approve your request.
If the request is approved and accepted, deliver a copy of the licensing documents to the HPCC.
Provide installation files and documentation to the HPCC.
If necessary, work with the HPCC to generate a valid license key.
When notified by HPCC staff that the package is installed, test the installation to make sure it works.
Notify the HPCC if the software needs to be updated or patched.
Please note, after HPCC receive your request, during the evaluation time, if the requested software will be likely affect the current environmental settings or can be conflict with the current installations, HPCC staff may contact you to reject your software request.
Renewing or Expiring a Package
For currently installed packages that are licensed for a specific term, inform the HPCC about your plans to renew the software license or not. If licensing details are not provided, then the software may be removed from the system. If a new valid license is not provided before the expiration of the current license, the software will be disabled, and may be removed from the system.
If the HPCC determines that the software license is not being followed, the HPCC may take whatever actions it deems necessary to restore compliance including removing the software if necessary.
Appendix: User-supported software
Responsibilities of the User
If user-supported software is accepted to be installed on HPCC resources at TTU, then the person making the request will be responsible for:
Installation of the software
Supporting the software that includes maintaining the software in working order, providing documentation and performing any additional administration required for the software to remain functional.
Act as a point of contact to the HPCC for issues dealing with the software
Provide proof of licensing to HPCC
Notify the HPCC if the software is going to be unavailable for an extended period of time.
Notify the HPCC if a new maintainer will take over these responsibilities.
Notify the HPCC if the package will no longer be maintained.
These software packages are not supported by the HPCC staff, so users who use this software do so at their own risk.
This section describes the procedures to be followed when dealing with user supported software. These procedures closely follow the procedures for general user-contributed software with the main difference being that a user will be responsible for installing the software and providing documentation.
Getting a New Package Installed
To get approval for either installing or having installed a new package, the following procedure is recommended.
Submit a request to the HPCC, describing the package and its usefulness to the user community. Include the name, vendor (or other source), licensing description, supported machine types, and an estimate of the amount of disk space required, including a size estimate for dependent software packages.
List all dependent software packages required.
If the request is accepted, deliver a copy of the licensing documents to the HPCC.
Using the provided directory, install the software.
If modifications outside the provided directory are need, request assistance from the HPCC.
Test the installation to make sure it works.
Notify the HPCC that the software is installed and functional.
User maintained software is only useful to the general HPC user community at TTU if it is usable by others. This includes documenting the software features and functionality in addition to fixing bugs. However, because this software will normally be under development, it is understood that the software will not always be functional. Therefore a high degree of latitude will be provided to the maintainer of the software in this area. However, at some point the software needs to be used by others to continue being deployed on HPCC equipment outside of the user's local directory.
The level of documentation and support provided may vary widely. It should be clear to a user of the software what level of documentation and support is being provided. In general, the documentation should be enough that the usefulness and usability of the software is clear to a prospective user of HPC resources at TTU. Additionally, any modifications that a user has to make to use the software (like setting of environment variables) must be clearly documented. It is suggested that a README file be provided that contains this basic information. Remember: The better the documentation, the more likely the software will be widely adopted.
If you wish to provide documentation and you can provide the HPCC with the appropriate legal right to distribute it, the HPCC will make available copies to general users to check out and/or make electronic versions available.
Change of Status
Finally, when a package maintainer no longer wishes to or can maintain a software package, either a new person to maintain the software should be identified or the software status should be changed. The new person will have the same responsibilities as the original maintainer, and it is good practice for there to be some overlap in time when both are available.
At some point all package development may end. At that point, the package can be left on the system, removed from the system or replaced by a new package. Normally this will result in the software being removed from the system. However, if the software is still being used, then the HPCC will consider leaving it installed.
The HPCC also has responsibilities towards user-contributed software. These are listed below:
Provide information regarding system changes affecting the software
Provide notification of changes in policy regarding user-contributed software
Provide adequate disk space and authorization to the software
Protect the software from unauthorized modification
Notification of Changes
HPCC will notify package maintainers of any changes to the system that may affect the operation of the installed packages. This includes operating system updates, security fixes, file system support, backup policy, etc. How these affect an individual package is up to the maintainer to determine. Requests for modifications may be made to the HPCC staff if the user's software package is adversely affected by any such change. All reasonable attempts will be made to grant such requests.
The rest of the HPCC's responsibility to the maintainers of user-contributed software is basic system administration. The user is responsible for backing up application software if software is installed outside of the HPCC home directory. The user is also responsible for the permission settings that allow other users access to the application.
The security of the overall system is the responsibility of the HPCC. If a package maintainer engages in activities that compromise system security, the HPCC staff will take whatever actions it deems necessary to correct this; This includes making sure that only authorized personnel can make changes to the installed packages. Alternatively, if the authorized personnel are abusing their privileges, then the HPCC will remove their access to the package and take whatever other actions that are required by state and university policies.
High Performance Computing Center