Java's JCP - Java Community Process - program  


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.