Last year when waiting for my flight home from JavaOne, I blogged Possible Ways forward for MVC 1.0. Now, I am sitting here at SFO again writing a follow-up on that article.
As we all now, the JSR was was transferred to me from Oracle to be completed as a standalone JSR. Since then, Christian Kaltepoth has joined me as specification lead. We never did anything about the actual IP, all in full agreement. After all, we are developers and not lawyers and just wanted to get going with the actual work.
It has never been my intention to capitalize on the IP, and I wanted to figure out a way to donate it all back to the community. As those of you who follow the EE4J Community Mailing List probably noticed, I announced the intention to transfer MVC 1.0 to Eclipse Foundation. Read the announcement here:
This does not imply any changes to the current specification work, expert group or time plan. There may be some practical changes, such as a new mailing list and moving the repositories under the Eclipse GitHub Organization, but that is way in the future.
So why Eclipse and not Apache?
Well, it makes sense to follow the other Java EE technologies when they are transferred to the EE4J umbrella project in Eclipse Foundation. MVC would be a natural fit there, but the exact details will be handled by the EE4J PMC.
Usually, you would expect 10 to follow after 9. But in the world of Java™, things move a little faster. Or at least it will be if the proposed release model in Mark Reinhold’s blog post Moving Java Forward Faster is adopted.
The next version of Java™ will then be versioned as 18.3 and be delivered as soon as March 2018. Then we will get version 18.9 in September, and so on.
In my opinion, this is pretty cool. Having a time-based release cycle for Java™ allows for developers to get smaller features delivered faster without the need to wait for the bigger, more time consuming, features to be completed.
I am convinced this proposal will be discussed and commented a lot in the community, so be sure to follow the #javatrain hashtag on Twitter.
JavaOne is only one month away and it is time to get out of that chair and start moving! That means that JavaOneStreak is on again for the fourth time in a row. The JavaOneStreak initiative was originally started by Arun Gupta back in 2014.
Do some kind of physical activity each day during the month* before JavaOne, log it and share with the hashtag #JavaOneStreak.
You don’t even have to go to JavaOne, but tell us if you are so we can meet up and brag about our achievements.
*Of course you don’t have to limit it to a month. Try to follow Heinz’ example and run a mile every day year long.
I just came off a phone call where Oracle were briefing community members about their announcement to open up Java EE. The process has just started and, understandably, there are currently more questions than answers.
Oracle finds Java EE to be very successful
Millions of applications are using Java EE
Oracle plans to continue support of Java EE
Java EE 8 will be completed as planned
Java EE 8 will also be certified on Java SE 9
By stepping aside and relicensing the technologies to an open source foundation, Oracle hope to address the perception about the openness, agility and flexibility of the current process. What this will actually mean to the Java Community Process (JCP) is uncertain. It will at least have to go through some reform to accommodate the new licensing terms.
One thing to note here, and something that is a really big thumbs up to Oracle, is that they are now informing and including the community and key players in the process from the start.
Anyone who followed the discussions and comments about JSR 376 – Java™ Platform Module System, aka Jigsaw, the last couple of weeks, should not be very surprised by the result of the Public Review Ballot. As you can see below, 13 out of 23 EC Member voted no and 10 voted yes.
Please see the Ballot Result Page for details. Make sure you read comments in the vote log to understand the reasoning for the votes. Summarized, the two following comments seems to be trending:
The specification was not ready to move on as it was submitted
The discussions and progress during the 14 day ballot period shows that it is going in the right direction
Is this a bad think for Java™ 9?
I don’t think so. This is just an example that the process is working and that the JCP fulfills its role of ensuring the quality of Java™.
Will Java™ 9 be delayed by this?
Not necessarily. It gives the Expert Group an additional 30 days to respond to the comments from the EC before submitting for a Reconsideration Ballot. The actual release date is nothing that is controlled by the JCP.
When Oracle announced that MVC 1.0 was withdrawn from Java EE 8, they also indicated that they were investigating a possible transfer to a community member or organization for completion as a standalone JSR. True to their word, a request for a transfer ballot of JSR 371 has now been submitted to the JCP Executive Committee.
I am happy to announce that I will be the receiving part of this transfer and thus will take over as Spec Lead for JSR 371.
So, why would I want to take over a JSR that ranked so low in the Java EE Survey? Well, there are several reasons for that:
First of all the incredible community support and interest there is for MVC 1.0. For example, JSR 371 is the most widely adopted JSR by Java User Groups participating in the Adap-a-JSR program. No less than 8 JUGs have adopted this JSR!
Secondly, I feel that the wording of the question in the survey may have played a role. The question for MVC was “How important is MVC API for the next generation of cloud and microservices applications? (1=Not Important, 2, 3, 4, 5=Very Important)”. Still, 505 responded Very Important and only 361 Not Important. The rest were pretty evenly distributed. See Java EE Survey Results for the complete numbers.
Third, only 1693 surveys were completed worldwide. Out of 10 million Java developers, this is an alarmingly low number taking into consideration that the survey was open for more than a month and there were massive encouragements for participation from the community, including Oracle.
Fourth, in the Java EE Guardians survey that was performed just prior to the Java EE 8 survey more than 30% of the respondents answered Very Important to the question “How important is it to add a new action-oriented MVC framework to Java EE?”.
The Way Forward
The most important thing right now is that the request for transfer is approved by the EC. The ballot closes January 30, so shortly after that the practical work may start.
2016 was a pretty eventful and great year for me personally. I had the opportunity to speak at a number of conferences including Jfokus, JavaLand, GIDS, CybercomDev, jPrime, Devoxx UK, JavaDay Minsk, JavaOne, JavaDay Kiev, Devoxx MA, Øredev. Links to talks and videos for most of these talks can be found on my Speaker Bio page.
I will continue speaking at conferences and events throughout 2017 as well. First up are Snowcamp.io, Devnexus, jDays, JavaLand, Riga Dev Days, DevDays Vilnius. And I still have some CFPs to submit talks to…
I also took over as JUG leader of Javaforum, the Java User Group in Malmö, and we had four meetings during 2016. The goal for 2017 is to continue with one meeting each quarter.
At the end of the year I won one of the associate seats in the Executive Committee of the Java Community Process. I am really looking forward to starting this work (I am actually going to London for our first face-to-face meeting tomorrow…).
If I should pick one single thing as the highlight of 2016, it would be the accepted to join the Java Champions. It was a surprise and an honor to be handed the Java Champions jacket from Arun Gupta at the closing Keynote of Devoxx UK.
You have probably noticed that the Java Community Process (JCP) has made becoming a member much easier. There is a new membership level called Associate Member which does not require any paperwork or approval of your employer and it can all be done online filling out a simple form.
– It looks good on your resume
– You can join as a contributor to any JSR and help evolve the Java ecosystem
– You get a vote in the upcoming elections for the Executive Committee
Why is the last item important?
Well, I am running for an associate seat in the EC, so by joining the JCP and voting for me in the upcoming election, you make sure that your voice is heard at the very top level of the JCP. My motivation is to give as much power to the community as possible.
Let’s make the JCP Great Again!
Please feel free to contact me on Twitter or discuss in the comment section if you have any questions or comments.
The way I see it, and also have indications from several people I have talked with during JavaOne, the possible outcomes of this are:
1. MVC is dropped completely
2. MVC continues and is included in Java EE 8 (JSR 366)
3. MVC continues as a standalone specification outside of the Java EE 8 umbrella spec
Let’s cross our fingers that the survey result turns out positive for MVC and that option 1 is ruled out by the community.
If we’re honest, option 2 is probably not very likely to happen. Given the aggressive road map for EE 8, cuts will need to be made. And MVC certainly isn’t on the list of the preliminary proposal.
Then we are left with the third option. And I actually think this may be the best way for MVC. There are several reasons for this:
MVC will not be depending on the Java EE 8 release and may release earlier and more oftenJava EE 8 is going to include some form of modularity and MVC may very well be one of these modules no matter if left out of EE 8. There are also some considerations to take if this option is explored
Ozark needs to be made portable across Java EE implementations. This means that we will need to get rid of the dependencies on internal Jersey APIs and base the entire implementation on APIs and SPIs that are available in Java EE 7 (and later Java EE 8 and 9)TCK
An open TCK under for example Apache 2.0 will enable us to easier use community input for developing the TCK. If Oracle is willing to let go of the TCK, they will also be relieved of the cost of creating it. This actually also applies to Ozark. It would be great if it could be developed under e.g. Apache 2.0
So, what you should do is to fill out the survey by following the link below: