projects, community and github: 4/10/2011

43
Projects, Community and Github Andy Lester @petdance

Post on 17-Oct-2014

1.951 views

Category:

Technology


0 download

DESCRIPTION

Projects, Community and Github: CodeConf April 10, 2011

TRANSCRIPT

Page 1: Projects, Community and Github: 4/10/2011

Projects, Community and Github

Andy Lester@petdance

Page 2: Projects, Community and Github: 4/10/2011

Who is Github for?

Page 3: Projects, Community and Github: 4/10/2011

Developers,developers,

developers,developers,

Page 4: Projects, Community and Github: 4/10/2011

Github is notfor end users.

Page 5: Projects, Community and Github: 4/10/2011

Whoo! Exposure!

Nat has 171,000 readers at radar.oreilly.com

Page 6: Projects, Community and Github: 4/10/2011

Somebody clicks the link and wants to download it, and what they're presented with is a dev-oriented home page.

Page 7: Projects, Community and Github: 4/10/2011

The download link isn't very descriptive.

Page 8: Projects, Community and Github: 4/10/2011

Github is for those who like to

build from source.

Page 9: Projects, Community and Github: 4/10/2011
Page 10: Projects, Community and Github: 4/10/2011
Page 11: Projects, Community and Github: 4/10/2011

Your usersprobably don't.

Page 12: Projects, Community and Github: 4/10/2011
Page 13: Projects, Community and Github: 4/10/2011

To the newcomer,the source treeis unimportant.

Page 14: Projects, Community and Github: 4/10/2011

What's it do?

What's it look like?

Do I want to use it?

Page 15: Projects, Community and Github: 4/10/2011

Make a project site.

• Answer the newcomer's questions.

• Aimed toward the end users.

• Users who are not as ninja as you.

• Make download + install incredibly obvious.

Page 16: Projects, Community and Github: 4/10/2011

Make a project site.

Page 17: Projects, Community and Github: 4/10/2011

Make a project site.

Page 18: Projects, Community and Github: 4/10/2011

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/

Page 19: Projects, Community and Github: 4/10/2011

Visible, documentedreleases matter!

Page 20: Projects, Community and Github: 4/10/2011

Releases matter!

Page 21: Projects, Community and Github: 4/10/2011

Release for simplicity

• Releases are an affirmation: "Yes, you can use this."

• Single, verifiable tarball.

• Nobody wants to run autoconf.

• Users expect them.

Page 22: Projects, Community and Github: 4/10/2011

Release for historyand visibility

• Lets others build on your work.

• Make a milestone with history.

• Maintain an accurate, human-written changelog of all releases.

• A dump of commit messages is not a changelog!

Page 23: Projects, Community and Github: 4/10/2011

Optimize for your users' sake,

not your own.

Page 24: Projects, Community and Github: 4/10/2011

The needs of the many outweigh the needs of the few, or the one.

Page 25: Projects, Community and Github: 4/10/2011

About me

Page 26: Projects, Community and Github: 4/10/2011

About @petdance

• Perl guy: ack, prove, WWW::Mechanize

• Programming for money since the 1980s

• I sling PHP (eww!) for B2B web apps for a midsize corporation.

• From the midwest, Chicago area

• Diversity = good(c.f. @ginatrapani yesterday)

Page 27: Projects, Community and Github: 4/10/2011

"Dad, if you don't get it, it's because I didn't do it."

Page 28: Projects, Community and Github: 4/10/2011

Github projects have a low barrier to entry.

Page 29: Projects, Community and Github: 4/10/2011

The good part:Anyone can do it.

Page 30: Projects, Community and Github: 4/10/2011

The bad part:Anyone can do it.

Page 31: Projects, Community and Github: 4/10/2011

Newbies expect their changes to be accepted.

Page 32: Projects, Community and Github: 4/10/2011

"Can't you just...?"

Page 33: Projects, Community and Github: 4/10/2011

Be gentle in your rejections.

Brevity may be perceived as harsh.

Page 34: Projects, Community and Github: 4/10/2011

That box is too small.

Page 35: Projects, Community and Github: 4/10/2011

You want to accept changes from newbies if

at all possible.

Page 36: Projects, Community and Github: 4/10/2011

Don't reject patches just because of...

• No tests

• No documentation

• Not following code standards

• Those can all be fixed!

Page 37: Projects, Community and Github: 4/10/2011

In this morning's mail...

Page 38: Projects, Community and Github: 4/10/2011
Page 39: Projects, Community and Github: 4/10/2011

I am happy to suggest use cases that I have found useful. What is the best way - to mailing list, on a wiki somewhere, email to you.

Don't quite feel up to being more proactive. I am dyslexic and find writing stuff hard (and finishing of writing etc).

Page 40: Projects, Community and Github: 4/10/2011

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

Page 41: Projects, Community and Github: 4/10/2011

Monitor your network

Page 42: Projects, Community and Github: 4/10/2011
Page 43: Projects, Community and Github: 4/10/2011

Thank you• Put yourself in the newbie's 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.