Hudson (software)

Hudson is a discontinued continuous integration (CI) tool written in Java, which runs in a servlet container such as Apache Tomcat or the GlassFish application server. It supports SCM tools including CVS, Subversion, Git, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects, as well as arbitrary shell scripts and Windows batch commands. The primary developer of Hudson was Kohsuke Kawaguchi, who worked for Sun Microsystems at the time. Released under the MIT License, Hudson is free software.

Builds can be started by various means, including scheduling via a cron-like mechanism, building when other builds have completed, and by requesting a specific build URL.

Hudson became a popular alternative to CruiseControl and other open-source build servers in 2008. At JavaOne conference in May 2008, it was the winner of Duke's Choice Award in the Developer Solutions category.

When Oracle bought Sun, it declared its intention to trademark the Hudson name, and development began on a commercial version. It was decided by the majority of the development community, including Kawaguchi, to continue the project under the name Jenkins in early 2011. Oracle maintained that Hudson was continuing development and that Jenkins was a fork; the Jenkins developers considered Hudson to be the fork.

Interest in Hudson collapsed thereafter. Eventually Oracle donated the remaining Hudson project assets to the Eclipse Foundation at the end of 2012.

Having been replaced by Jenkins, Hudson is no longer maintained and was announced as obsolete in February 2017. The Hudson website, hudson-ci.org, was closed down on Jan 31, 2020.

Plugins
Hudson is extensible through a plugin architecture, and many plugins have been made publicly available which extend it far beyond purely being a build tool for Java projects. Plugins are available for integrating Hudson with most version control systems and bug databases. Many build tools are supported via their respective plugins. Plugins can also change the way Hudson looks or add new functionality.

Builds can generate test reports in various formats (JUnit is supported out of the box, others via plugins) and Hudson can display the reports and generate trends and render them in the GUI.

Hudson–Jenkins split
In November 2010, an issue arose in the Hudson community with respect to the infrastructure used, which grew to encompass questions over Oracle's stewardship and perceived control of the project. Negotiations were held between the principal project contributors and Oracle; although there were many areas of agreement, a key sticking point was the control of the name "Hudson" itself, which Oracle claimed, and for which it submitted a trademark registration in early December 2010 (granted on October 25, 2011). As a result, on January 11, 2011, a proposal was made to change the project name from "Hudson" to "Jenkins". The proposal was overwhelmingly approved by those that voted on January 29, 2011, creating the Jenkins project. On February 1, 2011, Oracle indicated that it, in partnership with others in the community, intended to continue development of Hudson.

Move to Eclipse Foundation
On May 3, 2011, the Eclipse Foundation in conjunction with the key Hudson committers, Oracle, Sonatype and other community supporters, put forward a formal proposal for the transfer of Hudson, including the core code and problematic trademarks, to the Eclipse Foundation. Hudson's founder Kohsuke Kawaguchi saw the Oracle move as validating Jenkins. "When we were talking with Oracle to find a middle ground, they made it very clear that they have no intention of giving up the trademark control. But with this move, they clearly acknowledge that Oracle couldn't keep up with the Jenkins project." On January 23, 2013, Eclipse announced the inclusion of Hudson 3 in the Eclipse Foundation.