Upgrade to Pro — share decks privately, control downloads, hide ads and more …

So You Want To Get Started in Open Source: Advice for the Non-Normative

So You Want To Get Started in Open Source: Advice for the Non-Normative

alterconf seattle 2015
additional references: http://yzl.github.io/2015/06/07/alterconf_talk_references/

Yvonne Lam

May 30, 2015
Tweet

More Decks by Yvonne Lam

Other Decks in Technology

Transcript

  1. Me • @yvonnezlam / github.com/yzl / [email protected] • release engineer

    at @chef • currently contributor/maintainer for ◦ @chef ecosystem: omnibus, bento, artifactory-client ◦ @chef cookbooks: omnibus, artifactory-pro, jenkins ◦ other: gitforknitters
  2. Why this talk? • People see value in contributing to

    open source. • Difficult to start, esp. for people who feel outside the (perceived) norms of open source culture. • Open source not organized, hence not transparent. (h/t K. Dreyling)
  3. Before you get started in OSS... • Think about identity/channels.

    • Consider a personal project instead or in addition. • The “myth” of OSS community
  4. Online identity/channels Manage your attention around your OSS work: •

    worth reading: The Smart Girl’s Guide to Privacy by Violet Blue (h/t @ubergeekgirl) • How do you want to manage input from open source projects, e.g. issues, PRs, Qs, etc.?
  5. Why do a personal project? • Showcase your own work!

    • Talking points in tech interviews. • Even small projects will work for this, e.g. dot files.
  6. The “myth” of OSS community • geek social fallacies: http://geekfeminism.

    wikia.com/wiki/Five_Geek_Social_Fallacies • collaboration != community
  7. What makes for community? (h/t Brian Reed) • reciprocal care

    • shared memory • “lasting social organization that isn’t 100% dependent on the actions of a handful of unique individuals for its genesis & continuance”
  8. It’s like choosing volunteer work... • Is work available you

    want to do? • Schedule and time commitments? • Can you be (and feel) productive? • What are the people like?
  9. “interesting topic” != “fun to work on” • Being interested

    in a thing does not mean being interested in its internals. e.g. databases • “Interesting topics” often require specialized skills/knowledge. • Look for projects/work where you can make progress.
  10. Seeking interesting OSS work... • Check out a project’s issues/bug

    track for work you’d like to do. (“jump in” tags) • Projects that can use your skills/knowledge. (weird OSes a plus) • Look for work that isn’t being done that you don’t mind trying. • Do not do work you don’t want to do.
  11. Non-code contributions • Fixing documentation or typos is not always

    easy. • Some non-code changes are hard to get through as a new contributor. • Be very careful about taking on emotional work.
  12. The open secret of open source The things that get

    done well in open source are the things that people who write code like to do and want to do. Other stuff...not so much. #notallopensourceprojects
  13. Schedule and time commitments • Avoid overcommitting! • Follow project

    conventions for claiming work. • Synchronous events (time zones are a thing) ◦ Can you make team events, if any? office hours, meetups, bug bashes, video chats, etc.
  14. “How does anyone find the time?” For a lot of

    us, it’s our day job: • open source companies (e.g. Chef, Basho) • companies friendly to open source (Nordstrom) • OSS non-profits, e.g. Linux Foundation Be wary when comparing your output to that of other people!
  15. “Will this project make me feel productive?” • How organized/predictable

    are they? ◦ How often do they triage issues? ◦ How long does it take someone to respond to code submission? ◦ How long do code submissions sit open? • Can you work with how they work? ◦ Avoid bikesheds: squashing commits, coding style, etc.
  16. “What are the people like?” • Do you like how

    people treat each other? • Are there people “like you”? • Codes of conduct, community guidelines.
  17. “That sounds like a lot of work…” Benefits of working

    on OSS • Give back and help others • Professional development/networking • Diversify conversations with people around technology