Living With 1000 Open Source Projects
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Living With 1000 Open Source Projects

on

  • 22,827 views

I will be a developer for another 37 years; and by that time I might have created or maintained ...

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?

Statistics

Views

Total Views
22,827
Views on SlideShare
20,341
Embed Views
2,486

Actions

Likes
21
Downloads
251
Comments
0

26 Embeds 2,486

http://drnicwilliams.com 1955
http://railstips.org 310
http://coderwall.com 135
http://www.railstips.org 20
http://www.slideshare.net 19
http://lanyrd.com 11
http://feeds.feedburner.com 10
http://bgror.com 5
http://webcache.googleusercontent.com 2
http://127.0.0.1:8795 2
http://www.hanrss.com 2
http://anonymouse.org 1
http://static.slidesharecdn.com 1
http://localhost:3000 1
http://morelightmorelight.com 1
http://protopage.com 1
http://xss.yandex.net 1
http://blog.pucp.edu.pe 1
http://www.newsgator.com 1
http://www.transloopa.com 1
applewebdata://D8C1B896-5C95-46E4-89AF-88D28579C6DB 1
http://74.125.153.132 1
http://xianguo.com 1
http://localhost 1
http://www.lublinlab.com 1
https://twitter.com 1
More...

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Living With 1000 Open Source Projects Presentation Transcript

  • 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