Birla Institute of Technology & Science, Pilani
Work Integrated Learning Programmes
Course handout
Part A: Content Design
FLIPPED MODE
Course Title Open-Source Software Engineering/Development
Course No(s) SE*ZG587
Credit Units 4
Course Author Harvinder S Jabbal
Version No 5.1
Date June 2024
Course Objectives:
No Course Objective
CO1 To enable students to learn basic and advanced concepts in Open-Source Software
Engineering, as employed by the open-source community
CO2 To familiarize students with the Open-Source movement, its philosophy and the history behind
it
CO3 To provide a deeper understanding of various licensing issues associated with Open-Source
software and its societal, commercial, legal and philosophical origins and impacts
CO4 To enable students to understand Open-Source process, its development methods, associated
tools and communication mechanisms
Learning Outcomes:
No Learning Outcome
LO1 Students will be able to understand and explain the nature of Open-Source software, and the
ways in which it differs from proprietary softwa
LO2 Students will be able to describe the concept of software licensing for Open-Source software,
distinguish between different types of licences, and be able to choose an appropriate license type
keeping in mind the associated rules and regulations
LO3 Students will be able to understand how to develop or adopt Open-Source software by
effectively collaborating with fellow student or community members
LO4 Students will be able to contribute to the development of Open-Source software
The following advisory pre-requisites are not mandatory, however, student would benefit more if he/she has good knowledge of the
following courses:
● Software Engineering or its equivalent
● Software Architecture and Design Reference Books and Material:
R1 Open-Source Projects - Beyond Code A blueprint for scalable and sustainable Open-Source projects
John Mertic - 2023
R2 Producing Open-Source Software: How to Run a Successful Free Software Project, 2nd edition,
Karl Fogel
R3 Software Transparency: Supply Chain Security in an Era of a Software-Driven Society, By Chris
Hughes, Tony Turner · 2023
Web References
W1 Open-Source Initiative ([Link]
W2 Open-Source Guides ([Link]
W3 The Architecture of Open-Source Applications ([Link]
W4 The Performance of Open-Source Applications ([Link]
W5 Practical Open-Source Software Exploration
([Link]
ml)
W6 Open Standards ([Link]
W7 Creative Commons ([Link]
Content Structure
Module List of Topic Title
No
M1 Introduction to Open-Source Software
1.1 What is Open-Source Software?
1.2 Principles of Open-Source Software
1.3 Advantages and Disadvantages of OSS
1.4 Cost of Open-Source Software
M2 Understanding Open-Source Licensing Models
● 2.1 Open-Source Licensing Models
● 2.2 Free, Open-Source, Freeware, and Public Domain Software:
● 2.3 Intellectual Property Rights and Software Licenses:
● 2.4 Licensing Models in Open-Source Software (OSS):
M3 Understanding Open-Source Business Model
3.1 Dual Licensing and Open Core Model
3.2 Selling Users, Services, and Merchandise:
3.3 Donations, Funding, and Crowd-Sourcing:
3.4 Other Business Models:
M4 Lifecycle and methodologies in Open-Source Software
4.1 Open-Source Software Development Fundamentals
4.2 Open-Source Development Process
4.3 Contributing to Open-Source
4.4 Evaluating and Choosing Methodologies
M5 Contributing to Open-Source Software Projects
5.1 Open-Source Contribution Models
5.2 Open-Source Project Development
5.3 Benefits of Open-Source
5.4 Open-Source Governance
M6 Building and Scaling Open-Source Ecosystems
6.1 Project Health and Growth
6.2 Maintaining a Healthy Community
6.3 Building a Sustainable Ecosystem
6.4 Project Lifecycle Management
M7 Consuming Open-Source Projects
7.1 Consuming Open-Source Effectively:
7.2 Open-Source Adoption and Governance
7.3 Building with Open-Source
7.4 Open-Source in the Cloud
M8 Risks of Using Open-Source Software
8.1 Open-Source in Practice
8.2 Benefits and Challenges- Illustrations
8.3 Collaboration and Development- Illustrations
8.4 Case Studies
M9 Open Standards
9.1 Standards, Licensing and Compliance
9.2 Open Standards Collaboration versus Open-Source Collaboration
9.3 Security Considerations
9.4: Security Standards, Benchmark Standards
M10 Open Access to Knowledge and Creativity
10.1: Creative Commons Licensing
10.2 Open Artwork and Copyright
10.3 The Future of Open Knowledge
10.4 Cases Studies
Part B: Contact Session Plan
Academic Term 2023-24 Semester 2
Course Title Open-Source Software Development
Course No SE??ZG587
Lead Instructor <please enter>
Course Contents
Contact List of Topic Title Text/Ref
Session (from content structure in Part A) Book/external
(2Hrs) resource
CS1 Introduction to Open-Source Software R1, W1
M1 At the end of this session the students should be aware of
IOSS
Open-Source Software.
1.1 What is Open-Source Software?
Definition and characteristics, Origins and evolution, Open-
Source philosophy, Examples of popular Open-Source projects
1.2 Principles of Open-Source Software
Transparency and collaboration, Community-driven
development,Meritocracy and peer review, Licensing and
distribution,
1.3 Advantages and Disadvantages of OSS
Cost savings, Customizability, Security and reliability,
Maintenance challenges
1.4 Cost of Open-Source Software
Licensing costs, Implementation and support costs, Total cost
of ownership (TCO), Cost comparison with proprietary
software
CS2 Understanding Open-Source Licensing Models R1, R2
M2 At the end of this session the students should be aware of
OSLM
licensing models and their legal implications.
2.1 Open-Source Licensing Models
Origins of Open-Source Licensing, Free, Open-Source,
Freeware, and Public Domain Software, Intellectual Property
Rights and Software Licenses, Licensing Models in Open-
Source Software (OSS):
2.2 Free, Open-Source, Freeware, and Public Domain Software:
Free Software, Open-Source Software, Freeware, Public
Domain Software
2.3 Intellectual Property Rights and Software Licenses:
Patents, Copyright, Trademarks, Trade Secrets
2.4 Licensing Models in Open-Source Software (OSS):
Copyright, Copyleft, Permissive Licenses, Creative Commons
Licenses
CS3 Understanding Open-Source Business Model R1
M3 At the end of this session the students should be aware of
OSBM
How Open-Source projects can be funded.
3.1 Dual Licensing and Open Core Model
Open-Source Business Model, Dual Licensing, Open Core
Model, Pros and Cons.
3.2 Selling Users, Services, and Merchandise:
Consulting and Customization Services, Support and
Maintenance Services, Merchandise and Swag, Marketplace
for Add-ons:
3.3 Donations, Funding, and Crowdsourcing,
Donations, Corporate Sponsorship, Crowdfunding Campaigns:,
Grant Programs:
3.4 Other Business Models:
Software as a Service (SaaS), Freemium Model:, Affiliate
Marketing:, Data Monetization:
CS4 Lifecycle and methodologies in Open-Source Software W1, W2
M4 At the end of this session the students should be aware of
LMOSS
how Open-Source Software fit into the eco-system and its
life cycle..
4.1 Open-Source Software Development Fundamentals
Introduction to Open-Source Software (OSS) Lifecycle, Open
Collaboration Model, Key Characteristics of OSS Projects
(e.g., transparency, collaboration), Key Challenges in OSS
Projects (e.g., funding, legal issues)
4.2 Open-Source Development Process
Community-Driven Development, Open-Source Software
Development Process Model (focus on high-level phases),
Testing and Quality Assurance, Documentation and User
Suppor
4.3 Contributing to Open-Source
Understanding Open Collaboration, Collaborative Tools and
Platforms, Collaborative Ecosystem, Maintaining Community
Engagement
4.4 Evaluating and Choosing Methodologies
Strengths and Weaknesses of OSS Methodologies, Choosing
the Right Approach for your Project, Measuring Community
Health, Comparing Development Methodologies
Contributing to Open-Source Software Projects R1,
CS5
At the end of this session the students should have an ideaq W1, W2
M5 of how they may get involved in open-source projects..
COSSP 5.1 Open-Source Contribution Models
Contribution Models, Package Managers and Dependency
Management, Contributing Back to the Ecosystem, Building a
Community Around Your Project
5.2 Open-Source Project Development
Project Ideation and Planning, Setting Up the Repository,
Maintainer Responsibilities, Effective Communication
5.3 Benefits of Open-Source
Talent Attraction and Retention, Cost Savings and Efficiency,
Brand Reputation and Trust, Testing and Continuous
Integration
5.4 Open-Source Governance
Centralized Governance, Decentralized Governance, Hybrid
Models, Leveraging Existing Libraries and Frameworks
CS6 Building and Scaling Open-Source Ecosystems R1,
M6 At the end of this session the students should be having W2
BSOSE advanced knowledge of working with open-source projects.
6.1 Project Health and Growth
Open-Source Project Metrics, Scaling Infrastructure,
Community Management, Scalable Documentation
6.2 Maintaining a Healthy Community
Conflict Resolution Strategies, Code of Conduct Enforcement,
Managing Diverse Perspectives, Contributor Onboarding and
Retention
6.3 Building a Sustainable Ecosystem
Commercialization of Open-Source, Open-Source and Talent
Ecosystem, Advocacy and Outreach, Financial Metrics
6.4 Project Lifecycle Management
Transitioning Leadership, Dealing with Conflict, Sunsetting
the Project, Legacy and Lessons Learned
Consuming Open-Source Projects R3
CS7
At the end of this session the students should know how they
M7 can use open-source projects to benefit their organisation by
COSP
using the produce of this eco-system.
7.1 Consuming Open-Source Effectively:
Selecting Open-Source Software:, Integration and Dependency
Management:, Contributing to Existing Projects:, License
Compliance and Obligations:
7.2 Open-Source Adoption and Governance
Open-Source Policies and Governance, Training and
Awareness Programs, Licensing Strategies for Commercial
Use, License Compliance:
7.3 Building with Open-Source
Version Control Systems (VCS):, Build and Continuous
Integration Tools:, Dependency Management:, Build and
Packaging:
7.4 Open-Source in the Cloud
Container Security, Serverless and FaaS, Supply Chain Risk
Management Practices, Software Identification tags
CS8 Risks of Using Open-Source Software R3
M8 At the end of this session the students should have
RUOSP experienced the problems associated with open-source
projects and how they can be confronted..
8.1 Open-Source in Practice
Definition of Open Standards, Understanding Standards, Open
Standards, Licenses and Applications., Introduction to Open-
Source Applications
8.2 Benefits and Challenges- Illustrations
Understanding Support Availability, Benefits of Open
Standards, Benefits of Open Access, Benefits and Challenges
of Open-Source Applications
8.3 Collaboration and Development- Illustrations
Contributing to Open-Source Projects, Collaboration: Open
Standards vs. Open-Source, Exploring Open Artwork
Applications, Security Considerations
8.4 Case Studies
Exploring Different Open Standards, The Global Movement
for Open Access, Illustrative Examples Linux, Eclipse,
Moodle, Open-Source Security Scores (OpenSSF)
Open Standards W6
CS9 W3, W4
At the end of this session the students should have
M9 understood standards and how they impact Open-Source
OS Software. The concept of open standards should also be
clear.
9.1 Standards, Licensing and Compliance
Understanding Open Standards, Identifying License
Requirements, Maintaining License Compliance/Addressing
Issues, Software Standards
9.2 Open Standards Collaboration versus Open-Source
Collaboration
Architecture Standards of Open-Source Application, Standards
and Performance of Open-Source Applications, Open Internet
Standards IETF, IRTF, IAB, Open-Source Audit
9.3 Security Considerations
Vulnerabilities in Open-Source Software, Malware in Open-
Source Repositories, Securing Open-Source Applications,
Mitigating the Impact of Security Breaches
9.4: Security Standards, Benchmark Standards
Introduction to OpenSSF, The Scorecard Methodology,
Interpreting/Leveraging Scorecard Results, Security Evaluation
Tools
CS10 Open Access to Knowledge and Creativity W7
At the end of this session the students should be aware of the
M10 concepts of Knowledge and creativity. Some case studies
OAKC
should be examined to gain expert knowledge of open-
source eco-systems.
10.1: Creative Commons Licensing
Different types of CC licenses, Choosing the right CC license,
Finding and using CC-licensed works, Global Trends in
Creative Commons
10.2 Open Artwork and Copyright
Different types of Open Artwork, Finding and using Open
Artwork, Creating and sharing Open Artwork, Legal
considerations
10.3 The Future of Open Knowledge
The Future of Open Standards, Future of Open Access, Future
Trends in Security, Futuristic Case Stady: Access, Source,
Security
10.4 Cases Studies
Apache, Linux, Eclipse, Moodle:
Detailed Plan for Experiential Learning Components
Lab Lab Objective Lab Sheet Access Content
No URL Reference
1. Working with Git
The aim of this lab sheet is to develop an understanding about
the basic environment and workflow of GitHub. It also guides
the students to create a repo on GitHub and initialize it with
some relevant files. Additionally, it helps students to
familiarize themselves with the various Open-Source projects
available on GitHub and navigate through them.
Technologies used: Git
2 Open-Source Project Metrics [Link]
The aim of this lab sheet is to guide the student to understand -[Link]
different metrics involved measuring success of Open-Source de/metrics/
Projects.
Technologies used : Git, GitHub
3. Generate SBOM for Open-Source project [Link]
The aim of this lab sheet is to guide the student to understand .dev/
how to generate Software Bill of Materials for Open-Source
Projects
Technologies used: SPDX / CylconeDX
4. Generate Security Score for Open-Source Project [Link]
The aim of this lab sheet is to guide the students to understand [Link]/
risks in using Open-Source software and how to generate a
security score
Technologies used: OpenSSF
Evaluation Components
No Name Type Duration Weigh Day, Date, Session, Time
t
EC-1 Quiz-I Online / Open 5% Pre-mid sem
Book
Quiz-II Online / Open 5% Post-mid sem
Book
Assignment I / Online / Open 5% Pre-mid sem
Project – Phase I Book
Assignment-II / Online / Open 10% Post-mid sem
Project – Phase II Book
EC-2 Mid-Semester Exam Open Book 2 Hours 30%
EC-3 Comprehensive Exam Open Book 3 Hours 45%
Note - Evaluation components can be tailored depending on the proposed model.
Important Information:
Evaluation Guidelines:
1. For Closed Book tests: No books or reference material of any kind will be permitted. Laptops/Mobiles of any
kind are not allowed. Exchange of any material is not allowed.
2. For Open Book exams: Use of prescribed and reference text books, in original (not photocopies) is permitted.
Class notes/slides as reference material in filed or bound form is permitted. However, loose sheets of paper will
not be allowed. Use of calculators is permitted in all exams. Laptops/Mobiles of any kind are not allowed.
Exchange of any material is not allowed.
3. If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the student should follow
the procedure to apply for the Make-Up Test/Exam. The genuineness of the reason for absence in the Regular
Exam shall be assessed prior to giving permission to appear for the Make-up Exam. Make-Up Test/Exam will
be conducted only at selected exam centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self-study schedule as given in the
course handout, attend the lectures, and take all the prescribed evaluation components such as Assignment/Quiz, Mid-
Semester Test and Comprehensive Exam according to the evaluation scheme provided in the handout.