Could Microsoft's Photosynth Have Been Free Software?
Photosynth is one of the most exciting programs I've seen in a long time. It takes a group of photos, typically of a single geographical location, but possibly taken at different times by different people, analyses them for similarities, and then stitches then together into a smooth-flowing, pseudo-3D panorama. It's really great. Just two problems. One: it won't run on GNU/Linux; and two: it's from Microsoft, and so is unlikely ever to do so.
My question is this: Why didn't the free software community come up with Photosynth first?
Ten years ago, or maybe even five, that would have been a ridiculous question for most people. Free software was widely regarded as many things – wacky, cool, generous, unusual, fun – but hardly innovative. Indeed, one of the commonest accusations against open source was that it was “chasing tail-lights” as Microsoft's Jim Allchin famously put it in the first Halloween Document. Today, that is no longer a tenable position.
Just look at the contrasting receptions accorded to Microsoft Vista and Ubuntu's Hardy Heron. Where the former has been a rather pathetic damp squib, with people actively avoiding it in favour of XP, the mounting excitement in the days leading up to the launch of Hardy was almost palpable (even if there were a few grumbles afterwards about disappointed expectations). Quite simply, GNU/Linux (and the Apple Mac) are now where people expect new and exciting things.
It could be argued that for all its popularity, Ubuntu is hardly innovative. But the same could not be said about Firefox. It may have caught on initially by offering what was effectively a better Internet Explorer – faster and more secure – but with the arrival of version 3, it is clear that Firefox is now setting the pace. That includes obvious elements like the “AwesomeBar” - which, despite my extreme scepticism in the face of this immodest name, I have indeed found to be truly awesome - as well as a host of more subtle improvements in terms of speed and memory management. Moreover, the Firefox team are already aiming to do better thanks to things like TraceMonkey:
an evolution of Firefox's SpiderMonkey JavaScript engine for Firefox 3.1 that uses a new kind of Just-In-Time (JIT) compiler to boost JS performance by an order of magnitude or more.
If you want another example of where open source is innovating in ways closed source can only dream about, I offer Apache for your perusal. What began as a quick hack around some code that was being neglected has turned into not only the backbone of the public Web – despite Microsoft's desperate efforts to knock it off its perch – but also an entire system for nurturing and managing open source projects. This latter aspect, crystallised in the Apache Software Foundation, may ultimately prove even more important that the original Apache code, which one day will doubtless be superseded. Coming up with a lightweight model of governance for software - the “Apache Way” - is something that will live on.
Still not convinced? Take a look at Blender. Most people know this as a really neat 3D drawing program, but recently it has moved far beyond that. It has been used to create high-quality open source animations – all of the data files are freely available - and is currently being applied to develop an open source game. In other words, Blender is no longer simply a program, but an entire software ecosystem of interlocking capabilities.
Against this background of continuing and accelerating innovation, my question is therefore why Photosynth came from Microsoft, and whether it could have been open source instead. To answer that question, it's helpful to understand how exactly Photosynth was created. Here is Microsoft's description of what happened:
In 2006 Microsoft acquired small, Seattle-area startup Seadragon, whose technology is capable of delivering a buttery smooth experience browsing massive quantities of visual information over the Internet. It is all the detail you want, exactly when you want it, with predictable performance regardless of the amount of data—from megapixels to gigapixels.
The same year, from the groundbreaking research of Noah Snavely (UW), Steve Seitz (UW), and Richard Szeliski (Microsoft Research), a prototype called ‘photo tourism’ was born. The idea was simple: given a few dozen or few hundred photos of a place, is there enough information to reconstruct a 3D model of that place? The advanced computer vision techniques pioneered in pursuit of this goal form the basis of the synther.
Together these incredible tools are the foundation that makes Photosynth work. The synther requires large amounts of visual data to generate its 3D environments, and Seadragon technology makes it possible.
Seeing the promise in the product, Microsoft Live Labs built a small startup team to incubate the Photosynth project. Collaborating with teams around Microsoft, including Virtual Earth, Microsoft Research, Windows Live, and others, they have been hard at work making Photosynth more than just a prototype, creating an experience that anyone can enjoy and where anyone can create something amazing...
From this it's clear that Photosynth is the result of Microsoft having lots of money to buy young companies with innovative technologies, invest in advanced, “pure” research, and then put together an internal startup. So how can free software hope to compete?
The innovative technologies part shouldn't be a problem. Free software is about trying stuff out, following hunches and generally having fun with code: all of these feed directly into the creation of new and exciting software.
The “pure”, speculative research side is more tricky – not because such “blue-sky” work doesn't happen outside deep-pocketed companies like Microsoft, but because increasingly there is a pressure on academics in universities to make money from their discoveries. This is part of a larger problem – the commercialisation of science – that adversely affects free software in other ways through things like patents.
One way around this is for companies that proclaim themselves to be friendly to open source – IBM, Sun etc. - to make more of their research freely available to the open source world. In doing so, they would be recognising that it may be in their long-term interests not to commercialise such research in the short term, but to allow the community to build on it. Another tack would be for academics to stand up for themselves – and their research – by refusing to acquiesce in the mindless exploitation of their work for short-term financial rewards without due consideration being given to alternatives, like working with the free software community to produce longer-term and broader social benefits (easier said than done, admittedly.)
The final phase noted by Microsoft – the creation of internal startups – is perhaps the most problematic, because of the inherently fragmented, decentralised nature of the open source world. Until recently, there have been no natural homes for such teams trying to turn new ideas into new tools. But once more, I think that Firefox has shown the way. Mozila has managed to create a structure that allows development work to be supported just like in traditional software companies, but without losing all of the extra benefits of being based on open code supported by an open community. It's not hard to imagine a more ambitious Mozilla creating small startup teams in the future to drive the kind of innovative work that has led to Photosynth.
Whether within Mozilla, the Apache Software Foundation, or some entirely new entity, perhaps funded by open source companies and supporters specifically for this purpose, the free software world needs to find a way to move beyond its present, undeniable achievements, and start to match and surpass Microsoft in what is perhaps the last area where the Redmond behemoth can plausibly claim to be ahead. If it doesn't, then open source will always be chasing those tail-lights.