User:Sweerdenburg/FSOSS 10
Contents
Free Software and Open Source Symposium
This past week I had the pleasure of attending the 2010 iteration of the Free Software and Open Source Symposium (FSOSS). There were a great many workshops and presentations I attended and I felt that I learned a great deal coming out of the symposium. Processing.js and Popcorn.js were the two high-profile technologies in the presentations that I attended, but there were also others. I attended "Federating the Social Web" by James Walker and the Mozilla Drumbeat project presentation by Matt Thompson. Coming from very different backgrounds, they had differing viewpoints on Open Source but in the end they weren't really that different after all.
Federating the Social Web
From two until three I attended James Walker’s talk on “Federating the Social Web”. Walker, or “walkah” as he’s known on Twitter, came from Status.net, a producer of open source microblogging software and a competitor of twitter. Like Twitter, their product StatusNet allows for microbloggings, followings, and all the usual stuff, though he was quick to point out that StatusNet microbloggings aren’t limited to 140 characters.
Early on in his talk, walkah discussed how blogging evolved from these large walls of text written by an individual to these smaller, shorter “microbloggings” with a higher level of interactivity between individuals. As more microblogging services became available and opened up their APIs, cross-site micro blogging began. Once these social internetworks began to form, other services began to crop up. Rather than updating each distinct social network, Ping.fm allows for all your social networks to be updated with one fell swoop. As individuals began to comment on microbloggings on sites other than the source, the need to have comments “swim upstream” arose and the Salmon protocol was developed. With so many social networks that an individual may belong to (Ping.fm boasts support for “Over 100 web and desktop apps”) a common identifying key was needed and the WebFinger protocol came into use. Even with all this, site-specific jargon may still remain in some posts. He gave the great example of the majority of a user's Facebook messages coming from Twitter loaded to the brim with @ signs and # tags, and how one rare instance when the user wrote a Facebook-originating message a Facebook friend had commented on how it was the first of their microbloggings (status updates) that they could understand.
The main focus of his talk was then shown when he discussed their solution: the open OStatus protocol. Like most other protocols (HTTP using TCP/IP) StatusNet doesn’t remake the wheel and makes use of many existing protocols to accomplish something. Through the reuse of existing and well-established protocols, Atom syndication feeds and custom development they have a microblogging solution that promises to be free of these problems. The chosen protocols are:
- Google’s PubSubHubbub (PuSH) protocol is an open protocol which allows inter-network communication between servers and the pushing of stories from publishers to subscribers. This is a more lightweight way of achieving real-time (real enough time) updates than for the client to constantly hammer the server for update requests only to receive the same information over and over again. This can be thought of as the networking equivalent of the Observer Design Pattern in software development and was really quite novel to learn about.
- The aforementioned Salmon protocol is used to help comments “swim upstream” to their source. This will help avoid “conversation fragmentation” as walkah puts it and allows everyone to keep a synchronized communication going. I think this is truly phenomenal, as it means a user with only a Twitter account could discuss something with a user who only has a Facebook account provided they discuss it on a topical thread made by someone who has both.
- ActivityStreams is used to share event information and facilitate non-virtual interaction. This information is then either “PuSHed” downstream to subscribers or “Salmoned” upstream to keep everyone in the loop.
- WebFinger, mentioned above, is a web derivation of the old school Linux protocol finger, which keeps everyone on a system knowing who they are and who everyone else is. With WebFinger, these usually take the form of email address-like structures. Other takes on this is the OpenID concept.
With these protocols combining forces to form OStatus, StatusNet serves as an open source version of Twitter that minds it's messages, where they come from and where they go. The fact that they offer this product free and with a great deal of support on how to integrate it into existing systems is terrific. If another microblogging system isn't supported, it can be simply added in as a patch either from the system owner or from StatusNet themselves. Either way, further functionality is integrated into the system to create a larger whole. The open and extensible nature of it all is great too, considering the scope of it's efforts in inter-networking many dynamic and constantly changing services. What I find really neat about this specific product is that not only does the open source product gives back to its community in that it may provide the mechanism of communication to allow that community to function.
Viewpoint on Open Source
Walkah seems to embrace open source. He works on an open source product (StatusNet), speaks at Open Source Conferences such as FSOSS and is an online community member on many social networks. He has attributed the generic Creative Commons Attribution 2.0 on his Flickr account (something I may update my licensing to). He even used many Creative Commons-licensed photos from Flickr in his presentation. He seems to like open source, what it can do, and what "share and share alike" means as projects grow, componentize, and must eventually integrate existing work so as to avoid building everything from the ground up. His work on StatusNet and OStatus uses many existing open source resources to accomplish a larger whole. With 15 different social network accounts, he seems to love the communication side of things.
Mozilla Drumbeat: Open Innovation for Everyone
Matt Thompson came from the Mozilla Foundation in Toronto to discuss the Drumbeat project and initiative to try and make the web a better place. The online community lead, Matt has won a Webby Award for his advocacy for net neutrality and his work with www.savetheinternet.com.
A large and ambitious project, the long term Vision of Drumbeat is to make the web better and more awesome and to ensure that it remains open, participatory and public over the next 100 years. When asked how they plan to make the web better, the simple answer was through community and the commons, helping people take control of the internet in their lives. This is done through way of sub-projects which are proposed and carried out by community members.
Barely a year old, Drumbeat has a genesis from within Seneca as Anna and Scott presented popcorn.js, a JavaScript library for the WebMadeMovies sub-project. Popcorn provides semantic video by tying context-relevant information together from various sources around the web like Wikipedia, Twitter and Google Maps. This data is then displayed alongside the video at timed points. Popcorn also provides subtitles with translation courtesy of Google Translator. Easy to work with, Popcorn hides the complexities of the web by allowing anyone to configure it through one simple XML file. Despite SeneNet trying its utmost to disallow a demo, live narration and a prerecorded video of the framework in action prevailed.
Matt then went on to discuss another project of theirs, P2PU. P2PU stands for Peer to Peer University and aims to be an open education system free to teach or be taught at. P2PU strives not to produce accredited graduates but to produce knowledge transfer and the sharing of wisdom. Courses are "by anyone, for anyone, about almost anything". Already running, P2PU has continually running courses which presently range from Web Services in Python to Copyright 4 Educators to Athletics: Our Food for Life.
From this point on, the presentation turned into an open forum of Q&A, feedback and scrutiny. Many of the questions centred around how Drumbeat will make the web better. Specifically, the P2PU project had questions focused on what it does. Matt drew a parallel to the second browser war where Microsoft’s Internet Explorer had nearly 100% market saturation (95% by some statistics) and how the browser was making its own standards and enforcing them. With Mozilla competing against IE, web standards came back into focus as more divergent browsers came into common use (since that time, Chrome and Safari have also of course made splashes) and the web became “better”. This point was then expanded on by another audience member, citing self-administered accreditation sites such as W3School’s $95 certifications and the like, whereas P2PU is more about direct sharing of knowledge without the accreditation overhead.
Meanwhile, another audience member brought up how the open source nature of FireSheep and that while it can be used to "demonstrate HTTP Session Hijack attacks", it can also be used as a tool to hijack HTTP sessions over unencrypted networks. An argument was made that the open source nature of such a product actually increased the security risk rather than mitigated it. At this though, more audience members jumped in by citing how typically discoverers of these vulnerabilities notify the creator of the vulnerability and give a 0-date by which the exploit will be made public. In the wrong hands, any security tool can potentially have malicious uses whether open or closed source. This FireSheep example and the Drumbeat/W3Schools questions were what really made this presentation stand out to me. Most presentations are lecture style, though the level of audience involvement made this seem to me like open source in presentation form. Everything from ideas and feats to criticism and solutions were out in the open and for discussion by anyone who wished. Like IRC before IRC.
Viewpoint on Open Source
A self-admitted non-programmer, Matt works for a non-profit organization on a project dedicated to betterment of the web. Combined with his past work on net neutrality, this lends me a very altruistic impression of him, his work and his viewpoints. Even though he does not contribute to the code, Matt’s push for an open and public web seems to embrace the ideals of open source in both the "Free Speech and Free Beer" senses. He garners online community around these projects.
Comparison
Walkah’s discussion of existing open protocols and how they’ve been used by StatusNet to facilitate and standardize a way for their software to communicate with other networks and clients. From the existing Salmon, PuSH, ActivityStreams and WebFinger protocols, they were able to develop a new protocol to synchronize microblogging communication across many networks in a lightweight way. This would’ve been much more difficult or expensive had they chosen proprietary or closed source alternatives. With the open source nature and licenses of the products used to develop OStatus, open source is a great way of facilitating and furthering future development. Open source is a great way for those who want to build or be built upon to make things happen.
Matt’s view on open source is community-centric rather than development-centric, but still very much progressive. Matt's work with building a community for Drumbeat helps get people together. These people in turn have ideas, effort and general human capital which can be focused towards great ends. The fact that Drumbeat allows for people to choose how the internet is shaped, what direction it may take and to be involved from beginning to end builds that capital and lets it octopus like the arms of a git branching tree. Open source is a great way for people who want to build or be built upon to make things happen.
Both Walkah and Matt appreciate different things about open source, but both serve the same ends. Walkah is a web developer who likes technology, making things, and buildings applications up. He likes community and is actively involved with a great number of social networks online, though it seemed his real passion was to develop. Matt on the other hand, is not a developer, but still likes to build and make things happen. Matt takes to the other side of the open source coin: community. He builds community, gets discussion and conversions flowing and through their communication then the software products are born around which the communities can stay, grow and become self-sufficient. While Matt and Walkah come from completely different backgrounds and have different roles in the open source world, they both do essentially the same thing: build and make things happen. From this, and that the two parts feed into each other, it can be said that open source is not just about development any more than it is about community. It is about both.
Conclusion
Coming into FSOSS, my views on open source were more or less what I'd understood through observation. Distributed programming, communication for collaboration, and organization for production and long term goals were all integral parts. I knew community was important to open source life, but reflecting on FSOSS challenged some of those ideas and reinforced others. Community promotes a sense of belonging, kinship and ownership to glue the people together around a project. Through communication and collaboration software is developed. With the foundation of code base and community built, the iterative nature of software development then works its magic not just on the code but on the community as well, continually building both. These two sides, community and coding, feed into each other and are dependent on each other to accomplish anything larger than a single person may be capable of.
I realized open source is like an engine. Ideally, a great many parts work together in symphony to produce work and make things move. The code serve as the gears and are the components that grind and work and produce force and exhaust. The people that work on the code are fittingly the fuel for this engine. But even with those two, the machine will not function. Lots of work may be done but the gears will seize and the machine will go nowhere. The point that I'd already known but was really driven home at FSOSS was the necessity of the third element: oil. The communication, collaboration and organization of the people involved greases the wheels and allows the fuel to work with them.
This is how some projects such as the Linux kernel have stayed alive for 20 years strong, while others like Mozilla Firefox and the openings it allowed for other browsers have unearthed Microsoft's hold on the browser market from the 95% it once held by one third. In fact, some busy sites like W3Schools even show Firefox as having one and a half times the traffic of Internet Explorer. As Walkah discussed that open source allows others to build and connect, Matt discussed it's a way of making a change for the better. Both of these were instrumental in the success of Mozilla, Linux and StatusNet.