OMG How Do I Start An Open Source Project? – Steps, missteps, and tips – How do I even...?



OMG How Do I Start An Open Source Project? – Steps, missteps, and tips – How do I even...?

0 1


OMG-how-do-I-start-an-open-source-project

Presentation: How to start an open source project

On Github DonSchenck / OMG-how-do-I-start-an-open-source-project

OMG How Do I Start An Open Source Project?

Steps, missteps, and tips

Created by Don Schenck / @DonSchenck

How many pedantic programmers does it take to change a lightbulb?

A: Change? Or replace?

How do I even...?

You need an idea

(No, you need a good idea)

"Hey ... we should talk."

Use PowerShell to work with OpenStack

Problem #1: What's in a name?

Stackinator

Stackinator 5000

"Hey Don ... whatcha doin'?"

PowerStackinator

Annnnnd now I'm hungry

PoshStack

Posh = common shorthand for PowerShellStack = OpenStack

Problem #2: Where to put it?

github.com/DonSchenck/PoshStack

What's a good first commit?

Nailing the README.md

README should include:

Description

Installation instructions

Configuration information

How to contribute

Markdown ??

Not just ANY Markdown...

What about that second commit?

How about a document outlining the project? How about the first piece of working code, something that demonstrates the approach it takes, i.e. frameworks, standards, etc.?

Oh, hey! ... Let's do another commit!

And another!

This is fun!

Just stop. Wait. Think. At this point, ask yourself some questions: Is this heading in the right direction? Will some serious changes need to be made. BREAKING changes?

This is a public project

Remember; This is for public consumption. You may be two or three commits into it and already have people using this code. YOU NEED TO PROCEED CAREFULLY AND WITH A PLAN!

So, what is a good cadence?

What is a good cadence? Let's talk about issues.

I have Issues

Ever since I was cut from the 8th grade basketball team…

No, seriously; Use Github Issues

Take the time necessary and plan ahead. Map out a development plan. Break it down into small, easily-completed steps, and turn those steps into Issues. For my project, I created one issue for each SDK function. That resulted in...

236 Issues?

What the...??

This would be a good time...

PoshHub

A side trip

Milestones

Use them. Don't make them too big. I did; You should not.

Enter Waffle.io

Gitter.im

Oh glorious day!

My first Pull Request

Fire up the PR engine, we're going global

Twitter Jerry Snover PowerShell registry

Feedback! YAY ... FEEDBACK!

Uh...

Wait...I did what wrong?

Naming: No plurals

What about security?

What about signing the modules?

Get ready for some *serious* constructive criticism. Don't be thinned-skinned; put on the fire suit and get ready. Take EVERYTHING as a POSITIVE intention.

I TOLD YOU This is a public project!

YOU don't own this; it's a *public* project. It's open to public discussion and criticism and...

...public bug reporting, and...

...public HELP! (yay)

"We accept Pull Requests"

Help is on the way

People will start to take an interest. It may start as emails, which YOU need to turn into Issues. Encourage folks to CREATE ISSUES. Don't forget where you need help: NOT just code ... documentation ... tests ... sample code. Well-intentioned people may show interest but never show up to help.

The lull

Nothing. Crickets. This is when you bear down and start The Work. You write code, you write documentation, you write sample code, you keep publicizing the effort and asking for help. DO. NOT. QUIT.

Licensing?

LICENSING!

Apache 2.0 License seems to be the most liberal

Regaining lost momemtum

I.e. now it's work

Moving forward...

Does it have an end point, or does it constantly evolve?

DO EET!

1 / 73
OMG How Do I Start An Open Source Project? Steps, missteps, and tips Created by Don Schenck / @DonSchenck