Lecture 10: Open-Source
Video 🔒
This lecture was given by our Head Course Assistant (Head CA): Yash Kumar Lal.
Defining Open Source
- Software Ownership and Distribution
- Code
- Community
Parts of an Open Source Project
- Vision
- Why is your project important?
- Is it at a stage it can be open sourced?
- Where do you see your project in 6 months, 1 year, 2 years?
- Motivation to open source your work
- Community should get to use a software
- Can be a gateway for jobs
- Governance Models
- Technical Aspects
- Working with legacy code
- Following issues and PR templates
- Code specifications and standards for each project
- Git workflow
- Not every project is hosted on GitHub (e.g., Mozilla Firefox)
- CONTRIBUTING.md
- Community
- Code of Conduct
- Friendly, responsive environment
- Be Nice, Be Respectful (BNBR)
- Welcoming to new members
- Licenses
- What caveats do you want to attach to your intellectual property when distributing it?
- MIT, GNU GPL, Apache, or maybe no license. Find the one you want
Open Source Financing
Problems
- Managing people
- Maintaining standards for code