forking encouraged: folk programming, open source, and social software development

Post on 12-Nov-2014

4.591 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

The term "Folk Computing" was coined 20+ years ago to describe how people learn to program by copying and experimentation. Learn how open source licenses, hosted development environments, and other folk programming concepts lower barriers to entry and help people get up to speed as coders. We'll also be showing off some modern folk programming platforms, from Yahoo Pipes to the OLPC and beyond.

TRANSCRIPT

Forking EncouragedFolk Programming, Open Source, and Social Software Development

Kirrily RobertJason Douglas

Metaweb(creators of Freebase)

Yoz GrahameLinden Lab

(creators of Second Life)

How to contribute code to an open source project• Identify something

to fix• Find the repository• Install new trendy

source control tool• Check out

repository• Find build

instructions• Install the right

build tools• Build attempt #1• Install missing

dependencies• Build attempt #2• Install more missing

dependencies

• Build attempt #3• Something’s wrong

with the makefile• Who the hell

understands make anyway?

• Google• Find and apply

makefile fix• Build attempt #9• WORKING APP!• Search source for

bug• Read API docs• Fathom API docs• Create fix• Test fix

• Enjoy fix• Create patch• Submit patch• Wait for patch

merge to trunk• Wait some more• Snark about

maintainer• Start nagging• Meanwhile, build on

fix, make more patches

• Provide own tarballs

• Multiple anguished flamewars

• Fork

REDUCE FRICTION

Please, for the sake of your project:

How to contribute code to an open source project• Identify something

to fix• Find the repository• Install new trendy

source control tool• Check out

repository• Find build

instructions• Install the right

build tools• Build attempt #1• Install missing

dependencies• Build attempt #2• Install more missing

dependencies

• Build attempt #3• Something’s wrong

with the makefile• Who the hell

understands make anyway?

• Google• Find and apply

makefile fix• Build attempt #9• WORKING APP!• Search source for

bug• Read API docs• Fathom API docs• Create fix• Test fix

• Enjoy fix• Create patch• Submit patch• Wait for patch

merge to trunk• Wait some more• Snark about

maintainer• Start nagging• Meanwhile, build on

fix, make more patches

• Provide own tarballs

• Multiple anguished flamewars

• Fork

Folk Programming is...

• The social life of code

• How it breeds, travels and evolves

• ... especially amongst non-programmersbeginning

Less like this...

http://flickr.com/photos/timsamoff/316400866/

... more like this

http://flickr.com/photos/brighterworlds/301705464/

(it’s not a new analogy)

Consumption

Consumption

Minor Alteration

Confirmation

Experimentation (pt 1)

Safe Failure

Investigation (pt 2)

Innovation

Cargo cult programming is not a problem

(yet)

WARON

DAUNT

Folk Computing: Revisiting Oral Tradition as

a Scaffold for Co-Present CommunitiesRick Borovoy, Brian Silverman, Tim Gorton, Jeff Klann, Matt Notowidigdo, Brian Knep and Mitchel Resnick

MIT Media Lab, 2000

SIGCHI’01, March 31-April 4, 2001

http://llk.media.mit.edu/papers/folk-computing.pdf(or just type “folk computing” into your favourite

search engine)

3.15 inches

• 128KB Flash

• 48x32 pixels

• 1-channel sound

• Replaceable batteries

• 45 grams

The i-ball editor

!"#$#!%&$' ()#$*+,-' #' ./#,&0' #,*' %"&,' 1#+%' 2)$' %"&' 34&$' %)'

!),,&!%' 1+%"' #,)%"&$' +54)!6&%7' 8%' %"#%' .)+,%0' %"&' .$)-$#9'

:39.4');&$'%)'%"&',&1'+54)!6&%0'*&/&%&4'+%4&/2'2$)9'%"&')/*'+5

4)!6&%0' #,*' !),%+,3&4' &<&!3%+,-' #2%&$' %"&' :39.' (/)!67' ' =%'

+99&*+#%&/>' "+%4' #' ?$&4%#$%@' (/)!60' !#34+,-' %"&' 1")/&'

.$)-$#9'%)'$&.&#%'),'%"&',&1'+54)!6&%7''

A)9.3%#%+),#//>0' ?:39.@' +4' #' ;&$>' !)9./&<' ).&$#%+),7'

B&4+-,+,-' +%' #4' #' .$+9+%+;&' /&%' !"+/*$&,' !),4%$3!%' 9#,>'

6+,*4')2'+5(#//'.#44+,-'-#9&4'1+%"'$&/#%+;&'&#4&7''

Designing for Conservatism and Dynamism C)&/6&,'!#//4'!),4&$;#%+49'#,*'*>,#9+49'?%"&'%1+,'/#14')2'

2)/6/)$&'.$)!&44@'#,*'4#>4' %"#%'?!),4%#,%'!"#,-&0';#$+#%+),'

1+%"+,' #' %$#*+%+),' D+4E' #' !&,%$#/' 2#!%' )2' /+2&' 2)$' 2)/6/)$&@'

FGHIHJ7''

K&' 1#,%&*' %)' 43..)$%' %"&' 6+,*' )2' ?;#$+#%+),' 1+%"+,' #'

%$#*+%+),@'%"#%'),&'1+%,&44&4'+,'43!"'2)/6'-#9&4'#4'L#$(/&4'

)$'C#-7'C"+4'9&#,%'%"#%'.&)./&'4")3/*'(&'#(/&'%)'*)!6'%"&+$'

+54)!6&%'%)'#'MA0').&,'3.'#,'+5(#//'%"&>'1&$&'.#44&*'1")4&'

23,!%+),#/+%>'%"&>'#*9+$&*0' %+,6&$'#$)3,*'1+%"'%"&'.$)-$#9'

+,'%"&'+5(#//'&*+%)$0'#,*'%"&,'4#;&'%"+4'9)*+2+&*';&$4+),'(#!6'

%)'%"&+$' +54)!6&%7'K&'+9#-+,&*'%"+4'1)3/*'&,#(/&'.&)./&'%)'

&#4+/>'9#6&';#$+#%+),4')2'.).3/#$' +5(#//4'1+%")3%'"#;+,-' %)'

3,*&$4%#,*' %"&+$' 1)$6+,-4' &,)3-"' %)' $&(3+/*' %"&9' 2$)9'

4!$#%!"7'

B3&' %)' #' *&4+-,' %$#*&5)220' 1&' 1&$&' ,)%' #(/&' %)' -&%' %"+4'

?93%#%+),@' 43..)$%' +9./&9&,%&*' 2)$' %"&' 2+$4%' +5(#//'

!),2&$&,!&'%$+#/7'A)993,+!#%+),'(&%1&&,'%1)'!),,&!%&*'+5

4)!6&%4' %3$,&*')3%' %)'(&'2#+$/>'4/)17'K&'/+9+%&*'+5(#//'4+N&'

%)' OGP' (>%&4' %)' &,43$&' +5(#//4' !)3/*' (&' .#44&*' Q3+!6/>'

&,)3-"' %)' 6&&.' .#44+,-' -#9&4' /+;&/>' #,*' %)' 6&&.' +5(#//'

&<!"#,-&4' 4.),%#,&)347' C"&' OGP5(>%&' /+9+%#%+),' #/$&#*>'

!),4%$#+,&*' %"&' #9)3,%' )2' #,+9#%+),' #,*' (&"#;+)$#/'

!)9./&<+%>'&#!"'+5(#//'!)3/*'&<"+(+%7'L#6+,-'#,'+5(#//'?*&5

!)9.+/#(/&@' R' #(/&' %)' (&' 3./)#*&*' 2$)9' #,' +54)!6&%' #,*'

$&4%)$&*' %)' 34&$5&*+%#(/&' 2)$9' R' 1)3/*' "#;&' $&Q3+$&*'

4#!$+2+!+,-' 9)$&' +5(#//' &<.$&44+;&,&44' +,' %"&' 4&$;+!&' )2'

(#!6-$)3,*'./39(+,-7''

S+,!&'1&'!)3/*',)%'43..)$%'93%#%+),0'1&')22&$&*' +,4%&#*'#'

4&%')2'&*+%#(/&'4#9./&'+5(#//4'2)$'.&)./&'%)'34&'%)'-&%'4%#$%&*7''

T)1&;&$0' 3.),' $&;+&1' )2' #//' %"&' +5(#//4' #3%")$&*' #%' %"&'

!),2&$&,!&0'1&'1&$&'3,"#..>'1+%"'%"&'#9)3,%')2'+,2/3&,!&'

%"&4&' 4)9&1"#%' #$(+%$#$+/>' !")4&,' +5(#//4' "#*7' C"+4' $+46&*'

.3%%+,-'34'+,';+)/#%+),')2'#,)%"&$'6&>'2)/6/)$&'$&Q3+$&9&,%U'

1"#%'!),4%+%3%&4'/&-+%+9#%&'2)/6/)$&'*)&4',)%'-&%'*&%&$9+,&*'

(>'4)9&'!&,%$#/'#3%")$+%>'FV$+,-0'GHWXJ7''

82%&$'+9./&9&,%+,-'1")/&',&1'!/+&,%54&$;&$'#$!"+%&!%3$&'2)$'

%"&'+5(#//'&*+%)$40'1&'43!!&4423//>'#**&*'93%#%+),'!#.#(+/+%>'

2)$' %"&' 4&!),*' +5(#//' %$+#/' #%' %"&'Y5W' 4!"))/7'Z)10'1"&,'#'

4%3*&,%'#%'#'MA'4&/&!%&*'#,'+5(#//'),'%"&+$'+54)!6&%'%)'&*+%0'#'

!).>' )2' %"&' 3,!)9.+/&*' 4)3$!&' !)*&' 1#4' %$#,4.#$&,%/>'

3./)#*&*'2$)9'#'!&,%$#/'4&$;&$7'C"+4'9&#,%' %"#%'&*+%#(/&' +5

(#//' 4)3$!&' !)*&' *+*' ,)%' !),439&' #,>' )2' %"&' .$&!+)34' +5

4)!6&%'%)'+54)!6&%'!)993,+!#%+),'(#,*1+*%"7''

8%'%"&'4!"))/0'9)$&'%"#,'),&'%"+$*')2'#//'+5(#//4'!$&#%&*'1&$&'

93%#%+),4' )2' )%"&$' #/$&#*>5&<+4%+,-' +5(#//40' 43--&4%+,-' %"#%'

%"+4' !#.#(+/+%>' 1#4' 34&23/7' S)9&' +5(#//4' +,4.+$&*' 93/%+./&'

-&,&$#%+),4')2'93%#%+),47'[+-3$&'X'4")14'#';+43#/+N#%+),')2'

")1'),&'+5(#//'93%#%&*0'1"&$&'%"&')$+-+,#/'+4'+,'%"&'!&,%&$0'

%"&'93%#%+),4'),'+%'#$&'+,'%"&'43$$)3,*+,-'$+,-0'93%#%+),4'),'

93%#%+),4'#$&'+,'%"&',&<%'$+,-0'#,*'4)'),7''

\/%+9#%&/>0' %"&$&'1&$&'HW'*+22&$&,%' +5(#//4' %"#%'"#*'#%' /&#4%'

),&'93%#%+),'),'%"&9'1"&$&'4)9&),&')%"&$'%"#,'%"&'+5(#//]4'

)$+-+,#/'#3%")$'34&*'%"#%'+5(#//'#4'%"&'(#4+4'2)$'#',&1'),&')2'

"+4' )$' "&$' )1,7' C"&4&' +5(#//4' 1&$&' 93!"' 9)$&' ,39&$)34'

%"#,'%"&'"#/25*)N&,'4#9./&'+5(#//4'.&)./&'34&*'+,'%"&'+,+%+#/'

%$+#/0' %"&>'$&.$&4&,%&*'#'($)#*&$'$#,-&')2'#3%")$40'#,*'%"&>'

1&$&' .#$%' )2' #,' ).&,' 4>4%&9' 1"&$&' #,>),&' #%' #,>' %+9&'

*3$+,-' %"&' %$+#/' !)3/*' !$&#%&' #,' +,2/3&,%+#/' +5(#//' ),'1"+!"'

9#,>'.&)./&'9#*&';#$+#,%47'C"+4'1#4'9)$&'+,'6&&.+,-'1+%"'

%"&'*&!&,%$#/+N&*',#%3$&')2'2)/6/)$&7''

'

Sjors ’ ssquest

Eli ’sthem

Sangjun ’ shquest

Sangjun ’s

hquest Sjors ’ssquestJason ’s

Ultraq#4

Eli ’slukas

Bryce ’ sUltraQs t

Sjors ’ ssquest Eli ’ s

hquestJason ’ s

squest

T i m ’s

m & m s

T i m ’ sm & m s

Eli ’ shquest

Ziwei ’sfreed

Sangjun ’ shquest Sjors ’ s

squestJhuana ’s

hquestReva ’ shquest

Sacia ’ s

squestCaleb ’ shquestT i m ’ s

m & m s

John ’s

A QuestKush ’s

KquestJulian ’ shquest broken-VMU ’ s

hquestZ i w e i ’shquest Natercia ’ s

JutinBryce ’ s

UltraQstAkiana ’s

hquestHelen ’shquest

Najma ’s

hquestKush ’shquest

Jhuana ’ shquest Eli ’ s

hquestReva ’ shquest Yuxin ’s

hquestA m y ’sbrain q.

broken-VMU ’ shquest Philippa ’s

hquestKush ’ sKquest

broken-VMU ’ shquest

Helen ’ s

hquestbroken-VMU ’s

hquestPhilippa ’s

hquestT i m ’ s

m & m sJoel ’ shquestNajma ’ s

hquestSacia ’ ssquest

Kush ’ sKquest

Alex ’ shquest

Helen ’ shquest

C a m a r a ’ s

hquestNatercia ’ s

JutinLeia ’ shquest

broken-VMU ’ shquest

Natasha ’s

hquestNatalie ’shquest

Susanna ’ shquest

Z i w e i ’ shquest

Alejandra ’ sSuper QKush ’ s

hquest Eric ’shquestHelen ’ s

hquestZ i w e i ’s

fre eT i m ’ s

1470Philippa ’s

so fin e Phakamile ’ s

hquestbroken-VMU ’ s

hquestLukas ’ smy qest

Eli ’shquest

Sjors ’shquest Fekadu ’ s

SportsYuxin ’ s

hquestCaleb ’shquest

Reva ’shquest

broken-VMU ’shquest

Joel ’ shquest

Fekadu ’sSports

Helen ’ shquest

Natercia ’ sJutin

broken-VMU ’ shquest

Yuxin ’ shquest

Alex ’ shquest

Sjors ’ shquest

Reva ’ s

hquestNatercia ’sJutin

broken-VMU ’shquest

Reva ’ shquestSacia ’s

squestSacia ’ ssquestReva ’ s

hquestFekadu ’ s

SportsHelen ’ shquest

Najma ’shquest

Julian ’ s

hquestbroken-VMU ’s

hquestGilberto ’ s

hquestC a m a r a ’shquest

Z i w e i ’ shquest

Natasha ’shquest

Jason ’ salex Q

Reva ’ shquest

Natasha ’shquest

Sacia ’ ssquest Billy ’ s

hquestYuxin ’ s

hquestbroken-VMU ’ s

hquestFekadu ’ sSports

Akiana ’ sadventurA m y ’s

brain q.Akiana ’ sfemale s

Philippa ’shquest

Reva ’shquest

Alex ’ shquest

Helen ’shquest

John ’shquest

Matt ’ shquest

Adelina ’s

hquestFekadu ’ s

SportsReva ’ shquest

Amanda ’ shquest

Jhuana ’ shquest

Najma ’ shquest

Jhuana ’shquestHelen ’ s

hquestLeandra ’ s

hquestAlex ’ salex Q

Najma ’ shquest

Philippa ’s

hquestJulian ’ s

buildSjors ’ shquest

Philippa ’ sso fin eFekadu ’ s

hquestZiwei ’ s

hquest

broken-VMU ’ s

hquestJhuana ’ s

hquestJhuana ’ s

hquestJohn ’ shquest

Lillian ’shquest Natasha ’s

hquestHelen ’ shquest

Leia ’ skewlques

Kush ’s

KquestJason ’ salex Q

Helen ’ s

hquestReva ’ s

hquestSacia ’ ssquest

Philippa ’shquest

Eli ’ s

hquestFekadu ’ s

hquest Helen ’ shquest Natasha ’ s

hquest

Joel ’ s

hquestFekadu ’ s

hquest Dara ’sD a r a J

Helen ’ shquest broken-VMU ’ s

hquestPhilippa ’s

hquestFekadu ’s

SportsKush ’ sKquest

broken-VMU ’ s

hquestEric ’ s

hquestPhilippa ’s

hquestJohn ’ sAquest

Kush ’sKquest

Kush ’ sKquest

Sjors ’shquest

Z i w e i ’s

hquestAlex ’ s

hquestbroken-VMU ’ shquest

broken-VMU ’ shquest Lukas ’ s

hquestYuxin ’ s

hquestHelen ’shquest

Sjors ’ s

hquestJarvis ’ shquest

Fekadu ’sSports

Reva ’ shquest

Helen ’shquest Graham ’s

9Eric ’ s

hquestNoah ’ shquestJhuana ’ s

hquestKush ’ s

kquestNajma ’shquest

Joel ’ shquest

broken-VMU ’ shquest

A m y ’sghost q.

Lia ’sLia QFekadu ’s

hquestMackendy ’ s

hquest Yuxin ’ shquest

Kush ’shquest

Leia ’ shquest

Ziwei ’shquest Jarvis ’s

J Q U E S TDara ’ sD a r a QJhuana ’s

hquestKush ’ sKquest

A m y ’s

brain q.Natercia ’s

JutinLukas ’ smy qest

Fekadu ’shquest

Sacia ’s

hquestNatasha ’ s

hquestA m y ’ s

brain q.Halima ’s

hquestLeia ’s

hquest broken-VMU ’ shquest

Noah ’ shquest

Natercia ’ sJutin

Lia ’ sLia Q

Jhuana ’s

hquestFekadu ’s

SportsDara ’ sD a r a t

Fekadu ’sSports

Eric ’s

hquest

Fekadu ’sSports

Fekadu ’ sSports

Fekadu ’ s

Sports

Eric ’ shquest

Fekadu ’ sSports

Blake ’ s

D a r a t

Jarvis ’sJ Q U E S T

Noah ’ ssexy

Jesse ’ sJ E S S E Q

Jesse ’ s

J E S S E Q

Jesse ’ sJ E S S E Q

Jesse ’ sJ E S S E Q Jesse ’s

J E S S E QJesse ’s

J E S S E Q '

'

!"#$%&'()'*$+,+"-.'/"0$,1"2,+"-.'-3',.'4.31$&.+",1'456,11'

78&&'9-1-%':1,+&'-.':,#&';;;<'

Adding New Dimensions to Folklore C"&' .$&;+)34' 4&!%+),' 2)!34&*' ),' )3$' &22)$%4' %)' .$&4&$;&' %"&'

4#/+&,%' 2&#%3$&4')2' 2)/6/)$&' +,')3$' +5(#//'*&4+-,7'C"+4' 4&!%+),'

2)!34&4'),' %1)',&1'!#.#(+/+%+&40' %$#!6+,-'#,*'!)9.3%#%+),#/'

#-&,!>0' 1"+!"' 1&' *&4+-,&*' +,%)' %"&' +5(#//4' +,' #,' &22)$%' %)'

&,"#,!&' %"&+$' &22&!%+;&,&44' #4' #' 9&*+39' 2)$' !)993,+%>'

(3+/*+,-7''

Tracking and Social X-Rays L#,>' 2)/6/)$&' 4!")/#$4' #$&' +,%&$&4%&*' +,' %"&' $)/&' 2)/6/)$&'

./#>4' +,' &*3!#%+,-' 9&9(&$4' )2' +%4' !)993,+%>0' )$' ?2)/6'

-$)3.7@'K&'#$&'.#$%+!3/#$/>'+,%&$&4%&*'+,'%"&'$)/&'2)/6/)$&'!#,'

./#>' +,' &*3!#%+,-' #' !)993,+%>' #()3%' %"&' !)993,+%>7' 84'

C)&/6&,' 4#>4' ?),&' )2' %"&' 6&>' 2&#%3$&4' )2' #' 2)/6' -$)3.'1+//'

#/1#>4'(&' %"&'&<%&,%' %)'1"+!"' +%4')1,'*>,#9+!4'!),%+,3&' %)'

+,2)$9' #,*' &*3!#%&' +%4' 9&9(&$4' #,*' 4%#(+/+N&' %"&' -$)3.@'

FGHIHJ7' K&' (&/+&;&' %"#%0' 34+,-' %&!",)/)->0' 1&' !#,'

4+-,+2+!#,%/>' +9.$);&' %"&' &<%&,%' %)' 1"+!"' #' 2)/6' -$)3.]4'

*>,#9+!4'!#,'+,2)$9'#,*'&*3!#%&'+%4'9&9(&$47''

^+6&' *>&' %"#%' +4' +,:&!%&*' +,%)' #' ;&+,' +,' )$*&$' %)' $&;&#/' %"&'

+,%&$,#/'4%$3!%3$&4')2'),&]4'()*>'),'#,'<5$#>0'%"&'+5(#//4'1&$&'

*&4+-,&*' #4' 6+,*' )2' *>&' %"#%' 2/)14' %"$)3-"' #' -$)3.' #,*'

What are the easy waysto create, run and share code today?

LambdaMOO> exam rubeRube 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 contraptionRosy_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 screenA 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.

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

The Server’d Gentry

We like:

Easy!

Social!

... but we want:

Features!

Ownership!

Control!

Cloning on Ning

Packaging

Distribution

Insta

llatio

n

CloningDeveloper User

The Child App

Timeliner

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

Folk programming =

more people in your project

Cloning.

Forking.

FLOSS licenses

• View the code

• Modify the code

• Redistribute the code

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

Hosted?

Hosted?Source code

Devplatform

Distribution

Hosted?Source code

Devplatform

Distribution

mailinglists

bug tracker

wiki

website

Hosted?Source code

Devplatform

Distribution

mailinglists

bug tracker

wiki

website

Hosted dev environments?

• Google App Engine

• EC2

• Dreamwidth Dreamhack

• Heroku, Kodingen, Reasonably Smart...

Google App Engine

Google App Engine

• Free (no cost)

• Python or Java

• Run your apps on Google’s infrastructure

Google App Engine

• Free (no cost)

• Python or Java

• Run your apps on Google’s infrastructure

• BUT... code them on your own

Amazon EC2

• Servers on demand

• Pre-configured

• Low cost (not quite free)

• Any language

Dreamhack

• Single project (Dreamwidth)

• Shared server

• Pre-configured

• Free

But can you clone it?

But can you clone it?

But can you clone it?

Huge array of diverse data sources

Proximity

Queryability

Openness

Proximity

Low

High

Proximity

• in memory

Low

High

Proximity

• in memory

• local key/value store

Low

High

Proximity

• in memory

• local key/value store

• nearby database server

Low

High

Proximity

• in memory

• local key/value store

• nearby database server

• web API

Low

High

Openness

Low

High

Openness

• US Govt public domain data

Low

High

Openness

• US Govt public domain data

• Creative Commons

Low

High

Openness

• US Govt public domain data

• Creative Commons

• Friendly TOS

Low

High

Openness

• US Govt public domain data

• Creative Commons

• Friendly TOS

• Unfriendly TOS

Low

High

QueryabilityLow

High

Queryability

• scanned, non-OCR documents

Low

High

Queryability

• scanned, non-OCR documents

• text documents

Low

High

Queryability

• scanned, non-OCR documents

• text documents

• structured data

Low

High

Queryability

• scanned, non-OCR documents

• text documents

• structured data

• well-structured data

Low

High

Key points

• FLOSS license

• Easy cloning

• Free, hosted development platform

• Huge array of readily-accessed data

FLOSS Cloning Hosted Data

Github Y Y N N

App Engine ? N Y Y

Amazon EC2 ? N Y Y

Dreamwidth Y N Y N

• Openly licensed database

• ~120M facts about 6.2M topics

• Anyone can edit... including schema

• Open API

Open Code for Open Data

http://freebaseapps.com

*.freebaseapps.com

Open Code

Sharing Code

Sharing Code

Sharing Code

Sharing Code

Sharing Code

Sharing Code

Examples

Data Games

Data Games

Data Games

Data Games

Data Games

Data Games

Data Games

Social Apps

Social Apps

Social Apps

Social Apps

Social Apps

Lessons Learned

Reduced Friction =Increased Collaboration

Collaboration → Dependencies

• What happened? (diff, audit trail)

• Undo the damage (revert)

Collaboration → Dependencies

• What happened? (diff, audit trail)

• Undo the damage (revert)

Collaboration → Dependencies

• What happened? (diff, audit trail)

• Undo the damage (revert)

• Don’t break me! (versioning)

is this the future?

we need betterWeb-based tools

Editors

Debugging

Collaboration

• Source Control

Collaboration

• Source Control

• Diff/Merge

Collaboration

• Source Control

• Diff/Merge

• Collaborative Editing

Collaboration

let’s make it happen

Thanks very much!

• Find our slides on the OSCON site (later)

• Kirrily Robert: kirrily@metaweb.com

• Yoz Grahame: yoz@lindenlab.com

• Jason Douglas: jason@metaweb.com

top related