Your SlideShare is downloading. ×
0
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Libre Planet 2009 Presentation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Libre Planet 2009 Presentation

547

Published on

My presentation at LibrePlanet 2009 about engineering free network services.

My presentation at LibrePlanet 2009 about engineering free network services.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
547
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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]

    ×