The Beginnings of the Rensselaer Center for Open Source
After a long day of classes I stood with a friend in a hot Amos Eaton classroom (among the oldest buildings at RPI, it did not have air conditioning). Standing in the back of a room with 100 other students I listened carefully to a senior student giving a 5 minute presentation in the front of the room. This student, I would find, was the Lead Mentor; the Benevolent Dictator, and was delivering a 5 minute presentation that would go over the rules of RPI’s open-source club, class and community, Rensselaer Center for Open Source (RCOS).
I didn’t realize it in that room, but RCOS was the reason some students attended RPI, how many students were employed after college, and how many students were funded to perform computer science research. But these were never the goals of RCOS.
In 2006, a $2MM grant by Sean O’Sullivan to RPI students to develop open source software set into motion RCOS. RCOS began like a club of students who were open source and software enthusiasts. They would meet in the dining hall weekly with a fellow enthusiast and faculty adviser Mukkai S. Krishnamoorthy (or as he was known to students, Moorthy). Moorthy was instrumental in instilling the culture of openness, community and enthusiasm that drove RCOS forward and gained it national attention.
Over the course of about 6 years, RCOS grew from 5 students to 100. Students with substantial open-source contributions were offered Computer Science credits or research stipends to continue their work over the summer. The need for coordination and rules created a class of senior students called “Mentors” and a Benevolent dictator called the “Lead Mentor”. Mentors would be assigned to projects in their area of expertise to make sure nobody got “stuck”. The Lead Mentor would oversee the coordination of RCOS as a whole.
In the back of the room, I would find that RCOS met twice a week (in the same sweaty classroom) and that at the conclusion of the presentation, everyone would need to find a project to work on, whether it was a new or existing open source project. Students scrambled to find people to work with, people who had projects shouted in the room looking for members. It was chaotic, but I managed to find a group looking to create some kind of homework system for RPI (a project that would one day become Submitty and be used across several universities).
I became Lead Mentor in an unusual circumstance. Normally the Lead Mentor was a senior student who had been in RCOS for 2 years or more and had previously been a mentor. I became a mentor in my Freshman year during the second semester and Lead Mentor at the beginning of Sophomore year. The reason for the suddenness of this was primarily circumstance, the Junior and Senior class years did not have many attentive mentors and I was always sitting in the front row, paying the most attention. The Lead Mentor at the time needed to take a leave of absence to assist a startup, which he was CTO of, to get off the ground.
I think the Benevolent Dictator approach of leading RCOS was inspired by Linux, which was ruled by Linus Torvalds. In fact, many open source projects begin with one passionate individual guiding the development of the project, ensuring that it does not lose course. I realized that RCOS, which during my time reached over 150 students a semester, fundamentally had frequent leadership transitions and was beginning to get friction from RPI administration. As the number of students in RCOS grew, it was getting easier to slip by doing minimal work and receiving course credit or funding. We needed a new approach.
We switched to a “Student Coordinator” model, where several students were in charge of RCOS as a whole. We then empowered mentors by splitting RCOS into “large group” and “small group” meetings. In small group meetings, mentors would share a 30-person classroom with several other mentors and their mentees. We built a new open source community management system called Observatory to organize blog posts and projects. Moorthy partnered with RCOS to create a new course at RPI called “Introduction to Open Source”. We also devised the RCOS README, which was a guide to everything RCOS and removed the chaotic aspects that intimidated many students. In general, we tried to get RCOS more organized.
At the time, we weren’t sure if anything we were doing was a good idea and everything moved slowly. We would have several multi-hour meetings with faculty advisors, mentors and coordinators monthly to discuss what RCOS should do. Everyone was incredibly passionate, many wanted to force certain presentation structures, change acceptable project criteria, forbid people from starting new projects without first contributing to existing open-source projects etc. I remember debating the usage of Slack for hours. Some thought we should use an open source clone, or an IRC, or a mailing list. Revamping how an organization that already has hundreds of alumni and active members fundamentally communicates is really tricky (we did end up going with Slack).
The transition of leadership with a university organization is difficult. I was lucky enough to have an RCOS class of incredibly excited, qualified individuals. They’ve made RCOS incredibly welcoming and a model worthy of copying for other universities. Among their many accomplishments, my RCOS README has expanded into a full RCOS handbook.
2 years later, the RCOS leadership has transitioned again into another awesome, dedicated group of students. I’m absolutely floored that RCOS has evolved into a massive functional organization that improves the world with open source software every day. Check out the full list of RCOS projects here.
I’ve left out hundreds of peoples names from this blog post to make it more digestible, but there were a lot of people involved in RCOS’s process- from the computer science department at RPI, to the faculty advisers, to the mentors in my class year who were fundamental to making RCOS an awesome community and of course everyone who came before and after me. Special shout out to my successor Ada Young, who told me how great things were going and reminded me I never wrote this blog post :)