2 Percent – Changes at Hudson since the Acquisition of Sun

(changed – I adjusted the name post-publishing)

Ted has submitted Oracle’s proposal on how to move Hudson forward.  I was still hoping we could have found a middle-ground, but instead the community will have to vote among the options, which I hope will happen very soon so we can move on.

In the meantime, I wanted to comment briefly on a point in Ted’s email.  Here is the whole paragraph, although I just want to focus on the first sentence:

Oracle has not changed anything with the Hudson community since the Sun acquisition. There is still an SCA/OCA to sign to contribute, and Oracle has made no claim against anyone using the Hudson trademark. The only time this topic even came up in conversation is when I pointed out that if anyone was to fork Hudson they would have to call it something else. That is no different than any other fork of any other piece of open source software.

Although the SCA/OCA arrangement indeed has not changed, I respectfully disagree with that first sentence. Here are some specific things that have changed:

Update – Seems some people are having some trouble interpreting SVNsearch, so here are some stats.

In the interval since Kohsuke’s depature, 139 individuals contributed to Hudson.  The top 5 contributors, by number of commits, where:

  1. kohsuke: 2191
  2. gbois: 660
  3. drulli: 479
  4. mindless: 402
  5. kutzi: 190

Winston (45) and Jesse (102) are the only two contributors I know that are currently at Oracle.  Andrew points out that restricting the search to /trunk/hudson/main is a much better measure of commits to the core.  The statistics (Oracle / non-Oracle) are equally drastic, except that KK (446) is more than 50% of the total (833).

Second Update – Since the move to GitHub, most of the contributions have happened there.  Combining the two, there have been 1363 commits to core since 4/5, 744 from Kohsuke, 4 from Winston, 25 from Jesse.

Run the numbers and you get an estimate of Oracle’s contribution of between 2 and 3%, the community the rest.

Use all numbers just as guideance, but I believe they are roughly correct.


9 thoughts on “2 Percent – Changes at Hudson since the Acquisition of Sun

  1. I don’t know what is going on or what now….

    Things that i believe I do know: Sun went more or less bankrupt, i don’t know the reason, but the way it was heading could not pay for the wages of their own employees… Sun, decides to sell to Oracle and not to IBM because they feel Oracle would keep most of sun employees wages at a better rate and also because Oracles bid was a bit higher…

    If so much heart goes behind how oracle handles open source projects and money is not that important, why did Sun not sell itself to IBM? as IBM seesm to have a better track record with open source projects?

    If Oracle adquires Sun and makes no changes in the way Sun Projects are manages what’s going to stop those projects from draining Oracle further down?\

    I think money and sould are two wings of the same bird, Maybe Sun went a bit too ‘soul-istic’ for the current capitalistic model…. Did anyone at the time of selling to Oracle think: Oh hang on, big dada will come now with the dollar to re-inject all of Suns Projects and catapult them to a brighter future?

    As a Java developer (what I am), of course I want to see free implementations of the Java SE, so I can run my java code on android, blackberry, playbook, desktops, kiosks, servers, etc and I take all the advantages of having multiple implementations of one specification..

    But I also get the point of someone investing a lot in Java research, organizing the JCP, implementing a java se TCK, investing millions at the right time in Java ME, you know, there may be a lot of philantropic developers out there, but it’s a full time job doing such a thing and the business model of selling support doesn’t always work… I get the point of sun holding onto the TCK so they wouldn’t surrender every dollar of revenue on JavaME.

    The OpenSource community, specially apache, puts all the pressure on Sun to release the TCK for apache Harmony, while harmony is just a conglomeration of IBM, Intel and others that why pay for the TCK if we can get it for free through harmony. Why pay for java ME if we can with the current devices pretty much run the whole SE on tablets, netbooks, phones, etc.

    To my understanding, Sun’s free offering of java started as way to boost their Sun server’s sales and they provided the community with a platform for developing internet and enterprise applications, it was a win win…

    Now, today people expect oracle to pretty much do charity work…. I do believe in the ROI for charity work. I do believe open source can seriously help undeveloped countries to get up to speed with first world technology and that i can be a serious way of reducing the inequality that governs this planet… But i really really not expect Oracle to do this.

    Look at Larry, Goslings calls him the Prince of Darkness, he wants to become the richest man in the world, that’s fine, I want to become a saint, I don’t see anything wrong with either his goal or mine.

    But yeah, coming back to hudson, I don’t really understand the SVN Search results but it looks like Prakash and Glick have been actually committing stuff. Not as much as koshuke but they have been commiting. Yes, git better than svn, no argument but java.net can have GIT too, cooling down, all this started after hudson commiters not being able to reach the svn at java.net due to the change in infrastructure. Oracle is to what i understand having more or less the same position sun had regarding Huson but have lost quiet a bit of ‘popularity’ amongst the Open Source community.

    Yes, we can make hudson become a totally independent CI, an open source cruise control… nothing wrong with that…. but could be a bonus having Oracle on our side too. I’ve got all the respect in the world for KK and i due to my personality I would probably react exactly like him, nevertheless, this doesn’t mean it would be best outcome for the community at large…

    Any ways, you get that OpenJDK running on the play book with the new JavaFX2.0 api and I’ll be happy for a little while…


    p.s. If you ever come to (Western) Australia, drop me an email, I’ll shout you a beer.

    1. Long post; let me try to go through your topics.

      re: why Sun went bankrupt – different people will give you different reasons, but I’m 100% sure it is not because of what we did or not with Hudson 🙂

      re: Selling to IBM or Oracle – the decision to sell to Oracle was made by the board, which has heavy reprsentation of SUNW shareholders, including the big institutional investors. After that, Oracle made their decisions. And the ex-Sun employees and the individuals that make up the different communities made their own. If you ask me, what I wanted was for Scott to take the company private and refocus it. Oh well, I am now happy where I am.

      re: “I don’t really understand the SVN Search” – You can read the contributions since KK’s departure. In particular, the commit numbers are Winston: 45; Jesse: 102; Kohsuke: 2191. I normally use FishEye to look at LoC contributions and that is down right now.

      There were 139 contributors in that period. The top 5 contributors were:
      kohsuke: 2191
      gbois: 660
      drulli: 479
      mindless: 402
      kutzi: 190

      Of these, at least Kohsuke and mindless are vocally pro-rename.

      Sure, Oracle is contributing, but much less than the rest of the community. That is one of the big changes between the situation then and now – the large bulk of the contribution is outside of Oracle. If these guys decided to rename (or fork, or whatever you want to call it), I don’t see how Oracle’s “Hudson” could compete with the new, company neutral, “Jenkins”.

      The situation is what it is. One cannot argue “well, Sun paid for KK’s salary, and Oracle bought Sun, thus, Oracle deserves XXX”. The fork has been an option from day one. Sun kept KK as an employee because it made sense for him, as a combination of work conditions, compensation, freedom in the project, *and* license and governance of Hudson. And it was that set of license and governance that allowed the huge growth of Hudson.

      Now, I personally believe that the best move for Oracle would have been to work with Kohsuke; maybe donate the code to ASF or Eclipse, maybe just put the trademark in escrow somewhere, and keep a single community. But Oracle has chosen a different path, so now we have the situation we have.

      re: the Playbook – We are working on the java story… we will try to make you happy, one way or another…

      re: the beer – I’ll take you on that! And if you come to (BlackBerry) DevCon SF in October, let me know. I’ll try to put together a party at TheThirsty Bear, for all time’s sake 🙂

  2. Eduardo,

    Thanks for the clarification regarding SVN commits and – most important – for the counter beer.

    I did deviate from the post’s subject.

    I keep on reading on positive aspects of fork / renaming. All makes sens to me. How about the other way around? Is there anything positive from staying with Oracle?

    I guess that if Oracle sells support for hudson and a bank using hudson raises a p1 ticket on oracle support, a bug fix will have to be delivered in a very short time to meet Oracle’s SLA. Am i right? So, in a way the more corporations the size of oracle selling premum support on one specific product, the better. Am I right?

    Another one is the project’s huge dependency on KK. 20 years ago, there was a very spread idea on software companies about not depending on one person: ‘If you can’ leave without him, fire him’ as people built code that only one person could follow.

    Would Oracle’s involvement in the project reduce this risk? Maybe not, I don’t know.


    1. Winston and Jesse – Oracle employees – are very good developers; it would be a pitty not to have them in the main group.
      Ted is very smart and he has a large group; ditto.
      And Oracle owns the brand; there will be some confusion if a rename/fork arises – and the confusion may last quite a bit.

      Several companies are already selling Hudson support today; starting with CloudBees (where Kohsuke works), but also including CollabNet, TaskTop and Sonatype.

      Kohsuke is still young :-). Also, the code is quite understandable, from what I hear – see Winston’s architectural documents, which were created by inspecting the code. There is a pretty large set of developers that actually understand and contribute to the code base. Hudson/Jenkins w/o Kohsuke would not be the same, but I think it would do fine.

  3. I guess another angle of looking is:

    Would forking increase cloudbees revenue? I get the feeling it will somehow as most people will default to cludbees/infraDNA for support. I would like to see cloudbees happening, they look like a bunch of nice guys trying to have fun doing what they like doing most….

    I guess there are more chances of cloudbees reinvesting in hudson some of the revenue than in Oracle doing so….

    On the other hand, i guess is a bit of a survival thing: as a Java developer I don’t really enjoy people throwing the sink at Oracle, is just like, is java really going to evolve if we all hate Oracle?

    Oh defenetly small businesses like cloudbees first. IMO Large corporations and lack of small businessess are one the main problems in this panet.

    … But i do feel there is this huge animosity against Oracle… Leaving jenkins aside: Whats your experience on the time you spent at Oracle? how do you feel about? are they that bad really?

  4. re: CloudBees being a nice set of folks. Yes, indeed. I knew several of them, and I’ve met several more today – Sacha invited me to be part of their Technical Advisory Board and I accepted.

    re: CloudBees investing in Hudson – yes, they are. So are a number of other companies. I hope the current vote clearly goes one way or the other – I personally voted for the rename – that way there will be a ‘mandate’ from the community and we will consolidate in one direction.

    re: Oracle. Oracle’s corporate culture is quite different to Sun’s. I made friends while at Oracle, including people in my management chain, but I feel much more settled after a few weeks at RIM than I ever was at Oracle. Different folks may have different experiences.

    If the rename/fork happens, I hope Oracle decides to join the Jenkins community.

  5. @Pablo: I don’t share your fear of Java not evolving without Oracle, in spite of Oracle owning the trademark.

    There is a case relatively recently finished in the US (which I can’t remember) which’s outcome states that a programming language in itself cannot be subject to licensing. So the Java language will be free to use no matter what Oracle does. Oracle can play foul only related to the binary Java platform.

    I think Google has a case against Oracle’s threats, otherwise it would have sought an agreement already. Of course, we will have to wait and see, but essentially, if Oracle’s accusations are dismissed, everybody will feel free to compile Java source code to whatever platform they want.

    What’s more important, however, is the fact that JEE, which is actually just JSE plus a bunch of mostly useless extensions, is IMO loosing its importance. Aside from the servlet API, I can’t think of a single Java technology which is reasonably simple to use on a day by day basis and which makes sense for open source projects. There are, of course, lots of open source projects supporting various JEE APIs, I just mean that JEE APIs seem to loose their relevance as time goes by, IMO.

    (Off topic: there’s a good explanation on how a better spec was forcefully replaced by a worse one, due to large companies sitting on the JSR committees, on the Datanucleus homepage – JPA vs. JDO. – both being to some extent JSE nonsense, with Hibernate setting the standard quite a few years before either of them emerged – and still doing so. Another off topic argument against JEE: how many companies do you know which use a CMS implementing JSR 170? How many which really do care about the JSR 170 conformance? How about JSR 168/286?)

    Therefore, I think the evolution of the Java ecosystem will actually happen outside of Oracle’s backyard. Surely enough, I hope we will get a Java fork soon, which should provide a proper implementation of generics (the current implementation is stupid at best) and the possibility of operator redefinition. These are the two things I miss most in Java, and Oracle’s roadmap for Java doesn’t seem to cater to my needs. IMO, adding lots of additional JSE nonsense doesn’t actually get Java to evolve in the right direction. Pushing additional JSE JSRs onto developers and enterprises is actually only likely to increase costs for customers, and get more money into the pockets of large companies. IMO, developers and customers alike don’t want that. Customers want lower costs, and developers want easier to use tools, which let them focus on implementing features, instead of struggling with huge, incomprehensible APIs.

  6. @Anonymous coward, (look at that)

    I spent a couple of years workig on JEE5, recently i got a job at this place where spring and hibernate is being used… I miss JEE5 and JPA 2.0 lots and lots. Cleaner, more simple, you don’t go to bed thinking that all your eggs are with propietart APIs.

    Before that i was working at a University where Students and Staffs portal was running Sun Java System Portal Server jsr 168, Apparently after 5 years of full production they realised migrating to liferay was quiet an easy job.

    If this student and staff portal (with 30 or 40 portlets) had been written to a propietary portlet API, what would have the migration been like?

    I use JPA and try not to bind too much to to any of the propietary Eclipselink API if using eclipselink.

    I remember 10 years ago we were using cocoon as the front end. Didn’t take long to pass away. Today i can use JSF, see my component libray die (woodstock) and realise that migrating to IceFaces is not that much of a nigthmare either…

    So after all that, i cant really object about jsr creation and defenetly not about glassfish (JavaEE)

    Furthermore, I have been having the best of time with JEE application clients. And instead of getting obsesed with web applications. I realised that functionality that is used within the LAN of an enterprise needs not to be web based. Developing 4 tier (app-client + web + ejb). Swing is quiet pleasaruble and calling remote EJB(3.x) is just 10 times easier than calling web services.

    If you tell me that all someone does is build 100% web based applications and spring and hibernate is all their need I could only say: sure.

    For example I can make an online shop jsf for the users and a swing based client to administer and manage product catalag, orders, payments, etc. both sharing the same EJB tier.

    JMS is to me one of the hidden secrets too comparing it to web services, ajax, etc. I can have these swing clients getting updated as events happen on the business tier with no effort, no uncomprehensible javascript, 100% strong typed, etc..

    Yeah, generics are a bit of a piece of crap, but when i think of a 20 developer project running jdk1.4 still and what would there life be if they had to upgrade to Java 5 with backwards incompatible changes in Generics I would laugh for a while…

    I do see Oracle putting their heart into Java…

    Anyway, got to go to bed now, I enjoyed reading your post anonymous coward.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s