Andy Lester             @petdance Projects,Communityand Github
What we’ll cover• Presenting your project to the world• Managing the development process• Side trip to diversity• Your exp...
Why to stay• Perspectives on community & you!• Adorable Octocat art!• Tips for patch management!• Star Trek references!• R...
Who is Github for?
Developers,developers,developers,developers,
Github is notfor end users.
Whoo! Exposure!
Github is for those    who like tobuild from source.
Your usersprobably dont.
To the newcomer, the source tree is unimportant.
To the newcomer, the source tree is unimportant.
Just because we’vepublished code doesn’t   mean we’re done.
Whats it do?Whats it look like?Do I want to use it?
That means:Screenshots and   installation
Make a project site!
Make a project site.
Make a project site.
Make a project site.• Answer the newcomers questions.• Aimed toward the end users. • Users who are not as ninja as you.• M...
Get your own domain.• Not tied to github, in case things change.• $10/year = dirt-cheap investment• Which is easier to rem...
Visible, documented  releases matter!
Releases matter!
Release for simplicity
Release for simplicity• Releases are an affirmation: "Yes, you can  use this."
Release for simplicity• Releases are an affirmation: "Yes, you can  use this."• Single, verifiable tarball.
Release for simplicity• Releases are an affirmation: "Yes, you can  use this."• Single, verifiable tarball.• Nobody wants to...
Release for simplicity• Releases are an affirmation: "Yes, you can  use this."• Single, verifiable tarball.• Nobody wants to...
Release for history   and visibility
Release for history      and visibility• Lets others build on your work.
Release for history      and visibility• Lets others build on your work.• Maintain an accurate, human-written  changelog o...
Release for history      and visibility• Lets others build on your work.• Maintain an accurate, human-written  changelog o...
Optimize for your  users sake, not your own.
The needs of the manyoutweigh the needs of the few, or the one.
The needs of the usersoutweigh the needs of  the project team.
About me
About @petdance• Perl guy: ack, prove, WWW::Mechanize• Programming for money since the 1980s• I sling PHP for B2B web apps...
A little bit about ack
Github projects have a low barrier to entry.
The good part:Anyone can do it.
The bad part:Anyone can do it.
Newbies expect theirchanges to be accepted.
"Cant you just...?"
Be gentle in your   rejections.  Brevity may beperceived as harsh.
That box is too small.
You want to acceptchanges from newbies if    at all possible.
Dont reject patches   just because of...• No tests• No documentation• Not following code standards• Those can all be fixed!
The other day I got this     in the mail...
I am happy to suggest use cases that Ihave found useful. What is the best way -to mailing list, on a wiki somewhere,email ...
Make a project guide
Make a project guide• Small chunks of the elephant
Make a project guide• Small chunks of the elephant • "TODO: Better error handling" is not    helpful to the newbie.
Make a project guide• Small chunks of the elephant • "TODO: Better error handling" is not    helpful to the newbie.• Proje...
Make a project guide• Small chunks of the elephant • "TODO: Better error handling" is not    helpful to the newbie.• Proje...
Make a project guide• Small chunks of the elephant • "TODO: Better error handling" is not    helpful to the newbie.• Proje...
Monitor your network
Thank you• Put yourself in the newbies shoes.• Make a project home page outside Github.• Visible, documented releases matt...
Community and Github: 7/27/2011
Community and Github: 7/27/2011
Community and Github: 7/27/2011
Community and Github: 7/27/2011
Community and Github: 7/27/2011
Community and Github: 7/27/2011
Community and Github: 7/27/2011
Community and Github: 7/27/2011
Community and Github: 7/27/2011
Upcoming SlideShare
Loading in...5
×

Community and Github: 7/27/2011

1,817

Published on

Community & Github, OSCON 2011, 7/27/2011

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,817
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Nat has 171,000 readers at radar.oreilly.com\n
  • Somebody clicks the link and wants to download it, and what they're presented with is a dev-oriented home page.\n
  • The download link isn't very descriptive.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Somebody clicks the link and wants to download it, and what they're presented with is a dev-oriented home page.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • "Dad, if you don't get it, it's because I didn't do it."\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "Community and Github: 7/27/2011"

    1. 1. Andy Lester @petdance Projects,Communityand Github
    2. 2. What we’ll cover• Presenting your project to the world• Managing the development process• Side trip to diversity• Your experiences
    3. 3. Why to stay• Perspectives on community & you!• Adorable Octocat art!• Tips for patch management!• Star Trek references!• Release management!• Sweaty Steve Ballmer!
    4. 4. Who is Github for?
    5. 5. Developers,developers,developers,developers,
    6. 6. Github is notfor end users.
    7. 7. Whoo! Exposure!
    8. 8. Github is for those who like tobuild from source.
    9. 9. Your usersprobably dont.
    10. 10. To the newcomer, the source tree is unimportant.
    11. 11. To the newcomer, the source tree is unimportant.
    12. 12. Just because we’vepublished code doesn’t mean we’re done.
    13. 13. Whats it do?Whats it look like?Do I want to use it?
    14. 14. That means:Screenshots and installation
    15. 15. Make a project site!
    16. 16. Make a project site.
    17. 17. Make a project site.
    18. 18. Make a project site.• Answer the newcomers questions.• Aimed toward the end users. • Users who are not as ninja as you.• Make download + install incredibly obvious.• It can be on github, but not the default github project page.
    19. 19. Get your own domain.• Not tied to github, in case things change.• $10/year = dirt-cheap investment• Which is easier to remember? • http://github.com/petdance/ack • http://betterthangrep.com/
    20. 20. Visible, documented releases matter!
    21. 21. Releases matter!
    22. 22. Release for simplicity
    23. 23. Release for simplicity• Releases are an affirmation: "Yes, you can use this."
    24. 24. Release for simplicity• Releases are an affirmation: "Yes, you can use this."• Single, verifiable tarball.
    25. 25. Release for simplicity• Releases are an affirmation: "Yes, you can use this."• Single, verifiable tarball.• Nobody wants to run autoconf.
    26. 26. Release for simplicity• Releases are an affirmation: "Yes, you can use this."• Single, verifiable tarball.• Nobody wants to run autoconf.• Users expect them.
    27. 27. Release for history and visibility
    28. 28. Release for history and visibility• Lets others build on your work.
    29. 29. Release for history and visibility• Lets others build on your work.• Maintain an accurate, human-written changelog of all releases.
    30. 30. Release for history and visibility• Lets others build on your work.• Maintain an accurate, human-written changelog of all releases. • A dump of commit messages is not a changelog!
    31. 31. Optimize for your users sake, not your own.
    32. 32. The needs of the manyoutweigh the needs of the few, or the one.
    33. 33. The needs of the usersoutweigh the needs of the project team.
    34. 34. About me
    35. 35. About @petdance• Perl guy: ack, prove, WWW::Mechanize• Programming for money since the 1980s• I sling PHP for B2B web apps for a midsize corporation.• From the midwest, Chicago area
    36. 36. A little bit about ack
    37. 37. Github projects have a low barrier to entry.
    38. 38. The good part:Anyone can do it.
    39. 39. The bad part:Anyone can do it.
    40. 40. Newbies expect theirchanges to be accepted.
    41. 41. "Cant you just...?"
    42. 42. Be gentle in your rejections. Brevity may beperceived as harsh.
    43. 43. That box is too small.
    44. 44. You want to acceptchanges from newbies if at all possible.
    45. 45. Dont reject patches just because of...• No tests• No documentation• Not following code standards• Those can all be fixed!
    46. 46. The other day I got this in the mail...
    47. 47. I am happy to suggest use cases that Ihave found useful. What is the best way -to mailing list, on a wiki somewhere,email to you.Dont quite feel up to being moreproactive. I am dyslexic and find writingstuff hard (and finishing of writing etc).
    48. 48. Make a project guide
    49. 49. Make a project guide• Small chunks of the elephant
    50. 50. Make a project guide• Small chunks of the elephant • "TODO: Better error handling" is not helpful to the newbie.
    51. 51. Make a project guide• Small chunks of the elephant • "TODO: Better error handling" is not helpful to the newbie.• Project direction
    52. 52. Make a project guide• Small chunks of the elephant • "TODO: Better error handling" is not helpful to the newbie.• Project direction• Coding standards
    53. 53. Make a project guide• Small chunks of the elephant • "TODO: Better error handling" is not helpful to the newbie.• Project direction• Coding standards• Workflow + branch strategy
    54. 54. Monitor your network
    55. 55. Thank you• Put yourself in the newbies shoes.• Make a project home page outside Github.• Visible, documented releases matter.• Optimize for others, not yourself.• Use Github to encourage your community, not fend it off.• Thank you for listening and for Githubbing.
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×