Who made Selenium

The story starts at ThoughtWorks with Jason Huggins (now at Google) build the Core mode as "JavaScriptTestRunner" for the testing of an internal Time and Expenses application (Pyhton, Plone). He has help from Paul Gross and Jie Tina Wang. For them this was a day job.

Jason started demoing the test tool to various colleagues. Many were excited about its immediate and intuitive visual feedback, as well as its potential to grow as a reusable testing framework for other web applications.

Paul Hammant saw the demo, and started discussions about the open sourcing of Selenium, as well as defining a 'driven' mode of Selenium where you'd get to use Selenium over the wire from a language of your choice, that would get around the 'same origin policy'.  Aslak Hellesoy (then ThoughtWorks)  experimented with different ideas for the 'server' piece, including page rewriting to get around the same origin policy.  Paul wrote the original server piece in Java, and Aslak and Obie Fernandez (then ThoughtWorks) ported that the client driver to Ruby.

ThoughtWorkers in various offices around the world picked up Selenium for commercial projects, and contributed back to Selenium from the lessons learned on these projects.  Mike Williams, Darrell Deboer, and Darren Cotterill all helped with the increasing the capabilities and the robustness of it.

Friends of ThoughtWorks ...

At Bea, Dan Fabulich (now at Redfin) and Nelson Sproul came to the conclusion that the driver/server to browser architecture was not the most useful or flexible, so forked the driver coder and crafted that into a standalone server that leveraged and bundled MortBay's Jetty as a web-proxy.  When the code was merged back it became known as "Selenium Remote Control" and the old driven codeline and capability was retired.

Pat Lightbody became involved at the same time, with a commercial idea that required him to quit his day job (Jive Software).  The idea was "Hosted QA", and it was eventually moved into Gomez's service line (with Pat).  Pat worked with Dan and Nelson making Selenium RC stable for large scale deployment.  Pat had privately coded a Grid for Hosted QA that took screenshots of browsers in various states, and was looking after multiple customers concurrently.  Jason had the same hosted QA idea a year before, but did not quit his day job to do it!

IDE Made in Japan ...

Shinya Kasatani in Japan became interested in Selenium, and realised that he could wrap the core code into an IDE module into the Firefox browser, and be able to record tests as well as play them back in the same plugin.  This tool, turned out an eye opener in more ways that was originally thought as it is not bound to the same origin policy.

Mike Williams got involved again in the Summer of 2006 where he led a team from ThoughWorks China, primarily WangPengChao, HuangLiang and XiongJie but with the help of others. They worked on improving Selenium Core with the goal of getting it closer to 1.0

Google too ? ...

Jennifer Bevan (and other unnamed Googlers) coded their own Grid capabilty for Selenium RC, and deployed it internally for the testing of multiple public web applications.  As with much of what Google did, this was a secret for a couple of years, until Google hosted a GTAC conference in New York and talked about it.  Jennifer soon became a committer on the Selenium projects.

Haw-bin Chai in Chicago provided patches for Xpath functionality and developed an extension called "UI Element" that makes the grammar of locators much simpler.  He was invited into the Selenium development team in 2007.

Simon Stewart at ThoughtWorks had been working on a different web teting tool called WebDriver.  It did not rely on JavaScript to do the heavy lifting, but instead had a client for each browser that was coded from scratch. It also had a 'higher level' API than Selenium-RC and showed lots of promise.  Simon presented the tool at GTAC, and started work on compatibility with Selenium-RC, which gave rise to the obvious conclusion that the two projects should merge.  Simon, now at Google, gets to spend some of his time making that a reality.

Fallen by the wayside, never started, or not started yet.

Gone ...

Paul's driven code and names "Selenium A and B" for core and driven.  Driven as a name too, for RC.
Aslak's page rewriter to get around the same origin policy
Jason's twisted capabilty for giving Selenium core more client/server capabiity

Never started ...

Paul's Squid-proxy plugin (C++), RC server negates the need for it

Not started yet ...
 
IE Plugin, listening on a socket