Libre Planet 2009 Presentation

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Libre Planet 2009 Presentation - Presentation Transcript

    1. Engineering for Free Network Services
        • Evan Prodromou, Control Yourself, Inc.
        • Libre Planet, 20 March 2009
    2. Who the...?
      • Evan Prodromou
      • Free Software since 1995
      • Wikitravel
      • Identi.ca
      • autonomo.us
    3. What do we want?
      • To use Network Services in a way that preserves our freedom in the same way that
    4. Free Network Services
      • Franklin Street Statement
        • Free Software + Free Data = Free Service
      • Open Software Service Definition
        • Free Software
        • Free Culture/Data
        • Open Standards
    5. The Sandwich
      • Client
      • Operating System
      • GUI Framework
      • Browser
      • Plugins
      • Server
      • Operating System
      • Web Server
      • Database Server
      • Programming Language
      S ervices H arnessing I nternet T echnology
    6. What we can do
      • Make tasty Free Software replacements for services harnessing Internet technology
      • Use them ourselves
      • Encourage their use
    7. Our advantages
      • The Right Thing
      • Longevity
      • Paranoia
      • Selfishness
      • Greed
      • Pride
    8. Structure
      • Principles for building Free Network Services
      • Using example of Identi.ca/Laconica
    9. 1. Be pragmatic.
      • We're doing this now.
      • Use existing technologies.
      • Use the structure of the Internet as it exists.
    10. 2. Use a Hub-and-Spoke Architecture.
      • AKA “client-server”.
      • Most desktop/laptop/netbook computers don't have a universal permanent address.
      • Most “servers” do.
      • You can put a client and a server on the same machine if you want to.
      • Example: SMTP server
    11. 3. Use the Web.
      • It works.
      • It scales.
      • It's rich.
      • It's ubiquitous.
      • Very smart people are working on it.
      • Installations drop by ~3 orders of magnitude.
    12. 4. Use the FNS-savvy License.
      • Affero General Public License v3 (AGPLv3)
      • Make software license easily visible.
    13. 5. Build in licensing.
      • Use a Free Culture license by default
      • Let users pick their own licenses (emphasizing Free Culture ones)
    14. 6. Use DNS and URLs for Identity.
      • Example: email addresses
      • Example: XMPP
      • Example: Blogs
      • Example: OpenID URLs
    15. 7. Build in federation early
      • Prodromou's principles:
        • If your software has a social aspect, it should support distributed sociality
        • All software has a social aspect
      • OpenID for authentication
      • OAuth for authorization
    16. 8. Support open standards.
      • Makes it easy to build compatible software.
      • FOAF for social graph
      • Atom/RSS
      • RDF where possible.
    17. 9. Be semantic.
      • Support microformats, RDFa, as many feed formats as possible.
      • Meet 3rd-party processors halfway or more.
      • Smart data neutralizes the advantage of proprietary/patented/really smart software.
    18. 10. Be SEM Savvy.
      • Gets more people to see your software
      • Gets more people to use your software
      • Use sitemaps (sitemaps.org)
      • Use ping servers
      • Make everything addressable
      • Use good descriptions, H1s, status codes
      • Bonus : easier for 3rd-party tools to use
    19. 11. Build 0.x protocols.
      • Do something dead simple and obviously stupid to get it started.
      • Example: HTTP/0.9
        • GET URL => <data>
      • Example: OpenMicroBlogging 0.1
    20. 12. Support a range of usage.
      • Download for individual usage
      • Hosted service for communities
      • Major service for individuals
    21. 13. Build to scale. Small installations on commodity Web hosting Medium installations on virtual or leased servers Large installations on many owned servers 10^0 10^1 10^2 10^3 10^4 10^5 10^5 10^6 10^7 10^8
    22. 14. Data dumps.
      • Make a dump available of all public data.
      • Make a dump available of each user's private data to that user.
    23. 15. Data feeds.
      • Make feeds available by default.
      • Push feeds to aggregators.
        • Search
        • Directory
        • Archive
    24. 16. Support other Free Network Services.
      • We advance faster if we work together.
      • OpenStreetMaps
      • Geonames
      • Search Wikia
    25. 17. Engage with proprietary services.
      • Find users where they are.
      • This is the environment we have now.
      • As we fill out the Free Network Services ecology, this becomes less necessary.
    26. 18. Make it easy to share the source.
      • Have a source link on the site by default.
      • Have links to plugins on a “versions” page (like MediaWiki).
    27. 19. Provide a remote API.
      • Stimulates third-party development
      • Allows “mashups”
      • Allows desktop/laptop/mobile clients
    28. 20. Provide a plugin system.
      • Stimulates contribution.
      • Makes it easy to integrate.
      • Gives people a reason to install your software.
    29. 21. Support themes/skins.
      • People like sexy-looking Web sites.
      • Site owners like putting their mark on the site.
      • “ Lite” theming through CSS.
      • “ Heavy” theming through e.g. template engines.
    30. 22. Be international.
      • “Everybody there speaks English.”
      • Let non-English speakers drive the competition.
      • Our translation resources are a huge advantage.
      • Use wikis for documentation.
    31. 23. Make it easy.
      • Your competition is very easy .
      • Installation should be really simple.
      • Setting up an account on an existing server should be cheap or free.
      • Setting up an instance on a hosted service should be reasonably priced and quick.
    32. 24. Use PHP/MySQL
      • C and POSIX for Unix-like systems
      • Build a healthy Free Software community
      • Install on commodity hosting
      • (Should this change? Make it change!)
    33. Further
      • http://autonomo.us/
      • http://identi.ca/evan
      • [email_address]

    + Evan ProdromouEvan Prodromou, 8 months ago

    custom

    308 views, 0 favs, 0 embeds more stats

    My presentation at LibrePlanet 2009 about engineeri more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 308
      • 308 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories