If you read Opensource.com’s recent series of articles by young professionals about their exposure to the open source way, you’ll have noticed a common thread: open source is an essential part of IT education. But not enough schools are incorporating open source into their curricula.
One institution doing it well is Seneca College in Toronto, Canada through its The Centre for Development of Open Technology (CDOT). Founded in 2002 by a group of faculty from Seneca’s School of Information and Communications Technology, CDOT is an applied research centre that specializes in open source development. But it’s also an informal group of Seneca College faculty who have a shared interest in promoting and advancing open technology.
Since 2006, when the Center started applied research projects in open source, around 600 students have been through CDOT’s doors. And in that time, CDOT has partnered with a variety of projects and companies involved in open source to work on some very interesting technologies.
Several members of the staff and faculty from CDOT took the time to talk to me about open source at CDOT, and what makes program attractive to students, faculty, and industry.
What shaped CDOT’s commitment to open source?
Around 2005, faculty member David Humphrey contacted Mozilla for some help with the Firefox code base. He wanted to experiment with the user interface as part of an applied research project he was supervising. Mike Shaver from Mozilla was interested enough in Humphrey's experiments that he offered Mozilla's help at no charge. Once Shaver saw what David's student researchers were capable of doing, he brought some Mozilla work to Humphrey. The relationship with Mozilla opened the doors for CDOT to contribute to large-scale projects.
Humphrey and fellow faculty member Chris Tyler concluded that large open source communities function in similar ways, and that there were some general principles about open source development they could teach to students, seriously enhancing their education in the process.
Rather than having students write software to solve a problem invented by a professor (akin to digging and filling holes just for the practice), they began offering courses to orient students to open source development and then have the students work on solving real problems that need solutions.
What does CDOT offer students that other technology programs (either at Seneca or elsewhere) don't?
CDOT is unique in the depth to which it is able to involve undergraduate students—that is, three-year college diplomas or four-year degree programs—in real open source development.
The success of the CDOT projects, and the students involved in those projects, has been having an influence on the entire school. Not only have we created courses specifically created to allow participation in open source communities, we have also brought development tools and methodologies from open source into our core programming curriculum.
At any one time, how many students are involved in CDOT?
Students are involved in CDOT two ways: as part of academic work and as employees. In the fall and winter semesters anywhere from 20 to 60 students are involved academically in CDOT—primarily adding features or addressing bugs.
The students we hire either work part time while they are in school or fulltime in between semesters. During the summer semester, we’ll have 10 to 12 students working fulltime and another six to eight working part time. We also occasionally hire a graduate for a period of up to a year—an internship to continue work on a project they began while a student, to provide some continuity to long projects.
What do students learn and how does that prepare them for careers in technology (whether in the open source world or not)?
How many students get a chance to work on a multi-million line code base? Not many, we would venture.
Students who get involved in CDOT experience industrial-strength software development practices, which are applicable in all large shops. Things such as source code control, repository management, external code review, and remote collaboration are all things that are difficult to implement meaningfully in a teaching lab setting, but are a part of large open source projects.
An even greater benefit comes from working on real problems. Real problems are messy, not neatly packed in a box for easy consumption. They exercise a level of critical thinking and problem solving skills that most people don’t get a chance to experience in school.
Do you know what percentage of them have wound up working professionally in open source after completing a course of study at CDOT?
There are CDOT alumni at Mozilla, Red Hat, Google, and other established open source companies, as well as at open source-focused startups. The percentage of graduates who work for companies that specialize in developing open source software is small, say 10% or less.
That said, almost all software jobs today involve open technology at some level, so we could probably legitimately claim 100%!
CDOT's faculty members and staff are very passionate about open source. How do you go about attracting members of the faculty and staff? How easy or difficult is that?
We’re not sure if passion is a requirement or a symptom. Working in CDOT is more demanding than the available alternatives. Those without a passion for open source will naturally drift away and find easier things to do. That’s just human nature.
However, open source has a noble premise: we can build a better world if work together to move forward, rather than work against each other trying to win. This generates passion, or at least attracts the passionate.
Finding faculty with the right skillset for a particular project is half of the battle, and narrowing it down to the ones who are willing to become trusted contributors and mentors is the other half. A faculty member’s first project with CDOT is the hardest, and once past that hurdle more often than not they’ll continue with other CDOT projects.
For other staff, who are mostly student employees, it’s not hard to generate interest. They hear about CDOT in some of their classes or from some of their classmates, and may get excited by attending the Free Software and Open Source Symposium (an annual event hosted by Seneca College) or other events. But in the end, technical requirements, the right work ethic, and competition with other student employers who may be offering better pay for less demanding work make it a 50-50 shot as to whether the best candidates who show interest will take a job in CDOT.
What makes faculty members and students keen to work in CDOT?
Every faculty member has his or her own reason for joining. It could be an existing relationship with a project or a person, special interest in a particular technology, being part of a group of like-minded people, or maybe even commitment to a cause.
The one thing that all the faculty share is their desire to do more than just teach. They are teachers by choice and love doing it, but teaching alone can get monotonous for some. Working in CDOT gives them a way to keep their skills current and to build a closer relationship with the students.
For the student employees, the prospect of getting a job as a result of their experience seems to be the major driving force.
How is the CDOT curriculum structured?
There are three elements to what you might call the CDOT curriculum. The most obvious is a collection of senior-level option courses that students can select to complete their degree or diploma, courses that target specific participation in an open source community or project.
The second element is more implicit. We have learned things from working on open source projects that we have brought into the required core elements of our programs, such as use of certain tools or methodologies. All students, whether they participate in CDOT or not, benefit from this.
The third element is actually working in CDOT. Technically, this isn’t curriculum, as it doesn’t appear on the academic transcript. But practically, it is quite possibly the most valuable learning experience those students get in our program.
What makes CDOT's approach so successful?
CDOT work isn’t about writing an academic paper, although the student’s work does get published as part of code that gets shipped. It isn’t about punching a time-clock, although students working in CDOT do have to submit timesheets. The focus is on fixing bugs, adding features, and making software work in a new way. As simple as it sounds, putting importance on results that matter to other people may be the key to CDOT’s success.
What do you think makes CDOT attractive to students?
If the choice is to solve problems that many other people have already solved, or to solve problems that no one has had a chance to solve yet, wouldn't you rather do the latter? Students who choose computing as a career are almost by definition interested in the latest technology, and CDOT is a place where they can start working with new technology before it is released.
CDOT is well-known for its collaboration with Mozilla. What other open source companies and projects has CDOT been involved with?
Another company that we have been working with lately is Blindside Networks. They do a lot of work with CDOT on the BigBlueButton project, which is a web conferencing tool for online education.
NexJ is a Toronto-based software development firm that has worked with CDOT on various aspects of open health tools on the server side and integration of medical devices with smart phones.
We have recently started working on the edX platform, where developers around the globe are working to create a next-generation online learning platform.
CDOT has been involved with the development of numerous tools, libraries, and applications for 3D in the web. In addition to WebGL, we have worked on xb-pointstream (to render 3D point clouds) and the 3D component of processing.js. We were approached by a 3D graphics development company in Ottawa, to develop a prototype for what has become Clara.io (a web-based 3D content creation tool).
What do you think makes CDOT attractive to those companies and projects?
Experienced open source people know the difference between free as in freedom and free as in free beer. A lot of people come to CDOT hoping for free beer. The ones that stay and work with us understand the value of leveraging what already exists and know that our students can help them do that.
There are economic benefits of using open source software: quicker development cycles, lower development and maintenance costs, better quality, and so on. At the same time, the main barriers to adoption are lack of familiarity with open source solutions, complexity of deployment, and legal concerns about licensing.
The expertise and experience that we have accumulated demonstrates our ability to address these kinds of barriers. We can deliver very tangible economic benefits to our partners, to help them to be more competitive and, therefore, more successful.
How have students and those companies/projects benefited from their association with CDOT?
The companies/projects get real work done, and the students get real experience.
CDOT will often work on projects that the company deems important while at the same time not being part of their core business at the time. These projects allow our industry partners to explore potential areas of interest while sparing company resources for mission critical tasks. Our students get a chance to work on something that is interesting and new.
Our industry partners can also use work with CDOT as a kind of screening process for future employees. Many students have been hired by our industry partners as a result of a successful collaboration.
(Thanks to Jordan Anastasiade, Hans Heim, David Humphrey, Emily Koon, Catherine Leung, Ralph Lisak, Dawn Mercer, Andrew Smith, Chris Tyler, Evan Weaver from CDOT for taking part in this interview.)