DZone
Java Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Java Zone > Hudson’s Bright Future

Hudson’s Bright Future

Jason Van Zyl user avatar by
Jason Van Zyl
·
Feb. 07, 11 · Java Zone · Interview
Like (0)
Save
Tweet
6.83K Views

Join the DZone community and get the full member experience.

Join For Free

We believe that Hudson users can look forward to a long, bright future. Working with the community, Oracle and Sonatype are each putting a number of full-time engineering resources on Hudson. The Hudson lead, Winston Prakash from Oracle, is highly skilled, very thoughtful, and he cares about the community. He is also the first person to create detailed, comprehensive architectural documentation.

This kind of documentation (which has never been available in the past) is required to understand how Hudson can be improved. The lack of architectural documentation, along with how decisions were made, left the Hudson community mostly dependent on a single individual for core changes.   Let’s be honest about where this led:

  • The Hudson WAR distribution incorporates over 100 dependencies, a troubling number of which are forked.   As result, there is no easy way to incorporate improvements from those forked projects in Hudson. It’s also not very easy to know why they were forked in the first place.

  • The core technology for the user interface in Hudson is Jelly. We used Jelly in Maven 1.0, but took it out more than five years ago for Maven 2.x because it is not maintained and very difficult to work with. Hudson is still dependent on Jelly, but there are many more standard, and flexible, options for the UI technology: choices like GWT, Vaadin, or JSF.

  • Hudson has had minimal project infrastructure. There are extremely limited unit tests, and integration tests that leave a lot to be desired (e.g. they don’t run on recent versions of the Mac OS X). Weekly builds of Hudson without a sophisticated automated test infrastructure is just not wise. Winston and I will propose a plan to clean up some of the testing infrastructure as a first priority. We’re not in a rush to push out releases where the community has to act as QA. It’s great to get feedback from users but we think a better job can be done on the testing front to alleviate this burden on users. It’s not glamorous, it takes a lot of time, but it’s necessary if you value stability and quality.

  • Little to no effort has been made to track the provenance of the code, and there are numerous licenses that are used throughout the codebase. The licensing issues can likely be resolved using different libraries, and doing some modularization, but the provenance and IP issues are of utmost importance when you care about downstream consumers. These issues are of little or no concern for SaaS providers, but critical for companies that need to deliver software used on-premise.

So, I’ve told our developers to stay focused on improving Hudson’s infrastructure and fundamentals. Here’s our current work log:

  • Testing infrastructure, and bolster the unit and integration tests
  • JSR330 support for plugins
  • JAXRS support for web services
  • Maven 3.x support (94% of Hudson installs also use the Maven plugin)
  • Eclipse integration
  • Netbeans integration
  • Assessment of the current Hudson architecture
  • JSR330 architecture work to modularize the Hudson core
  • Using a standard view technology like GWT, Vaadin, or JSF
  • Inspection of non-standard/forked dependencies and trying to re-align with current mainstream releases
  • Isolating code with problematic licenses and trying to reduce the license footprint
  • Using standard Maven plugins for creating ancillary Hudson distributions

I’ll describe all of this in greater detail in subsequent blog posts.

 

From http://www.sonatype.com/people/2011/02/hudsons-bright-future/

Hudson (software)

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Testing Under the Hood Or Behind the Wheel
  • Creating Event-Based Architecture on Top of Existing API Ecosystem
  • This Is How You Give Good Feedback at Work
  • Portfolio Architecture Examples: Retail Collection

Comments

Java Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo