The iRODS Consortium is looking for qualified, motivated candidates for a paid, full-time, remote, summer internship (probably three months, June-August). We have brainstormed five separate projects, each appropriate for a summer of focus. Each project is real work that we would like to have done and will be an important part of the iRODS ecosystem in the near future.
This internship would provide experience with working in a production-quality software engineering environment with global reach, mentorship and periodic code reviews, direct feedback from community members, and a final presentation about the work and its impact.
This internship is open to United States citizens who are students at least 18 years of age.
The Integrated Rule-Oriented Data System (iRODS) is open source data management software used by research, commercial, and governmental organizations worldwide.
The iRODS Consortium brings together businesses, research organizations, universities, and government agencies to ensure the sustainability of iRODS by guiding further development of the software, growing the user and developer communities, and facilitating iRODS support, education, and collaboration opportunities. The iRODS Consortium fields a team of software developers, application engineers, and support staff housed at RENCI at the University of North Carolina at Chapel Hill.
https://irods.org/documentation
In no particular order:
The iRODS Automated Ingest tool enables highly efficient ingestion of large amounts of data across multiple servers from the command line. While it's very good at that, for some, it is overwhelming to use due to the number of configuration options. We are interested in building a new client GUI which focuses on simplicity and the most common use-cases (e.g. uploading new data as it appears).
https://github.com/irods/irods_capability_automated_ingest
The rclone tool can speak to many cloud storage technologies, as well as local disk. But it does not yet know how to reach into an iRODS namespace. We are interested to explore adding an iRODS backend to rclone, making rclone an iRODS client.
https://github.com/rclone/rclone/tree/master/backend
The iRODS HTTP API is an iRODS client (and HTTP server) which presents the iRODS API over HTTP. We are interested in discovering any software vulnerabilities in the HTTP API through the use of fuzz testing.
https://github.com/irods/irods_client_http_api
https://en.wikipedia.org/wiki/Fuzzing
Last summer, our interns developed three client libraries for the iRODS HTTP API. Great progress was made and we're now ready to get them over the finish line. The goal of this project is to complete the implementation and packaging of each client library for an initial release.
https://github.com/irods/irods_client_http_api (server)
https://github.com/irods/irods_client_http_python (client library)
https://github.com/irods/irods_client_http_java (client library)
https://github.com/irods/irods_client_http_typescript (client library)
The iRODS Zone Management Tool is a web application designed to make it easy for administrators to manage an iRODS zone. The application has not yet reached 1.0, and there are a few things we'd like to add before the next release.
https://github.com/irods/irods_client_zone_management_tool
https://github.com/irods/irods_client_zone_management_tool/issues
If you're interested, please send your resume to info@irods.org and we'll be in touch.