teaching open source in the university

30
Teaching Open Source in the University Experiences, strategies, and response by Dominique Gerald M. Cimafranca [email protected] This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Philippines License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ph/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Upload: dominique-cimafranca

Post on 25-Dec-2014

1.176 views

Category:

Education


1 download

DESCRIPTION

Experiences in using open source in various classes at a university.

TRANSCRIPT

Page 1: Teaching Open Source In The University

Teaching Open Source in the UniversityExperiences, strategies, and response

by Dominique Gerald M. [email protected]

This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Philippines License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ph/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Page 2: Teaching Open Source In The University

“Do we need to teach open source?”

Page 3: Teaching Open Source In The University

“Is the fish aware of the water?”

Page 4: Teaching Open Source In The University

Why teach open source?

● Expand the range of available options in IT

● Open up avenues for collaboration and research

● Convey deeper understanding of software licensing

● Explore unconventional business models

● It's fun

Page 5: Teaching Open Source In The University

My story so far...

● IT288 Information Security

● IT312 Business Applications

● CS251 Operating Systems

Page 6: Teaching Open Source In The University

Coverage of IT312

● Introduction to Linux

● Overview of open source

● Student presentations on various open source projects

● Structure: 2 hours lecture, 3 hours lab, 18 weeks

Page 7: Teaching Open Source In The University

Why Ubuntu?

● It's an unfamiliar environment for the students

● Easy to deploy in Windows-only labs, via WUBI

● Repositories give access to a large software library

● Hassle-free, easy-to-use, stays out of the way

● It's my primary distribution

Page 8: Teaching Open Source In The University

Many meanings of open source

● Open source as license

● Open source as development methodology

● Open source as community

● Open source as business model

● Open source as technologies

Page 9: Teaching Open Source In The University

Licensing

● Until this class, many students are only vaguely aware of software licensing and its implications

● Proprietary vs open source software licenses● Also touches on copyright issues

Page 10: Teaching Open Source In The University

Software License

● a typical software license grants an end-user permission to use one or more copies of software in ways where such a use would otherwise constitute infringement of the software publisher's exclusive rights under copyright law

● the software license acts as a promise from the software publisher to not sue the end-user for engaging in activities that would normally be considered exclusive rights belonging to the software publisher

Page 11: Teaching Open Source In The University

Proprietary Software License

● Software publisher grants a license to use one or more copies of software; however

● Ownership of those copies remains with the software publisher● All rights are reserved by the software publisher

● Only a limited set of rights are given to the user

● User must accept the software license to use it

Page 12: Teaching Open Source In The University

Open source software license

● Ownership of a particular copy of the software is transferred to the user● End-user is granted the same rights as the copyright

owner● Extra rights may also be given to the user

● However, copyright ownership does not change; it remains with the publisher

● Acceptance of open source license is optional in order to use it

● However, exercising the additional rights requires acceptance of the license

Page 13: Teaching Open Source In The University

Open source business models

● Externally funded ventures● Public funding● “Needed Improvement”

Funding● Indirect Funding

● Internal Use

● Revenue-Based● “Best Knowledge Here”

without constraints● “Best Knowledge Here”

with Constraints● “Special” Licenses

● Unfunded developments

From “Free/Libre Open Source Software: A Guide for SMEs” (IOSN)http://smeguide.conecta.it/smeguide-eu.pdf

Page 14: Teaching Open Source In The University

Open source reporting topics

● Linux / Ubuntu

● Gnome

● KDE

● OpenOffice.org

● GIMP

● Inkscape

● Perl

● Python

● PHP

● Ruby

● MySQL

● PostgreSQL

● Wordpress

● Drupal

● Joomla

● Plone

● Zope

● Zend

● CakePHP

● Ruby on Rails

● Compiere / Adempiere

● OpenBravo

● Apache OfBiz

Page 15: Teaching Open Source In The University

Open source reporting topics

● TinyERP

● Alfresco

● KnowledgeTree

● Asterisk

● Ekiga

● Wine

● osCommerce

● Synfig

● Blender

Page 16: Teaching Open Source In The University

2SY2008 Laboratory Structure

● Three-hour laboratory session per week● Installation of Ubuntu via Wubi● Option 1: Structured Laboratory Path

● Desktop and graphics applications● LAMP applications: content management systems● PHP development

● Option 2: Freestyle Study-What-You-Like● Set up a WordPress server where they uploaded their

results

Page 17: Teaching Open Source In The University

2SY2008 Unexpected output

● Ruby on Rails

● CodeIgniter

● CakePHP

● Facebook application development

● Gambas

● Wine

● DOSBOX

● OpenBravo

● GIMP effects and plugins

Page 18: Teaching Open Source In The University

Summer 2009 Structure

● 3 hours per day x 5 days per week x 6 weeks

● Pure laboratory, with short lectures + report time

● Structured: Week 1 to Week 4● Ubuntu, LAMP applications, MySQL, Perl/Python/Ruby

● Freestyle: Week 4 to Week 6

● End-of-course presentation

Page 19: Teaching Open Source In The University

Summer 2009 Unexpected Output

● Synfig

● Blender

● KdenLive

● Open Movie Editor

● osCommerce

● PostgreSQL vs MySQL

Page 20: Teaching Open Source In The University

2SY2008 Survey

● 18 -- half the class -- had used Linux to some degree in the past

● 17 have installed Linux since the class started● 7 students who had never before used Linux

installed it on some system outside of class● the most common Linux distribution was

Ubuntu (9), followed by Red Hat (6)● other distributions mentioned: Sabayon,

Debian, CentOS, Kubuntu, and OpenSUSE

Page 21: Teaching Open Source In The University

2SY2008 Survey

● security from viruses (16)

● free (cost) (13)

● easy to install and manage the OS (10)

● easy to install software (7)

● minimal hardware requirements (5)

● complete software on installation: (3)

● other mentioned factors: speed (2), flexibility (2), good interface (2), fun to use (1), community (1), stability (1)

Page 22: Teaching Open Source In The University

2SY2008 Survey

● not used to it (13)

● limited applications or difficult to install software (12)

● no popular native games (5)

● incompatible drivers (3)

● command line difficulties (3)

Page 23: Teaching Open Source In The University

IT288 Information Security

● Nmap / Zenmap

● Nessus

● Wireshark

● Snort

● Firestarter

● ufw

● ClamAV

● Apache + SSL

● GNU Privacy Guard

● OpenSSH

● SpamAssassin

● Rootkit Hunter

Page 24: Teaching Open Source In The University

CS251 Operating Systems

● VirtualBox guests

● More intensive command-line exercises

● XDMCP and VNC

● Wine and DOSBOX

● DHCP

● DNS

● Firewall

● LTSP

● Remote automated install

● Creating a .deb package

● Kernel compilation

● Writing a system call

● Damn Small Linux

● Fedora Core

● CentOS

● OpenSolaris

● FreeBSD

● Minix

Page 25: Teaching Open Source In The University

2SY2008 Random Thoughts

● Initial resistance, but plenty of interest in later stages of the class (esp. MVC frameworks and ERP apps)

● Benefits of introducing open source early

● More options for development tools

● Awareness of licensing and business models

● Collaborative work for thesis projects

● Things I would have wanted to introduce● Eclipse collaborative environment

● MVC and test-oriented development

● Version control systems

Page 26: Teaching Open Source In The University

2SY2008 Random Thoughts

● Things I could have handled better● More structured exercises, esp. command line

● Introduced ERP and business applications earlier

● More leeway for those interested in graphics/multimedia

● Segmented the students by aptitude earlier

● The case for smaller lab class sizes

● IT288 (13 students) achieves better depth in the topics than IT312 (36 students)

● Difficult to balance differing aptitudes and skill levels

● Perhaps I should have split the class in two?

Page 27: Teaching Open Source In The University

Summer 2009 Random Thoughts

● Summer classes were more conducive● Challenge in preparing enough laboratory material● Less distractions and more continuity in lab work

● Allocate time for thesis projects, see where open source can be used

● Google and Youtube are great learning resources, but...

Page 28: Teaching Open Source In The University

Questions?

Page 29: Teaching Open Source In The University

Free Software Definition

● The freedom to run the program, for any purpose.

● The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.

● The freedom to redistribute copies so you can help your neighbor.

● The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this.

http://www.gnu.org/philosophy/free-sw.html

Page 30: Teaching Open Source In The University

Open Source Definition

● Free redistribution

● Source code

● Derived works

● Integrity of the author's source code

● No discrimination against persons or groups

● No discrimination against fields of endeavor

● Distribution of license

● License must not be specific to a product

● License must not restrict other software

● License must be technology-neutral

http://www.opensource.org