OpenJDK ha introdotto una policy provvisoria che vieta l’inserimento nei contributi al progetto di contenuti generati, anche solo in parte, da large language model, modelli di diffusione o sistemi analoghi basati sul deep learning. La regola riguarda non soltanto il codice sorgente, ma anche testo e immagini pubblicati nei repository Git di OpenJDK, nelle pull request su GitHub, nelle mailing list, nelle pagine wiki e nei ticket del Java Bug System. La misura è stata approvata dall’OpenJDK Governing Board mentre Oracle, corporate sponsor della comunità OpenJDK, lavora alla definizione di una policy completa e definitiva sull’utilizzo dell’intelligenza artificiale generativa nei contributi al progetto.
Il divieto si applica anche quando il materiale prodotto dall’AI viene successivamente modificato da una persona. Le FAQ della policy chiariscono il principio con un esempio: se uno strumento generativo produce 100 righe di codice e il contributore ne modifica manualmente dieci, il contributo continua a contenere materiale generato dall’AI e non può quindi essere accettato. Rimane invece consentito utilizzare privatamente strumenti generativi per comprendere il codice di OpenJDK, eseguire attività di debugging, effettuare code review o condurre ricerche relative ai progetti, purché il contenuto generato non venga poi inserito nei canali ufficiali del progetto.
La policy distingue inoltre gli strumenti generativi dalle funzioni tradizionali presenti negli editor e negli IDE. Correzione ortografica, controllo grammaticale, completamento automatico e refactoring continuano a essere ammessi quando non sono basati su large language model o tecnologie di deep learning analoghe. Questo significa che il completamento convenzionale dell’IDE rimane utilizzabile, mentre una funzione di autocomplete alimentata da un LLM ricade nel divieto se il risultato prodotto viene incluso nel contributo.
OpenJDK motiva la scelta principalmente con tre categorie di rischio. La prima riguarda il carico imposto ai reviewer: contributi generati rapidamente dall’AI possono apparire plausibili ma contenere errori, comportamenti difficili da mantenere o implementazioni che richiedono comunque una revisione approfondita da parte di sviluppatori esperti. La seconda riguarda sicurezza e affidabilità, particolarmente rilevanti per il JDK, utilizzato come base per applicazioni e infrastrutture critiche. La terza riguarda la proprietà intellettuale, perché l’Oracle Contributor Agreement richiede che chi contribuisce disponga dei diritti necessari sul materiale trasferito, mentre la titolarità giuridica degli output prodotti dall’intelligenza artificiale continua a essere oggetto di controversie e procedimenti legali.
L’applicazione pratica della policy prevede anche un passaggio nel sistema Skara, utilizzato da OpenJDK per automatizzare la gestione e la revisione delle pull request. I contributori dovranno dichiarare attraverso una specifica conferma che il materiale inviato rispetta le regole sull’AI generativa. La stessa documentazione riconosce tuttavia che distinguere in modo affidabile contenuti prodotti da esseri umani e contenuti generati dall’AI è, in generale, impossibile. Ai reviewer viene quindi suggerito di prestare attenzione ad alcuni possibili segnali, come attribution trailer riferiti a strumenti AI, variazioni improvvise nello stile di scrittura, commenti eccessivamente strutturati, codice insolitamente difensivo o altri elementi incoerenti con i precedenti contributi dello stesso autore.
La scelta di OpenJDK arriva mentre l’utilizzo degli strumenti di coding basati sull’intelligenza artificiale si sta diffondendo rapidamente nello sviluppo software. Uno studio pubblicato nel luglio 2026 ha analizzato 106 issue appartenenti a 49 repository dotati di regole specifiche sui contributi AI e ha rilevato che gli agenti di coding testati raramente recuperavano autonomamente queste policy prima di iniziare il lavoro. Prompt aggiuntivi, citazioni esplicite delle regole e feedback forniti da sistemi di verifica aumentavano la conformità agli obblighi di disclosure e ai controlli richiesti, ma nessuno degli agenti testati rifiutava automaticamente di produrre contributi nei repository che vietavano completamente l’uso dell’AI.
La posizione adottata per OpenJDK non coincide però con quella utilizzata da tutti i progetti collegati a Oracle. GraalVM, progetto di Oracle Labs che non ricade sotto la governance dell’OpenJDK Governing Board, ha pubblicato una policy che consente ai contributori di utilizzare AI coding assistant nella preparazione di codice, test, documentazione, commit, pull request e issue, mantenendo quindi un’impostazione diversa rispetto al divieto introdotto per OpenJDK.
La differenza è significativa anche rispetto all’utilizzo interno dell’AI dichiarato dai vertici di Oracle. Larry Ellison ha affermato che i modelli di intelligenza artificiale vengono già utilizzati in misura crescente per produrre codice all’interno dell’azienda, mentre il co-CEO Mike Sicilia ha collegato l’impiego di questi strumenti alla possibilità di lavorare con team di ingegneria più piccoli e accelerare lo sviluppo. OpenJDK viene però gestito come progetto open source con contributori esterni e un processo pubblico di revisione, motivo per cui la policy provvisoria applica al materiale inviato dalla comunità requisiti differenti rispetto alle procedure interne adottate da Oracle per il proprio software commerciale.
Il divieto non impedisce quindi agli sviluppatori OpenJDK di utilizzare l’intelligenza artificiale come strumento personale di supporto, ma separa nettamente l’assistenza durante il lavoro dalla provenienza del materiale effettivamente sottoposto al progetto: l’AI può essere utilizzata per comprendere, analizzare, verificare o studiare il codice, mentre codice, testo o immagini prodotti dai sistemi generativi non possono entrare nei contributi ufficiali, neppure dopo una modifica parziale da parte del programmatore.
Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)
