Successfully reported this slideshow.

Living With 1000 Open Source Projects

23

Share

Upcoming SlideShare
Can’t Find Your 404s?
Can’t Find Your 404s?
Loading in …3
×
1 of 46
1 of 46

Living With 1000 Open Source Projects

23

Share

Download to read offline

I will be a developer for another 37 years; and by that time I might have created or maintained
500 to 1000 open source projects. In the last 3 years it is already a become maintenance challenge
and in another 37 years I may be begging to retire. That is, unless we can solve the problem today:
how to go from 1 to 1000 open source projects and still enjoy yourself.

This talk will challenge much of the dogma of open source and will make you rethink what is open source? And how the hell do you live with it once its written?

I will be a developer for another 37 years; and by that time I might have created or maintained
500 to 1000 open source projects. In the last 3 years it is already a become maintenance challenge
and in another 37 years I may be begging to retire. That is, unless we can solve the problem today:
how to go from 1 to 1000 open source projects and still enjoy yourself.

This talk will challenge much of the dogma of open source and will make you rethink what is open source? And how the hell do you live with it once its written?

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Living With 1000 Open Source Projects

  1. Living with 1000 Open Source Projects Dr Nic Williams, tallest person at Mocra @drnic · http://drnicwilliams.com · http://mocra.com
  2. Pacific Ocean Trips
  3. Pacific Ocean Trips RubyConf 2007: 9am Sunday 50% Awake
  4. Pacific Ocean Trips RubyConf 2007: 9am Sunday 50% Awake FutureRuby 2009: 10am Sunday 50% Canadian
  5. Pacific Ocean Trips RubyConf 2007: 9am Sunday 50% Awake FutureRuby 2009: 10am Sunday 50% Canadian
  6. Two types (OSS project) founders…
  7. A. Nurture and converse “Do you care?”
  8. B. Previously A “Do it yourself”
  9. Life as an A-type is awesome…
  10. Life as an A-type is awesome… until it is not
  11. “Saying Goodbye”
  12. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  13. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  14. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  15. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  16. Jamis vs Dr Nic Proof of Jamis’s awesomeness Downloads 500000 375000 250000 125000 0 Capistrano Composite Keys NewGem RubiGen source: http://gems.rubyforge.org/stats.html
  17. ! Disclaimer My projects aren’t wildly popular
  18. 80 60 40 20 0 mid-2007 mid-2008 mid-2009 I just have heaps of them
  19. Some formulas… X projects/yr x 40 years = ? 5 projects/yr x 40 years = 200 25 projects/yr x 40 years = 1000 1000 projects x ½hr/wk = 500hr/wk There are only 168 hrs in a week
  20. OSS projects don’t scale but neither does raising pets nor children
  21. A dog trainer having a pet dog vs maintaining many dogs
  22. A teacher having a pet child vs maintaining many children
  23. An OSS owner having a pet project vs maintaining many projects
  24. What to maintain? pet projects and libraries you need each day
  25. and abandon the rest http://www.flickr.com/photos/robbyrussell/243693247/
  26. Maintenance Goal: Zero Effort
  27. Aim: Manage expectations
  28. • Publish project status • Facilitate group therapy • Forward emails to mailing list Aim: Reduce bad karma
  29. Aim: Community self-sufficiency
  30. Centralised patches
  31. Centralised patches
  32. $ gem install defunkt-github # super lazy $ cd your/project $ gh pull username --merge $ rake test $ git push # update History.txt for next release Use: Command line tools
  33. Add: Admins/contributors
  34. Aim: Zero maintenance cost
  35. require 'rubygems' gem 'hoe', '>= 2.1.0' require 'hoe' Hoe.plugin :newgem Hoe.plugin :cucumberfeatures Hoe.spec 'looksee' do developer 'George Ogata', 'george.ogata@gmail.com' end Packaging: Hoe/Echoe for Gems
  36. ChocTop.new do |s| s.host = 'commitchat.com' s.base_url = 'http://commitchat.com/dl' s.remote_dir = '/opt/apps/commitchat/dl' s.background_file = "dmgbg.png" s.volume_icon = 'VolumeIcon.icns' s.app_icon_position = [106, 83] s.applications_icon_position = [422, 83] s.applications_icon = "dmgappico.png" end Packaging: ChocTop for DMGs
  37. Packaging: ChocTop for DMGs
  38. • Test frameworks: ............... • Reuse processes: rake • Create tools: newgem • Promote your process: blog Aim: zero process cost
  39. 5 mins to run tests 30 mins looking at bug reports Aim: zero defects
  40. 5 mins to run tests 0 7.5 15 22.5 30 30 mins looking at bug reports Aim: zero defects
  41. $ cucumber features/development.feature Scenario: Generate RubyGem Given this project is active project folder And "pkg" folder is deleted When I invoke task "rake gem" Then folder "pkg" is created And file with name matching "pkg/*.gem" is created 1 scenario (1 passed) 6 steps (6 passed) QA test packaging
  42. Aim for zero • Don’t use it? Don’t maintain it • Manage expectations • Community self-sufficiency • Zero process cost • Zero defects
  43. Use your spare time • Find a hobby • Talk to your spouse • Create more projects
  44. Create a new project newgem my_project cd my_project git init git add . git commit -m "initial" github create-from-local
  45. Thank you Canada Dr Nic Williams drnicwilliams.com · @drnic

×