Presentation delivered at openSUSE Conference 2015 in The Hague, Netherlands, on Sunday, 3 May 2015. This presentation discusses how opensource techniques and values are not taught sufficiently or effectively in primary, secondary, or university schools.
2. Craig Gardner
● Senior Software Engineer, and
● Software Engineering Manager, SUSE
○ Craig.Gardner@suse.com
● Adjunct Instructor, Utah Valley University
○ CS2450 Software Engineering I
○ CS305G Global Ethics and Technology
○ Craig.Gardner@uvu.edu
3. Presentation Endurance
● Why opensource
● Where can we make the biggest impact
● What students are ready to learn
○ Preparing students to contribute
5. opensource != programming
Teaching programming is common
and worthwhile
Teaching opensource is not so common
and is valuable
needs our attention
6. Free Software (as in “Freedom”)
Richard Stallman (FSF):
1) Freedom to run the program any place, any purpose and forever.
2) Freedom to study how it works and to adapt it to our needs. This
requires access to the source code. (i.e. opensource)
3) Freedom to redistribute copies [of the sources and binaries], so that
we can help our friends and neighbours.
4) Freedom to improve the program and to release improvements to
the public. This also requires the source code.
http://www.gnu.org/philosophy/free-sw.html
7. Teaching in Schools?
“Free” software seems counterintuitive
● Schools promise students jobs
● … paying jobs
● Schools are funded by taxes
● … and corporations
● Most schools simply don’t understand
● Most schools have limited scope and time
8. Teaching in Schools
… Hence, teaching is typically patterned
according to a Proprietary Model
9. Broken Teaching Models
● Individual work versus collaboration
○ “Collaboration can’t assert the individual has learned
anything!”
● Writing code from scratch versus reuse
○ “How do I know the student is learning how to
program if he’s just borrowing someone else’s
code?”
10. Turning Students into Contributors
This is the hard part
Exposing students to opensource is easy
Getting students contributing is the hurdle
Getting students interested in a project
Getting students inserted into the project
12. Hurdles
A Hurdle Metaphor:
● running is normal
○ Basically just a controlled fall forward
● hurdling is not at all natural
● it hurts when you fail
14. Opensource Projects
The rest of the Metaphor:
● Programming is normal
○ It’s just programming
● contributing does not come naturally
○ At least compared to what the students have
experienced so far
● it hurts when you fail
16. Start Young
Start young with Programming
● students in China and Thailand start in Grade 3
● 88% of global businesses can’t fill positions
● Fairly well defined pipeline
○ Future needs depend on early start
○ Harder to train later than to start early
○ early education drives later education
http://www.linuxfoundation.org/news-media/announcements/2015/03/2015-linux-jobs-report-linux-professionals-high-demand
17. Industry Involvement
● Schools follow the money
● What schools can’t get from Government,
they get from Industry
○ or go without
18. Grass Roots
● Visit your University
● Talk with the teachers at Primary Schools
● Donate Time
20. Preparing Students to Contribute
● Start with Programming
● Solve real problems
● Encourage Team Programming
● Demonstrate that Failure is part of Success
● opensource projects as school assignments
25. Keys to Success
1) Teach applicable skills
2) Give students opportunity to validate skills
3) Teach students to collaborate
4) Get students exposed to communities that
interest them
5) English