Lecture 10: Open-Source
This lecture was given by our Head Course Assistant (Head CA): Yash Kumar Lal.
Defining Open Source
- Software Ownership and Distribution
Parts of an Open Source Project
- 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)
- Code of Conduct
- Friendly, responsive environment
- Be Nice, Be Respectful (BNBR)
- Welcoming to new members
- 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
- Managing people
- Maintaining standards for code