Java open source?

9 giugno 2006 at 23:00 (Tecnologia)

Altro argomento a tenere banco a JavaOne è stato l’annuncio dei vertici di Sun dell’apertura del codice sorgente di Java. “It’s not a question of whether, but how” ha detto Rich Green. Cioè la decisione è gia stata presa, si tratta solo di stabilire i modi.

Ma di cosa può avere paura Sun? In fin dei conti non si tratta di proteggere un segreto. Larga parte della tecnologia è già disponibile in formato sorgente, vari progetti sono stati aperti da Sun alla comunità. Fra questi Tomcat, NetBeans e, ultimo in senso cronologico, GlassFish. Quindi dov’è il problema?

Il motivo che rende la questione un problema per Sun è che aprire il codice vuol dire perdere controllo su Java. Mentre fino ad ora Java è stato un prodotto della Sun, l’apertura permetterebbe a chiunque di prendere Java, modificarlo, estenderlo e proporlo come un’alternativa al Java della Sun.

Apro a caso una delle applicazioni dimostrative da un Apple Mac e leggo:

import com.apple.cocoa.application.*;
import com.apple.cocoa.foundation.*;

L’applicazione è un giochino di elicotteri. Le librerie importate permettono al programma di usare le risorse del Mac in modo più efficiente, di girare più veloci e di offrire un’interfaccia in stile Mac. Sotto molti aspetti, l’utilizzo di queste librerie rende il programma “migliore”.

Questo però non può andar bene a Sun. Un programma scritto con le librerie Cocoa non può funzionare sotto Solaris, il sistema operativo della Sun, o sotto altri sistemi operativi. L’esempio del Mac era fin troppo semplificativo, ma se vi ricordate la questione della Java Virtual Machine di Microsoft e tutte le incompatibilità che introduceva sia nel run-time che nell’ambiente di sviluppo, sapete di cosa sto parlando.

I personaggi che si muovono su questa scena sono del calibro di IBM e BEA, che vorrebbero avere più voce in capitolo, per esempio nella definizione delle API di riferimento come J2EE. L’apertura del codice permetterebbe loro di creare, se volessero, uno strappo rispetto alla gestione di Java della Sun. E ci ritroveremmo con due versioni della tecnologia.

Sun ha creato il Java Community Process (JCP), aperto a chiunque voglia contribuire alle direzione futura di Java. Tutte le aziende interessate (incluso IBM e BEA citate prima) ovviamente ne fanno già parte. Immagino che la possibilità di partecipare sia effettiva, cioè che non comandi sempre e solo Sun, ma rimane il fatto che influenzare e cambiare Java fuori dai binari del JCP oggi non è possibile.

1 commento

  1. paolo.predonzani ha detto,

    Per chiarire il punto “Larga parte della tecnologia è già disponibile in formato sorgente” vi rimando al sito Sun Community Source Licensing (SCSL). Leggete i termini della licenza e scaricate i sorgenti di J2EE, J2SE, J2ME, Jini, ecc.

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

Iscriviti

Get every new post delivered to your Inbox.