The Artima Developer Community
Sponsored Link

JCP Watch
Standards and Innovation
A Conversation with Rob Gingell, Part I
by Frank Sommers
January 13, 2002

<<  Page 4 of 6  >>

Advertisement

Source versus Binary Compatibility

Frank Sommers: You mentioned in an interview on www.sun.com that customers care mostly about binary compatibility, given that it's binary code that delivers the benefits of the software they use. When the JCP talks about compatibility, does it mean binary or source-level (API) compatibility? In general, could you please explain a bit the differences, and what the JCP's focus is in that regard?

Rob Gingell: We actually mean both source and binary level compatibility in the JCP.

We mean source so that the developers who have invested their energies in learning Java have a wide range of uses against which to apply that skill. Source compatibility is for programmers.

Binary compatibility is for products—and for the users of those products. Some of those users are also programmers who want to deploy anywhere, so they get a benefit from binary compatibility too, and that is the source of the notion of "write once, run anywhere".

The Unix industry was regarded as fragmented by customers because you couldn't interchange the binary artifacts between systems, either in whole or in part. Yet we had all those Unix standards, and everyone claimed to conform to them. So what went wrong?

Well, in some ways, nothing—only, we had an audience mismatch. Unix was very successful in having a technology standard—source code was relatively portable. Linux's rapid rise is in part due to a ready-made set of applications, and its historical evolution was partly driven by finding an application it couldn't run and then adding what was needed. The programmers actually did, and largely do, enjoy "open systems" in Unix.

End-customers, however, did not. For them, the Unix standards have a similar import that steel standards have to a person trying to buy a car. No one cares about them explicitly, nor makes a purchase decision based explicitly on them. The JCP manages Java in both spaces, providing both programmers and end-users of their work the benefits they're seeking.

<<  Page 4 of 6  >>


Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2017 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us