Articles by evan

Evan is a programmer, writer, and entrepreneur based in Montreal, Quebec, Canada. He is the creator of the Laconica platform for microblogging and the Identi.ca microblogging site. He is a longtime contributor to Free Software projects, and an avid supporter of free and open data. Evan is probably best known for creating the Free travel guide, Wikitravel, and contributions to Debian GNU/Linux and MediaWiki. His current projects include Vinismo, a Free wine guide, and Keiki, a Free parenting manual.

blogspam.net

I was alerted by MJ Ray about this great new service for managing blog spam. BlogSpam.net is a gratis service for determining if comments on a blog page are spam or not. It was created by hacker Steve Kemp, announced on his blog on December 30th (”When the light is green, the trap is clean.”). It’s implemented with Free Software,  and as far as I can tell it complies with the Open Software Service Definition. It doesn’t seem to have any persistent data on the server side, so the Open Data requirements of the OSSD are met by default.

I’ve installed the blogspam WordPress plugin on controlyourself.ca and openmicroblogging.org, and it’s already caught about half a dozen spammy comments. It seems to be working really well, which I’m happy about.

I hope that as the software and the service matures, it continues to be aligned in goals with the Franklin Street Statement. I think there’s a great opportunity, with a shared service, to do distributed spam detection, either with Bayesian spam filtering or a fuzzy checksum service like DCC or Vipul’s Razor. If this happens, it’s going to be pretty important to make that accumulated data freely available.

I’m looking forward to the growth of this project, increased sophistication of the checks, and more plugins for other Free Software Web projects. And I hope we can get it installed here at autonomo.us, too!

A few weeks ago, I wrote a post here about the state of Free Network Services for social news. I think we’re moving forward in that area. I’ve got a very initial implementation of the Pligg software, without license metadata, at Criti.ca set up, and I hope to get it ready for full release RSN. I think it might be worthwhile to apply the same attention to some of the other sectors of the Web 2.0 space to help set some goals for Free Network Services.

In this article, I’m going to attempt to cover social networking sites like MySpace, FaceBook, Friendster, Hi5, Bebo, Tribe.net, and Orkut as well as special-purpose networks like LinkedIn. It’s hard to provide a focused definition of this kind of site, but prinicipally users can create a profile page in the service, and then declare that other users are their “friends” and link from their profile page. Some allow “group” pages for affinity groups, sharing music, images, videos and other media, or even custom applications that tap into the social network data.

The format has been wildly successful and many other types of Web applications, like microblogs, social bookmarking, and photo-sharing, provide similar social-networking paradigm and functionality. There’s a fine line between this kind of site and a social aggregator like FriendFeed or SocialThing. Probably the main difference is that social aggregators pull together functionality from around the Web, while social networking sites tend to provide this kind of functionality within the site.

The news in this space is good and bad. Good, because there are a lot of Free and Open Source applications in the area, and also good because most of these work in a distributed model. Bad, though, because there are few or no existing well-known sites that provide social networking services to the public with Free Software (compare Reddit in the social news space). The worst news? Social networking sites like Facebook are some of the most egregious walled gardens on the Internet today — yet they remain incredibly popular.

A lot of software

These are some of the more promising Free Software packages that provide social networking services.
  • Elgg is pulling away as the leader in this area and is rapidly becoming the poster child for Free and Open Source social networking software. I’ve played around a bit with the version at community.elgg.org and it’s definitely a nice piece of software. The developers have put a lot of work into supporting distributed protocols like OpenID, OpenSocial and Open Data Definition, to their credit. The main downsides? First, there’s not a well-known flagship service for general public use — a head-on competitor to Facebook or MySpace. Second, although the data portability is impressive, it would still be nice to have cross-site sociality — so if your profile is on site A and I’m on site B, we can still be “friends” and interact. Finally, there doesn’t seem to be much emphasis in the code for Free and Open Content licenses; I don’t know if it’s possible to mark up pages for Creative Commons licenses, allow users to choose licenses for their data, and require license agreement at signup. I think these can come, though.
  • DiSo is a project we’ve discussed on this blog before (see my Interview with Steve Ivy of the Diso Project). DiSo is built on top of the ubiquitous WordPress blogging software, with special extensions to support semantically-rich links to other people’s blogs. The goal is to create a social network of independent sites — one site per person. I think this is a strong contender, and the emphasis on distribution is laudable; using WordPress gives the opportunity to leverage that platform’s wide array of data-licensing tools, media-sharing, and other cool features. But the software remains pretty new. The ease-of-use is nowhere near competitive with proprietary sites like Facebook. I think DiSo still has a long way to go.
  • AroundMe is another interesting, distributed product, using PHP and MySQL. It used to be aimed at a one-site-per-user model, but has recently moved to a group-collaboration model: one site per group. Each group has a collaboration site, group blog, and wiki; users join the group using OpenID (using, for example, the related Prairie software). I think this is an awesome way to push typical group dynamics into a distributed model, and it uses the increasingly popular OpenID network to achieve that. The downside? Very little of the sociality propagates back to people’s identity server. If I look at your OpenID page, for example, I can’t see the AroundMe groups you’re part of or the people you consider “friends”. I think this model, although promising, needs to push more sociality back into the identity page.
  • NoseRub is a package similar to AroundMe but with more of a global network model. It seems to be doing a better job at “profile aggregation” — tying together people’s profiles from elsewhere on the Web — rather than centralizing in itself. The downside of that, though, is that people are still using non-free services for photo-sharing, video-posting, etc. Probably the most exciting thing about NoseRub is its distributed sociality model — it does a very good job of synchronizing data between sites. There are also a few sites with medium-high profile, like identoo.com, that are providing the software as a service to the public.
  • HelloWorld (de) is a new project that autonomo.us reader Matthias Weiler recently notified us about. I haven’t got the German language skills to decrypt the site, so I’m not 100% sure there’s even software to check out, yet. I think this will be one to watch.
  • I’ve only just poked at it a bit, but the CC Network looks promising, and the software is available under the AGPLv3.
  • The Mugshot Project, part of/related to the Gnome Open Desktop initiative, is an attempt to make something like a social aggregator. I think it’s a step in the right direction, but the functionality hasn’t been built out very well, and the project seems to be moribund (no posts on the blog in 2008, for example). This may not be cause for alarm; Gnome projects are renowned for going dormant for years on end and eventually re-emerging with incredible strength.
  • Many general-purpose community/CMS software packages, such as TikiWiki, Drupal, or Joomla!, have social-networking tools or plugins. To be honest, their social networking tools leave a lot to be desired, and with the exception of Drupal’s well-intentioned but poor efforts in cross-site login, there’s little or no cross-site sociality. The penetration of these kinds of community software packages is incredible, and activating them as a distributed social network would be a huge step forward for this effort.

The protocols

The outlook on the protocol level isn’t particularly heartening. The philosopher’s stone for social networking on the Web will be a standard for distributed sociality: defining “friend” relationships between people and groups with identities on different servers. With the exception of NoseRub, there’s not been much advancement in the area. However, some of the pieces are coming together, and I’d like to mention them here.
  • The aforementioned Open Data Definition standard is intended to allow users to transfer their identities from one server to another. (This has been a goal for the Data Portability project, which seems to be getting more attention.) Currently, it’s only supported by Elgg; I’d like to get it built into Laconi.ca, too, if only for solidarity’s sake.
  • OpenSocial is a project led by Google. It’s an interesting development, but ultimately it’s about providing a platform for widgets that fit into existing (mostly proprietary) social networking services. It does not, for example, allow users of one OpenSocial container site to be social with friends on another container site. I think ultimately social networking software like Elgg will do well to implement this protocol to encourage development and deployment of widgets, but I think it’s insufficient for building a Web-wide social network.
  • Although it’s not normally considered a social networking protocol, OpenID holds a lot of promise in this area. The protocol allows people to associate their identity with a single URL and then use that identity to interact with other people, groups, and data objects on the rest of the Web. To a large part, that’s mostly what a distributed social network is about. What’s missing? Group and social data doesn’t back-propagate to the OpenID provider sites; my identity URL on for example certifi.ca doesn’t have a full-featured profile, links to groups I belong to, or links to the profile pages of my friends. There are some protocols for back-propagating data in the OpenID world, but no one has applied them to the social networking space. A great opportunity, though!
  • XMPP is also an interesting part of this space. It’s distributed, it’s got lots of Open Source implementations, it’s got a strong concept of universal identity and it’s got a refined model for social connections. I think there’s a lot to watch here, and the xmpp social mailing list is an important place to monitor.
There’s a big vacuum in this area in terms of projects and leadership; hopefully efforts like the W3C’s Workshop on the Future of Social Networking will bring more attention to the problem.

What is to be done?

Clearly, we’re reaching a cusp for Free Network Services for social networking. First and foremost, we need some flagship sites with high visibility and traffic. I think public services here are crucial to mass adoption; it’s simply infeasible for inexperienced Facebook or MySpace users to install and manage their own software instances.

A smart business person who wants to break into this crowded market could use the Free Network Service model as a strong differentiator and attract a sophisticated and influential crowd of early adopters to such a site. Using Elgg as an initial platform and applying serious development resources to it would probably give a big leg up. Alternately, non-profit groups may want to provide this kind of service, too.

More important, I think, is going to be the development of a featureful social-networking protocol that the developers of Elgg and other social networking software can implement. I think that such a protocol should definitely include OpenID as an enabling technology for user identity and as the base URL for profile pages; attribute exchange might be a good data platform to start with.

The great part about a good open protocol here is that it can be implemented in software that’s not specifically about social networking. Free and Open Source photo-sharing, video-sharing, microblogging, and social bookmarking software could implement the protocol and tie themselves into a Web-wide social net. Additionally, community CMSes like Drupal and blog software like WordPress could implement the protocol and expand the open network even farther.

There are a lot of challenges. A lot of the advocacy around opening up social networks has been around petitioning existing networks like MySpace or Facebook to open up to the wider world. This has been almost entirely unsuccessful; there’s a strong incentive for these companies — especially the more successful ones — to keep their customer base captive. Social networks are extremely sticky sites; abandoning one means leaving behind all the friends you have there. Finally, thought leaders on the Web have a strong incentive to maintain their presence on existing social networks; they already have influence there. Taking a principled stand is hard. (Let me note that I personally still have a Facebook account and probably will for some time.)

But I believe this is a fight worth fighting. (Some of my colleagues at autonomo.us will probably disagree; hackers are typically pretty sniffy about popular sites and software, and social networking is no exception.) Today’s social Web is one with too many walls, too much manipulation, and too much lock-in. We need to make the social Web look more like the document Web — open, distributed, and interconnected.

I’m proud to announce the second episode of the autonomo.us podcast. In Episode 2: Interview with Jimmy Wales of Wikia, we discuss:

  • Richard Stallman’s quotes in a recent article in the Guardian
  • our efforts to make our own Web site a Free Service
  • our interview with Wikipedia founder Jimmy Wales about Wikia Search, his company’s project to create a Free Network Service for Web search.
The episode is about 53:30 minutes long, and alternative formats are available at the Internet Archive. It includes these musical samples: I had a great time making this podcast with Mako, Brett, and Bradley, and I think we all appreciate the participation of Jimmy Wales in this recording. We recorded on October 18th — one month after our previous recording — but it took me the last couple of weeks to find time to learn Audacity well enough to slice-and-dice this episode and stick in theme music and bumpers and level out the voices and all that jazz. Fun stuff, glad I know it know — and glad we have such great Free Software at our disposal for making recordings like this.

Please comment here or on the Podcast wiki page. I’m looking forward to more exciting podcast recordings in the coming months.

Social News

Social news Web sites have become a staple of many people’s Web experience. Examples include Reddit, Digg, Mixx, Yahoo! Buzz and Propeller. In my opinion, a flagship free network service for social news could be an important part of an open software services ecology.

The Wikipedia article on social news redirects to social bookmarking, which I think is incorrect. Here’s my description: on a typical social news site, users submit URLs for Web sites, images, videos, or news articles. Other users comment on and rate the URLs — usually a binary thumbs-up/thumbs-down vote. Submitted URLs with the highest ranking are shown on the social news site’s front page, and users may also have “personalized” front pages that include only URLs recommended for them. Typically (not always) there’s a social network involved, such that a friend’s submissions or votes matter more than a stranger’s in recommending links for the user.

Digg, in particular, has become an important arbiter of popularity on the Web in 2008. Getting a new link “dugg” and ranked highly, or even put on the front page, can be a make-or-break driver of traffic for bloggers and other site owners. The once-famed Slashdot effect is now dwarfed by Digg’s ability to send traffic to a new site.

There are, of course, some serious downsides. The algorithms for ranking submitted links on most social news sites are proprietary. Data on URLs’ popularity, voting records, the social network itself and the profiles of users on the service is typically put under a strict no-reuse policy (Digg’s public domain dedication being a notable and refreshing exception) and is usually hard to retrieve in bulk. Finally, no current social news site supports a distributed model, e.g. cross-site voting or “friending” protocols.

Software

All of which makes the social news a ripe market for an Open Software Service to move into. There are several Free and Open Source social-news packages available for download. Here are a few notable ones:
  1. Slynkr. This Apache-licensed package drives Sun’s interesting but little-used SDN Share site. Slynkr has a good professional look, but my guess is that its dependence on Java technology is inhibiting its spread on the Web. Getting cheap Java hosting is just not that easy today.
  2. Reddit. A site once neck-and-neck with Digg, but with flagging popularity, Reddit released its source under the CPAL. Reddit’s software, written in Python, has stood the test of time, and has undergone a lot of revisions based on feedback from the site’s active users. reddit.com also supports a Unfortunately, Reddit didn’t follow through with a release of its data under an Open Data license — all data is under a no-lookee-no-touchee personal-use-only user agreement. It would be interesting to see if Reddit can take this important next step and become a real Open Software Service.
  3. Menéame is a fairly popular (Alexa rank: 6878) social news site in Spanish. Its software is available under the old AGPL, and all contents are licensed under the very liberal Creative Commons Attribution 2.5 Spain. As far as I can tell, Menéame is a model Open Software Service, and I strongly suggest its use for Spanish-speaking Web users. The main downside I see is that the software doesn’t seem to support any distributed sociality, so each new installed version will be isolated from existing sites.
  4. Pligg (sounds like…) was originally started as an English-language fork of Menéame, but has been under heavy development for the last two years and is probably at this point significantly more mature than its ancestor. However, the software remains under the old AGPL (ah, copyleft…), although the status of add-on packages in the Pligg Pro shop is kind of mysterious. In any event, the really slick interface (see the interactive demo) and active dev community make Pligg a natural go-to for an Open Software Service. However, no clear leader for a general-purpose social news site using Pligg has come forward, and those that do exist (see http://pliggsites.com/ or Ten Pligg Sites Worth Visiting) don’t typically have an Open Data license. And, again, distribution across installed sites hasn’t happened yet.
  5. sux0r.org is a brand new piece of software, AGPL-licensed, and the default license for shared data on the site is Creative Commons Attribution 3.0. It’s got a lot of interesting features, including Bayesian classification of submissions, and I think it’s worth a close watch.

Next moves

What could a social news site (or sites) that works well in an Open Software Services ecology look like? First, it’s probably clear that a single leader is necessary, to get the kind of traffic numbers that will drive people to submit and rank stories. Second, it will have to leverage its Open Source software with a networked voting system, such that adding more services to the site will stimulate a network effect. Letting groups and users create their own sites that use the same software, but feed data and users into the rest of the network, would really grow the project and make it more valuable.

I encourage anyone interested in helping to move forward Free Network Services to look into this problem. Just installing Pligg or Reddit and adding liberal data-sharing provisions is going to be a big win. (If it was me, I’d scrape that nice public-domain data from Digg, too. Why not?) The distributed social news problem is a hard one, but ultimately (I think) necessary to the project.

There’s an interesting, brief article in the Guardian Technology section today: Cloud computing is a trap, warns GNU founder Richard Stallman. In it, Richard Stallman is quoted as saying about cloud computing:

“It’s stupidity. It’s worse than stupidity: it’s a marketing hype campaign.”
Later in the article he elucidates further:
“One reason you should not use web applications to do your computing is that you lose control,” he said. “It’s just as bad as using a proprietary program. Do your own computing on your own computer with your copy of a freedom-respecting program. If you use a proprietary program or somebody else’s web server, you’re defenceless. You’re putty in the hands of whoever developed that software.”
I don’t think it would surprise anyone that I respectfully disagree with this statement. I’m very supportive of his concern about cloud computing, and I agree that it’s something that the Free Software and Free Culture communities need to address. But in rejecting all network computing, I think RMS has thrown out the baby with the bathwater. I don’t believe loss of absolute control means that you lose your autonomy completely. And I think that exchanging some control in order to participate in social, collaborative computing is ultimately enriching for individuals and for society.

Here’s an admittedly overstretched metaphor: I live in a house where I control everything* — the temperature, where the furniture is placed, how much and what kind of food is in the cupboards. I can go in any room in the house whenever I want, and I can change whatever I want. Great.

I wouldn’t want to spend any time in jail. In jail, I have very, very limited freedom, and there are hostile fellow inmates and in some jails interrogations and beatings. It is a really bad place to spend any amount of time.

But I do like to go visit my friends’ and family members’ houses. I don’t have absolute freedom to do whatever I want at their house, but I get to spend time with people I like, enjoy their hospitality, and also see the way other people live for a little while. By having an informal custom of hospitality interchange, I and my friends and social network get to enjoy more of the world than we would just in our own houses.

If friends’ houses were more like jail, I wouldn’t want to go. If a friend told me that I couldn’t talk about politics in her house (say), or another required everyone who visited to be strip-searched at the door, I’d of course not visit (and hopefully would be allowed to leave). But I usually can expect a certain level of autonomy in my person and in my effects that is acceptable and comfortable.

Going places I don’t individually control — restaurants, museums, retail stores, public parks — enriches my life immeasurably. A definition of “freedom” where I couldn’t leave my own house because it was the only space I had absolute control over would not feel very free to me at all. At the same time, I think there are some places I just don’t want to go — my freedom and physical well-being wouldn’t be protected or respected there.

Similarly, I think that using network services makes my computing life fuller and more satisfying. I can do more things and be a more effective person by spring-boarding off the software on other peoples’ computers than just with my own. I may not control your email server, but I enjoy sending you email, and I think it makes both of our lives better.

And I think that just as we can define a level of personal autonomy that we expect in places that belong to other people or groups, we should be able to define a level of autonomy that we can expect when using software on other people’s computers. Can we make working on network services more like visiting a friends’ house than like being locked in a jail?

We’ve made a balance between the absolute don’t-use-other-people’s-computers argument and the maybe-it’s-OK-sometimes argument in the Franklin Street Statement. Time will tell whether we can craft a culture around Free Network Services that is respectful of users’ autonomy, such that we can use other computers with some measure of confidence.

  • For hypothetical purposes. My wife and daughter would probably dispute this claim.

One of the things we’re planning for autonomo.us over the next few months is production of a podcast on a monthly basis. We just recorded our first episode on September 18th, the 6-month anniversary of the “mini-summit” meeting that launched the Franklin Street Statement and the autonomo.us group. Many of the original summit attendees called in to talk about the state of Free Network Services and the future of our project.

Our next episode will be an interview with Jimmy Wales and Gil Penchina of Wikia. Wikia is working on a Free and Open Source search engine service, with Open Data. Dubbed Wikia Search, it seems to be the closest thing that we have today to a Free Network Service for search. We’ll be asking Jimmy and Gil about their plans for Wikia Search, the underlying technology, the licensing for software and data, and the involvement of the great Internet community in their project. I’m also interested in their take on Free Network Service businesses, since Wikia is one right now.

The episode after that, we’ll have on Brion Vibber, CTO of the Wikimedia Foundation, to talk about Wikipedia and other Wikimedia projects. Wikipedia is probably the most popular Free Network Service on the Web, and we’ll talk about Brion’s dedication to using 100% Free Software for this massive Web site.

Future episodes? I’d love to talk to folks from Automattic about WordPress.com and their other services. Maybe a round table on the Affero GPL? Distributed programming models? Libre Services?

If you have any questions for our upcoming guests, or you can think of other subjects or topics we should cover in future podcast episodes, drop us a comment here and let us know. We’re interested in exploring the space around Free Network Services and I think we’ve got some interesting discussion ahead of us.

I’ve proposed a panel discussion on issues of Autonomy in the Cloud for the upcoming South by Southwest Interactive in March 2009.

I think that SxSW is a potentially very friendly crowd where network services and cloud computing are a hot topic and Free and Open Source software are favourably considered. It’s a great place for us to be challenging the conventional wisdom that freedom and autonomy aren’t important “in the cloud”.

Ideally the panel would comprise members of the autonomo.us group, other people interested in autonomy and software-as-a-service, and maybe some dissenters to make the whole thing interesting.

If you’re interested in user autonomy, the Franklin Street Statement, and Open Software Services, please take a few moments to register for the Panelpicker and vote for the above panel. Tell your friends, colleagues, and neighbors, vote early, vote often! Thanks!

It’s interesting to see that fairly popular social bookmarking site Magnolia has announced their plan to make the next version of their software Free and Open Source Software. Magnolia’s had an “open” strategy for a while, with support of OpenID for authentication, xFolk for bookmarks HTML, and other open-ish things that give them an edge in the early adopter community.

Social bookmarking is a pretty crowded field on the Web, with delicious.com (formerly del.icio.us) taking the greatest amount of mindshare, although I have no idea if they’re still holding the majority of the market. The increased use of bookmarking tool aggregators like ShareThis show that the gaggle of bookmarking sites is a little confusing for everyone. In this kind of market, taking the Free Network Service road is a great chance to differentiate.

I hope that the plan to make their “next version”, dubbed “M2″, Free Software doesn’t devolve into never making the software Free and Open Source. I also hope they review carefully the Open Software Service Definition and consider making ma.gnolia.com an OSSD-compliant site. Ma.gnolia.com already allows users to apply a Creative Commons license to their bookmark stream, although they default to the Attribution-NonCommercial-ShareAlike which doesn’t meet the Free Cultural Works Definition. I think they should consider long and hard how to make all data (except data the user marks as private) Open Culture.

What I find most heartening is the M2 project charter (PDF, 190KB), which shows they’ve really thought through the distributed nature of the software. As I mentioned with identi.ca, making a social networking site’s software Open Source is an empty gesture if people on different servers can’t connect socially. It looks like M2 will have ways to aggregate various M2 instances together, and even aggregate the aggregators.

Good luck to Ma.gnolia.com on this project. I hope they can rally a community around it, reach out to other Open Source bookmarking projects to implement a common distributed protocol, and generally just rock out. A Free Network Service for social bookmarking would be an excellent addition to an open software services ecology.

The announcement of the DiSo Project in December of 2007 was a great encouragement for people on the Web who are worried about identity silos, “walled gardens”, and user lock-in on social networking platforms. Since so many of these subjects are closely related to user autonomy, I did an interview with Steve Ivy about the origins and goals of DiSo, current progress, and where he things things are going in the future.

Read the rest of this entry »

Kragen Sitaker has been working for years on the problem of making Web sites and other network services that respect users’ autonomy in the same way Free Software does. When we initiated the group that became the autonomo.us project, his writings were important in shaping my thinking on the subject. I wanted to take some space on this blog to point to some of his more interesting essays.

Read the rest of this entry »

« Older entries