Software is an integral component of the modern research landscape. It enables scientists to achieve day-to-day tasks; perform complex modeling and simulation; execute big data analytics; and control some of the largest scientific instruments in the world, including those located at Department of Energy (DOE) national laboratories and user facilities. Along with publications and data, scientific software is a direct result of DOE’s research and development (R&D) efforts and is therefore a type of scientific and technical information (STI).
Our mission at the DOE Office of Scientific and Technical Information (OSTI) is to tell DOE’s complete research story – to make all unclassified results, including scientific software, from DOE’s $12 billion annual R&D investment accessible and useful to the public and to the DOE research community. A strategic goal for OSTI is to promote reproducibility in science by interlinking related research products, such as publications and the underlying datasets and software generated and used in the research process.
Reflecting the importance of software in the research landscape, OSTI has launched the Alpha version of DOE CODE, a new software services platform and search tool for software resulting from DOE-funded research. DOE CODE is an open source platform that makes it easy for DOE-funded researchers and scientific software developers to share scientific software and discover other DOE-funded code. It also offers code repository services for DOE developers in OSTI’s open source GitHub community repository and in a DOE-hosted GitLab instance.
DOE CODE mirrors the rise in open source software and it reflects needs expressed by DOE researchers and developers.
Along with other forms of STI such as accepted manuscripts, technical reports, and patents, scientific software is submitted to OSTI by the DOE research community. OSTI then makes DOE’s unclassified scientific outputs publicly accessible through its web products, including DOE CODE, and by enabling indexing by Google and other search engines. Following our practice of “meeting researchers where they are,” OSTI has minimal metadata requirements and allows hyperlinks to code in other repositories, in addition to offering repository services within DOE CODE.
“OSTI and the DOE software community have worked together to create DOE CODE, a new DOE software services platform and search tool that serves researcher and developer needs while also enabling DOE to demonstrate and disseminate software resulting from DOE’s research efforts,” said OSTI Director Brian Hitson.
DOE CODE replaces and builds on the Energy Science and Technology Software Center (ESTSC), the former OSTI product for the submission and management of scientific and technical software packages, including source code, executable object code, and user guides, developed by DOE contractors, national laboratories, and other facilities. DOE CODE is a more modern method for adapting to open source practices and offers new services to the developer community.
When providing software to DOE CODE, users have the option of obtaining a digital object identifier (DOI) for their software, so that researchers can more easily cite and find code and demonstrate their contributions to projects. Software with DOIs is more easily discoverable not only in DOE CODE but also in SciTech Connect, the primary search tool for DOE science, technology, and engineering research information, and via indexing in common search engines such as Google and Bing. Enhanced code discoverability can accelerate scientific progress and reduce duplicative development efforts.
Software submissions can range from new, “in progress” code to formally “released” code. Metadata requirements differ slightly depending on the nature of the software. To increase DOE CODE’s comprehensiveness in the near term, OSTI will work collaboratively with DOE lab software points of contact to identify DOE-funded code in GitHub and other repositories and add metadata records to DOE CODE.
At the outset, DOE CODE Alpha supports submission of DOE-funded publicly available software; DOI registration for submitted and announced software; code repository services enabling DOE-funded researchers to host their code either in the DOE CODE GitHub repository for open source code or a DOE CODE GitLab repository that allows for open or closed repositories and more control of the code; and search and discovery of DOE-funded software. DOE CODE Alpha contains 700 pieces of open source software previously submitted to ESTSC, as well as newly submitted and announced code.
As development of DOE CODE continues toward Beta and Production releases, OSTI plans to add features and functionalities incrementally. Future requirements will include support and archiving of additional repository types, automated alerting for software points of contact at DOE labs, authentication using GitHub accounts, and more feature-rich user profiles.
At the recommendation of a review by the Office of Science (SC) Advanced Scientific Computing Advisory Committee’s STI Subcommittee, OSTI has been working to reinvent the DOE software service model since 2015. The reimagining of the ESTSC has been based on extensive feedback and input from developers and researchers across the DOE complex and is designed to meet their needs and requirements. With funding support from SC, Jay Jay Billings, Scientific Software Development Team Lead at Oak Ridge National Laboratory and active in the open source community, has led OSTI’s outreach efforts to gather requirements and develop specifications for the DOE CODE architecture. OSTI staff have hosted or attended several workshops and conferences to gain insights from a wide range of researchers and developers and to socialize DOE CODE, and Billings has organized multiple DOE and external stakeholder teams to help guide the project.
Ultimately, reflecting insights gained from ongoing community engagements, OSTI aims to make DOE CODE a best-in-class service for submitting code, providing code repository services, and discovering DOE-funded software code.
As DOE CODE is launched, OSTI asks DOE labs and individual DOE-funded researchers and developers to submit their software to the new software services platform and search tool – and invites the DOE software community to continue offering feature requests and ideas and contributing to the further development of DOE CODE. To find out more and/or to offer suggestions, please contact OSTI at firstname.lastname@example.org or reach out to Jay Jay Billings on Twitter (@jayjaybillings) or email (email@example.com).