Slide 1

Slide 1 text

Open Source and Education A l e x G a y n o r Friday, April 12, 13

Slide 2

Slide 2 text

Me Junior computer science student. Contributor to 3 large open source projects. Django Unladen Swallow PyPy Friday, April 12, 13

Slide 3

Slide 3 text

What is Open Source? Software whose code is available. Software that is developed in the public. Software that is developed by a community. Friday, April 12, 13

Slide 4

Slide 4 text

What is Learning Community? 1. Membership 2. Influence 3. Fulfillment of individual needs 4. Shared events and emotional connections Friday, April 12, 13

Slide 5

Slide 5 text

How Does One Apply to the Other? Do open source software communities exhibit the characteristics of a learning community? What educational practices do open source software communities engage in? Are they applicable to other fields? Friday, April 12, 13

Slide 6

Slide 6 text

Some Technical Things Version Control How software is stored, and its history recorded. Committership The authority within a project. Friday, April 12, 13

Slide 7

Slide 7 text

Membership Users Contributors Committers Benevolent dictators for life Friday, April 12, 13

Slide 8

Slide 8 text

Influence Software users. No influence. Contributors Guide what software does by helping develop new features. Committers Control what code is ultimately distributed. Friday, April 12, 13

Slide 9

Slide 9 text

Fulfillment of Individual Needs The software itself. The ability to improve it. The ability to develop software with the community, and learn from them. Friday, April 12, 13

Slide 10

Slide 10 text

Shared Events and Emotional Connections Release cycles Conferences Sprints Friday, April 12, 13

Slide 11

Slide 11 text

Educational Practices Friday, April 12, 13

Slide 12

Slide 12 text

Why Educate Anyone Open source software is largely written by volunteers Which means very limited time. Recruiting and training new contributors is vital for the ongoing success of a project. Friday, April 12, 13

Slide 13

Slide 13 text

Code Review A user suggests some code change. An experienced contributor provides feedback. The original user incorporates the feedback. The change is integrated into the codebase. Kind of like a rough draft. Friday, April 12, 13

Slide 14

Slide 14 text

Why It’s Useful The experienced contributor could just make the changes themselves and move on. Providing feedback and letting the original contributor make the changes forces them to think about the problems themselves. This self-review results in better contributions going forward. Friday, April 12, 13

Slide 15

Slide 15 text

Mentorship Just like it sounds. Long term reviews of someone else’s code. The goal being to transition them from a contributor to a committer. Friday, April 12, 13

Slide 16

Slide 16 text

Interest People can contribute however they like. Any given piece of software is often large, containing different components that require different areas of expertise. Contributors can work on things that interest them. Friday, April 12, 13

Slide 17

Slide 17 text

Why It Works One exercises the same technical skills, applied to different domains. The difference between a prompt like “What did the A on Hester’s gown symbolize” and “Write a persuasive essay about something you’re interested in” Friday, April 12, 13

Slide 18

Slide 18 text

Motivations Contribution is voluntary. Positive contributions are rewarded with the ability to contribute more. Friday, April 12, 13

Slide 19

Slide 19 text

Questions? Slides at http://alexgaynor.net Friday, April 12, 13