Incorporating open source software development into Computer Science and Software Engineering education
Background
I wrote this essay in my third year doing Computer Science at the University of Melbourne for my most favourite subject 433-343 Professional Ethics taught by Dr Paul Gruba. I later presented it at the Australian Undergraduate Students' Computing Conference (AUSCC) 2004.
Fascinated by open source software products and projects at the time (and now) and inspired by several great essays on the educational values of this development paradigm, particularly the classic "The Cathedral and the Bazaar" by Eric S. Raymond, I compared the Computer Science education system I studied under with an open source one I extended from the model proposed by Faber B.D in "Educational models and open source: Resisting the proprietary university".
Although I never got to study under such a system, the educational model derived from "The Cathedral and the Bazaar" and Faber's has been the framework of my learnings so far, and I use it for more than just for software development.
Abstract
Recently, open source software development (OSSD) has established as an efficient and successful methodology to produce high quality software. However, it has not been incorporated into computer science and software engineering (CSSE) education at Australian universities, despite OSS products being widely used in these academies. Our aim is to show how the educational model derived from OSSD can help to develop more well-rounded CSSE professionals compared to the conventional proprietary practices in Australian CSSE courses. To achieve this aim, we firstly investigate the expectations the industry has for graduates. Secondly, we review the existing educational model to examine its problems and raise ethical concerns. Finally, we introduce OSSD and its derived educational model. We compare the two models to show the benefits the open source alternative can offer to CSSE education in Australian universities. We conclude by providing justifications for its implementation.
Introduction
OSS, as defined by the Open Source Initiative, is ”software that must be distributed under a license that guarantees the right to read, redistribute, modify and use the software freely” [Ini04]. The significance of the OSSD model to CSSE professionals is that they can freely learn from the source code, modify and reuse it, and participate in globally collaborative projects.
In university CSSE education, OSS development practices are conducive for learning because of its educational nature. Firstly, it promotes programming knowledge sharing, which is the root of education. Secondly, it provides students with practical experience in large scaled collaborative projects. Thirdly, it supports risk-taking, rewarding and building from failure. Lastly, it encourages releasing early and often, obtaining frequent constructive peer reviews and user feedbacks, which leads to a more fruitful and self-assured education.
However, despite said benefits, being relatively new, the OSSD model has not been widely accepted in Australian universities. Therefore, in this paper, we aim to show that the educational model derived from this development methodology can develop more well-rounded CSSE graduates compared to the current proprietary one.
Firstly, we will investigate the expectations the IT industry has for graduates. This is essential to determine the skills graduates need, not just to satisfy the needs of future employers, but also to fulfill their duty to lifelong learning as professionals, outlined in the IEEE-CS/ACM Software Engineering Code of Ethics and Professional Practices (SECEPP)[T.04].
Secondly, we will review the existing proprietary educational model in Australian universities to see whether it satisfies the above expectations. We will raise problems and ethical concerns regarding its implementation.
Finally, we will introduce the open source educational model as an alternative. We will show that the proposed model will provide students with higher quality training for the workplace via its tight integration with collaborative projects, as well as benefit the CSSE community and the general public. We will also discuss the possible obstacles to a successful implementation of our model.
