Last week, my colleague James Roper (@jroper), a member of Lightbend's Office of the CTO, was made a committer to Eclipse MicroProfile. It's been an interesting journey getting there; James and the Lightbend team have recently started getting involved in the MicroProfile and Jakarta EE communities, so he thought he'd share his thoughts, and why his experience is a good sign for Jakarta EE.
- Markus Eisele (@myfear), Director of Developer Advocacy at Lightbend, Inc.
This week I was honoured to be made a committer for Eclipse MicroProfile. It has been an interesting journey getting to this point, so I thought I’d share the journey, and also why I think my experience is a good sign for Jakarta EE. Before I describe my journey, and in particular how it’s relevant to Jakarta EE, I need to set the scene with a description of the MicroProfile community as it stands today.
MicroProfile is a collaboration of a number of Java EE vendors and individuals, who, out of frustration with the stagnation of Java EE under Oracle and the JCP, formed MicroProfile to allow continued innovation of Java enterprise specifications in a vendor neutral manner. The focus of MicroProfile is on microservices, but I believe that’s because that’s where the industry had moved since Java EE development had stagnated, and so that’s where the biggest need for innovation in Java enterprise specifications was. From what I’ve seen on the mailing list and in discussions, there are four main vendors that are involved, IBM, Payara, RedHat, and Tomitribe.
IBM and RedHat are vendors whose investment in and share of the Java EE market is roughly comparable - they are the big companies that seem to be driving most of the work. Payara and Tomitribe are, in comparison, smaller companies who seem to have flourishing businesses built on supporting Glassfish and TomEE respectively, they are active in discussions and provide significant contributions themselves.
In addition to these four, there are a few other vendors that implement MicroProfile but seem to be less active in the community, and there are also a reasonable number of individuals, including Java Champions and Java EE Guardians, who are active in discussions. All of this indicates a healthy community - a mixture of vendors and individuals, some more active, some less active, but all working together for a common goal.
When I first started getting involved in MicroProfile, I was very much an outsider of this community. I personally hadn’t used Java EE beyond what became the Web Profile for 10 years, and I hadn’t even used the servlet spec or JAX-RS for over 5 years. The company I work for, Lightbend, has never been a Java EE vendor. In fact, the technologies we make have historically been difficult to integrate with Java EE, given the fundamentally asynchronous approach we take to programming compared to the synchronous approach that Java EE is built on. Although a number of members of the MicroProfile community had expressed interest in us joining, we were skeptical as to whether we could have any impact, or be involved in any material way.
It turns out that our skepticism was misplaced. Although initially, when the MicroProfile community was still finding its feet, we hit a few stumbling blocks to joining the effort, a renewed effort this year has been amazingly smooth. I’m not sure that I have ever encountered a more welcoming and positive open source community, and I’ve been involved in quite a number of open source communities over the years. I’ve found the community incredibly receptive to new and alternative ideas. I’ve seen that when there are disagreements, positive discussion ensues and workable compromises are made.
What makes this all the more amazing is that these vendors that are working together so well are actually fierce competitors. Their products are pitted directly against one another, and they are fighting hard to win market share from each other. However, they have still managed to find a way that they can work together for mutual benefit, and this has turned out to be both productive and innovative. This is why I think the MicroProfile community is a good sign for Jakarta EE.
It would be an understatement to say that the JCP failed Java EE, not even Oracle would disagree with that. But where there is some disagreement is in why. I think there are two schools of thought, one is that vendor collaborations on specifications for enterprise application development does not work in today’s world, the other is that it was specifically the JCP itself, and its implementation under Oracle, that failed.
What MicroProfile shows is that the former is not true, MicroProfile has been both productive and innovative, it is a productive coming together of multiple vendors, working towards a common goal, that is inclusive of even complete outsiders such as myself and Lightbend.
It’s for this reason that I believe Jakarta EE will succeed. We now know it was specifically the JCP, and not the concept of vendors working together to produce specs in general, that caused Java EE to reach the point of stagnation that it did. Under Eclipse, we have an opportunity to create a new governance model for Jakarta EE that is productive and does foster innovation. As we work on setting up these processes in the Jakarta EE working group, I hope we carefully consider MicroProfile and what has worked there, and see if we can replicate the things that have made MicroProfile so successful in Jakarta EE.
Finally, I have a word of advice for anyone who wants to get involved in MicroProfile. Join the fortnightly MicroProfile community hangout. It doesn’t matter who you are, whether you’re an individual looking to get involved, or a vendor who believes MicroProfile could be a strategic investment, you will be welcomed if you join.
Of course, most MicroProfile collaboration happens on mailing lists and in chat, but these are impersonal communication mediums that make it difficult to make that initial connection with the community. Joining the community hangout allows you to form a more personal connection to the community, which I have found invaluable.
Being based in Australia, the hangout is at an inconvenient time for me, 4am, but I wouldn’t miss it for anything, having a face to face discussion with the people that are driving MicroProfile is the best way to get involved in the community. This advice I think also applies to getting involved in Jakarta EE. Jakarta EE doesn’t yet have an equivalent community hangout, however there is a large amount of overlap between the MicroProfile and Jakarta EE communities, so meeting the MicroProfile community is a great way to build relationships in Jakarta EE too.
Check out these resources below, and feel free to let me know your thoughts, ideas, and burning questions on this topic at @jroper!