|
Objective:
Open Source has acquired a prominent place in software industry. Having knowledge of Open Source and its
related technologies is an essential for Computer Science student. This course introduces Open Source
methodologies and ecosystem to students.
Expected Learning Outcome:
1) Upon completion of this course, students should have a good working knowledge of Open Source
ecosystem, its use, impact and importance.
2) This course shall help student to learn Open Source methodologies, case studies with real life
examples.
Unit I
Introduction
Introduction: Open Source, Free Software, Free Software vs. Open Source
software, Public Domain Software, FOSS does not mean no cost. History: BSD,
The Free Software Foundation and the GNU Project.
Methodologies
Open Source History, Initiatives, Principle and methodologies. Philosophy :
Software Freedom, Open Source Development Model Licenses and Patents: What
Is A License, Important FOSS Licenses (Apache,BSD,GPL, LGPL), copyrights and
copy lefts, Patents Economics of FOSS : Zero Marginal Cost, Income-generation
opportunities, Problems with traditional commercial software,
Internationalization
15L
7
Social Impact
Open source vs. closed source, Open source government, Open source ethics.
Social and Financial impacts of open source technology, Shared software, Shared
source, Open Source in Government.
Unit II
Case Studies
Example Projects: Apache web server, GNU/Linux, Android, Mozilla (Firefox),
Wikipedia, Drupal, wordpress, GCC, GDB, github, Open Office. Study:
Understanding the developmental models, licensings, mode of
funding,commercial/non-commercial use. Open Source Hardware, Open Source
Design, Open source Teaching. Open source media.
Collaboration, Community and Communication
Contributing to Open Source Projects
Introduction to github, interacting with the community on github,
Communication and etiquette, testing open source code, reporting issues,
contributing code.
Introduction to wikipedia, contributing to Wikipedia Or contributing to any
prominent open source project of student’s choice.
Starting and Maintaining own Open Source Project.
15L
Unit III
Understanding Open Source Ecosystem
Open Source Operating Systems: GNU/Linux, Android, Free BSD, Open Solaris.
Open Source Hardware, Virtualization Technologies, Containerization
Technologies: Docker, Development tools, IDEs, debuggers, Programming
languages, LAMP, Open Source database technologies
15L
Text books:
1. Unix Concepts and Applications by Sumitabha Das, Tata McGraw Hill Education, 2006
2. The official Ubuntu Book, 8
th
Edition
Additional references:
1. The Linux Documentation Project: http://www.tldp.org/
2. Docker Project Home: http://www.docker.com
3. Linux kernel Home: http://kernel.org
4. Open Source Initiative: https://opensource.org/
5. Linux Documentation Project: http://www.tldp.org/
6. Wikipedia: https://en.wikipedia.org/
8. Github: https://help.github.com/
9. The Linux Foundation: http://www.linuxfoundation.org