Share
Embed
Transcript
27 slides
-
Having Your Pony And Committing It Too. Jacob Burch @jacobburch
jacobb Wednesday, May 15, 13 -
Me. • Engineer at Revolution Systems • Minor contributor to
django.core.cache • Not in AUTHORS File • Yet! Wednesday, May 15, 13 -
Not Covered • Prerequisite skills (virtualenv/git) • Large overview of
core code • Advice in what to get involved in (The sprint introduction is great for this!) Wednesday, May 15, 13 -
It's like your first day at a new school. You
don't know who's popular, why they're popular, where the other kids hang out after school, what teachers they're mocking, what couples they're gossiping about. I remember feeling totally overwhelmed at my first Django sprint...I didn't know anyone, I didn't know Django internals very well, and I had no idea where to start. My initial suggestions were pretty severely rebuffed. In retrospect, I see exactly why, but at the time it would have been easy to declare that "these core devs are dumb and don't understand my pain", or ask "why won't they just commit my patch?" Wednesday, May 15, 13 -
It's like your first day at a new school. You
don't know who's popular, why they're popular, where the other kids hang out after school, what teachers they're mocking, what couples they're gossiping about. I remember feeling totally overwhelmed at my first Django sprint...I didn't know anyone, I didn't know Django internals very well, and I had no idea where to start. My initial suggestions were pretty severely rebuffed. In retrospect, I see exactly why, but at the time it would have been easy to declare that "these core devs are dumb and don't understand my pain", or ask "why won't they just commit my patch?" Marty Alchin Author, Pro Django Carl Meyer Django Core Russell Keith-Magee President of the DSF Wednesday, May 15, 13 -
Max Weber describes politics as "the slow boring of hard
boards". Open source is much the same. -Russell Keith-Magee Wednesday, May 15, 13 -
Pro-active vs Patient [I]f I wanted something committed it would
take real work and persistence Talk to the people, they actually know it better, they've been where you are right now. Don't be afraid. -Jannis Leidel -Carl Meyer Wednesday, May 15, 13 -
Confident vs Humble You are not your code. -Marty Alchin
Be bold and don't let the old man's club destroy your ideas. -Jannis Leidel Follow the Wikipedia motto, "Be bold". -Alex Gaynor Realise that you're not going to get instant gratification. -Russell Keith-Magee Wednesday, May 15, 13 -
Before you even think of anything • Fork https://github.com/django/django/ •
git clone your repo. • ./runtests.py --settings=test_sqlite • Do not pass GO until tests run* Wednesday, May 15, 13 -
• Bug Fixes • Minor Additions • Major Contributions Forms
of Contribute Wednesday, May 15, 13 -
Bug Fixes • Start with a test condition • “A
test case that demonstrates the way things are failing for you is worth 20 issues that try to describe the problem perfectly.” - Daniel Lindsley • Test against regressions. • Not necessarily free from discussion Wednesday, May 15, 13 -
Major Contributions • Do your homework • Search trac •
Search django-developers • Become familiar with the code you’re proposing to heavily change/modify/ add to. Wednesday, May 15, 13 -
Minor Additions • Go-ahead not necessary but nice • Treat
it as seriously as a major addition Wednesday, May 15, 13 -
In which I run a 90% risk of embarrassing myself
• Goal: Get an accepted merge into django Full Disclosure • Have “dry” written code • Consulted other core devs offline before attempting such insanity Wednesday, May 15, 13 -
Proposal • Don’t communicate entitlement. • Don’t focus only on
your own needs. • Patience: Accept this is the start of a conversation. Wednesday, May 15, 13 -
Proposal • State the problem clearly • Confidence: Propose a
clear solution • Show your homework • Previous tickets/attempts • Potential downsides/drawbacks • Humility: Unsure of an aspect? Ask! Wednesday, May 15, 13 -
Code • pep8, mostly • respect existing style • Linters
are your friend • Comments are your friend • Get a peer code review before submitting. https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/ “...don't be afraid to source-dive, it's just Python.” -Daniel Lindsley Wednesday, May 15, 13 -
Code, etc • Follow rules of proposal • Document and
boldly defend design decisions (wiki) Wednesday, May 15, 13 -
Review •Your ego is not on the line. • Humility:
No, really. Wednesday, May 15, 13 -
(Lack of) Review • Patience: Core Members are people. •
Pro-active: Send polite, friendly follow up messages often Wednesday, May 15, 13 -
Review: Pt. 1 of n • Confidence: Do not give
up or get angry if changes must be made. • Follow up quickly • Email Tag can be frustrating • #django-dev can help Wednesday, May 15, 13 -
Questions? @jacobburch jacobb Thanks to: Marty Alchin, Jacob Kaplan-Moss, Alex
Gaynor, Russell Keith-Magee, Jannis Leidel, Daniel Lindsley, Carl Meyer, Jeff Triplett Wednesday, May 15, 13