Two new open source projects were unveiled to the public in the closing days of July, both from companies better known for producing proprietary products: British mobile network provider Vodafone and US defense contractor Lockheed Martin. Vodafone released the source code to its Wayfinder Navigator mobile mapping-and-routing system, several months after announcing the end of the commercial Wayfinder product line. Lockheed Martin launched an "enterprise social network" system called EurekaStreams, which the company continues to use internally and suggests will become a commercial product in the future. The two products could hardly be more different, and neither could the two approaches taken by the projects.
Wayfinder Navigator was a client-server navigation system; the maps were stored on the server, and the server searched for address and calculated routes, relaying its results to the handheld client. Vodafone purchased Wayfinder Systems AB in 2008, and sold subscriptions to the Wayfinder system to its mobile customers as a revenue stream.
As mapping enthusiasts would no doubt guess, that business model began to lose money once competition from completely free services like Google Maps picked up. Vodafone announced Wayfinder's end-of-life in March, refunding the balance of subscriptions already paid by customers.
The open source project was announced on July 13, hosted at oss.wayfinder.com. The initial code release included the back-end server, client code for Android, iPhone, and Symbian S60 devices, a partially-finished client application written in C++, and a suite of tools for performing map conversion and managing a cluster of Wayfinder servers. All of the code was placed under a BSD-style license, and the source put into public repositories at GitHub. Subsequently, a sample set of Tele Atlas map data was released, under separate license terms that permit its use only for software development.
The server code as posted has been modified to use OpenStreetMap map data instead of the proprietary Tele Atlas maps that had been used by Vodafone. The project site cautions that differences between the maps may make routing unreliable at present. Vodafone engineers posted to the Wayfinder forum that there is no more code on way, particularly not the Maemo Wayfinder client that shipped for Nokia's N800 and N810 Internet tablets. The reason given is that the Maemo development team had long since departed, and Vodafone could not perform the audit necessary to ensure that the client code was entirely its to release.
As for the development of the code base from this point forward, Vodafone's intentions are murky. The GitHub repositories are read-only for the present, although the FAQ page solicits patches by email, and suggests that outside contributors can request write access. There does seem to be a small contingent of Wayfinder developers monitoring the project wiki, discussion forum, and blog, willing to answer questions. The project's documentation is also thorough, covering server-side installation, client compilation, map conversion, and, more importantly, documenting the server functions, API, and client-server communications protocol. On the down side, there have not been any commits to the GitHub code by Vodafone developers since the first release.
EurekaStreams is a web-based social network designed for use across a large enterprise. Lockheed Martin developed it in-house, and uses it for internal communications. The public "community" EurekaStreams project was launched on July 28. Its code is also hosted at GitHub, and all code is placed under the Apache 2.0 license.
By "enterprise social network," EurekaStreams means a single site hosting individual user accounts and permitting an array of in-network messaging and group collaboration methods. On the surface, the EurekaStreams site featured in the marketing and demonstration seems to take its cues from Facebook, although it is intended to run within a single company network and lacks several functions that commercial services feature, from ad serving to instant messaging.
Digging into the documentation, the emphasis is placed on conversation streams, and its list of features falls somewhere in between that of a basic microblogging platform and a full-blown bells-and-whistles site like those offered by Facebook and MySpace. EurekaStreams supports "follow" relationships (as opposed to bilateral "friend" relationships) between users, detailed profile pages, groups, lists, and searchable hash tags inside status updates.
The public messages are not limited to plain status updates, however; link- and media-embedding is allowed, as is posting to "group streams" instead of the user's personal stream, and the system will gladly consume any publicly-retrievable feed, such as Google Reader or Del.icio.us bookmarks. The messaging format is based on OpenSocial 0.9, which also makes writing embeddable "social gadget" web applications possible. The documentation discusses this, but does not provide any OpenSocial gadgets in the default setup.
EurekaStreams is designed to run on Apache, and uses several well-known open source components: Lucene for search, Memcache for caching, PostgreSQL and Hibernate for storage, and Shindig for the OpenSocial implementation. The documentation provides a thorough specification of the system's architecture, from the conceptual design right down to the persistence and notification frameworks.
On the development end, the project is demonstrably still active. There has been ongoing activity since the project's release, reportedly from Lockheed Martin's original EurekaStreams development team. There are more than 130 open issues in the bug tracker, which is publicly accessible, and an active mailing list on which Lockheed Martin engineers interact with third-parties. One of the EurekaStreams developers said on his blog, however, that write access to the source repository itself will remain closed to outside contributors for the foreseeable future.
As is always the case when a large entity launches a new open source project with a substantial code base, the big question remains what impact either of these newcomers will have on the existing open source ecosystem.
The open source Wayfinder certainly has a lot of competition in the free mapping software space. There are numerous navigation applications for desktop Linux systems as well as for Android, Maemo, and MeeGo. Wayfinder is different in that provides a routing engine, which most open source clients do not. The routing algorithm is also documented, which could lead to its transplanting into other projects. Wayfinder also reportedly enjoyed a good reputation for its accessibility by hearing- and seeing-impaired users, something in which the open source competition does not receive high marks, and the code base covers two mobile platforms not often given attention by projects that begin as open source: iPhone and Symbian.
On the other hand, Wayfinder is also unique in its client-server design; most of the mobile open source applications are either client-only or depend on calculating routes and adding map tiles at a desktop computer in advance. The client-server model might be more convenient for those users with low-resource handheld devices, but a completely free routing server will not be easy to deploy. The OpenStreetMap project itself restricts API usage in order to keep its hosting costs under control — running a free OSM-based mobile service on a large scale either has to overcome the local map storage problem, or running a Wayfinder routing server separately.
EurekaStreams is most often compared to StatusNet in the open source social networking circle. In many ways, the feature sets do overlap, especially given both projects emphasis on real-time notification passing. EurekaStreams adds a bit more than microblogging, with a richer user profile system, built-in link-sharing, lists, and saved search streams. For its part, StatusNet supports plugins that can add many of those features, including expanded profiles, bookmark sharing, and file attachments other than images.
But StatusNet is also built around the OStatus protocol, which supports several features that are not currently implemented in StatusNet itself. OStatus incorporates ActivityStreams, which includes several message types beyond basic status updates, including "follow," "share," and "tag" alerts. Even more importantly, OStatus supports federation between independent sites, through the use of Salmon and PortableContacts. The EurekaStreams project sells potential customers on its highly-scalable architecture, but by all accounts, it still implements a social network designed to pass messages solely inside its own four walls.
Some early assessments of the open source Wayfinder project deemed it a code dump, with Vodafone setting its unwanted software out on the curb. If it is, and Vodafone has no intention of maintaining the code base, there is a window for outside developers to take up interest in the project before it falls into obsolescence. It is probably too early to make a final judgment on that; to its credit the company has at least been monitoring the project's activity and says it is open to outside contributors. Without full-time development, though, third-party developers may find it more attractive to sift through the GitHub repository for bits of reusable code simply to take home to their own applications.
EurekaStreams, in contrast, is far from finished. Not only does Lockheed Martin use it internally, but it appears to be undergoing constant development, and the company openly discusses plans to sell paid versions of the package to enterprises. Whether or not that proves a viable business model is yet to be seen. The social networking space is very young, and the competing open source projects even disagree on standards. EurekaStreams is certainly an impressive-looking stack at present; developers looking to start their own social networking system from scratch (such as Diaspora) could save themselves a lot of time and effort by at least taking a hard look at what it offers now.
Whatever the cause, thanks for making me look forward to hacking code these days.
Newsletters and articlesresponds to the GNOME census and the criticisms of Canonical which have followed. "What the report doesnt take into account are upstream contributions that are built on the GNOME platform but (a) not part of official GNOME modules, and (b) hosted and developed elsewhere, such as Launchpad. As such, while the report is accurate for showing code and contributions accepted into GNOME, there are also many projects built on GNOME technology that are not taken into account due to non-inclusion in GNOME modules or being developed outside of GNOME infrastructure."
Page editor: Jonathan Corbet
Next page: Announcements>>
Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds