Teaching open source 2016

39
Teaching open source Inspiring Minds while The World Evolves Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

Transcript of Teaching open source 2016

Page 1: Teaching open source 2016

Teaching open sourceInspiring Minds while The World Evolves

Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

Page 2: Teaching open source 2016

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]

Page 3: Teaching open source 2016

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

Page 4: Teaching open source 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

Page 5: Teaching open source 2016

Why open source?

Page 6: Teaching open source 2016

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

Page 7: Teaching open source 2016

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

Page 8: Teaching open source 2016

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

Page 9: Teaching open source 2016

Standard Approach in Schools

… Hence, teaching is typically patterned according to a Proprietary Modelx`

Page 10: Teaching open source 2016

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?”

Page 11: Teaching open source 2016

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

Page 12: Teaching open source 2016

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

Page 13: Teaching open source 2016

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

Page 14: Teaching open source 2016

Future of open source

https://blogs.technet.microsoft.com/windowsserver/2015/05/06/microsoft-loves-linux/

Page 15: Teaching open source 2016

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/

Page 16: Teaching open source 2016

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

Page 17: Teaching open source 2016

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

Page 18: Teaching open source 2016

open source is the New CV

● Actual display of programming skills● Typical display of collaboration skills● Insight into evolution / improvement● Harder to misunderstand

Page 19: Teaching open source 2016

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

Page 20: Teaching open source 2016

Hurdle

Page 21: Teaching open source 2016

Hurdles

A Hurdle Metaphor:● running is normal

○ Basically just a controlled fall forward● hurdling is not at all natural● it hurts when you fail

Page 22: Teaching open source 2016

Hurdle Fails

Page 23: Teaching open source 2016

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

Page 24: Teaching open source 2016

Where Can We Make The Biggest Impact?

Page 25: Teaching open source 2016

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

Page 26: Teaching open source 2016

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 ...

Page 27: Teaching open source 2016

How to use open source

Page 28: Teaching open source 2016

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

Page 29: Teaching open source 2016

Preparing Students to Contribute

Page 30: Teaching open source 2016

Preparing Students to Contribute

● Start with programming● Solve real problems● Encourage team programming● Demonstrate that Failure is part of Success

Page 31: Teaching open source 2016

Preparing for Success

Page 32: Teaching open source 2016

Nietzsche

Hurdles may hurt (a little), but

“That which does not kill me makes me stronger.” -- Friedrich Nietzsche

Page 33: Teaching open source 2016

Great Success

Sometimes with our hurdle skills, we do this:

Page 34: Teaching open source 2016

Like a Boss

Page 35: Teaching open source 2016

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

Page 36: Teaching open source 2016

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

Page 37: Teaching open source 2016

Success to Us All!Thank You

Craig GardnerUniversity InstructorSoftware Engineering [email protected]

Page 38: Teaching open source 2016

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

Page 39: Teaching open source 2016

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