For Tyler Caraza-Harter, the most important part of open source programming is the learning process that comes with developing something new. Every coder will eventually throw away some part of their project, Caraza-Harter insists. What they will never throw away is the education they gained from analyzing their mistakes.
A teaching professor in the computer science department at the University of Wisconsin-Madison, Caraza-Harter has earned multiple awards for his skills as an instructor. But teaching was not his initial plan. He went to school with the dream of being a computer programmer. After getting the chance to teach a class, however, he found that he had a real passion for sharing information. As a professor he is able to develop the world of computer science while passing on his knowledge to curious students.
“When I was in grad school, my advisors went on sabbatical, and so there was a chance to cover teaching a course. It was really kind of fun, and I just fell in love with it,” Caraza-Harter explained about his teaching experience. He continued, saying, “As an individual, you can only produce so much, right? You can only work so much. But if you’re teaching hundreds of people and you’re helping them, be more effective, you can kind of leverage your impact.”
His most impactful area of research has been his work on the OpenLambda project.
One of the main barriers to student research in computer science is its high cost. By the end of his PhD program, Caraza-Harter was trying to build an application on the cloud. He and another student were developing the application, but the service they were using to build the tool accumulated heavy costs. To make this expensive software more accessible, Caraza-Harter and his PhD advisors, Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau, decided to invest their time in building an open source serverless platform. They began collaborating around the development of the OpenLambda program, an ongoing project that has taken almost nine years to reach its current state.
OpenLambda is an open source serverless platform. In normal servers, the charge for use is a flat rate- even if no one is using the server at night, for example, their account is still being charged because they are hosting a platform there. Traditionally, developers would build their applications to run on servers which run constantly, incurring charges regardless of usage. Serverless platforms allow developers to write applications as functions that only run when certain events happen, like a user visiting a website, or a file being created.
“What’s really cool is you only will pay for the time that it’s running, instead of paying the whole month,” Caraza-Harter said, “When I assigned homework on another serverless platform, I was paying less than a dollar a month even when I had hundreds of students using it.”
The professor has also found ways to incorporate some teaching into his development of the OpenLambda program. He is currently a mentor with the Open Source Program Office’s Intern program. In this role, he is able to oversee a student as they assist in the program’s development. Alongside the continual improvement of the program, Caraza-Harter says that the internship allows students to gain experience while making a real impact.
“I think that it is good for people’s careers to kind of get their foot in the door with open source,” the professor shared, “If you really want to dive in and learn how things work, it’s really fantastic to work with open source. You can read the code, understand the code, change the code, play with it, build new things with it- it’s really exciting.”
But open source programming is not always easy. In the current market, asking for volunteers on a project can be nearly impossible. To make open source even better, universities and businesses need to start investing in it.
“A lot of stuff is really just driven by volunteer time. Unfortunately, if someone goes unpaid, they’re typically less committed than they could be.”
That challenge does not deprive open source from its core value, though. Even beyond its role as a teaching tool, Caraza-Harter feels that open source code is good for the health of the computer sciences as a whole.
“When people can take code and modify it, it sparks their creativity,” he began, “If people have new ideas or startups, then they already have this whole ecosystem they can start to leverage.”
Coding is at its strongest when it brings groups of people together. Even if two people do not understand each other, they can work side by side to solve a similar project. As a teacher, Caraza-Harter has experienced that bridging first hand, preparing students for future problems through mentorship.
“Nowadays, I’m seeing people interact with each other more and it feels like communities are flourishing more. Organizations like the Open Source Program Office are important because they can connect the people who are interested in open source. From there, students and professionals can begin working on open source and working with each other.”
Across the University of Wisconsin-Madison, researchers are embracing open source- a turn that has allowed students in almost every department to interact with code.
Caraza-Harter views this as an incredible learning opportunity for students and faculty in every discipline. Looking towards the future, he can see the obvious benefits that will come from these interactions.
“People in all kinds of domains are producing open source software,” he said, “I think that’s incredible. I’m excited to see open source grow, and I’m really happy to see more people getting involved in it.”