Skip to content


Subversion checkout URL

You can clone with
Download ZIP
sudo social aims to be the an awesome stream publishing environment, suitable for self-hosted homepages, topic hubs, and distributed social networks.
Branch: master
Pull request Compare This branch is 41 commits behind ozten:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.



sudoSocial is a labs experiment around creating a stream publishing platform. Lifestreams, Friendstreams, homepages, and topichubs all rely on streams for data.

Content aggregation has been around for a long time, but there isn't a popular open source self-hosted web app for owning the content and presentation of streams.


Respect for privacy and privacy control preferences are critical features that many users don't notice or care about currently. Privacy isn't an easy choice, there are no set it and forget it preferences. We [builders] can make many nuanced decisions. Example: Don't display timestamps in streams by default. You're leaking information (oh they're writing yelp reviews at work?) that isn't a primary concern. Authoring a lifestream that is displayed on a timeline... then include timestamps as it's relevant data.

Cloud control - full access to the user. Self-hosted, Import, export, delete account. The stream editor could show which entries are public, shared, and private.

Mozilla wants to broaden the community. One goal of this project is to be approachable and hackable for many different types of people.

            ____| CSS - Designer
       _____| Processing.js - Artist
   ____| JS - Web Developer
__| Python - Web Developer

Another goal is to demonstrate a well behaved distributed content publishing system. We want to republish content, but to push the value back into the originating source. Example: Display Flick photos in a really attractive way, send users to Flick as soon as possible, since that app is optimized for viewing and editing photos. Provide 'Like' and 'comment' features, but send that data back to Flickr (OpenLike? and Salmon?). The data the platform provides should be in standard formats (ActivityStreams) and be published with standards based markup (Microformats).

And of course, the overall Mozilla mission of keeping the web open and accessible.


This codebase is tri-licensed


You can use the VirtualBox applicance and your good to go.

This code and data is very early days and subject to change.

If you want to setup from scratch, this is a Django app and borrows from and
Please follow the docs from the zamboni project as well as Django 1.1 docs.


Again, you can find these in the VM, but:

  • Python 2.5
  • Mysql
  • See requirements.txt for Python requirements.


Currently this repository should be named patchouli and not sudoSocial.

What is "patchouli" in the code? This was the working name of the project. This project is a small step towards personal cloud control. In meatspace, Hippies use patchouli instead of showers and deodorant. Respect... I'm a neo-hippie, I'm just say'n.

sudoSocial is a slightly better name. Patches welcome :)


Feeds are fetch and entries are pickled and stored in the database. When a stream is viewed, the appropriate entries are retrieved, and a mapping is made from feed url to an importer. The importer gets to prepare the feed via and then render it via entry.html

Want to customize how a certain feed is handled?

  1. Run bin/
  2. Add a regex to lifestream/ in the websiteFeedType function
  3. Edit lifestream//
  4. Edit templates//entry.html

TODO Put these three items into the same directory.


Feed Fetcher

# m h dom mon dow   command
*/5 * *   *   *     /home/ozten/.virtualenvs/patchouli/bin/python /home/ozten/patchouli/cron/ > /home/ozten/patchouli/cron/feeder.log
Something went wrong with that request. Please try again.