forking encouraged
play

Forking Encouraged Folk Programming, Open Source, and Social - PowerPoint PPT Presentation

Forking Encouraged Folk Programming, Open Source, and Social Software Development Kirrily Robert Yoz Grahame Linden Lab Jason Douglas Metaweb (creators of Second Life) (creators of Freebase) How to contribute code to an open source


  1. LambdaMOO > exam rube Rube Goldberg contraption (aka #6498, Rube Goldberg contraption, Rube Goldberg, and contraption) Owned by Aladdin. An incredibly complicated contraption. There is a lever on one side. A sign on the other side says "To run contraption, 'pull lever on contraption'; to add parts to contraption, first 'enter contraption'" Obvious verbs: en*ter rube g*et/t*ake rube d*rop/th*row rube pull <anything> on rube > pull lever on contraption Rosy_Guest pulls down the handle on Rube Goldberg contraption. The lever pulls on a string, releasing a steel ball high up. The ball enters a maze of passages. Somewhere deep inside, the ball hits a switch with an audible click. A large television comes to life, showing re-runs of "Gunsmoke." The sheriff's bullets fly out of the screen A Kung Fu master catches them in his teeeth. The subtitles read "I should've ordered glutinous rice chicken!" He spits out the bullets, which fly toward poor Mel Torme. Sorrow drifts over the land for the death of Mel Torme. ...and now for something completely different... A gigantic puffball bursts, filling the air with spores. A hush falls over the contraption; everything has stopped. A horde of monkeys runs all over the contraption, setting everything back sort of the way it was.

  2. What’s the power here? 1. Create your own code 2. View, clone and modify someone else’s code 3. Free, always-on, ubiquitous hosting 4. Huge array of diverse data sources/objects 5. Code creates new data for use by others

  3. The Server’d Gentry

  4. … begat…

  5. We like: ... but we want: Easy! Features! Social! Ownership! Control!

  6. Cloning on Ning

  7. Developer Cloning User P a Installation c k a g i n g Distribution

  8. The Child App

  9. Timeliner

  10. What makes this possible? • Create your own code • View, clone and modify someone else’s code • Free, always-on, ubiquitous hosting • Huge array of diverse data sources/objects • Code creates new data for use by others

  11. Folk programming = more people in your project

  12. Cloning.

  13. Forking.

  14. FLOSS licenses • View the code • Modify the code • Redistribute the code

  15. There is strong social pressure against forking projects. It does not happen except under plea of dire necessity, with much public self-justification, and requires a renaming. Eric S. Raymond, Homesteading the Noosphere

  16. Hosted?

  17. Hosted? Source Dev Distribution code platform

  18. Hosted? Source Dev Distribution code platform wiki mailing bug tracker lists website

  19. Hosted? Source Dev Distribution code platform wiki mailing bug tracker lists website

  20. Hosted dev environments? • Google App Engine • EC2 • Dreamwidth Dreamhack • Heroku, Kodingen, Reasonably Smart...

  21. Google App Engine

  22. Google App Engine • Free (no cost) • Python or Java • Run your apps on Google’s infrastructure

  23. Google App Engine • Free (no cost) • Python or Java • Run your apps on Google’s infrastructure • BUT... code them on your own

  24. Amazon EC2 • Servers on demand • Pre-configured • Low cost (not quite free) • Any language

  25. Dreamhack • Single project (Dreamwidth) • Shared server • Pre-configured • Free

  26. But can you clone it?

  27. But can you clone it?

  28. But can you clone it?

  29. Huge array of diverse data sources Proximity Openness Queryability

  30. Proximity High Low

  31. Proximity High • in memory Low

  32. Proximity High • in memory • local key/value store Low

  33. Proximity High • in memory • local key/value store • nearby database server Low

  34. Proximity High • in memory • local key/value store • nearby database server • web API Low

  35. Openness High Low

  36. Openness High • US Govt public domain data Low

  37. Openness High • US Govt public domain data • Creative Commons Low

  38. Openness High • US Govt public domain data • Creative Commons • Friendly TOS Low

  39. Openness High • US Govt public domain data • Creative Commons • Friendly TOS • Unfriendly TOS Low

  40. Queryability Low High

  41. Queryability Low • scanned, non-OCR documents High

  42. Queryability Low • scanned, non-OCR documents • text documents High

  43. Queryability Low • scanned, non-OCR documents • text documents • structured data High

  44. Queryability Low • scanned, non-OCR documents • text documents • structured data • well-structured data High

  45. Key points • FLOSS license • Easy cloning • Free, hosted development platform • Huge array of readily-accessed data

  46. FLOSS Cloning Hosted Data Github Y Y N N App Engine ? N Y Y Amazon EC2 ? N Y Y Dreamwidth Y N Y N

  47. • Openly licensed database • ~120M facts about 6.2M topics • Anyone can edit... including schema • Open API

  48. Open Code for Open Data http://freebaseapps.com

  49. *.freebaseapps.com

  50. Open Code

  51. Sharing Code

  52. Sharing Code

  53. Sharing Code

  54. Sharing Code

  55. Sharing Code

  56. Sharing Code

  57. Examples

  58. Data Games

  59. Data Games

  60. Data Games

  61. Data Games

Recommend


More recommend