Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Build an open source hack

Build an open source hack

Hack+ workshop at Carnegie Mellon University on open source hacking

Varun Arora

October 05, 2013
Tweet

More Decks by Varun Arora

Other Decks in Programming

Transcript

  1. I founded I am obsessed with open source (we are

    a start-up in Pgh making all of the world's K-12 learning content free and open, using the power of technology and communities) I write code for a living I am a (acm@)CMU alum
  2. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK Come up with an original idea for a useful hack / use an old project 2 OPTIONS 1.Go to goo.gl/nPNy5N 2.Pick a library 3.Using sample code, create a simple hack
  3. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK YOUR OPTIONS • Hosting: SourceForge, GitHub, Google code, BitBucket, etc. • VCS: Git, SVN, Mercurial, etc.
  4. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK testing • Python: UnitTest • Ruby: rspec, MiniTest, etc. • JavaScript: Qunit, Jasmine, etc. • Java: Junit • PHP: SimpleTest, PHPUnit • Go: (I don't know)
  5. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK COMMENTING #Christmas tree initializer toConnect = [] toRead = [ ] toWrite = [ ] primes = [ ] responses = {} remaining = {}
  6. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK FILES AND DIRS code more code pics blah.js
  7. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK “OPEN SOURCE” LICENSES • Apache License 2.0 • BSD 3-Clause "New" or "Revised" license • BSD 2-Clause "Simplified" or "FreeBSD" license • GNU General Public License (GPL) • GNU Library or "Lesser" General Public License (LGPL) • MIT license • Mozilla Public License 2.0 • Common Development and Distribution License • Eclipse Public License
  8. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK Other considerations • Identifying outlets • Packaging source & binaries • Mailing lists
  9. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK IT'S !IMPORTANT Probably more important than coding the hack itself
  10. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK THINGS YOU WANT TO INCLUDE • Installation info • With dependencies • Usage (with explanation) • Example(s) • Configuration • Versions / releases • Download binaries / source • Fork on _______ • API • FAQs • License • Compatibility / support
  11. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK FIND A CODE CONVENTION AND STICK TO IT I personally love and suggest Google's coding conventions
  12. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK Tools and resources to build a brand • ColourLover, SmashingMagazine • Rules: Grids, Consistency, Contrast, Whitespace, Alignment, leading, etc. • KISS • Imitate
  13. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK CREATE A LOGO FOR YOUR HACK Using only simple polygons & a pre-defined color pallette
  14. ACM@CMU Hack+ workshop / 5th Oct '13 BUILDING YOUR FIRST

    OPEN SOUCE HACK Managing a community • Issue tracking • Office hours: IRC / Email • Contributor roles • Salesmanship • Patches & processes