Java Email Server - 2.0 Branch

In my first post of this series, I discussed the history of JES. In this post, I'm going to outline my ill-fated 2.0 branch.

As with many of my projects, the JES 2.0 branch started as a way to explore a shiny new hammer (a new API/tool/framework, etc.). In this case, the shiny new hammer was JMX. I thought it would be neat if you could drop in a mail server to a container such as JBoss, and utilize some of the 'built in goodies' of JMX to manage the server and make updates. One of the drawbacks of how I built JES was that you had to restart it to accomplish many configuration changes. I had thought about a lot of ways to attack the 'restart shortcoming' of JES and I decided it was time to branch off onto a new release track. I decided I should write a modular code base that could be wrapped in many different deployment containers (Standalone, JBoss, etc.).

I started down this path with passion and drive. After I'd completed the SMTP (I think) portion of the code base, I was contacted by Andrew Oliver about my interest in working on a JBoss mail server. He was working on a new project to build an enterprise class mail (and calender, etc) server build on JBoss (where he was employed at the time). This project, JBossMailServer at the time, seemed to eclipse what I was attempting, and given my already slowing momentum on the 2.0 branch, pretty much brought it to a screeching halt. I had a bit of interest in working on the JBoss version, but in truth some of the motivation for the projects that I work on is ego. Working on a project that wasn't 'mine' didn't quite have the same appeal, even if it was JBoss (remember, this was 4 years ago).

Apparently JBoss had found someone interested in the server, as they approached me with an offer to pay me for the task of completing the SMTP (or POP, I don't recall) functionality. Since I was a pretty easy task for me (I'd done it once already), and hey, they were paying me, I jumped on board. I worked through the deliverable they wanted and earned a little spending money.

However, a funny thing happened. Once I'd worked for pay on the project, it was really hard to get excited about working for free. Combine this with the lack of real ego payoff, and I drifted away from the project.

In the mean time, Andy left JBoss and founded a new company to carry the project on. If you are interested you can read more about it here. I have no idea if any of my original code has survived the many releases since I contributed.

I did get to 'brag' about being a JBoss contributor for a time, even if I only ever contributed to the mail server subproject. But the lasting impact of the JBoss foray was that all momentum on JES 2.0 was lost.

That about covers what happened to the 2.0 branch, and why it has never moved forward. In my next post I'll cover the current status and future plans.


  1. Ha that is funny. I was trying to get you a little money until we could really pay you and doing so made you leave :-)

  2. The law of unintended consequences.

    Getting paid was nice while it lasted, and I probably would have lost interest in 2.0 sooner or later anyway, so getting paid is as good of a reason as any.