Saturday, July 14, 2007

The need for RAE

With all the discussions around language changes in Java7, there is a need for democratic vote on what should be included or not.
But in today's Bug Database of Sun you can only vote for a RFE (Request For Enhancements), you cannot vote against. And when you look inside the Top 25 RFEs you can see that there is big controversy on most of them, and that Sun act as a final "benevolent dictator".
For example here is an extract of the top 25 RFEs that may have an impact on Java7/OpenJDK and the language:
Votes Bug ID Synopsis
580 4449383 Support For 'Design by Contract', beyond "a simple assertion facility"
341 4820062 Provide "struct" syntax in the Java language
303 4267080 break up rt.jar into downloadable-on-demand components to reduce jre size
197 4093687 Extension of 'Interface' definition to include class (static) methods.
172 4905919 RFE: Operator overloading
171 4801527 Support Repository in Java Web Start
152 4727550 Advanced & Raw Socket Support (ICMP, ICMPv6, ping, traceroute, ...)
125 4313887 New I/O: Improved filesystem interface
122 4129445 An API to incrementally update ZIP files
122 4650689 RFE: Java needs public API for FTP
113 4648386 Simplify deployment and versioning by embedding JAR files within each other

From this list, I'm personally for "java kernel: 4267080", "New IO: 4313887", against "Operator overloading: 4905919", "Design By Contract: 4449383", and still undecided on "struct: 4820062".
So, how can we compile all the votes?
Sun needs to create RAE (Request Against Enhancements) in parallel of each controversial RFE.
To compile the votes, we will need better access to the Bug Database, since listing all RFEs and RAEs by importance is impossible from the current Web Interface.
The need for RAE came from the big controversy around checked exceptions and I was really missing a nice compilation result of for/against.

Today, Java is Open Source and the full activation of the OpenJDK Governance Board is in progress. I will really like to know what to expect in the language. Having a compilation of popular RFE/RAE will help.
But until the process of the Governance Board is not clarified, Sun position will be the decisive one. And here the current position of Danny Coward, JavaSE Platform lead, is very confusing: "Seeking a small number of changes for Java SE 7 platform" (from Java One presentation).

No comments: