Curriculum
We need to focus on these 3 areas: 1. A curriculum that introduces the student to the free and open-source ecosystem that exist in the current world. 2. To get qualitative and quantitative contributions from the student to the FOSS ecosystem and projects by his creative and innovative ideas 3. To strengthen the technical capabilities of the student The curriculum provided by you focus only in the 3rd aspect and completely ignores the first 2 parts. Knowing a server administration or LAMP configuration doesn't serve the purpose of a improved FOSS ecosystem other than solving a specific practical solution. FOSS is not only a technical solution for a problem of society, It is a way of collaborative way of approaching and solving problems . A path for innovative ideas in technology and society by working together and sharing knowledge. To be specific, I can point out some of the topics to be covered:
- A brief introduction to Free and Opensource software philosophy and
history so far. Practical aspects of FOSS: making money and running busines
- 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
a) Developer communities b) Mailing lists c) IRC d) Wiki e) Version control f) Bug tracking g) Non technical issue resolution h) Getting people to work in a project i) 'Assigning' work or getting the work done j) 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 eg: installing a version control system and its use, Managing a wiki, 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
- Technical capability strengthening
a) System administration b) network administration c) Website maintenance & design d) Database management e) Shell scripting+ intro to programming languages like python, C/C++
- Exposure to the FOSS usage in society
a) e-governance, library management, public websites, disaster management b) language computing, l10n, i18n
At the end of the course, the following should be the expectations 1. student know the foss ecosystem and its philosophical and technical aspects 2. Student is capable for leading a foss project or working with a foss project 3. Student know the foss development workflow 4. Student is capable of designing +implementing + deploying +maintaining a FOSS based solution for the society for solving a problem