This program will be closed after September 15th 2016. If you have questions or would like to discuss this please email email@example.com
The Fermilab Software Tools Program (Fermitools) is an effort to provide the internet community with the Fermilab developed software packages that we have found most useful, and that we believe have general value to other application domains. The Fermilab Computing Sector is offering this software to the wider community, with the goal of entering into collaboration with interested and committed users in the deployment, joint development, and support of software of mutual benefit.
For any questions please contact: firstname.lastname@example.org
List of Software currently supported under the Fermitools program¶
- Transport - Charged Particle Beam Transport Software
- Frontier - Distributes data from central databases read by many client systems
- CAMAC - CAMAC software
- Synoptic - Java Synoptic Toolkit
- Contractor - a metabuild system
- MXYZPTLK - C++ library for Automatic Differentiation and Differential Algebra
- RGANG - Python tool for parallel processing
- ECL - Electronic Collaboration Logbook
- ECL iOS app - iOS ECL client app
- cigetcert - get an X.509 certificate with SAML ECP and store proxy on local disk and MyProxy
Fermilab Software Legal Information (BSD License)
Copyright (c) 2009-2016, FERMI NATIONAL ACCELERATOR LABORATORY
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the FERMI NATIONAL ACCELERATOR LABORATORY, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Legacy list of Old, mainly unsupported software¶
Please email email@example.com if you are interested in any of this software.Beam Transport
- Turtle - Charged Particle Beam Transport Software
- MISWEB - Web based CGI script to query Oracle databases
- FISION - VME (and other related busses) Access Software
- FCSLIB - FCS group's Python module library
- FIPC - Farm Inter-Process Communication Toolkit
- FermiPython - Demonstrates the use of Python and JPython
- Plot-Widgets - Motif widgets for graphing and plotting
- CRLW - Electronic Logbook to monitor activities in an experiment control room.
- Dfarm - Disk Farm System
- Dervish - Astronomical Data Analysis Framework
- FNAL-Kerberos-clientonly - Client applications to connect to FNAL Kerberized machines
- Histo-Scope/Nplot - Interactive Histogramming and Plotting Tools
- NGOP - Distributed Monitoring System
- ROBIN - CORBA-based distributed objects and procedure calls
- RUNJOB - Automates creation of production processing jobs for Monte Carlo generation, batch oriented data reprocessing and analysis tasks
- Trace - Linux utility to view kernel
- DBS - DART Bootstrap Systems
- FBSNG - Farms Batch System Next Generation
- UCM - Unix Code Management Software
- UPS - Unix Product Management Software
- FTT - Fermi Tape Tools
- Juke - Robotic Tape Jukebox Control Software
- OCS - Operator Communications Software
Information and Guidelines for Fermitools Product Providers¶
Please note: if you put Fermilab software in a place where non-lab employees can obtain it, the software needs to have a Fermitools license in it, even if the software is not a Fermitools product.
Fermitools products are available as TAR files.
Software Submission Guidelines¶Package the software product and send an email to: firstname.lastname@example.org for assistance copying the files to KITS and/or ftp.fnal.gov/pub.
- Include all the required files in the software.
- Document the software.
- Test that the software can be extracted from the package, built and run as described in the documentation.
- Include an email and contact information for questions related to the software.
Distribution of Fermitools¶
Software products should be packaged as a TAR file or in a format that can be copied over the network using ftp.
Required FilesThe following files must be created for all software packages:
- The Sources - code, makefiles, etc.
- Test Programs
- Abstract (see abstract template)
- Fermitools README (see README template)
Description of Files
Please include ALL source code, header files, makefiles, and data files needed to build and configure the software in its final form on at least one computer platform. There is no commitment or guarantee that the software can be built, configured or run on platforms other than those explicitly listed in the software package documentation.
Please include files in the software package along with user documentation for the software. Where possible, "on-line help" documentation should be provided in a form appropriate for the platform on which the software will run (e.g., main pages). Include internal documentation specifying the architecture and internals of the software (e.g. a paragraph is sufficient for a single file package; a full internal architecture description for a complete software system.
All software packages should have a test program that can be built and run to verify correct installation and functioning of the software. Any tests developed in conjunction with the software should be packaged and distributed with it.
This should be no more than a half a page of description for the product. If you include links to other pages within the abstract, please create the file in HTML format; otherwise plain ASCII is acceptable.
The README file gives a longer, more detailed description of the product. At minimum, it should include the description, a pointer to documentation, notification of any required hardware and/or software, how to perform the installation and how to run the software
The Fermitools README also includes the required Terms and Conditions.
Preparing the Product Files
Product Providers should build their README file using the template. This can be saved to a local file for further editing, if desired. Any changes to required text will cause the product to be rejected, so be sure no changes are made in this portion of the README file. Combine the README file with the other required files in an archive file and email email@example.com for instructions on how to complete the next step.
The Abstract and links to the product pages and information will be housed on the product’s Fermitools wiki page. Other links supplied by the Product Provider will also be available.
Templates and Files
A product abstract will have links to the product's README file, the software, documentation, the Product web Pages and an abstract containing a brief description of the software. Product Providers are encouraged to add more information in the form of local files or links.
At minimum, please include the following content:
Product Name, Product Version, Date, Author(s), Author Mailstop, Product Description, Documentation.
Last modified: 12/1/2011