0
Teaching Open Source in the University
Experiences, strategies, and response



                  by Dominique Gerald M. C...
“Do we need to teach
open source?”
“Is the fish aware of
the water?”
Why teach open source?
●   Expand the range of available options in IT
●   Open up avenues for collaboration and research
...
My story so far...
●   IT288 Information Security
●   IT312 Business Applications
●   CS251 Operating Systems
Coverage of IT312
●   Introduction to Linux
●   Overview of open source
●   Student presentations on various open source p...
Why Ubuntu?
●   It's an unfamiliar environment for the students
●   Easy to deploy in Windows-only labs, via WUBI
●   Repo...
Many meanings of open source
●   Open source as license
●   Open source as development methodology
●   Open source as comm...
Licensing
●   Until this class, many students are only vaguely aware
    of software licensing and its implications
●   Pr...
Software License
●   a typical software license grants an end-user permission
    to use one or more copies of software in...
Proprietary Software License
●   Software publisher grants a license to use one or more
    copies of software; however
● ...
Open source software license
●   Ownership of a particular copy of the software is
    transferred to the user
    ●   End...
Open source business models
●   Externally funded                   ●   Revenue-Based
    ventures                        ...
Open source reporting topics
●   Linux / Ubuntu       ●   Wordpress
●   Gnome                ●   Drupal
●   KDE           ...
Open source reporting topics
●   TinyERP
●   Alfresco
●   KnowledgeTree
●   Asterisk
●   Ekiga
●   Wine
●   osCommerce
●  ...
2SY2008 Laboratory Structure
●   Three-hour laboratory session per week
●   Installation of Ubuntu via Wubi
●   Option 1: ...
2SY2008 Unexpected output
●   Ruby on Rails          ●   Wine
●   CodeIgniter            ●   DOSBOX
●   CakePHP           ...
Summer 2009 Structure
●   3 hours per day x 5 days per week x 6 weeks
●   Pure laboratory, with short lectures + report ti...
Summer 2009 Unexpected Output
●   Synfig
●   Blender
●   KdenLive
●   Open Movie Editor
●   osCommerce
●   PostgreSQL vs M...
2SY2008 Survey
●   18 -- half the class -- had used Linux to some
    degree in the past
●   17 have installed Linux since...
2SY2008 Survey
●   security from viruses (16)
●   free (cost) (13)
●   easy to install and manage the OS (10)
●   easy to ...
2SY2008 Survey
●   not used to it (13)
●   limited applications or difficult to install software (12)
●   no popular nativ...
IT288 Information Security
●   Nmap / Zenmap      ●   ClamAV
●   Nessus             ●   Apache + SSL
●   Wireshark        ...
CS251 Operating Systems
●   VirtualBox guests             ●   Creating a .deb package
●   More intensive command-line   ● ...
2SY2008 Random Thoughts
●   Initial resistance, but plenty of interest in later stages of the
    class (esp. MVC framewor...
2SY2008 Random Thoughts
●   Things I could have handled better
    ●   More structured exercises, esp. command line
    ● ...
Summer 2009 Random Thoughts
●   Summer classes were more conducive
    ●   Challenge in preparing enough laboratory materi...
Questions?
Free Software Definition
●   The freedom to run the program, for any purpose.
●   The freedom to study how the program wor...
Open Source Definition
●   Free redistribution         ●   Distribution of license
●   Source code                 ●   Lic...
Upcoming SlideShare
Loading in...5
×

Teaching Open Source In The University

1,269

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,269
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Teaching Open Source In The University"

  1. 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.
  2. 2. “Do we need to teach open source?”
  3. 3. “Is the fish aware of the water?”
  4. 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. 5. My story so far... ● IT288 Information Security ● IT312 Business Applications ● CS251 Operating Systems
  6. 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. 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. 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. 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. 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. 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. 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. 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
  14. 14. Open source reporting topics ● Linux / Ubuntu ● Wordpress ● Gnome ● Drupal ● KDE ● Joomla OpenOffice.org Plone ● ● ● GIMP ● Zope ● Inkscape ● Zend ● Perl ● CakePHP ● Python ● PHP ● Ruby on Rails ● Ruby ● Compiere / Adempiere ● MySQL ● OpenBravo ● PostgreSQL ● Apache OfBiz
  15. 15. Open source reporting topics ● TinyERP ● Alfresco ● KnowledgeTree ● Asterisk ● Ekiga ● Wine ● osCommerce ● Synfig ● Blender
  16. 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. 17. 2SY2008 Unexpected output ● Ruby on Rails ● Wine ● CodeIgniter ● DOSBOX ● CakePHP ● OpenBravo ● Facebook application ● GIMP effects and plugins development ● Gambas
  18. 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. 19. Summer 2009 Unexpected Output ● Synfig ● Blender ● KdenLive ● Open Movie Editor ● osCommerce ● PostgreSQL vs MySQL
  20. 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. 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. 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)
  23. 23. IT288 Information Security ● Nmap / Zenmap ● ClamAV ● Nessus ● Apache + SSL ● Wireshark ● GNU Privacy Guard ● Snort ● OpenSSH ● Firestarter ● SpamAssassin ● ufw ● Rootkit Hunter
  24. 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. 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. 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. 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...
  28. 28. Questions?
  29. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×