Why teach open source?

Great question! Why should you teach open source in your classroom?

Many instructors want to provide their students experience working in large software projects. How better than with a free and open source software (FOSS) project that is supported by an active professional community where all of the artifacts are publicly accessible? Involving students directly within an active open source project reaps benefits including:

  • Real-world development experience
  • Visible work artifacts for resume-building
  • Professional interactions and networking
  • Technical and professional skills
  • Motivation of giving back to the community

Why Not Start My Own Project?

Some instructors approach open source project work by creating their own “in house” open source project. This approach does offer instructors one advantage: it allows for more control over the project.

However, “in-house” projects have several disadvantages — all centered around the real-world and professional aspects of software development — when compared to student participation in existing open source projects. These include:

  • No interaction with professionals  — and therefore no resulting professional network
  • Lack of real-world drivers for requirements and development
  • No exposure to real-world development environment, which (for better or worse) includes unexpected changes to schedule, requirements, etc.  
  • Potential employers often view contributions to an “in house” project as less meaningful or valuable than contributions to an ongoing project
  • Reduced student motivation as compared to an active open source project

While there may be ways of mitigating some of these disadvantages when using an in-house project, the TOS community believes that students will gain a broader and richer experience by participating in an ongoing open source project with an active community.