The Source for Java Technology Collaboration
User: Password:



David Herron's Blog

David Herron David Herron has worked for 7 years in the J2SE Quality Engineering team. He has developed test suites and GUI test automation tools, and was a co-author of the java.awt.Robot class. His prior experience is in development roles, in cross-platform GUI toolkits, and electronic mail systems. David graduated from the University of Kentucky in 1988.



Is the JCP fundamentally the wrong model (now) for Java?

Posted by robogeek on June 04, 2009 at 09:29 AM | Permalink | Comments (5)

I'm drawing on several threads of thinking in several presentations and conversations this week at JavaOne, and am thinking the Java Community Process (JCP) no longer serves the needs of the Java ecosystem. I'm not the first to say this, not the last, but here's a few thoughts anyway.

Sun (soon Oracle) is the owner and for the process to work out well the owner has to be enlightened enough to serve the needs of others as well as their own needs. In reaping rewards from building an ecosystem requires having the wisdom that your benefit comes from everybody happily using your ecosystem, and always acting to nurture the ecosystem you've built. Some styles of gardening (Permaculture) recognize this principle. However administrations change and while one set of people overseeing Java might be enlightened the next set might be money grubbing short sighted opportunists. I'm not pointing fingers at anybody, just outlining a general principle.

The question is.. is it appropriate to have the foundational pieces of the Java ecosystem in the hands of one company? Or is it better for those foundational pieces to be in the hands of a consortium whose purpose is the benefit of all?

Open process - When Java was first developed in the mid 90's the open source software world was nowhere as mature as it is today. In 1995 the open source software scene was very primitive even if some specific pieces of that scene were well developed and widely used. The JCP was born in that environment and historically has served mostly big business and mostly acted behind closed doors and secrecy. In todays world where the open source software scene is much more developed and accepted, is closed door secrecy of any use now? Of course the JCP has been undergoing reforms, a good thing. Also a language specification, VM specification, etc, those are not open source software, they are specifications. The IETF is an example of a standards organization developing standards out in the open in a way I longingly remember from the early 90's when I was still an electronic mail expert.

The JCP setup is tailored to the old model of iterating the Java platform. There is a platform JSR to define the Java <n+1> and a passle of specific JSR's for each feature in Java n+1 are formed to steer those features through the design and development process. This tied well with Sun's traditional 18 month or so development cycle of delivering a huge amount of change in 18-24 month cycles.

Does that model still serve us? Or is there are model with shorter cycles which would serve us better? For that matter Sun has been successfully delivering feature changes in the "6 update" train, going against their former rules of not adding features in update releases. (updates were only for bug fixes)

Having short cycles offers a lot of potential benefits. Witness what the Ubuntu, Fedora, etc projects have been able to do with short cycles. It means rapid adjustment of direction with changing conditions. It means a bug fix has a greater chance of getting into the platform than previously. etc.



JavaOne 2009 opening Keynote

Posted by robogeek on June 02, 2009 at 02:50 PM | Permalink | Comments (1)

The JavaOne opening keynote is still a fancy rock & roll show with fancy stage and the like. It's always exciting to see what they have to say, and they do a good job of spinning a story that Java is Everywhere.

The overall message is to convince developers that the Java platform is compelling, that Sun is providing this compelling ecosystem for developing applications, and that the developers can become uber-rich by developing applications for the Java platform.

It's a cool message.. Anyway it struck me how non-community-oriented this message is. It's delivered in a push model, that "we Sun are developing this platform for you <the developer>" rather than a community oriented message of "we came up with this cool thing, let's work together to make it totally great". At one point Jonathan said something about delivering compelling technologies that engage developers who are going to build the next eBay. This phrase "the next eBay" is emblematic of a problem Sun has in general, in that they develop lots of great technologies not all of which are lines of business that can do $1B per year. Sun's management however can only contemplate billion dollar business decisions and is incapable of working with smaller scale business decisions. Example in point: SunSpot which is going to remain an unexploited business opportunity because it's too small. Sun is leaving a lot of $$$'s on the table by being unable to exploit small business units along with the large ones.

In any case I want to get back to this distinction between the push model of developing technology to give to developers, versus setting up collaboration projects to develop technology ideas.

This is important in regard to the trending at Sun towards Open Source software projects. While the official definitions of open source projects focus on the licensing terms and freedoms granted by the license, it's widely recognized that community oriented development is a requirement for success in open source software projects. There are a lot of resources out there with guidelines for successful communities and how it exists within open source software projects. Yesterday @ CommunityOne the Ubuntu community manager, Jono Bacon, gave an excellent presentation on community (artofcommunityonline.org), for example. Basically a community is a cluster of people interacting with one another. It help's bring community into existence when the people gain value of some kind from participating in community processes.

It seems obvious to me the push model of delivering technology does not lead to community creation. The push model isn't very collaborative, not engaging people into interaction. How can the community form if there is not a compelling reason for people to interact with one another?

Perhaps this is a core reason behind a number of WTF issues related to Sun and Java .. Sun makes excellent technologies like Java, so why hasn't Sun been able to be successful as a business.

During the Keynote the tail end was led by the new overlord, Larry Ellison. There was a little dance on the stage which wasn't explained but reminded me of the 2006 JavaOne keynote which was Jonathan's first time as CEO giving the keynote. He and Scott were on stage and they explained that the widget used by the presentation leader to control the slides, that the official name for that widget was "The Pickle". They made a big hooraw about Scott handing The Pickle to Jonathan in a symbolic passing of the torch of authority from Scott to Jonathan.

During this keynote there was a similar passing of the Pickle. It went first from Jonathan to Scott who did a bit of joking around about reasons why Sun+Oracle makes sense, and then Scott passed it to Larry.

During this section Larry & Scott addressed the obvious concerns we might be having about the Sun+Oracle deal and specifically what it means for Java. It sounds good in that for example Oracle's middleware is 100% Java. Oracle's product line-up is a database engine plus a whole big slew of apps running on top of the database, all of which are written in Java. It's clear that Java is important to Oracle.

What isn't clear is whether the OpenJDK community is important to Oracle.

Nowhere in Larry's talk did he mention open source, community, OpenJDK, etc. Instead he talked in this same push model.

Larry also said a few oddball things ...

He's been meeting with various teams within Sun to discuss product plans. This makes perfect sense in that Oracle buying Sun is clearly going to mean a direction change for what has been Sun's product line. A specific weirdo thing he said is he hopes for "JavaFX Libraries from the OpenOffice team".

Uh... say what?

I've long been wanting that very thing. It makes perfect sense to me that an Applet to display OpenOffice documents would be extremely useful. And with JavaFX it's very plausible this could be a great user experience.

This would be known as Rich Enterprise App's. Rich applications need not be limited to consumer app's. There are plenty of examples of needing Rich applications for other purposes than immersive gaming. An obvious example is finance.yahoo.com and the like where stock information is presented as a fancy charting application.

It's nice that Oracle sees the need for Rich Enterprise app's.

However a couple years ago I had a chance to talk with a Marketing leader within the OpenOffice team, and brought up this very idea. That led to an interesting conversation.

Because of the OpenOffice architecture any display app to show an OpenOffice document would end up dragging in pretty much every OpenOffice component. OpenOffice's file format is a compressed ZIP file with XML files in a known/standard ODF format. This is why it seems compellingly possible that an applet could simply read the XML files and render them.

But OpenOffice has an embeddable object module so that e.g. you can embed a spreadsheet in a presentation to display charts or tables. Because of that any OpenOffice document can reference OpenOffice objects from any of the applications. Because of that even a simple viewer applet would be essentially the whole of OpenOffice.

Another fly in the ointment here is the various licenses involved. One of the big huge values of OpenOffice is it's open source license that e.g. allows OpenOffice to be in Ubuntu/Debian Main and have equivalent status on other operating system distributions. But JavaFX is not using an open source license making it infeasible to put JavaFX into those operating systems. If OpenOffice were to be rewritten in JavaFX that would put a dependency on JavaFX making it impossible for OpenOffice to continue being delivered in open source operating system distributions. That is, if JavaFX continues being closed source. Maybe JavaFX will be fast tracked into being open sourced?

An open question is whether Larry's statement means a demand to rewrite OpenOffice into Java/JavaFX .. or whether he only meant some kind of library. For example it might be possible to embed (JNI) OpenOffice native libraries as Java(FX) objects without biting the bullet of rewriting OpenOffice in Java. It would also be incredibly expensive to undertake an OpenOffice rewrite and also be very risky.

In other words I was left scratching my head and going WTF is he thinking.

Before you think I was turned off by the keynote, no, I wasn't. It was exciting the various ideas and things presented. For example they showed fabulous things with JavaFX TV, JavaFX BluRay, the new Authoring tool, and store.java.com. Very cool.



OpenJDK Porter Group BOF

Posted by robogeek on June 02, 2009 at 11:38 AM | Permalink | Comments (0)

Just a reminder to those of you a) attending JavaOne, b) interested in porting OpenJDK to other platforms, we have a BOF on thursday night. Please attend. The agenda is to simply bring the right people into the room and chat. Please attend.

Rich User Interfaces for Java ME, Project Capuchin (Sony/Erricsson), JavaFX

Posted by robogeek on June 02, 2009 at 11:36 AM | Permalink | Comments (0)

This session is conducted by a pair from SonyEricsson, and they're discussing Java based rich user interfaces for "mobile" devices. As always the word "mobile" is overly constrained to mean "cell phone" which is to me a misnomer because "mobile" could clearly mean other kinds of devices than cell phones. There are lots of portable electronics devices which would do well to have a light Java stack but for some reason the JavaME community focuses on cell phones only. What about digital cameras and portable game devices just to name two kinds of portable devices that are not targeted by JavaME.


Rich UI requirements:
Richer user experience is more compelling to user more likely to be bought by users. Users want their device to be theirs, their own colors, making it work the way they want. Operators need to brand the device. Usability enhancements possible with rich UI.

JavaFX is a cross platform RIA stack, JavaFX Script is the language, JavaFX Mobile is for cell phones. "All the screens of your life" are defined as "Desktop", "Mobile" and "TV" (what about digital cameras?). JavaFX Mobile runs on top of Java ME. Same language, same API, for the core profile.

Tools: Netbeans; JavaFX plugin for Illustrator and Photoshop (Production Suite)

Capuchin: Bridge between JavaME and Flash Lite. Design UI in Flash with Java providing services. Combine two well known and widely spread technologies, Flash and Java. Capuchin API presented to joint MIDlet which contains both .swf content and MIDlet class(es). Flash can request from Java class, Java class can notify flash UI. "MXP" components provide services e.g. to access native services like calendar, accelerometer, contacts, etc, these components also available through relevant JSR's.

To aid developers to expose an Java service, they have an API generator tool which helps generate MXP components. They did not create their own GUI authoring tool, because Adobe's Flash is a perfectly fine IDE. SWF2JAR. http://developer.sonyericcson.com Requires Adobe CS.

There's an interesting strategy conundrum.. would it have been better for Sun to join forces with Flash Lite? Or is it better for Sun to attempt to own the whole stack with JavaFX.

For the demo they show a "Car Shop" application developed in both JavaFX and using Capuchin. It shows you can use two different technology stacks to provide very similar applications. The reason I posed that strategy conundrum is due to the expense of developing JavaFX and to ask whether that expense was worthwhile. Why not instead collaborate with Adobe to provide rich UI experiences on mobile devices? Clearly Sun chose to develop JavaFX.

Future? Sun's direction is clearly JavaFX and they decide JavaFX's direction. For Capuchin: SonyEricsson has 12+ devices now, also Symbian phones will have Capuchin. They will continue exposure of services, apparently promise to continue developing their stack.

Their demo showed JavaFX can run on SonyEricsson phones.



Blogging from JavaOne

Posted by robogeek on June 02, 2009 at 11:21 AM | Permalink | Comments (0)

I am attending JavaOne and will be posting a series of blog's about each session I attend.

Oracle+Sun effects on Java...?

Posted by robogeek on April 26, 2009 at 10:48 AM | Permalink | Comments (5)

So, hmm, Oracle+Sun. Interesting twist from the IBM+Sun matchup earlier. There has been numerous rumors over the years about SUN+xyzzy mergers such as Fujitsu, IBM, SGI, Apple, etc. And it's finally come to Oracle. It seems there's a lot of scratching of heads over what this will mean for the open source software projects run by Sun, and of course the back of my mind has been pondering the effect on the OpenJDK. An article in that esteemed dumpster diver rag, The Register, is prompting me to write: Oracle suits to strap on Sun's Java sandals: leader without followers

There's a meme in that article that's been in my mind a lot, especially with Stephen Colbourne's series of articles dissecting the JCP. Maybe the JCP doesn't properly represent what the community wants regarding Java.

Many in the community regard Sun as the "steward of Java" and there are many questions over whether Sun is a good steward over Java.

But does Sun think of itself as the "steward of Java" ?? As an employee inside the Java SE team I heard different statements from different people. Sometimes we were positioned as Stewards, other times we were positioned as Owners. The role of a Steward is different than the role of an Owner, right? Sun's true vision of its role in the Java ecosystem is what flavored what Sun did for/to that ecosystem. Similarly Oracle will soon (?likely?) finish the purchase of Sun and then it will be their vision of their role in the Java ecosystem that will flavor what they do for/to that ecosystem.

Some of the criticism of Sun was not properly monetizing its software, such as Java. But would a Steward monetize fully? Or would they hold back for the good of the community? Is full monetization is something an Owner would do? Think: Microsoft and Windows and programmers tools for Windows. The big 8,000,000 lb gorilla in programmers tools for Windows is, so far as I know, Microsoft.

But monetization is only part of Owner versus Steward. Another part is feature choice, right? I never got involved with the EE end of the Java universe, so I'll trust The Register article when it says most of the focus of Enterprise Java developers is not the EE stack but the various smaller scale open source frameworks and tools. Hibernate, Spring, Maven, etc. This says to me that at the EE end the community is not developing the preferred technology through the JCP but through other mechanisms (primarily open source projects). That points to a failure of the JCP to properly represent what the community really wants.

That touches on concerns I've had for a long time. The decision making for Java SE, as I saw it occur, seemed focused on satisfying the needs of huge organizations over smaller ones. I always heard it stated as these huge organizations are big customers of Sun, buying lots of Sun hardware/services etc, and of course we should pay attention to their needs. Similarly it's well known that the JCP is run by the Executive Committees, and that the EC seat's are predominately held by corporate JCP members rather than individuals.

Does Java exist to enrich its owners? Or does Java exist to enrich us all? Who is to be making the decisions about the Java ecosystem?

Sun employees were the inventor of Java and that means (because software is a work-for-hire arrangement) that Sun has had the right choose how Java is delivered to the market, and what to do with this thing. For better or worse Sun's positioning of Java was as an open playing field for everybody to partake in (Sun==Steward). Maybe Sun's true vision is Sun==Owner and that distinction may be the source of much of the friction in the Java ecosystem.

What Oracle do we consult to learn what Oracle's vision is? And if the JCP truly doesn't serve our needs perhaps it needs to be killed, but what would or should replace it? Does it serve us best for significant pieces of the Java ecosystem to continue being developed outside a shared standards process? Or does the existing open source projects better serve the shared needs of the Java ecosystem? And should the core pieces of the Java ecosystem, the ME/SE/EE stacks, also be defined via open source projects rather than the closed source style of the JCP? Unfortunately we in the Java ecosystem/community cannot make some of the required choices, as they rest with the corporate overlords.



Sun+IBM ==> What does it mean for Java?

Posted by robogeek on April 04, 2009 at 08:44 PM | Permalink | Comments (3)

I've been gone from Sun for a little while now but of course I'm still interested in Java, and thankfully still have access to this java.net blog. Anyway the recent news about IBM pondering buying Sun has piqued my interest.

To me the potential hookup seems like a bad idea. Sun plays a useful role in the computer industry as an independent company, that would be lost if woven into IBM. And the tremendous overlap between Sun+IBM leaves me scratching my head over what they could be thinking. Unfortunately Sun has run into some more serious trouble than they were already in.

Whatever the business stuff is being done.. the real puzzle is whether IBM will be a better steward of Java than Sun has been.

I really don't know.. Wonder what is on everybody's mind.

Here's a few items I'm finding in recent blog/news searches..

Dana Blankenhorn talks about The failure of McNealy's ponytail strategy .. the enterprise storage forum thinks IBM-Sun Merger Appears Near (with an announcement on monday) .. In JavaWorld they interviewed a bunch of folk about If IBM owns Java ... James Gosling is quoted warning of James Gosling warns of ‘culture clash’ if IBM buys Sun ... Forbes.com is predicting IBM And Sun: There Will Be Blood ... And C|NET's staff have written several articles about Envisioning Sun on IBM's horizon



June 2009
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        


Search this blog:
  

Categories
Business
Community: Embedded Java
Community: Java Tools
Community: Java User Groups
Community: JavaDesktop
Community: JDK
Community: Mobile & Embedded
J2SE
Open Source
Swing
Testing
Archives

June 2009
April 2009
January 2009
December 2008
November 2008
October 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005

Recent Entries

Is the JCP fundamentally the wrong model (now) for Java?

JavaOne 2009 opening Keynote

OpenJDK Porter Group BOF

Articles

j1-2k7-mtW09: OpenJDK Quality Team Introduction and Discussion
It takes a village to grow an open source project. Any open source project lives from a wide range of contributions, not just bug fixes, new features, and other changes to the software, but evangelism, user groups, artwork, and more. The OpenJDK Quality Team is being formed by Sun's Java SE quality team to inspire collaboration with the public related to OpenJDK and Java SE quality. The quality team gives you opportunities to create tests, perform test execution, give feedback on current test plans, and more. In this java.net Community Corner mini-talk from JavaOne 2007, David Herron introduces the OpenJDK quality team. Jun. 13, 2007

All articles by David Herron »



Powered by
Movable Type 3.01D


 Feed java.net RSS Feeds