Project Darkstar

2007 - 2010
dead us
oracle closed the 7.4 billion dollar sun acquisition on 27 january 2010, and within a week a sun engineer posted on the project darkstar forum that the project was finished. darkstar was java middleware that let you write game server logic as though it were single threaded while the stack ran it in parallel and persisted every task, so a crash could be replayed instead of lost. the community forked the last release as reddwarf server. reddwarfserver.org stopped answering too.

~ the last words ~

Oracle closed its 7.4 billion dollar acquisition of Sun Microsystems on 27 January 2010. Within a week, a Sun representative posted to the Project Darkstar community forum that the project was over. The wording was the kind a company uses when the decision came from somewhere above the person typing: they would keep the source repositories and projectdarkstar.com alive "for as long as we can", and were "investigating other homes" for the code.

Darkstar had started in 1999 as Jeff Kesselman's personal project, then became a research effort inside Sun Labs. The first public release came on 30 August 2007. It was open source, written in Java, and sold as middleware for anyone building a massively multiplayer game or a virtual world. The named enemies in its own documentation were zone overloading and data corruption, which between them describe most of what went wrong in online games during that decade.

The last release was 0.9.11, dated 29 October 2009. Three months later the acquisition closed and the project did not survive the handover. Project Wonderland, Sun's virtual world toolkit, got the same treatment in the same clearout, though its team lead said publicly that they had seen it coming and had already been looking for somewhere to land.

~ the record ~

Born30 August 2007, first public release out of Sun Labs
PeakVersion 0.9.11, released 29 October 2009
Killed2 February 2010
Lifespan2 years, 5 months as a released product, 11 years as a project
Made bySun Microsystems, from Jeff Kesselman's 1999 side project
Killed byOracle, clearing out Sun Labs in its first week of ownership

~ what it actually solved ~

The interesting part of Darkstar was its concurrency model. You wrote your game logic as tasks, in what looked like plain single-threaded Java, and the stack underneath ran everything in parallel and handled the transactions for you. Every task was persisted when it ran, so if a server died mid-flight the work could be replayed on restart in the state it had been in before the crash. Updating a character's inventory was not supposed to be able to corrupt it, no matter where the process fell over.

That is a hard problem, and the reason it is hard is that the abstraction has to hold under load or it is worse than useless. Darkstar never got the chance to be proven wrong at scale, because no commercially significant game shipped on it before Oracle turned off the lights. The version number was still 0.9.

~ the fork ~

The community took the last codebase and relaunched it as RedDwarf Server, inheriting Darkstar's licensing and its mailing list culture, which is what an open source project is supposed to be able to do when its corporate sponsor walks away. It worked for a while. Today projectdarkstar.com does not resolve, and neither does reddwarfserver.org. A SourceForge page for the RedDwarf download is the last public surface either name has.

~ the engineering it was aiming at ~

I write code now for machines that have to keep a coherent picture of the world while flying, with no data center behind them and no second chance on a dropped frame. Darkstar picked the same shape of problem from the other end: let the person writing the application pretend the world is sequential, and make the runtime responsible for the fact that it is not. I never ran a Darkstar server and was never going to, since I have never shipped a game. What is recognizable from here is the bet, which is that the right place to put the hardest code is underneath, in a layer nobody using it has to think about. Sun kept making that bet. Oracle bought the company that made it and spent its first week deciding which of those bets to stop paying for.

~ leave a rose ~

an anonymous tribute. one rose per visitor per day.

@}-->-- ... roses left here

~ leave a wreath ~

a rose fades by morning. a wreath stays on this grave for good, with your name on it.

from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.

» one email a week: new graves and the anniversaries of the dead. subscribe

~ leave a note ~

visitors before you have left these graveside notes. anonymous welcome.

other software: Carmen Sandiego, Adobe Visual Communicator, Railo, Visual Studio App Center

also died in 2010-2014: VizWoz, Adobe Visual Communicator, Wretch.cc

« previous  ·  random  ·  next »