What’s in a SingularityCE Release?
A SingularityCE release consists of code from a number of first-party GitHub repositories, and a lot of dependencies. We’ll concentrate on just the first-party repositories. These are the code that’s specifically written to be part of Singularity:
- https://github.com/sylabs/singularity – The CLI and runtime
- https://github.com/sylabs/sif – The Singularity Image Format
- https://github.com/sylabs/scs-library-client – Client for the library:// protocol
- https://github.com/sylabs/scs-build-client – Client for the remote builder
- https://github.com/sylabs/scs-key-client – Client for the key service
- https://github.com/sylabs/singularity-userdocs – User documentation
- https://github.com/sylabs/singularity-admindocs – Admin documentation
All of this code is open-source, released under the BSD license, and contributions are very welcome. Note that we’re including the documentation here, as that’s at least as important as source code, and it’s a great place to dive in first if you’d like to get involved!
Long time contributor to Singularity, and prolific developer, vsoch has written a great tool called citelang that we can use to help explore contributions.
We’ve used ‘citelang contrib’ to count the number of lines in contributions between the SingularityCE 3.9.0 and 3.10.0 releases. We’re excluding `go.mod` and `go.sum` files (which have a lot of automated changes, thanks dependabot!). The total contributions across the repositories above are then added up. Work on SIF or the user documentation is just as important as work in the Singularity runtime itself.
So there we go… 20,364 lines were added or modified by 12 contributors in this release cycle. Thanks to everyone who pitched in!
The distribution is heavily weighted toward Sylabs employees, which we’ll always expect to be true as we are committed to the general maintenance and bugfix work needed to sustain the open-source project. However, it’d be great if SingularityCE did attract more community developers. We believe It’s important to have lively engagement to ensure the project really does reflect the needs of users.
We’d also like to give a hat tip to Apptainer, especially DrDaveD, who is the driving force behind development there. As you can see, we’ve brought in some of his code from Apptainer, and the open-source license of SingularityCE ensures they can benefit from the work over here, too. Since their 1.0.0 release Apptainer has merged in 40 pull requests from SingularityCE, which will form a good part of the feature-set of their upcoming version 1.1. The Apptainer project is also able to pull in the majority of the SIF, documentation, and scs-client work to their forks of those repositories.
Generally SingularityCE pulls a lower percentage of Apptainer code, than Apptainer pulls from CE. The reason for this is our roadmap, which is taking a different approach to the issue of improving OCI compatibility. As we have discussed previously we are working toward full compatibility, without sharp edges, by using a true OCI runtime engine and supporting the encapsulation of OCI images in the SIF format. This means that a different approach is sometimes required for some features.
Over the next six months toward SingularityCE 3.11 we’ll be trying to encourage more community contributions, and reaching out for feedback and input on upcoming features. Please let us know if you think there’s something we can do better. We’ll take another look in six months time to measure how it’s going.
Join Our Mailing List
Recent Posts
Related Posts
Upgrade CentOS 7 to Alma 8 While Keeping SingularityCE Updated
Overview With CentOS 7 reaching end of life on June 30th, 2024 and CentOS 8 already discontinued in favor of CentOS Stream, users of open source SingularityCE might find themselves in a situation where a migration to another open source operating system is necessary....
Introducing CDI Support to SingularityCE 4.0
With the ever increasing adoption of AI techniques in scientific research, as well as growing use of accelerators for traditional numerical workloads, easy access to GPUs and other devices in HPC environments is critical.The 4.0 release of the SingularityCE container...
Transforming Alzheimer’s Research with Singularity Containers: A Milestone in Scientific Reproducibility
Addressing The Grand Challenges of Our Time Through Singularity Container TechnologyAt Sylabs, our mission and vision aren't just statements on a wall, they're an ethos we embody daily. We're committed to facilitating cutting-edge research that seeks to address...