Thanks for your question. Let's face it, both Hudson and Jenkins sprung from the same source: the fertile mind of rockstar programmer Kohsuke Kawaguchi. The very reason we have Hudson and Jenkins instead of just Hudson is the competitive impetus of Open Source Software. In my experience in writing the book, and in talking to users at conferences, is that the plugin community and the compatibility of plugins is the biggest difference. Early in the book authoring process, Winston mentioned there were some differences in how Hudson and Jenkins implemented the matrix build concept, but I'm not able to discern that easily.
Sai Hegde wrote:So on this note, how frequently does code from Jenkins get merged back to Hudson?
Jenkins and Hudson now are different entities. In 2011, Jenkins was forked from Hudson and developed as an OSS. Hudson continued to be under Oracle. However, in 2012, Oracle formally transferred Hudson project to Eclipse Foundation. There have been no news of merging the two projects.
Hudson-3.x is primarily developed at Eclipse Foundation. Though the spirit of both products remain the same, Hudson-3.x is mainly geared towards Enterprise users who require stability. Hudson-3.x is developed independently and substantial amount of work has been gone in to the product to cleanup the libraries with clean license (http://wiki.eclipse.org/Hudson-ci/development/third_party_libraries/3.0.0). There are several new features introduced in Hudson-3.x (http://wiki.eclipse.org/Hudson-ci#New_Features). Stability and performance are the primary goal of Hudson-3.x (http://wiki.eclipse.org/Hudson-ci/features/Memory_Performance). With that in mind, Hudson-3.x is released quarterly for bug fixes, bi-yearly for feature releases and yearly for major incompatible releases. This is in contrast to the weekly release. Every release under goes rigorous QA testing to ensure smooth transition; again a requirement for enterprise users.