Upload
craig-gardner
View
176
Download
0
Embed Size (px)
Citation preview
Teaching open sourceInspiring Minds while The World Evolves
Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
Craig Gardner
● Senior Software Engineer, and● Software Engineering Manager, SUSE
○ [email protected]● Adjunct Instructor, Utah Valley University
○ CS2450 Software Engineering I○ CS305G Global Ethics and Technology○ [email protected]
The Challenge
Slow growth in open source contributorsversus rapid growth in demand
“It’s hard to find people to hire. Because everybody’s [already] been hired.”
-- Greg Kroah-Hartman, CoreOS Fest 2016
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
Why open source?
open source versus programming
Teaching programming is commonand worthwhile
Teaching open source is not so commonIt’s also programming… but is more valuable… accomplishes more with less
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
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
Standard Approach in Schools
… Hence, teaching is typically patterned according to a Proprietary Modelx`
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?”
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
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
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 Reporthttp://www.linuxfoundation.org/publications/linux-foundation/linux-jobs-report-2015
Future of open source
https://blogs.technet.microsoft.com/windowsserver/2015/05/06/microsoft-loves-linux/
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/
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
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
open source is the New CV
● Actual display of programming skills● Typical display of collaboration skills● Insight into evolution / improvement● Harder to misunderstand
Turning Students into Contributors
This is the hard partExposing students to open source is easy
Getting students contributing is the hurdleGetting students interested in a project Getting students inserted into the project
Hurdle
Hurdles
A Hurdle Metaphor:● running is normal
○ Basically just a controlled fall forward● hurdling is not at all natural● it hurts when you fail
Hurdle Fails
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
Where Can We Make The Biggest Impact?
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
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 ...
How to use open source
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
Preparing Students to Contribute
Preparing Students to Contribute
● Start with programming● Solve real problems● Encourage team programming● Demonstrate that Failure is part of Success
Preparing for Success
Nietzsche
Hurdles may hurt (a little), but
“That which does not kill me makes me stronger.” -- Friedrich Nietzsche
Great Success
Sometimes with our hurdle skills, we do this:
Like a Boss
Keys to Success
1) Teach applicable skills2) Give students opportunity to validate skills3) Teach students to collaborate4) Get students exposed to communities that
interest them5) English
Your ChallengeInspire a young person;
get involved in educationFind 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
Success to Us All!Thank You
Craig GardnerUniversity InstructorSoftware Engineering [email protected]
Photo and Graphic Credits10. 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
License Governing this PresentationThis is the creative work of Craig Gardner, who retains copyright for this workThis is Open Source Licensed under Creative CommonsAttribution-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 authorIf you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original