Eric Woodruff takes over Sandcastle

Eric Woodruff has taken over all future maintenance of the Sandcastle documentation compiler. The newly fixed release, plus Eric’s existing GUI and improved style sheets, are now included in his Sandcastle Help File Builder.

On the bright side, this is the best thing that could possibly have happened to the project. In the past six years Eric has single-handedly created an invaluable GUI frontend, fixed numerous bugs, and answered countless questions about Sandcastle. Informally, he’s been the principal maintainer for quite a while, and I’m very happy that he has decided to continue and extend this role.

The dark side is what the rest of this post is about. Sandcastle was an official Microsoft project and quite significant to .NET developers. After letting it languish for years Microsoft has now simply abandonded it, without as much as an announcement or any attempt to facilitate a transition. Let’s have a look at the timeline:

  1. Microsoft announces Sandcastle as a free download on 29 June 2006. This contributes to Kevin Downs’ decision to halt development on his very popular NDoc documentation compiler before its final release for .NET 2.0, leaving developers in limbo for many months until Sandcastle starts coming together.
  2. Sandcastle is eventually released but barely usable. There is no GUI, and getting the thing to run is absurdly complicated. Fortunately, independent developer Eric Woodruff soon creates the excellent Sandcastle Help File Builder which essentially provides an NDoc-like GUI for Sandcastle.
  3. Development on Sandcastle continues to be slow and sporadic, and the product remains plagued by many obvious bugs. Eric starts another project, Sandcastle Styles, that attempts to fix whatever issues are fixable by modifying XSLT style sheets.
  4. Soon any feedback on Sandcastle issues is provided almost exclusively by Eric Woodruff, whose replies to inquiries and bug reports are amazingly prompt and knowledgeable. Official Sandcastle releases are very rare – two in 2008, then the last one in June 2010.
  5. Now the official side of the project goes completely dark, with no new releases or status updates – but the project is never officially abandonded, either. By the end of January 2012, Eric has had enough and announces that he intends to take over maintenance of the Sandcastle core project.
  6. You’d think Microsoft would be ecstatic to have such loyal and devoted outside developers. You’d be wrong. For a full three months, Eric waits in vain for a proper transfer of the project. In April he finally goes ahead, decompiles several Sandcastle tools to get at sources which Microsoft can’t be bothered to provide, and publishes the first Sandcastle update in nearly two years.

Again, I and everyone who uses Sandcastle can’t thank Eric enough for his voluntary involvement and his fantastic work on this project. But you should also stop to think what would have happened to Sandcastle without an Eric Woodruff… and then consider what might happen to the next Microsoft product or technology that you rely on. Users of Silverlight, WP7, or XNA have already discovered that Microsoft happily abandons much bigger communities than Sandcastle’s.

To be clear, the issue here is not that Microsoft stopped providing a free product – that would be childish! The issue is that Microsoft promised to provide a certain product, an act that itself contributed to killing a competing product (NDoc). With that product still in a half-finished state, they quietly went back on their promise in the most disruptive manner possible: without telling anyone, and without facilitating a transition to outside maintainers. Lesson learned: don’t trust any Microsoft promises about future versions of developer tools. As likely as not, whatever exists right now is all you’ll ever get.

Leave a Reply