Previously Java wasn't under an open source license, while PHP was. Now both are under the GPL license, so the fact that Java isn't open source isn't an issue any more. :) But even if Java had been open source when I first started I probably wouldn't have chosed jDip as a base.
I didn't want phpDiplomacy to be a project that duct tapes a whole bunch of other projects together, I wanted it all to be in one place so that there are no barriers to what I can change, and I can get it the way I like it. Some projects take a C adjudicator and a separate C map maker and put the two together with python scripts, but what if you decide you want the map to display something the adjudicator is doing in more detail? I just think this approach is messy.
Most web hosts don't even support JSP, even requiring PHP5, MySQL 4.1 and InnoDB narrows down the number of supported hosts hugely, but using JSP I wouldn't know where to look. I like phpDip to be reasonably portable and being all PHP is part of that.
Finally I think adjudicators require fascinating algorithms that I wanted the pleasure of coding, I didn't want to let Zach have all the fun :)
You might ask why would Zach have written his own adjudicator in Java when there was already a perfectly good C njudge adjudicator he could have used. Whatever his reasons were the end result is a fresh look at things and a great new piece of code that probably wouldn't be as good if he had taped existing projects together.
I want to look at Diplomacy from an easy to use, newcomer friendly, web perspective; a database driven, AJAX, "Web 2.0" sort of perspective, and I think starting over fresh is a better way to approach that.
On the DATC guidelines; phpDiplomacy will eventually support them, 1.0 won't be released until it's compliant with the guidelines. Kruijswijk has been bugging me about implementing them ever since I first posted phpDip 0.6 to rec.games.diplomacy ;) and he has been very helpful in pointing me in the right direction for when I get started on it.
On the variants; it wouldn't really be any more difficult to implement variants than any other major feature. There's nothing about phpDip's structure which means that it couldn't be done. You would probably only have to alter adjudicator/pregame.php to have units placed in the correct starting positions for the game, and make a few constants into variables, like the number of required SCs for a win or the map image used. Once the units are in their starting territories phpDiplomacy's existing code would mean that only the territories which link to those starting territories would be displayed to the end user. phpDiplomacy actually lends itself to easy implementation of variants, which is great because I never originally intented to include them. :)
The hardest part would probably just be entering the board data which is a table of territories and a table of how all the territories link, which let me tell you is a few hours of mind numbingly boring work. By comparison the actual coding to accommodate it wouldn't take long at all.
Hope that clarified things for you, regards,