Categories
Tech Talk

The Open Source Software Club Pilot: A Step Towards Collaborative Coding

Akshit Atmakuri, our Technical Comms Officer for summer 2024, writes about his experiences attending a pilot meeting of our new Open Source Software Club.

On June 25th, 2024, the university’s Open Source Software Club, in partnership with Imago Student Software Company, held its second pilot meeting. This initiative aims to bring together talented student coders from across the University with academics to build a community and user base for their open source research software. The pilot session was attended by 16 people, including undergraduate students, research software engineers, and lecturers from various fields within Computer Science.

Jan Machacek presenting, with the screen behind him showing a pull request raised by a participant in the meeting.

The event began with introductions from Jan Macháček and Suzanne Embury of Imago, the University of Manchester’s Student Software Company. Jan, a former CTO and one of the key figures behind the Disney Plus streaming service, delivered an engaging presentation on building an open source community for code bases. Using fun examples, he captivated the audience, setting a positive tone for the session.

Following Jan’s presentation, the main guest, a 4th-year PhD student at the Popelier Group and Academic Code Base Owner, Yulian Manchev, introduced his open source software project: a Computational Chemistry Data Management Library for Machine Learning Force Field Development. His Python package, ichor, simplifies data management from computational chemistry programs and aids in machine learning force field development. Yulian’s lecture was both informative and intriguing, sparking significant interest among attendees.

Participants were then given the opportunity to fork the repository, explore the code base, and test it out. This hands-on session allowed attendees to freely experiment and collaborate. One attendee posted an issue on GitHub, which others then attempted to fix, showcasing the collaborative nature of open source development. Another attendee, new to open source software, carefully reviewed the code, noting ambiguities to discuss later with the academics. This diverse range of approaches highlighted the inclusive environment of the club, welcoming individuals of varying skill levels.

The casual yet formal atmosphere was further enhanced by snacks available at the back of the room, encouraging informal interactions and networking. Groups of two or three formed naturally, working together to solve issues raised on GitHub. The academic code base owner also benefited from the session, as attendees using Windows machines tested his software on that platform for the first time.

In the final five minutes, Jan resumed the discussion, focusing on the importance of documentation and other improvements suggested by attendees. The academic took detailed notes, appreciating the constructive feedback. This exercise underscored the challenges of getting started with large software projects and the value of community input in overcoming them.

During the event, I had the opportunity to interview key participants. Jan Machacek shared his vision for the club, explaining that next term they plan to work on two code bases: one complex and one simpler. He emphasized the importance of making it easy for contributors to get started, noting, “The code is never the problem; it’s about figuring out what to do once you have it.”

Regarding the role of open source contributions in a student’s career, Jan said, “Having actual open source contributions shows you are a well-rounded engineer who can work on real code bases and improve them. This skill is invaluable, even if the project itself doesn’t continue to be used.”

For students new to open source projects, Jan advised, “Don’t overthink it. Just start. If you find something difficult while setting up or using the project, document it or fix it. Your initial contributions, no matter how small, are valuable.”

Yulian discussed the challenges of maintaining and promoting his open source code base. “I recently open-sourced this code, which has been in development in our group for about five years,” he said. “One of the main challenges is introducing people to the software because it’s very specific to our research. Once you understand what the code is supposed to do, it becomes easier to work with.” He emphasized the importance of clear documentation and examples to help new users get started. “I’ve learned that adding more examples can greatly assist people in understanding and using the code.”

Yulian also spoke about the benefits of student contributions. “When other people start working on your project, it helps ensure the project doesn’t die off if the core developer leaves. It expands the group working on the project and brings in fresh perspectives.” He found the collaboration with the Open Source Software Club beneficial, stating, “It’s been very nice so far. Seeing how people unfamiliar with our group’s work interact with the code has provided valuable insights. I’ve learned that easy examples and hands-on guidance are crucial for onboarding new contributors.”

In summary, the second pilot meeting of the University of Manchester Open Source Software Club was a resounding success. It provided a platform for students to develop their coding skills, contribute to meaningful projects, and build a community. With plans for regular sessions starting in September with the new term, the club will hold weekly sessions on a scheduled day each week. This initiative promises to be a valuable resource for both students and academics, fostering collaboration and innovation in the open source domain.