Jeffrey Hammond and I did a Teleconference today for clients about the first release of Oracle Fusion Middleware 11g. One of the big areas of concern among attendees was an old chestnut that I actually haven't seen for awhile: Portability. The basic question: If we develop for Oracle's stack, are we locked into it?

Jeffrey and I have documented the basic risks of lock-in we see in Fusion Middleware 11g in our analysis (http://www.forrester.com/go?docid=55043). I don't want to revisit that analysis here; rather, I'm more interested in why we suddenly heard this concern..

I've been writing about software technology roughly since the birth of the "open systems" movement during the late '80s. At that time, open systems meant SQL relational DBMS + Unix at its core, with DCE and CORBA sometimes tossed into the mix as well. The concern for code portability extended to Java's "write once, run … anywhere" promise in 1995. And then I think it started to die.

In my experience, by the time we got to 2000, customer interest in portability had seriously dropped off. I almost never heard about portability as a client concern. (Nothing like the kinds of questions Jeffrey and I got today.) It seemed that customers either simply wanted the functionality they needed or had given up on portability as a goal worth pursuing. I've been wanting to figure out what was behind the change in heart about portability for a long time; hopefully I'll start getting some insights now — from you!

Is code portability important to you? Why or why not? Should we just declare "open systems" dead and move on?