1. Teaching Open Source in the University
Experiences, strategies, and response
by Dominique Gerald M. Cimafranca
dominique.cimafranca@gmail.com
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.
4. 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
5. My story so far...
● IT288 Information Security
● IT312 Business Applications
● CS251 Operating Systems
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. Open source business models
● Externally funded ● Revenue-Based
ventures ● “Best Knowledge Here”
● Public funding without constraints
● “Needed Improvement” ● “Best Knowledge Here”
Funding with Constraints
● Indirect Funding ● “Special” Licenses
● Internal Use ● Unfunded developments
From “Free/Libre Open Source Software: A Guide for SMEs” (IOSN)
http://smeguide.conecta.it/smeguide-eu.pdf
16. 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
17. 2SY2008 Unexpected output
● Ruby on Rails ● Wine
● CodeIgniter ● DOSBOX
● CakePHP ● OpenBravo
● Facebook application ● GIMP effects and plugins
development
● Gambas
18. 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
19. Summer 2009 Unexpected Output
● Synfig
● Blender
● KdenLive
● Open Movie Editor
● osCommerce
● PostgreSQL vs MySQL
20. 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
21. 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)
22. 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)
24. CS251 Operating Systems
● VirtualBox guests ● Creating a .deb package
● More intensive command-line ● Kernel compilation
exercises ● Writing a system call
● XDMCP and VNC ● Damn Small Linux
● Wine and DOSBOX ● Fedora Core
● DHCP ● CentOS
● DNS ● OpenSolaris
● Firewall ● FreeBSD
● LTSP ● Minix
● Remote automated install
25. 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
26. 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?
27. 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...
29. 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
30. Open Source Definition
● Free redistribution ● Distribution of license
● Source code ● License must not be specific
to a product
● Derived works
● License must not restrict
● Integrity of the author's
other software
source code
● License must be technology-
● No discrimination against
neutral
persons or groups
● No discrimination against
fields of endeavor
http://www.opensource.org