Pro Yearly is on sale from $80 to $50! »

Open Source and Education

Edcdfd5affb524e0f88ec1a00ed3fe5d?s=47 Alex Gaynor
August 15, 2010

Open Source and Education

Edcdfd5affb524e0f88ec1a00ed3fe5d?s=128

Alex Gaynor

August 15, 2010
Tweet

Transcript

  1. Open Source and Education A l e x G a

    y n o r Friday, April 12, 13
  2. Me Junior computer science student. Contributor to 3 large open

    source projects. Django Unladen Swallow PyPy Friday, April 12, 13
  3. 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
  4. What is Learning Community? 1. Membership 2. Influence 3. Fulfillment

    of individual needs 4. Shared events and emotional connections Friday, April 12, 13
  5. 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
  6. Some Technical Things Version Control How software is stored, and

    its history recorded. Committership The authority within a project. Friday, April 12, 13
  7. Membership Users Contributors Committers Benevolent dictators for life Friday, April

    12, 13
  8. 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
  9. 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
  10. Shared Events and Emotional Connections Release cycles Conferences Sprints Friday,

    April 12, 13
  11. Educational Practices Friday, April 12, 13

  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. Motivations Contribution is voluntary. Positive contributions are rewarded with the

    ability to contribute more. Friday, April 12, 13
  19. Questions? Slides at http://alexgaynor.net Friday, April 12, 13