Curriculum: Difference between revisions

No edit summary
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
We need to focus on these 3 areas:
=Course Objectives=
# open-source ecosystem that exist in the current world.
# Student knows the foss ecosystem and its philosophical and technical aspects
# To get qualitative and quantitative contributions from the student to the FOSS ecosystem and projects by his creative and innovative ideas
# Student is capable for leading a foss project or working with a foss project
# To strengthen the technical capabilities of the student
# Student knows the foss development workflow
# Student is capable of designing, implementing, deploying, maintaining a FOSS based solution for the society for solving a problem


FOSS is not only a technical solution for a problem of society,  It is a way
==Theory Course==
of collaborative way of approaching and solving problems . A path for
===Unit 1: Free and Open Source Software philosophy and history [4]===
innovative ideas in technology and society by working together and
FOSS definition; Free and Open Source Software; GNU project; History of GNU/Linux development; Development process of important FOSS software; Development process of various GNU/Linux distributions
sharing knowledge.


Some of the topics to be covered:
===Unit 2: Legal, social aspects of FOSS and parallels in other fields [4]===
Various licenses including GPL, LGPL, BSD, etc; Copyleft; Patents, copyrights and trademarks; Concept of free culture with reference to Wikipedia, Creative Commons, Open Street Map; Open Movies; Open Access Journals; Open Standards; Open Hardware


# A brief introduction to Free and Opensource software philosophy and history so far. Practical aspects of FOSS: making money and running busines
===Unit 3: Practical aspects of FOSS: business models [6]===
# The community based FOSS development process: The book 'Producing OSS'(http://producingoss.com/) can be a good reference for this. Students should be introduced to the foss ecosystem, such as
Sharing the burden; Augmenting services; Supporting Hardware Sales; Undermining a competitor; Dual licencesing; Donations; Support service; Study of examples of each type of business model
## Developer communities
## Mailing lists
## IRC
## Wiki
## Version control
## Bug tracking
## Non technical issue resolution
## Getting people to work in a project
## 'Assigning' work or getting the work done
## Legal aspects- various licenses and compatibilities and compliance
All these above areas should be introduced with the help of case
studies and students should work with communities to get to know the
"Producing of OSS"


Student should know the technical aspects of the above items too. For
===Unit 4: FOSS development process and tools [10]===
eg: installing a version control system and its use, Managing a wiki,
Development environments: Eclipse, Anjuta, Kdevlope, Netbeans; Version control; Bug tracking; Wiki; Mailing lists; Forums; Developer communities; IRC; Non technical issue resolution; Promotion;  Communication: You are what you write, structure and content, tone, face, pitfalls, best practices; Process:Benevolent dictators, do-ocracy, consensus based democracy
Running a mailing list, Hands own experience with a bug tracking
system


A practical evaluation based on the involvement in a foss project will be good
===Unit 5: Packaging applications [6]===
Package; Package management tools; Building a package; Packaging guidelines; Package acceptance criterion; Packaging for .deb and .rpm based distributions


# Technical capability strengthening
===Unit 6: Case studies [8]===
## System administration
Following projects: Linux kernel, GNU Project, Open office, Mozilla Firefox, Gimp, Inkscape, Scribus, Silpa, LaTeX, Vlc, Mplayer, Virtualbox, MySQL, Postgresql, Sugar, Gnome, KDE, Blender, Google Chrome, Vuze, Scilab, Octave, Pidgin, Evolution, Thunderbird
## network administration
## Website maintenance & design
## Database management
## Shell scripting+ intro to programming languages like python, C/C++
# Exposure to the FOSS usage in society
## e-governance, library management, public websites, disaster management
## language computing, l10n, i18n


At the end of the course, the following should be the expectations
==Laboratory Course==
# student know the foss ecosystem and its philosophical and technical aspects
===List of assignments===
# Student is capable for leading a foss project or working with a foss project
 
# Student know the foss development workflow
* Mediawiki: Set up a mediawiki installation with configuration specified by the instructor.
# Student is capable of designing +implementing + deploying +maintaining a FOSS based solution for the society for solving a problem
* Version Control: Install, configure and create a project for the course using git version control system.
Note: this project will be used for all your work during the course
* Forums: Install, configure a php bulletin board with access control as specified by the instructor.
* Development:
** Start participating in at least 1 known FOSS project
** Take up a task as specified by the instructor
** Test the software and report bugs to the community
** Improve the software as per the specification and with quality acceptable to the community.
* Packaging
** Demonstrate your packaging capabilities by maitaining packages in upstream distributions
* Technical capability strengthening: One of the following (in discussion with the instructor)
*# System administration
*# network administration
*# Website maintenance & design
*# Database management
*# Shell scripting and intro to programming languages like python, C/C++
 
==Textbooks==
# Introduction to Free Software, by David Megías Jiménez and David Megías Jiménez (coordinator) et.al., Published by SELF Project (http://www.selfproject.eu/en/Coursebook_Intro_Free_Software)
# Free/Open Source Software: A General Introduction, by Kenneth Wong and Phet Sayo, published by International Open Source Network and United Nations Development Programme
# Producing OSS (http://producingoss.com) by Karl Fogel
# Free Software, Free Society: Selected Essays of Richard M. Stallman (http://www.gnu.org/philosophy/fsfs/rms-essays.pdf)
 
==References==
# The Cathedral and the Bazaar (CatB), by Eric S. Raymond  Published by O'Reilly Media
# GNU Project Website http://www.gnu.org
# Free Technology Academy Materials http://ftacademy.org/materials
# Various online resources for learning the tools