Â© 2009 Jim Whitehurst. The text of this article is licensed under the Creative Commons Attribution-No Derivative Works 3.0 License
EDUCAUSE Review, vol. 44, no. 1 (January/February 2009): 70â€“71.
Open Source: Narrowing the Divides between Education, Business, and Community
Open source is now recognized in institutions of higher education as a viable technology solution that provides superior value at a fraction of the cost of proprietary applications. That's a good thingâ€”but that's not all it can do. Open source can be a transformative force in education. In particular, it can transform computer science curricula. Academic institutions that are consumers of open source need to reverse roles and shift gears to â€œpreach what they practiceâ€ and place higher emphasis on integrating open source into the classroom.
Open source is an increasingly important skill set that many of today's computer science graduates are lacking. This is not because students aren't interested in open source, but because very few colleges and universities currently offer open-source classes. In addition to eager students, there are many professors who are very interested in teaching open source in their classrooms and labs.
What Is Open Source?
Open source is a collaborative software-development method that harnesses the power of peer review and transparency of process to develop code that is freely accessible. Open source draws on an ecosystem of thousands of developers and customers all over the world to drive innovation. Traditional software companies provide only binary code and withhold source code, so users can run the software but cannot study, modify, or improve it. In contrast to these proprietary models, open-source software is distributed under nonrestrictive licensing terms that generally include access to the source code.
Why Open Source?
We live in an increasingly global community. Gone are the days when working for a company in an office meant serving a small geographic area from 9 a.m. to 5 p.m. Todayâ€™s graduates will work in a matrix environment where projects cut across organizational and geographic boundaries, requiring cooperation and communication. Open source uses the power of collaboration to provide students with hands-on learning and to equip students with an expanded skill set that is very attractive to businesses.
Open source better prepares students for the business world by exposing them to real-world problems and encouraging learning through the completion of real tasks. Open source amplifies a â€œhands-onâ€ approach to learning by connecting students to a community of users in an effort to solve problems. Open-source developers donâ€™t rely on textbooks; they rely on the knowledge base of other developers with whom they connect through community forums, building off of one anotherâ€™s ideas to create a solution that is eventually shared with all. To this extent, open source better prepares students for future job experiences and allows them to complete, while they're still in school, work that's being used by the global open-source community.
Open source also teaches students useful skills that can be applied across other coursework and classes. Students have the opportunity to work with many more code bases in open source than are found in traditional student projects. This strengthens skills in collaboration, project management, and testing and encourages a well-rounded computer science education, making students more marketable in the business world.
It is widely accepted (though the point is impossible to prove) that many of the most gifted programmers in the world participate in open-source projects. Those projects provide a platform for them to display their achievements and for others to learn from them. This learning process happens naturally in open-source projects, but it can be encouraged by colleges and universities. The quality of the student's educational experience will be enhanced by learning from masters of the art.
Thus it is not just higher education institutions and the business community that benefit from open source in the classroom. As students sharpen their skills, they are able to drive increased innovation across open-source communities and projects. Working on open-source projects in school can serve as a gateway for students to continue to contribute after graduation. Projects have a longer shelf life and don't end when the semester ends. Students can continue to contribute long after they finish their coursework, graduate, and move into the working world.
Open source drives innovation faster due to its collaborative nature and community-backed effort. Teaching open source encourages better communication among students and prevents them from working in a vacuum, void of input or teamwork. Classrooms become smaller communities within the larger open-source community. This benefits students by teaching collaboration with classmates, and with others from across the globe, on how to resolve issues such as bug fixes.
Open source also allows students to leverage existing software for their own research purposes, and any code they contribute will find a much larger audience within the community. Students are a welcome addition to open-source projects, since they bring a fresh perspectiveâ€”one that those already working in the project might miss. Working every day in a project can desensitize people to the pain points of new contributors, a fact that students can effectively point out when they are new to a project. This input allows the open-source project to create a better experience for its current and future contributors.
Who Are the Leaders?
Some pioneers in the academic world are serving as models for success. For example, open source has become a fundamental part of the curriculum in the School of Computer Studies at Seneca College in Toronto, Canada. The school has partnered with open-source projects such as Mozilla and the Fedora Project to expose its students to the growing opportunities that open source presents. Seneca students work within the Fedora Project, a Red Hat-sponsored and community-supported open-source collaboration, while learning open-source development and administration. This proven model was developed at Seneca and will be incorporated into several programs beginning with its Linux/Unix System Administration (LUX) program, an intense one-year graduate certificate.
Other higher education institutions that have distinguished themselves as leaders in the open-source world include Oregon State University (OSU) and North Carolina State University (NCSU). The OSU Open Source Lab is the home of growing, high-impact open-source communities. Its world-class hosting services enable the Linux operating system, the Apache web server, the Drupal content management system, and more than fifty other leading open-source software projects to collaborate with contributors and distribute software to millions of users globally. And right here in my home state, NCSU has created the Center for Open Software Engineering, which performs basic research, education, and outreach to enable software technology gains and to bridge the gap between the state-of-the-art and the state-of-the-practice of commercial software engineering.
Google's Summer of Code (GSoC) program, although not affiliated with any education system, has also been a huge success in introducing students to open source. The program offers student developers stipends to write code for various open-source projects. It kicked off in 2005 and has historically connected more than 1,500 students with over 130 open-source projects to create millions of lines of code. Most of the students who participate in GSoC are enrolled in college or university computer science and computer engineering programs, but many of those participants have never worked in an open-source project before their experience with GSoC. If Google can achieve these dramatic results with a three-month-long program, imagine the innovation that can take place if academic institutions across the globe bring open source into the classroom.
Government as a Facilitator?
In many parts of the world, governments have been early adopters and heavy users of open-source technologies. Governments also provide significant funding for public higher education institutions. Many governments, having understood from a user perspective the benefits of open-source technologies, play an important role by encouraging their public colleges and universities to create open-source curricula to meet the marketplace demands for well-trained students of open source. From a government funding perspective, the use of open-source technologies will help to reduce college/university IT costs, saving money that can be used to meet more critical needs of students. Governments should also encourage the use of open IT standards, which will lead to more competition in the marketplace, more opportunities for open source, and even greater reductions in IT costs at colleges and universities.
Todayâ€™s students live in a world of openness, transparency, and collaboration. Facebook, MySpace, YouTube, and Wikipedia are students' top websites, all of them populated by user-generated content. Open source is driven by this generation and the values they hold dear. Users can see the code, change it, learn from it, share it. And thatâ€™s exactly what we should be teaching on our college and university campuses to give this generation of workers the skills they need to succeed in a global economy.
One of my colleagues from the open-source world, Tim O'Reilly, says it best: â€œInnovation is no longer about who has the most gifted scientists or best equipped labs. It's about who has the best architecture of participation.â€ Open source is the most viable means through which a higher education institution can create this â€œarchitecture of participation.â€
So, let's work together to help our colleges and universities arm students with the knowledge of open source to continue to drive innovation across the industry. If you're a professor, start a dialogue with administration about the importance of open source, and rally your colleagues around that effort. If you're a student, demand that your institution take a closer look at open source. If you're an IT administrator at an academic institution, integrate open-source technologies into IT infrastructures and share your knowledge with professors, students, and other administrators. It will take a collaborative effort, but we can make change happen and cross the chasms between open source, education, and business.