Open Source Your Code For Fame and Fortune

A TweenDeck Presentation by John Polacek
--> Get the code on Github <--

Press to go forward, and to go back

Or scroll down

If you don’t already have
a GitHub account,

get one.

And start posting stuff.

Why?

Sharpen Your Skills

The world is watching

Gain Confidence

“Do I have the coding chops?”

Opportunities

Good Job → Great Job → Best Job
(and get to go to conferences)

But mainly…

Do Epic Shit

Will people say I suck?

Yes.

Learning in the Open

Can be intimidating, but…

Makes you write better code

Makes you learn faster

Take me for example…

Started as an illustrator
(no coding experience)

Then a Flash dev
(then Flash refugee)

And then I started
doing open source

Scrollorama
My 1st big hit
(also one of my first plugins)

Responsivator, stacktable.js
& BigVideo.js
(Spawned from my work projects)

etc.
SuperScrollorama, Scrolldeck, Tweendeck, What The Heck Is Responsive Web Design?, ControlDeck.js, Extra Strength Responsive Grids, Match The Letter, Passwords for the Manly Man, Channel of Awesome…

I don’t consider myself

Hot Snot

But I am also not

Cold Booger

I am just like you guys, and...

You Can Do It!
The secrets to open source coding success

Learn in public

Have a thick skin

Keep it fun

From GitHub Zero To Hero

Starting From Zero

Find a project to contribute to

(can be intimidating/disappointing)

Start your own project

(My reco)

Keep It Simple

Break big ideas into chunks

Pluginize!

Break off pieces of code from other projects

Thou Shalt SHIP!

Don’t try to be perfect. You will never be perfect.
Don’t overthink it. SHIP!

An Example

How about this very presentation right here? Open sourced live during Techweek Chicago.

How To Publish Your GitHub Project

First, make your awesome project.

Then, from inside your project directory:

git init
Initialized empty Git repository in /open-source-for-fame-and-fortune
git add .
git commit -m 'initial commit'
[master (root-commit) 3df470a] initial commit
[master (root-commit) 492b680] initial commit
 57 files changed, 7481 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 README.md

Now, go to GitHub and make a new repository for your project

Create New Repo Button

Once your project has been created, copy the GitHub repository url.

Then push.

git remote add origin 'git@github.com:johnpolacek/open-source-for-fame-and-fortune.git'
git push origin master
Counting objects: 72, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (66/66), done.
Writing objects: 100% (72/72), 2.36 MiB, done.
Total 72 (delta 7), reused 0 (delta 0)
To git@github.com:johnpolacek/open-source-for-fame-and-fortune.git
 * [new branch]      master -> master

Last, make a project page using GitHub pages

git checkout -b gh-pages
Switched to a new branch 'gh-pages'
git push origin gh-pages
Counting objects: 72, done...

Keep your project page and master branch in sync as you commit changes. The easy way:

git add .
git commit -m 'some awesome changes'
git push origin master
git checkout gh-pages
git rebase master
git push origin gh-pages
Project Page Tips

Keep your master and
gh-pages branch identical
(easier that way)

Make your project page interesting
(beautiful design, fun demos)

Have documentation
(at least an easy example, along with well-commented code)

Don’t be timid

If you open source your code,
but don’t tell anyone about it,
have you really open sourced your code?

Open Source
Opens Doors

Exposure

Opportunities

Meeting Great People

More Exciting Projects

Action Items

Join Github

Publish a Project

Talk about it!

Extra Credit: Write a tutorial. Do a talk. Make a Codepen.

Show your stuff.

See what happens.

More resources and stuff can be found on johnpolacek.com
Hit me up on twitter @johnpolacek