I forbindelse med artiklen om standardisering af Java og
.NET platformen beskrives Java Community Process i
korte vendinger. I denne artikel uddybes motivationen bag JCP, og hvordan
JCP fungerer i praksis.
I April 1999 foreslog Sun at lave en formel
standardisering ved ECMA standardiseringsorganisationen. Allerede et halvt års tid senere
i december 1999 trak Sun dog forslaget tilbage igen. Det skabte en masse røre
- og gør det for så vidt stadig. I pressemeddelelsen om
tilbagetrækning af standardiseringen giver SUN følgende begrundelse for tilbagetrækningen:
"Sun is withdrawing from the process in order to protect the integrity of
the Java technology and the investment made in it by the worldwide community
using Java technology." samt "Sun noted that ECMA has formal rules
governing patent protections; however, at this time there are no formal
protections for copyrights or other intellectual property. Sun strongly believes
ECMA needs to adopt IPR (intellectual property rights) policies for the
collective benefit of its members and will continue to work actively in ECMA to
assist in developing those procedures.". Det lyder umiddelbart lidt løst
(men det er jo også en pressemeddelelse ;^), og den almindelige opfattelse har
da også været, at SUN trak Java fra standardiseringen, fordi de ved en
standardisering ved ECMA ville miste den endelige kontrol over Java. Hvis dette
vitterligt er tilfældet, kan det dog godt undre, at Sun ikke havde gennemtænkt
det bedre. I pressemeddelelsen skriver Sun netop, at de i forvejen var tæt knyttet
til ECMA. De burde derfor på forhånd have kendt konsekvenserne af en
standardisering.
Det Sun førte frem som et alternativ til den formelle standardisering var
JCP (Java Community Process) programmet. JCP startede op allerede året
før i december 1998, hvor første version af JCP programmet blev sat i værk - den såkaldte JCP
1.0.
JCP er en specifikation af, hvorledes alle kommende udvidelser til java platformen skal håndteres. Det
er således JCP, der har fuld kontrol over Java's fremtid, det betyder ikke, at Sun
fuldstændigt har sluppet grebet om Java, men det betyder
at eksperter eller virksomheder, der har interesser i bestemte områder kan få medindflydelse
på disse områder. Men - tag ikke fejl - det er stadig Sun, der sidder på toppen af kransekagen, hvilket en
nærmere gennemgang af JCP vil vise!
Efter at JCP programmet havde været i brug i nogle år og i forbindelse med fremkosten af J2ME
(Java2 Micro Edition) blev en ny version - JCP 2.0 - taget i brug i juni
2000.
JCP 2.0 ledes af 2 Executive Committees - en EC for Java 2 Micro Edition (J2ME) og en for Java 2 Standard & Enterprise Edition (J2SE &
J2EE). Disse komiteer har to roller. Den første er, at
klarlægge i hvilken retning Java skal bevæge sig, hvordan rettigheder håndteres mv. Den anden
og nok væsentligste er at stemme om hvorvidt de enkelte forslag skal
blive til noget, om deres fokus skal ændres eller om forslaget skal forkastes.
Følgende figur - fra JCP's
hjemmeside - viser processen fra et
JSR (Java Specifikation Request) indleveres af et JCP medlem, og til det
vedtages.
Der er megen involvering af alle parter, offentligt
review etc. så på den vis er der en bred mulighed for påvirkning. Kort fortalt indgives et forslag til en ny specifikation, derefter samles en
ekspert gruppe. De laver et oplæg til specifikationen, der sendes til review,
forbedres, sendes i offentlig review og efter en række
"rul" ender med en Draft.
I JCP 2.0 indgår også, at en specifikation ikke kan stå alene som
et papir-dokument. Der skal laves en eller flere reference-implementationer før en
specifikation kan erklæres "Final Release" (dette fremgår ikke rigtigt af
figuren).
De 2 styrende komiteer er på valg hvert år. Alle
JCP medlemmer kan nominere personer til et EC og alle har en stemme. Med denne
forklaring ser det jo faktisk ud til, at Sun har afgivet magten over Java's
fremtid, MEN det har de ikke. For der er lige den detalje, at begge komiteer
består af 16 medlemmer, hvor 10 er fra Sun, et medlem er valgt af Sun (blandt de
nominerede) og de resterende 5 er valgt af JCP medlemmerne.
Så JCP sikrer at initiativtagere til nye tiltag har en mulighed for at påvirke processen ved at indlevere
forslag til nye specifikationer. Man kan blive medlem af ekspert grupper
og derved præge processen. MEN by-the-end-of-the-day, så har Sun, via
deres flertal i komiteerne, den endelige beslutning.
Så kort kan JCP processen beskrives som en form for standardiseringsprocess, men med
veto-ret fra Sun.