The term “open source” refers to something that can be modified because its design is publicly accessible. Open source software is computer software with its source code made available for modification or enhancement by anyone. Projects or initiatives that utilize this type of code are those that embrace and foster open exchange, collaborative participation, fast prototyping and community development.
This is something Professor Chadd Williams’ new computer science course, “Open Source Development,” revolves around.
While on his sabbatical leave, Williams developed a brand new class, not taught in a regular fashion.
“One of the reasons this course was made was so students can have enough skills afterward to jump into a real, live open source code project,” Williams said. “The students seem excited, and the new material is quite challenging.”
Even if you haven’t heard of open source development and code, it’s everywhere. Firefox, VLC Media Player and numerous office applications deal with open source. Many other websites and Android, web and desktop applications have source code written into them.
So far this semester, the class has been geared toward working on small, simulated projects.
“Soon, the students are going to start actually drafting up lists for potential projects that they can do themselves,” said Williams. “We can either contribute to existing projects in the actual world, or make up our own brand new ones.”
Students going into existing projects and adjust to better them wouldn’t even be possible without open source development.
Some software has source code that cannot be modified by anyone but the person or team who created it, since they maintain exclusive control over it.
Microsoft Word and Adobe Photoshop, for example, fall under this category; computer users using these types of software must agree that they will not do anything with the software that the creators have not intentionally permitted. Open source software, on the other hand, has creators that make the code available to others for viewing, copying, altering and sharing.
Both computer programmers and non-programmers both benefit from open source software, since much of the Internet itself is built on many open source technologies.
It has the potential to create better programmers, since students can just study what others before them have written, and share what their work with others and be critiqued.
Because anyone can view and change open source code, someone might be able to spot and correct errors. Since so many people can work on a piece of open source software, problems are fixed fairly quickly.
Unfortunately, for computer science students who want to take the class in the future, it won’t be available. Open Source Development is a Special Topics Course, which means that it was specially and specifically designed, and will only appear once, as of now.
“This is one of the courses where we can give students job skills and post-grad skills,” Williams said.
If the course is received well by students and faculty this semester, it may be offered again.