Tuesday, June 1, 2010

Open Source Bridge - Open Source and the Open Social Web

Evan Prodromou, StatusNet Inc. Communications Revolutions
  • email
    • ca. 1993
      • large consumer systems
      • university networks on internet
      • govt systems
      • proprietary systems inside corporations
      • x.400 - itu recommendation, govt mandated
      • ad-hoc bridges
      • bbses (fidonet)
    • ca. 1995
      • only 18 months later, almost entirely unified around internet email
      • hierarchical addressing - user@domain
      • bbs -> isp
      • aol opens up
      • bbses almost disappeared
      • open source via sendmail was an important catalyst
  • documents
    • ca. 1992
      • proprietary, complex internal systems
      • some file sharing bbses
      • aol, compuserve
      • some ftp systems
    • ca. 1997
      • web documents almost ubiquitous
      • hierarchical addressing
      • intranet/internet/extranet
      • http + html
      • open source via apache is an important catalyst
  • personal publishing
    • ca. 2001
      • "home page" on isp
      • geocities, tripod
      • frontier, blogger
      • rss confusion
      • personal vs. business
    • ca. 2005
      • hosted blogs ubiquitous
      • urls for identity
      • feed readers
      • podcasting (enclosures)
      • rss 1.0, 2.0, atom: more than we need!
      • personal and business -- line blurs
      • open source: moveable type, wordpress
  • what's the point?
    • revolutions happen quickly
    • unconnected islands--federated networks
    • commercial adoption drives need for control
    • open source implementation is key
  • why open source?
    • low or no-cost to install
    • bottom-up adoption
      • people with more tech skills than money, not the other way around
    • rapid innovation as things scale
      • open source adopts rapid innovation better than proprietary software
  • what is federation?
    • network of networks
    • open protocols
    • uniform namespace
    • hierarchical addressing
    • anyone can play
  • other federated networks
    • postal system (country + postal code + local addressing)
    • telephone systems
    • sms
    • tcp/ip
    • dns
  • what drives federation on the internet?
    • tcp/ip
    • dns
    • scale
    • globalism
  • what drives federation?
    • control
    • distrust
    • greed
  • metcalfe's law
    • value of network proportional to the square of the number of nodes
    • the more the merrier--much, much merrier
    • "value" is a little vague--depends on the particular network
  • metcalfe's law and federation
    • big networks more resistant to change initially
    • as network of networks gets bigger, puts pressure on the bigger networks to participate
  • social software: 2010
    • facebook: 400M+ users
    • twitter: 100M+ users
    • application-specific networks threatened: flickr, digg, youtube
    • national networks threatened: orkut, friendster, bebo, hi-5
    • niche networks threatened: linkedin, ning
    • social gaming
      • pressure on social gaming developers to use biggest platform
  • one vision
    • some networks become de facto substrate for internet
      • facebook: "open" social graph
      • twitter: social messaging, "real time"
    • "open" means "use our API"
    • "shoot the moon" approach is a doable vision--it does happen
      • skype for voice
      • google for search
  • another vision--federated vision
    • commercial adoption of social messaging
      • businesses looking to share outside their firewall
    • need to connect
    • threatened networks fight to survive
      • one way to survive is to adopt leading networks' social graph
      • another way to survive is through federation
    • open govt requires 100% engagement
      • pay taxes through facebook? twitter as only means to connect to my members of congress?
      • systems need to be open for engagement with citizens
    • business needs of providers
      • hard to run a business using the "we're the X layer of the internet" model
  • Social Software - 2012?
    • email like identity, either email or URL
    • distributed real-time follow
    • combination of small and large networks
      • combo of public/private
    • application-specific networks, e.g. social gaming, photo sharing, etc. will move towards open standards
  • why should hackers care?
    • most important parts of our life: family, friends, romance
      • being social is a huge part of being a human being
    • politics require open discourse
      • need to continue to push for openness
    • making software that matters
      • can have a very large impact
  • protocol suites
    • email has smtp, mime, etc.
    • web = http, html, css, etc.
    • blogging = web, rss, atom, etc.
    • social web = ???
      • what will the protocols be that make up this system?
    • everything is made up of a combination of standards
  • openid
    • http://openid.net
    • authentication
    • url for identity
    • devolving to a few identity providers (google, yahoo)
    • whitelist oriented
  • oauth
    • http://oauth.net
    • authorization
    • widely implemented
    • whitelist oriented (consumer keys)
    • not a lot of social parts
    • authentication (e.g. sign in with twitter)
  • PubSubHubbub
    • http://code.google.com/p/pubsubhubbub
    • real-time publishing ("Pu$H")
    • atom or rss-based
    • web hooks
    • great support: google buzz, posterous, tumblr, wordpress, livejournal, statusnet, cliqset ...
      • lots of people prepared to be publisher, not too many prepared to be subscriber
  • activitystreams
    • http://activitystrea.ms
    • represent social actions in atom with xml namespace extension
    • subject, verb, object
    • "evan published a photo"
    • powerful when combined with pubsubhubbub
    • can push activities to people who are interested across the web
  • salmon
  • webfinger
    • http://code.google.com/p/webfinger
    • email-like identity for the web (user@domain)
    • xml document format matches identity to urls (my photo service is x, my social messaging service is Y, my profile is Z ...)
    • lrdd uses urls instead of webfingers
  • portable contacts
    • http://portablecontacts.net
    • define social relationships
    • static social graph
    • user-controlled sharing of contact data
    • compare: xfn, foaf
  • ostatus
    • http://ostatus.org
    • combines various protocols -- first stake in the ground towards building social web systems
    • created by statusnet
    • webfinger + lrdd = discovery
    • push + activitystreams = follow
    • salmon + activitystreams = reply
    • activitystreams + poco = profile
  • xmpp
    • http://xmpp.org
    • originally developed for IM (Jabber)
    • distributed system with email-like identifiers
    • social relationships = buddy list
    • profile = vcard
    • supports publish-subscribe
    • not widely implemented, not http based
      • can be difficult to work with, but very nicely federated
  • what's missing?
    • privacy
    • client API
    • microapps
  • the open source enabler
    • who will be the apache of the open social web?
    • not sure yet
    • many contenders
      • statusnet is a good start
    • trying to work with others providing open social network code so things work well together
  • diaspora
    • http://joindiaspora.com
    • 4 students in nyc, 1 summer, $200K!
    • ostatus-like stack
    • ruby on rails
    • agplv3
    • no working version ... yet
    • very interested in using the stack of existing technologies
    • if they're able to pull this off, they'll be an important part of the federated social web
  • DiSo
    • http://www.diso-project.org
    • based on wordpress
    • chris messina, steve ivy
    • xfn
    • leading activitystreams
    • have had some problems getting traction
  • Elgg
    • http://elgg.org
    • most advanced general purpose social network
    • LAMP
      • any time you use something other than LAMP you're limiting the popularity
    • commercial hosting system http://elgg.com
    • some federation (push), more coming
    • lorea fork/branch leading the way with elgg federation
    • gplv2
  • gnu social
  • buddypress
    • http://buddypress.org
    • general purpose social network
    • automattic project, very nicely done
    • lamp
    • gplv2
    • very little federation
  • statusnet
    • http://status.net
    • microblogging server
    • lamp
    • agplv3
    • ostatus for federation
    • twitter-like api
    • plugin architecture
    • identi.ca + 25K other sites on the web, 1.5 million users
  • onesocialweb
    • http://onesocialweb.org
    • vodaphone project
    • uses xmpp as core protocol
    • java plugin for openfire server
    • one of the worst things that can happen now is competing standards
  • others
    • aroundme
    • appleseed
    • crabgrass
    • noserub
  • what next?
    • projects working together
    • integration testing
    • real-life usage
    • innovation
    • growth
  • how to help
    • hack
    • translate
    • theme
    • implement
    • use
    • spread

No comments: