Having irked the open source community with its handling of the Project Hudson continuous integration server inherited from Sun Microsystems, Oracle abruptly changed course yesterday and handed Hudson over to the open source Eclipse Foundation.
Oracle's move is being viewed by proponents of Jenkins, a fork of Hudson, as a validation of their own efforts. But a reunification of the two projects appears doubtful at the moment, and Jenkins advocates wonder if Oracle has legal clearance to donate Hudson.
Oracle's contribution to Eclipse includes Hudson code and intellectual property. Oracle will still serve as project lead for Hudson at Eclipse, providing three full-time people as project "committers." EMC VMware and Tasktop also will provide committers to the project, and IBM and Intuit will participate in Hudson.
"We're really excited about Oracle bringing it to Eclipse," said Ian Skerrett, Eclipse's marketing director. "It seems that Oracle wants to really expand the Hudson community and the participation." Eclipse has a 30-day review period to make sure the project complies with its standards, said Oracle's Farrell.
Hudson, which was written in Java, provides an alternative to traditional software development, in which developers check in code and at an appointed time, someone would take the developers' checked-in code and start testing the project. It basically acts as a continuous integration server for software developers.
Oracle is seeking to have Eclipse implement its own governance model on Hudson, said Ted Farrell, Oracle's chief architect and senior vice president for tools and middleware. "Hudson as an open source project never really had formal structure around it," he claimed, making it harder for new users or new contributors to participate. Oracle had sought a more formal structure during its dispute with Hudson builders, a dispute that resulted in the project forking into Jenkins earlier this year. Submitting to Eclipse reassures other companies that Oracle wants "an open community around Hudson," Farrell said.
Hudson founder Kohsuke Kawaguchi, who is now running Jenkins, 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 said he was not approached about Oracle's plan. He did note that, in the wake of the fork, Oracle stopped contributing to the Hudson project. (Kawaguchi is now a developer and architect at Java PaaS provider CloudBees.)
Oracle's Farrell disputed that: "Since the fork, Oracle and Sonatype have been focused on stabilising and improving Hudson's quality," rolling out a test suite to run tests that had not been run in years. Oracle also changed the development process so a new release happened every five weeks instead of every week, to improve predictability for users, he said. Oracle's post-fork release of Hudson, version 2.2.0, fixed about 20 high-priority bugs.
Oracle's gesture may be too late - and is questioned
But a developer of the Jenkins core saw Oracle's gesture as a bit late. "It's a shame no one from Oracle or [Hudson participant] Sonatype reached out to anyone from the Jenkins community - we'd still love for them to rejoin the community and contribute to Jenkins," said Andrew Bayer. He said he does not know why Oracle did not propose donation of the Hudson trademark sooner, when efforts were underway to prevent the Hudson-Jenkins split. "While they proposed an Eclipse-like governance/development process, they never expressed a willingness to donate the trademark to an external foundation."
Both Bayer and Kawaguchi questioned whether Oracle has the legal clearance to reassign Hudson intellectual property.
"I'm not sure whether Oracle actually has all the necessary rights to reassign copyright and relicense the full Hudson [intellectual property] - that's definitely going to be a challenge for them," Bayer said.
Doubt that the Jenkins fork will be integrated back into Hudson
Asked if Hudson and Jenkins could be reunited, Bayer was doubtful: "Everything that's happened on the Hudson/Eclipse front up until [yesterday] has been entirely behind closed doors on a corporate level, without any community discussion or public involvement, while the Jenkins community has been conducting its governance meetings in public, with all members of the community invited and contributing. We'd love for Oracle, Sonatype, et al. to rejoin the Jenkins community, but the fact that no one from either company reached out to the Jenkins community on this suggests they're not interested in that."
Bayer stressed the strength he believes Jenkins now has over Hudson: "The Jenkins organisation on GitHub now has almost 500 repositories, the majority of those plug-ins, and almost 100 public members, while Hudson only has its core repository available and only four public members. Of the 25 most commonly installed plug-ins from before the split, 21 of them have moved primary development to focus on Jenkins, with the remaining four not having any changes during that time. In fact, 40 new plug-ins have been added to Jenkins since the split, while only one has been added to Hudson. The development community has definitely made its choice heard."
Still, Oracle's Eclipse route for Hudson could serve to reunite the divided Hudson and Jenkins efforts, said IDC analyst Al Hilwa. "I would guess that this may surprise the Jenkins folks because there appears to have been a conspiracy theory that Oracle was going to do some bad thing with Hudson, like turn it into a commercial product. It may be time to come together again under one code base now that it's under the Eclipse Foundation."
Licensing and other changes expected for Hudson
Changes afoot for Hudson include altering licence requirements so the software is not bound to the Gnu LPGL (Lesser General Public License), which requires release of all code affected by the licensed code. Third-party libraries in Hudson use this "viral" licence, which makes it difficult to repackage software with other software because it all must be released, said Oracle's Farrell. Corporations don't like this licence requirement, he added. An Apache or Eclipse licence is expected to replace LGPL.
Also planned is a capability for high availability and swapping out of a proprietary Web services stack with standard technology. Oracle has no commercial Hudson offering but does offer commercial support for it.