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.
The value for the open source ecosystem
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
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
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
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.
to post comments)