google summer of code oss keynote
DESCRIPTION
Keynote for Open Source Systems conference in TunisiaTRANSCRIPT
Google Summer of Code, Open Source, and EducationCarol Smith, Open Source Programs Manager
● Me● Why do people participate in open
source software development?● University Education Now● Google Summer of Code● What you can do to help
Agenda
● Who Am I?●
Who am I?
● Undergraduate university degree in journalism
●
Who am I?
● Program Manager with Google●
Who am I?
● Open Source Programs Office●
Who am I?
● Outreach and Student Programs●
● I'm also really interested in open source software and why people do it.
●
Open Source Software Development
Open Source Software Development
Journalist Daniel Pink,"Drive: The Surprising Truth About What Motivates Us" discusses the science behind this. [1]
Open Source Software Development
Pink has analyzed research on different regions of the world and on different
kinds of work people can do.
Open Source Software Development
What motivations will produce the best results for different types of work?
Open Source Software Development
Offer a tiered payment structure for different kinds of work to MIT students
and examine the results.
Open Source Software Development
Spatial puzzles, throwing a ball through a hoop, memorizing strings of digits,
solving word puzzles, etc.
Open Source Software Development
Those who do the best at the task get a large cash prize, those who do ok get a
medium reward, and those who do poorly only get a small monetary
reward.
Open Source Software Development
For tasks that are manual or algorithmic, this incentive structure
works fine.
Open Source Software Development
BUT
Open Source Software Development
For tasks that are complicated (when it requires conceptual thinking) the
motivator of "do better at something to get more money" doesn't work.
Open Source Software Development
Conceptual thinking...doesn't that sound a lot like coding?
Open Source Software Development
So what is it that motivates people to produce better results for conceptual,
complicated work?
Open Source Software Development
AutonomyMasteryPurpose
Open Source Software Development
Autonomy is our desire to work independently on a task and to feel
ownership of it.
Open Source Software Development
Mastery is our urge to get better at things.
Open Source Software Development
Purpose is a sense of making a contribution to a cause.
Open Source Software Development
If you pay people enough that they're not worried about paying their bills and
feeding themselves, they work to do the things that enrich them and they
enjoy.
Open Source Software Development
Open source software development lines up really well with these
motivations.
Open Source Software Development
Open source software lets people work independently.
Open Source Software Development
Open source software gives people the ability to get better at coding.
Open Source Software Development
Open source software gives people a sense of place and purpose.
Open Source Software Development
And so...
Open Source Software Development
People are even willing to work for free on open source software because it
enriches their lives!
I'm also really interested in university education.
Universities Now
I believe a universities are where students get lessons in finding things that enrich them for the rest of their
lives.
Universities Now
Universities are where we give students the ability to work independently and
feel ownership of their work.
Universities Now
Universities are where we give students a sense of accomplishment and mastery
of their work.
Universities Now
Universities are where we give students lessons about how to be contributing
members of society.
Universities Now
Doesn't that sound a lot like what motivates people to participate in open
source software?
Universities Now
Doesn't that sound a lot like what motivates people to produce better
results for the work they do?
Universities Now
Doesn't that sound a lot like what makes people more enriched human
beings?
Universities Now
Don't you think we should be exposing computer science students to open
source software in their universities?
Universities Now
Open Source Software Development
Indeed, shouldn't all university students be participating in open source
software?
...But by and large we aren't teaching them about using or developing open
source software in their university education.
Universities Now
Universities Now
A quick poll
Only two universities in Tunisia are exposing their students to open source software as part of their education. [2]
Universities Now
Only 15 universities listed on teachingopensource.org as having
educational programs in open source. [3]
Universities Now
My point is...
Universities Now
Some students are getting introduced to open source software in their
university.
Universities Now
BUT
Universities Now
We could be doing a lot better.
Universities Now
Enter Google Summer of Code...
Google Summer of Code is an online, international program designed to
encourage university student participation in open source software
development.
Enter Google Summer of Code...
Open Source Software Development
Roughly half of the students who participated in Google Summer of Code this year (2012) listed something other than "computer science" as their major.
Open Source Software Development
Roughly a third of the students who participated in Google Summer of Code this year (2012) were pursuing either a
masters or PhD degree.
What are the goals of the program?
What are the goals of the program?
Inspire students to begin participating in open source development.
What are the goals of the program?
Provide students the opportunity to do work related to their academic pursuits
during the summer.
What are the goals of the program?
Give students more exposure to real-world software development scenarios
(e.g. distributed development, software licensing questions, revision control, mailing list etiquette, etc.)
What are the goals of the program?
Get more open source code created and released for the benefit of all.
What are the goals of the program?
Help open source projects identify and bring in new developers and
committers.
How is the program structured?
How is the program structured?
Free and open source software projects apply to participate as mentoring
organizations.
How is the program structured?
Accepted mentoring organizations publish an "ideas page" of projects
they'd like to have student developers work on.
How is the program structured?
Students submit proposals to the mentoring organizations for those projects they'd like to work on.
How is the program structured?
Mentoring organizations choose which students they'd like to accept.
How is the program structured?
Accepted students spend the program term being mentored by their
organizations, working with the community, and coding on their
project.
How is the program structured?
The students are given two evaluations during the term and paid a stipend for
passing each evaluation.
How is the program structured?
Students submit their completed code publicly at the end of the program for
the use and benefit of all.
A proposal
A proposal
Start a Summer of Code-like of your own in your university or organization!
A proposal
Encourage your university to teach open source as part of the computer science curriculum if it's not already.
A proposal
Encourage your university to get all of its students involved in open source
software development even if they are not in the computer science
department.
A proposal
Talk to other universities or organizations about doing the same.
A proposal
teachingopensource.org
A call to action
Help us get more students involved in open source software.
A call to action
It will improve the quality of computer science education.
A call to action
It will improve the quality of university education overall.
A call to action
It will improve the quality of software in the world.
A call to action
It will make our students better job candidates for the workforce.
A call to action
It will make our students happier people.
References
[1] "Drive: The Surprising Truth About What Motivates Us", 2009, Daniel Pink
References
[2] Imed Hammouda, Tampere University of Technology, Finland
References
[3] http://teachingopensource.org/index.php/Educational_programs_that_teach_Ope
n_Source
References
[4]Using Open Source Software in Computer Science Courses", 2006, Rajendra K. Raj and Fereydoun Kazemian, Frontiers in Education
Conference, 36th Annual
Thank you.
Questions?