The need to teach open source techniques, methodologies, and values, in order to inspire a new generation of software engineers and problem solvers. A presentation delivered at openSUSE Conference 2016.
1. Teaching open source
Inspiring Minds while The World Evolves
Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
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. The Challenge
Slow growth in open source contributors
versus rapid growth in demand
“It’s hard to find people to hire. Because
everybody’s [already] been hired.”
-- Greg Kroah-Hartman, CoreOS Fest 2016
4. Presentation Endurance
● Why open source
● Where we can make the biggest impact
● How to use open source
● What students are ready to do today
○ Preparing students to contribute
6. open source versus programming
Teaching programming is common
and worthwhile
Teaching open source is not so common
It’s also programming
… but is more valuable
… accomplishes more with less
7. 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. open source)
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
8. Open Source 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
9. Standard Approach in Schools
… Hence, teaching is typically patterned
according to a Proprietary Modelx`
10. Broken Approach
● 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?”
11. Benefits to Schools
School Administrations that use open source:
● Low cost
● Increased reliability of software
● Better stability of operating environment
● Easier to audit
● Freedom, with no vendor lock in
12. Where is open source?
● 64 percent of companies currently
participate in open source projects
○ Up from 50 percent in 2014
○ Next 2-3 years: 88 percent expected
● More than 78 percent of companies cite a
reliance on open source software
https://www.blackducksoftware.com/future-of-open-source
13. Status of open source
“Recruiters are in hot pursuit of [open source] talent. As
business continues its tectonic shift to an open source
model, employers are hungrier than ever for skilled Linux
professionals who can demonstrate their competencies.”
Linux Foundation 2015 Linux Jobs Report
http://www.linuxfoundation.org/publications/linux-foundation/linux-jobs-report-2015
14. Future of open source
https://blogs.technet.microsoft.com/windowsserver/2015/05/06/microsoft-loves-linux/
15. Future of open source
“Open Source software is at the heart of Apple
platforms and developer tools, and Apple
continues to both lead and make significant
contributions to many Open Source projects.”
http://www.apple.com/opensource/
16. Future needs
● 71% of new STEM jobs are in computing
● Only 8% of STEM graduates are computing
● 1 in 4 schools teach programming
Easy to see the connection
www.code.org ; data collected from www.bls.gov
17. Preparing for College
Champions of open source
● Harvard
● Rochester Institute of Technology
● Oregon State University
● Experiments at high schools
○ Wasatch Institute, Utah
○ Penn Manor, Pennsylvania
18. open source is the New CV
● Actual display of programming skills
● Typical display of collaboration skills
● Insight into evolution / improvement
● Harder to misunderstand
19. Turning Students into Contributors
This is the hard part
Exposing students to open source is easy
Getting students contributing is the hurdle
Getting students interested in a project
Getting students inserted into the project
21. Hurdles
A Hurdle Metaphor:
● running is normal
○ Basically just a controlled fall forward
● hurdling is not at all natural
● it hurts when you fail
23. open source 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
25. 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
26. Industry Involvement
● Schools follow the money
● What schools can’t get from Government,
they get from Industry
○ or go without
But if schools could do more with less ...
28. open source in the Classroom
● Pick specific projects of interest
● Plenty of variety; easy to hard
● Start with examples
● Move gradually to contributing
● Class assignments model open source
project
● Recognize and reward collaboration
30. Preparing Students to Contribute
● Start with programming
● Solve real problems
● Encourage team programming
● Demonstrate that Failure is part of Success
35. 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
36. Your Challenge
Inspire a young person;
get involved in education
Find a young person, and become a mentor
● code.org an excellent resource, and plenty of free resources
● Guide the student to solve real problems
Find a local school, and offer to help in the classroom
● You’re already volunteer in software communities...
● Donate a little time to your local classroom
● Don’t look to “fix” their problems, but offer to be a resource
● Hook them up with solving real problems with open source
37. Success to Us All!
Thank You
Craig Gardner
University Instructor
Software Engineering Manager
craig.gardner@opensuse.org
38. Photo and Graphic Credits
10. Apple Inc. logo: https://en.wikipedia.org/wiki/Apple_Inc.#/media/File:Apple_logo.svg
19. Hurdle: http://www.sportswarehouse.co.uk/product_images/o/765/harrod_schools_hurdle_junior__86266_zoom.jpg
21. Hurdle fails:
http://www.projectaccelerator.co.uk/wp-content/uploads/2013/11/project-hurdles.jpg
http://www.hahastop.com/pictures/Hurdles_Fail.jpg
http://funnyasduck.net/post/10566
34. Hurdle wins:
http://media.mensxp.com/media/guylife/content/2012/Feb/hurdlesinline.jpg
http://cdn.bleacherreport.net/images_root/slides/photos/000/147/900/knowshon-moreno-jumps-hurdles-defender_display_image.jpg?
1264994305
http://news.bbcimg.co.uk/media/images/75521000/jpg/_75521047_rvpheader.jpg
39. License Governing this Presentation
This is the creative work of Craig Gardner, who retains copyright for this work
This is Open Source
Licensed under Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
https://creativecommons.org/licenses/by-nc-sa/4.0/
For non-commercial use, sharing/copying allowed as long as you give appropriate credit to the author
If you remix, transform, or build upon the material, you must distribute your contributions under the
same license as the original