
Playbook: Establishing an Internship Program
Pattern Theme / Category
- OSS Sustainability
- Education and Skills
- Community Engagement
OSPO Problem / Challenge
- Academic research software is often “open in name only,” lacking the robust community and maintenance required for long-term sustainability.
- Students, both undergraduate and graduate, often lack real-world experience in collaborative, large-scale software development practices common in healthy open source projects.
- There is a need to create a sustainable pipeline of contributors and future maintainers for open source projects critical to the university’s research and teaching mission.
Context
Within a large research university like UW-Madison, there is a vast and diverse portfolio of open source software being created. However, without a centralized support structure, many of these projects struggle to move beyond the initial research grant or a single developer’s efforts. An OSPO-led internship program can provide the necessary structure to both improve the quality of this software and train the next generation of research software engineers.
Forces
- Faculty are primarily incentivized by research output and grant funding, not long-term software maintenance.
- The transient nature of the student population makes it difficult to maintain long-term project knowledge and momentum.
- Funding models are typically project-based and time-limited, creating uncertainty for the ongoing support of open source infrastructure.
Solution
Develop a structured, OSPO-managed internship program that pairs talented UW-Madison students with impactful open source projects. This program provides students with paid opportunities to gain real-world software development experience while contributing to the sustainability of critical research software. The program should be a collaborative effort between OSPO, faculty mentors, and external partners.
1. Recruit Mentors and Projects
Identify and recruit faculty and research staff who are willing to mentor students on their open source projects. OSPO can facilitate this by showcasing the benefits of participation, such as improved software quality and the ability to delegate development tasks. A catalog of available projects should be maintained.
2. Design the Program Structure
Establish a clear structure for the internship, including application cycles (e.g., semester-based or summer), expected time commitment, and compensation. Define the roles and responsibilities for interns, mentors, and OSPO. Create onboarding materials to familiarize students with open source best practices, communication etiquette, and project-specific tooling.
3. Advertise and Recruit Students
Promote the internship program across campus using various channels to attract a diverse pool of applicants. The application process should be clear and transparent, with well-defined eligibility criteria. Highlight the benefits for students, such as gaining valuable skills, building a portfolio, and networking with professionals.
4. Evaluate and Showcase Student Work
Implement a process for evaluating student contributions, which may include mentor feedback, code reviews, and final presentations. At the end of each term, host a “Lightning Talks” event where interns can showcase their work to the broader university community. This celebrates their achievements and demonstrates the program’s value.
Resulting Context
- A steady stream of student talent contributes to the health and sustainability of the university’s open source projects.
- Students gain practical, in-demand skills in software development, project management, and collaboration, making them more competitive in the job market.
- Faculty and researchers receive valuable support in maintaining and improving their software, increasing its impact and longevity.
- OSPO’s visibility and value within the university are enhanced through the success of the program and its participants.
Known Instances
References
Contributor(s) & Acknowledgment
- UW-Madison OSPO Team