Hudson (software)
Encyclopedia
Hudson is a continuous integration
Continuous integration
In software engineering, continuous integration implements continuous processes of applying quality control — small pieces of effort, applied frequently...

 (CI) tool written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, which runs in a servlet container, such as Apache Tomcat
Apache Tomcat
Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...

 or the GlassFish application server. It supports SCM tools including CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

, Subversion, Git
Git (software)
Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...

 and Clearcase and can execute Apache Ant
Apache Ant
Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects....

 and Apache Maven
Apache Maven
Maven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...

 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
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 at the time. Released under the MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

, Hudson is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

. The Hudson project is supported by Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

.

Builds can be started by various means, including scheduling via a cron
Cron
Cron is a time-based job scheduler in Unix-like computer operating systems. Cron enables users to schedule jobs to run periodically at certain times or dates...

-like mechanism, building when other builds have completed, and by requesting a specific build URL.

During recent years Hudson has become a popular alternative to CruiseControl
CruiseControl
In software development, CruiseControl is a Java-based framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds...

 and other open-source build servers. At JavaOne
JavaOne
JavaOne is an annual conference inaugurated in 1996 by Sun Microsystems to discuss Java technologies, primarily among Java developers. JavaOne is held in San Francisco, California typically running from Monday to Thursday. Technical sessions on a variety of topics are held during the day. In the...

 conference in May 2008, it was the winner of Duke's Choice Award in Developer Solutions category.

Plugins

Plugins have been released for Hudson, extending 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
JUnit
JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks collectively known as xUnit that originated with SUnit....

 is supported out-of-the-box, others via plugins) and Hudson can display the reports and generate trends and render them in the GUI.

The Hudson–Jenkins Split

During November 2010, an issue arose in the community of Hudson with respect to the infrastructure used, which grew to encompass questions over Oracle's stewardship and perceived control of the project. Negotiations between the principal project contributors and Oracle took place, and 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 (not granted as of February 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
Jenkins (software)
Jenkins, previously known as Hudson, is an open source continuous integration tool written in Java. The project renamed itself after a dispute with Oracle who claims the right to trademark the Hudson name and has applied for such a trademark as of December 2010...

 project. On February 1, 2011, Oracle indicated that they, in partnership with others in the community intended to continue development of Hudson making the necessary infrastructure changes, confirming two development branches. Both the Jenkins and Hudson projects appear to consider the other to be a fork
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

.

Proposal to Move to Eclipse

On May 3, 2011, the Eclipse Foundation in conjunction with the key Hudson committers, Oracle
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

, 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
Eclipse Foundation
The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the open-source Eclipse Projects and helps cultivate both an open source community and an ecosystem of complementary products and services...

. 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."
He also questioned whether Oracle could legally reassign copyright and relicense all the Hudson intellectual property as part of the move to Eclipse.

See also

  • Continuous integration software
  • Jenkins
    Jenkins (software)
    Jenkins, previously known as Hudson, is an open source continuous integration tool written in Java. The project renamed itself after a dispute with Oracle who claims the right to trademark the Hudson name and has applied for such a trademark as of December 2010...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK