In informatica, Apache OpenOffice, noto come OpenOffice e precedentemente come OpenOffice.org, è un software di produttività personale sviluppato dalla Apache Software Foundation che ne coordina lo sviluppo dal giugno 2011 e lo distribuisce con licenza libera AL2.
Il suffisso ".org" fu aggiunto nel periodo in cui il software era gestito da Sun Microsystems (poi divenuta Oracle America) dopo una disputa sul marchio con una società olandese[1], che portò alla richiesta di adottare formalmente "OpenOffice.org" come nome ufficiale del progetto[2]. Tuttavia, comunemente ci si riferisce tuttora alla suite senza usare il suffisso.
Sono disponibili anche diverse versioni di OpenOffice portabili, utilizzabili da supporti di memoria esterni come ad esempio un supporto USB. Sono generalmente gratuite, open source e disponibili per i sistemi Windows e GNU/Linux.
Nell'agosto del 1999 Sun Microsystems comprò StarDivision, una società di software tedesca che produceva la suite per l'ufficio StarOffice. Sun si poneva l'obiettivo di fornire un'alternativa al prodotto Microsoft Office, all'epoca dominante sul mercato. Nel 2000 Sun decise di rendere disponibili i sorgenti di StarOffice con licenza open source; l'anno dopo nacque il progetto OpenOffice.org. Questa strategia permise a Sun di accedere a uno sviluppo rapido con dei costi più contenuti.
A partire dalla versione 6.0, StarOffice è basato sul codice di OpenOffice.org con l'aggiunta di alcuni componenti proprietari. La relazione tra StarOffice e OpenOffice.org era molto simile a quella esistente tra Netscape Navigator e Mozilla Suite. Con l'acquisizione di Sun da parte di Oracle StarOffice per un breve periodo è stata rinominata Oracle Open Office.
Nelle prime versioni si era pensato di configurare OpenOffice.org per collegarsi con database come PostgreSQL o MySQL, avendo in questo modo a disposizione le prestazioni e le potenzialità di un vero database. Dalla versione 2.0 c'è a disposizione una gestione diretta di una base di dati e un'interfaccia utente più versatile simile a quella utilizzata da Microsoft Office (fino alla versione 2003, dopodiché l'interfaccia di quest'ultima si è differenziata notevolmente).
Dall'8 maggio 2008 è disponibile la versione beta 3.0 della suite che contiene varie novità tra le quali: in Calc è migliorato il supporto per la collaborazione su foglio di calcolo attraverso la condivisione dei workbook e aumentato a 1024 il numero delle colonne per foglio; in Writer è stato integrato un sistema di appunti rinnovato e ora è possibile visualizzare più pagine durante la revisione; inoltre sono presenti miglioramenti generali in Chart e una potenziata funzionalità di ritaglio (crop) in Draw e Impress. Inoltre OpenOffice.org 3.0 supporta lo standard OpenDocument Format (ODF) 1.2 e permette l'apertura di documenti Microsoft Office 2007 o Microsoft Office 2008 per macOS (.docx, .xlsx, .pptx ecc.). Da questa versione è disponibile uno "start center" con nuove icone dal quale è possibile avviare i vari applicativi della suite o aprire un documento specifico.
La versione 3.0.0 è la prima versione nativa anche per Mac OS X; prima tali utenti dovevano scegliere se utilizzare una versione di OpenOffice.org per X11 meno performante o una particolare versione nativa, un fork del progetto originario, denominata NeoOffice. La build stabile, distribuita il 13 ottobre 2008, non supporta più Windows98 e Mac OS X per processori PowerPC.
Dopo l'acquisizione di Sun Microsystems nel 2010, Oracle Corporation rinomina il progetto StarOffice in Oracle Open Office di cui pubblica la versione 3.3 nel dicembre dello stesso anno[3] Pochi mesi dopo, il 15 aprile 2011 Oracle arresta lo sviluppo commerciale[4] e il 1º giugno 2011 dona la suite ad Apache Software Foundation. Il successivo 13 giugno il progetto viene inserito in Apache Incubator[5][6] con lo scopo di gestire la fase transitoria.
Il 28 settembre 2010 alcuni membri del progetto OpenOffice.org hanno fondato il gruppo The Document Foundation distaccandosi da Oracle e chiedendo a quest'ultima di donare il marchio OpenOffice.org e prendere parte all'iniziativa.[7] Le trattative tuttavia non andarono a buon fine. Con l'intento di riunire gli sforzi (talvolta frammentati) sviluppati dalla community nel corso degli anni, la fondazione optò per la creazione di un fork della suite chiamato LibreOffice, che incorporava nella prima release anche le migliorie del progetto Go-oo.[8]
Molti contributori al progetto OpenOffice.org compresi Canonical, Google, Novell e Red Hat aderirono al progetto di The Document Foundation per la creazione di una nuova suite aperta e indipendente.[9]
Ora The Document Foundation[10] continua la diffusione della sua suite per ufficio sotto il nome LibreOffice[11] come prodotto distinto da OpenOffice.
Lo sviluppo di OpenOffice.org da parte di Apache fa registrare importanti cambiamenti. La nuova fase riceve fin da subito il supporto di IBM che nel luglio del 2011[12] conferirà nel progetto il codice di Lotus Symphony[13]. Viene quindi deciso un cambio di licenza con l'adozione della licenza Apache. Cambia anche la denominazione del progetto che da OpenOffice.org diventa Apache OpenOffice (spesso indicato anche con l'acronimo AOO).
Apache OpenOffice 3.4 è la prima versione della suite pubblicata sotto la gestione Apache e viene resa disponibile l'8 maggio 2012. Nell'agosto dello stesso anno la comunità di Apache OpenOffice annunciò[14] che il piano di sviluppo prevedeva di rendere disponibile Apache OpenOffice 3.5 nei primi mesi del 2013, seguito da Apache OpenOffice 4.0 che avrebbe incluso alcuni elementi presenti in Lotus Symphony. In realtà la versione 3.5 non arrivò mai alla pubblicazione anche se nell'agosto del 2012 venne comunque presentata Apache OpenOffice 3.4.1 con una serie di aggiornamenti minori; in quell'occasione venne anche sottolineato come Apache OpenOffice 3.4.0 avesse raccolto più di 12 milioni di download nel giro di poche settimane.
Il 17 ottobre 2012 dello stesso anno AOO venne "promosso" da Apache Incubator a progetto Top Level di Apache[15].
Apache OpenOffice 4.0 viene pubblicato il 23 luglio 2013[16] e si caratterizza per l'inclusione di diverse porzioni di codice presi da Lotus Symphony tra cui la nuova barra degli strumenti laterale. Il primo importante aggiornamento di OpenOffice 4 arriva il 29 aprile 2014 con la versione 4.1[17]. Alla fine dello stesso anno IBM annuncerà[18] la fine del supporto a Lotus Symphony suggerendo ai propri utenti di passare ad Apache OpenOffice[19].
Aggiornamenti ulteriori di Apache OpenOffice sono stati resi disponibili al ritmo di uno, due o tre pubblicazioni all'anno:
Il 29 ottobre 2020 Apache OpenOffice ha raggiunto il record di 300 milioni di download[35], due terzi dei quali ascrivibili al solo ramo 4.1.x. La cifra simbolica dei 333 milioni download è stata invece annunciata[36] il 30 agosto 2022. In entrambe le circostanze sono stati conteggiati solo i download dal sito ufficiale anche se il software è ottenibile da numerose altre fonti.
Il progetto ha come obiettivo quello di fornire a tutti gli utenti un prodotto libero che offra funzionalità comparabili con i prodotti commerciali attualmente dominanti nel settore di produttività personale.
OpenOffice offre un buon livello di compatibilità con i formati di file di Microsoft Office, ma impiega come formati predefiniti quelli definiti dallo standard internazionale OpenDocument basato su XML. I file in questo formato utilizzano l'algoritmo di compressione LZW (lo stesso dei file "ZIP") per ridurre le dimensioni. Apache OpenOffice supporta ufficialmente Linux, Microsoft Windows, Solaris e macOS (la versione 2.x su macOS richiede l'uso di X11), ma è possibile installarlo anche su altri sistemi operativi[37].
Alcune funzioni richiedono l'installazione di una Java Virtual Machine JVM di Sun o Oracle (esistono anche versioni ufficiali che non richiedono java o versioni non ufficiali che usano una virtual machine libera quale Kaffe.org). La scelta di licenza fatta per OpenOffice.org (LGPL anziché GPL) ha consentito di rendere disponibili per il download versioni di OpenOffice.org con incorporato il Java Runtime Environment di Sun. Le varie versioni di Apache OpenOffice non includono invece il software JRE che può comunque essere installato separatamente. La dipendenza da Java è comunque limitata al gestore di database Base[38] e a un numero limitato di funzioni degli altri moduli software.
Progetti aggiuntivi e paralleli di OpenOffice riguardano la stesura della documentazione, la localizzazione e la programmazione dell'infrastruttura sulla quali sono costruiti i vari moduli della suite. Esiste anche un progetto che ha come obiettivo quello di creare un archivio comune delle macro.
È disponibile in varie decine di versioni linguistiche ufficiali, a cui si aggiungono progetti di localizzazione "regionali" come, per esempio, la traduzione nei dialetti della lingua zulu sponsorizzata dal governo sudafricano o quella friulana[39].
Come ogni software open-source, è possibile visualizzare e modificare il codice sorgente del software. Tuttavia esso non è ben commentato (alcuni commenti risalgono al vecchio StarOffice), è scritto in vari linguaggi (primariamente C++ e Java, ma anche Perl), e parte dei commenti è in tedesco.
L'API di OpenOffice è costruita secondo le specifiche della piattaforma UNO (Universal Network Objects) e consiste in un'ampia gamma di interfacce collegate tramite definizioni in linguaggio IDL (Interface Description Language).
OpenOffice usa una versione modificata di BugZilla (sviluppata da Mozilla Foundation), chiamata IssueZilla, che serve a tenere traccia di tutte le richieste, i commenti e i bug segnalati.
Il codice sorgente inizialmente veniva reso disponibile da Sun prima e da Oracle poi come software libero su licenza LGPL. Il codice era inizialmente basato sui sorgenti della versione 5.2 di Staroffice, che dopo l'acquisizione da parte di Sun Microsystems è stato distribuito con licenza libera. La clausola esplicita presente nella licenza LGPL consente all'utente di rilicenziare il codice sotto licenza GPL. La proprietà esclusiva della suite impone però un fork al codice (e l'abbandono del nome) nel momento in cui dovesse essere redistribuito o variato, in quanto la licenza JCA imponeva l'esclusività dei diritti e proventi della suite solo a favore di Sun/Oracle; infatti gli sviluppatori che collaboravano a OpenOffice.org dovevano preventivamente accettare di firmare la cessione per i diritti a Sun/Oracle secondo un accordo denominato JCA (Joint Copyright Assignment) che concedeva sia allo sviluppatore sia a Sun/Oracle la titolarità dei diritti[40].
Con il passaggio da Oracle ad Apache Software Foundation, il codice di OpenOffice è stato distribuito sotto licenza Apache[41], un tipo di licenza libera compatibile con la GPLv3.
OpenOffice dalla versione 2.0 salva i documenti secondo lo standard OpenDocument basato su XML successivamente compresso. Le versioni precedenti utilizzavano un formato simile ma non ancora standardizzato noto come OpenOffice.org XML. Ogni file salvato da AOO possiede quindi le caratteristiche di un archivio ZIP anche se utilizza estensioni differenti; se decompresso l'archivio dà accesso a una serie di file e cartelle che descrivono le caratteristiche e il contenuto del documento. La compressione è impostata al livello 2 (bassa compressione) per rendere più rapida l'apertura dei file; è comunque possibile comprimere i documenti con strumenti esterni fin al livello di compressione 5 (altissima compressione) senza nessun problema d'uso da parte di AOO.
I vantaggi di questo approccio sono notevoli, ad esempio si consideri che ora sono tantissimi i prodotti, sia gratuiti sia a pagamento, che elaborano l'XML, questo vuol dire che i documenti nativi di OOo e AOO si possono elaborare con lo strumento di lavoro preferito. Le possibilità sono tantissime, una delle quali è quella di estrarre tutti i titoli dei lucidi di una presentazione. È inoltre semplice definire dei filtri di importazione ed esportazione di file XML usando l'XSLT.
Si pensi inoltre che gli oggetti inseriti in un documento vengono salvati all'interno dell'archivio ZIP. Se dunque si crea un documento di testo e vi si inseriscono delle immagini sarà semplicissimo recuperare i file grafici originari decomprimendo il file e anche in caso di corruzione del file si può sempre salvare qualcosa se non la maggior parte.
Inoltre, dalla versione 2.0 di OOo il formato di salvataggio dei documenti è OpenDocument (ODF) standard (ISO/IEC 26300:2006) definito dal consorzio OASIS e alla cui definizione hanno partecipato Sun Microsystems, Boeing, i National Archives of Australia e la Society of Biblical Literature.
I programmi KOffice e Lotus Office (IBM Lotus SmartSuite) hanno deciso di utilizzare questo formato[42], come molti altri programmi in circolazione.
Dalla versione 2.4 sono direttamente incorporati dizionario, thesaurus e sillabatore italiano. I primi due creati dal progetto Linguistico.. Dalla versione 3.0 è incorporata l'estensione assemblata dal PLIO e che utilizza delle vecchie versioni dei dizionari del progetto Linguistico (il progetto Linguistico non fa parte del PLIO e viceversa): il dizionario, il thesaurus e il sillabatore. Sempre del progetto Linguistico è disponibile anche il dizionario dei cognomi italiani[43].
È facile trovare anche dizionari più specifici, come quello dei termini medici.
È possibile dotare la suite con molte funzioni attraverso le estensioni distribuite da varie fonti, per lo più con licenze libere[44]. Le estensioni consentono di ampliare le funzionalità di Apache OpenOffice intervenendo globalmente sulla suite o singolarmente sui vari moduli. Inoltre il modello delle estensioni permette di integrare in AOO componenti distribuiti sotto licenze incompatibili con la licenza Apache.
Tramite estensioni è possibile ad esempio aggiungere a OpenOffice dizionari aggiuntivi, raccolte di modelli o veri e propri moduli aggiuntivi.
L'estensione OpenDocument Text to DAISY DTB[45] fornisce ai moduli Writer e Math la possibilità di esportare i documenti nel formato standard ANSI/NISO Z39.86-2005 DAISY DTB Digital Talking Book[46], per i non vedenti.
OpenOffice viene usato in molte amministrazioni pubbliche. Seguono alcuni esempi documentati.
Nel mondo[48]:
In Italia non è aiutato dallo Stato come accade in altri Paesi, come per esempio il Sudafrica, ma è usato presso:
Inoltre OpenOffice.org è usato in ambito scolastico italiano (su raccomandazione del Ministero dell'Istruzione) e sui PC di molti utenti per uso personale.
Altri casi d'uso possono essere trovati nel sito del progetto Linguistico[58] suddivisi per Italia, Europa e resto del Mondo.
Nonostante si tratti di software libero, e in questo caso gratuito, gli sviluppatori hanno puntato per la sua distribuzione su una campagna promozionale comparabile per contenuti a quella dei prodotti commerciali.
Un incontro annuale denominato "OpenOffice.org Conference" si è tenuto fino al 2010; l'edizione di novembre 2009 si è svolta in Italia, a Orvieto.[59]
Nel dettaglio:
Dalla versione 2.3 è implementata la funzione di esportazione dei documenti in formato MediaWiki (Wikipedia), mediante l'estensione Sun Wiki Publisher[60]. Dal 10 settembre 2007 è disponibile l'estensione Sun Weblog Publisher per creare/pubblicare blog[61].
È inoltre capace di collegare i record di un database (anche MySQL) all'interno di un documento: cosa utile in molti casi, ad esempio:
Il programma è in grado di aprire e salvare file in numerosi formati, incluso il formato OpenDocument (formato predefinito fino alla versione 2.0), il formato .doc di Word, RTF e XHTML.
Il numero massimo di righe gestibili da Calc fino alla versione 3.2 è stato 65.536 per foglio, pari al numero massimo previsto da Excel in Microsoft Office 2003. Dalla versione 3.3 come per Microsoft Office 2007 il numero massimo è stato elevato a 1.048.576. Il numero massimo di colonne gestibili è invece 1.024, a differenza delle 256 di Excel 2003 (successivamente incrementate a 16.384 in Excel 2007).
Calc è in grado di gestire numerosi formati, compreso il formato proprietario XLS di Excel, sebbene ancora con alcune piccole incompatibilità, soprattutto quando i file contengono macro in VBA o tabelle pivot.
Draw è in grado di importare ed esportare file SVG, sebbene con alcune limitazioni. Permette di esportare direttamente verso HTML/web grazie alla possibilità di esportare le immagini in formato PNG (Portable Network Graphics). Dalla versione 2.3 offre la possibilità di scegliere dei testi alternativi per le mappe delle immagini e per i titoli e le descrizioni dei livelli. Dalla medesima versione è disponibile questa funzionalità come estensione, mentre prima occorreva incorporare almeno due 2 grandi (pesanti) librerie esterne come Java 5.0, e successive versioni, e Apache Batik (Java SVG Toolkit). Queste due modalità continueranno a essere entrambe disponibili in quanto non ancora completamente sovrapponibili come funzionalità. È in corso (agosto 2007) un progetto sponsorizzato da Google per rendere effettiva e completa questa funzionalità come estensione interna.La versione parallela/concorrente open source della Novell, Go-oo Draw, dalla versione 3.0 ha la funzione incorporata di apertura dei file SVG.[63][64][65]Da settembre 2010 Go-oo è confluito nell'altro progetto open source denominato LibreOffice.
Versione finale Windows 95Può modificare file della versione 2.0
Altri progetti