cms per tutti. content managed system free

84
PDF generato attraverso il toolkit opensource ''mwlib''. Per maggiori informazioni, vedi [[http://code.pediapress.com/ http://code.pediapress.com/]]. PDF generated at: Thu, 05 Jul 2012 15:24:45 UTC Cms per tutti. software open source (gratis) per gestire il vostro sito, blog dinamicamente

Upload: andrea-portoghese

Post on 07-Mar-2016

253 views

Category:

Documents


17 download

DESCRIPTION

software open source (gratis) per gestire il vostro sito, blog dinamicamente

TRANSCRIPT

Page 1: CMS per tutti. Content Managed System free

PDF generato attraverso il toolkit opensource ''mwlib''. Per maggiori informazioni, vedi [[http://code.pediapress.com/ http://code.pediapress.com/]].PDF generated at: Thu, 05 Jul 2012 15:24:45 UTC

Cms per tutti.software open source (gratis) per gestire ilvostro sito, blog dinamicamente

Page 2: CMS per tutti. Content Managed System free

IndiceVociDefinizioni 1

Content management system 1Software 5Software libero 10PHP 17MySQL 25

i tipi di licenza 33

GNU General Public License 33Open source 40

i software free, gratuiti. 48

WordPress 48Joomla! 50Drupal 56phpBB 61PHPNuke 65Lista di content management system 69

i software a pagamento 77

vBulletin 77

NoteFonti e autori delle voci 80Fonti, licenze e autori delle immagini 81

Licenze della voceLicenza 82

Page 3: CMS per tutti. Content Managed System free

1

Definizioni

Content management systemUn Content management system, in acronimo CMS, in italiano Sistema di gestione dei contenuti, è uno strumentosoftware, installato su un server web, il cui compito è facilitare la gestione dei contenuti di siti web, svincolandol'amministratore da conoscenze tecniche di programmazione Web.Esistono CMS specializzati, cioè appositamente progettati per un tipo preciso di contenuti (un'enciclopedia on-line,un blog, un forum, una rivista ecc.) e CMS generici, che tendono a essere più flessibili per consentire lapubblicazione di diversi tipi di contenuti.Tecnicamente, un CMS è un'applicazione lato server che si appoggia su un database preesistente per lo stoccaggiodei contenuti; l'applicazione è suddivisa in due parti: la sezione di amministrazione (back end), che serve adorganizzare e supervisionare la produzione dei contenuti, e la sezione applicativa (front end), che l'utente web usaper fruire dei contenuti e delle applicazioni del sito. L'amministratore del CMS gestisce dal proprio terminale,tramite un pannello di interfaccia e controllo, i contenuti da inserire o modificare.I CMS possono essere realizzati tramite programmazione in vari linguaggi web tra cui, più comunemente, ASP,PHP, Microsoft .NET; il tipo di linguaggio adoperato è indifferente a livello di funzionalità. Alcuni linguaggirendono il CMS multipiattaforma, mentre altri lo rendono usufruibile solo su piattaforme proprietarie.

Cenni storiciI content management system sono nati negli Stati Uniti e sono stati inizialmente sviluppati, per uso interno, daalcune organizzazioni che producevano notevoli quantità di pubblicazioni. Nel 1995 la CNET rese pubblici gli studie i prodotti sviluppati internamente, distribuendoli con l'etichetta Vignette. La compagnia cominciò a mettere adisposizione il proprio software come sistema di gestione dei contenuti via web. Per la prima volta un utente potevacreare il proprio sito direttamente dal Web, usando l'interfaccia CNET.Nel 1998, la Pencom Web Works, una compagnia di consulenza aziendale, introdusse il server di trasformazione dati(DTS-Data Transformation Services) Metaphoria, che permetteva agli sviluppatori Java di scrivere applicazioni chesi potevano collegare ai contenuti e permettevano di distribuire tali contenuti su canali diversi. Il prodotto non ebbesuccesso, ma il concetto che era stato introdotto costituì le basi di ciò che è diventato il CMS odierno.

Il problema della gestione dei contenutiIn un approccio sistematizzato al problema della gestione dell'informazione si affrontano le seguenti fasi:•• Identificazione degli utenti di back-end e dei relativi ruoli di produzione o fruizione dell'informazione, di

controllo e coordinamento;•• Assegnazione di responsabilità e permessi a differenti categorie di utenti per distinti tipi di contenuti (in un

progetto complesso il prodotto finito non è frutto del lavoro del singolo, che pertanto non ha possibilità o esigenzadi intervenire in tutti gli ambiti);

• Definizione delle attività di flusso di lavoro, cioè formalizzazione di un percorso per l'assemblaggio del prodottofinale che, in quanto frutto di produzione frammentaria, deve acquisire la sua unitarietà sottostando a opportuneprocedure di supervisione. Più prosaicamente, per poter rendere efficiente la comunicazione tra i vari livelli dellagerarchia, è necessaria un'infrastruttura di messaggistica, con la quale i gestori del contenuto possono riceverenotifica degli avvenuti aggiornamenti;

Page 4: CMS per tutti. Content Managed System free

Content management system 2

•• Tracciamento e gestione delle versioni del contenuto;•• Pubblicazione del contenuto;•• Definizione del palinsesto editoriale.La descrizione appena data è perfettamente applicabile anche a MediaWiki, il software di gestione di Wikipedia.

I web content management systemL'utilizzo più diffuso dei CMS è rivolto alla gestione di siti web, soprattutto se sono di grandi dimensioni erichiedono un frequente aggiornamento.Una delle applicazioni più utili dei sistemi di WCMS, infatti, è nella gestione dei portali (Intranet, Extranet,community, siti di E-commerce...), dove vengono impiegati come strumento di pubblicazione flessibile emultiutente.Ad esempio, gestione di contenuti testuali (notizie, articoli ecc.), link, immagini, liste di discussione, forum,materiale scaricabile. Può essere modificata anche la struttura stessa delle pagine in numero ed organizzazione. Avolte i WCMS danno la possibilità di gestire anche più versioni dello stesso sito (ad esempio, HTML o WAP).I WCMS consentono di definire utenti, gruppi e diritti in modo da poter permettere una distribuzione del lavoro trapiù persone. Per esempio, è possibile definire una classe di utenti abilitati esclusivamente all'inserimento dellenotizie, mentre si può riservare la scrittura di articoli ad un altro gruppo, e limitare tutti gli altri alla solaconsultazione.L'introduzione di un web content management system in azienda richiede la definizione di chiari processi interni diapprovazione dei contenuti. La scelta di un software di WCMS è strategica per le aziende che generano la maggiorparte di volume d'affari su Internet, ma - in proporzione diversa - è molto importante anche per il liberoprofessionista che vuole utilizzare il medium Internet per farsi conoscere.In letteratura esistono numerosi modelli che aiutano a valutare il ritorno di un investimento in un WCMS. I costi diadozione sono spesso elevati, quindi non sono sostenibili per i professionisti o i privati che non fanno del Web laloro competenza di base.Per rispondere a questa necessità di mercato sono nati alcuni application service provider (ASP) che offrono questoservizio direttamente via Web, senza richiedere alcun investimento hardware o software. Gli ASP costano ai loroclienti un canone annuale per il servizio di WCMS erogato.

Vantaggi dei CMSUn CMS permette di costruire e aggiornare un sito dinamico, anche molto grande, senza necessità di scrivere unariga di HTML e senza conoscere linguaggi di programmazione lato server (come PHP) o progettare un appositodatabase. L'aspetto esteriore delle pagine può essere personalizzato scegliendo un foglio di stile CSS appositamenteprogettato per un determinato CMS.I flat file CMS, altrimenti noti come text-based CMS, sono dei content management system che si basano su file ditesto (il più delle volte file XML) e che perciò non necessitano di alcun database come MySQL, PostgreSQL, ecc.Questi CMS sono facilmente installabili e dunque sono particolarmente adatti per siti personali o per piccolecomunità.

Page 5: CMS per tutti. Content Managed System free

Content management system 3

Limiti dei CMSUn CMS è tanto più efficiente quanto più è specializzato.Molti piccoli portali fanno ricorso a CMS (scritti da altri e messi a disposizione gratuitamente o a pagamento) di tipogenerico; per quanto un CMS possa essere flessibile, un sito basato su questa struttura in genere presenta un aspettopoco personalizzato se non è possibile intervenire direttamente sul codice sorgente del prodotto per modificarlo.Analogamente i contenuti saranno sempre ancorati a quanto previsto da chi ha progettato il CMS e non alle esigenzedi chi pubblica il sito.Problemi di gestione possono derivare dal fatto che chi pubblica o gestisce il sito può usare il CMS per interveniresui contenuti e sull'aspetto, ma generalmente (caso del software proprietario) non è in grado di interveniredirettamente (o far intervenire) sulla struttura del CMS stesso; questo è un limite strettamente connesso al vantaggioprimario dei CMS: pubblicare un portale senza doverne progettare la struttura o senza possedere le conoscenzetecniche (o le risorse finanziarie) per uno sviluppo personalizzato. Tuttavia esistono anche CMS particolarmenteevoluti che permettono di scrivere direttamente sul database. È il caso per esempio di alcuni CMS proprietari.Questi problemi sono risolvibili utilizzando software open source: la possibilità di accedere al codice sorgente delprodotto permette di personalizzare il software sulla base delle proprie esigenze a patto di non avere necessità diapportare modifiche al prodotto adottato. Anche in questo caso, vanno messi in conto i costi per lo sviluppo dimoduli personalizzati o funzioni particolari a meno di non possedere in proprio o nella propria struttura aziendale leconoscenze tecniche per intervenire nel codice sorgente.Esistono anche programmi e database progettati su misura, ovvero "CMS personalizzati" e dunque necessariamentespecializzati; in questo modo la struttura e la presentazione vengono realizzate tenendo presenti i contenuti che il sitodovrà ospitare e potranno essere modificati in seguito a nuove esigenze.

PremiazioniDal 2006 la casa editrice inglese Packt Publishing organizza ogni anno il Open Source Content Management SystemAward dove vengono premiati con piccole somme di denaro i migliori CMS Open Source di varie categorie in baseal una votazione effettuata sia da una giuria che dagli utenti. Le categorie sono 5, quella generale e 4 sottocategorie:1.1. Overall Award (classifica generale)2.2. Hall of Fame (i più gloriosi)3.3. Most Promising (i più promettenti)4. PHP (i migliori scritti in PHP)5. Other (i migliori scritti in altri linguaggi di programmazione)È possibile vedere sul sito internet di Packt Publishing sia i risultati dell'ultima edizione [1] che di quelle precedenti[2].

Dynamic Content Management SystemCome evoluzione applicativa, il Dynamic Content Management System (DCMS), oltre alle funzioni tipiche delCMS, offre la possibilità di generazione e di riutilizzo di un intero flusso documentale, permettendo così con ununico programma applicativo la realizzazione di documenti tipo cataloghi, manuali, listini e tutto ciò che è compostoda immagini, tabelle e testi. Il DCMS trova applicazione soprattutto nell'ambito industriale, come strumento internodi produzione e gestione della documentazione.Il capostipite di questa evoluzione è un progetto tutto italiano denominato SKS (Structured Knowledge Software).

Page 6: CMS per tutti. Content Managed System free

Content management system 4

Note[1] http:/ / www. packtpub. com/ award[2] http:/ / www. packtpub. com/ open-source-cms-award-previous-winners

Bibliografia• Ulrich Kampffmeyer, ECM Enterprise Content Management, Hamburg 2006, ISBN 3-936534-09-8. Definitions,

Scope, Architecture, Components and ECM-Suites in English, French, and German PDF (http:/ / www.project-consult. net/ Files/ ECM_White Paper_kff_2006. pdf)

Voci correlate•• Lista di CMS•• Architettura telematica•• Accessibilità•• Content management•• Gestione della conoscenza aziendale•• Learning management system

Altri progetti

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ Category:Contentmanagement systems

Collegamenti esterni• Content management (http:/ / www. dmoz. org/ Computers/ Software/ Internet/ Site_Management/

Content_Management/ ) su Open Directory Project ( Segnala (http:/ / www. dmoz. org/ cgi-bin/ add.cgi?where=Computers/ Software/ Internet/ Site_Management/ Content_Management/ ) su DMoz un collegamento

pertinente all'argomento "Content management")

Page 7: CMS per tutti. Content Managed System free

Software 5

Software

OpenOffice.org Writer, un software di videoscrittura.

Il software è l'informazione o leinformazioni utilizzate da uno o più sistemiinformatici e memorizzate su uno o piùsupporti informatici. Tali informazionipossono essere quindi rappresentate da unoo più programmi, oppure da uno o più dati,oppure da una combinazione delle due.

Il termine si contrappone tradizionalmente ahardware (la componente fisica di unsistema di calcolo). Nel tempo sono entratinell'uso altri termini che descrivonoelementi di un computer, come il firmware.Il suffisso -ware viene usato anche in altritermini che indicano particolari tipi diprogrammi: in funzione del ruolo che hanno in un sistema di calcolo (per esempio middleware); del tipo di licenzacon cui sono distribuiti (freeware, shareware); e altro.

EtimologiaIl termine "software" è un prestito dell'inglese. Nella ligua inglese "software" nasce per imitazione del termine"hardware" e dalla composizione delle parole "soft" (in italiano "morbido", "tenero", "leggero")[1] e "ware" (initaliano "merci", "articoli", "prodotti", "mercanzie").[2]

La paternità della coniazione del termine "software" non è certa. L'americano Paul Niquette la rivendica sostenendodi aver coniato il termine "software" nel 1953.[3] Certa invece è la prima apparizione del termine "software" in unapubblicazione scritta: un articolo dell'American Mathematical Monthly scritto nel 1958 dallo statistico americanoJohn Wilder Tukey.[4]

Storia del softwareIl termine software ha origine durante la seconda guerra mondiale. I tecnici dell'esercito inglese erano impegnatinella decrittazione dei codici tedeschi di Enigma, di cui già conoscevano la meccanica interna (detta hardware,componente dura, nel senso di ferraglia) grazie ai servizi segreti polacchi. La prima versione di Enigma sfruttava trerotori per mescolare le lettere.Dopo il 1941, ad Enigma venne aggiunto un rotore, e il team di criptanalisti inglesi, capitanati da Alan Turing, sidovette interessare non più alla sua struttura fisica, ma alle posizioni in cui venivano utilizzati i rotori della nuovaEnigma.Dato che queste istruzioni erano scritte su pagine solubili nell'acqua (per poter essere più facilmente distrutte,evitando in tal modo che cadessero nelle mani del nemico) furono chiamate software (componente tenera), incontrapposizione all'hardware.Il senso moderno del termine deriva dalle istruzioni date ai computer, ed è stato utilizzato per la prima volta nel 1957da John Wilder Tukey, noto statistico statunitense.Dal 1950 l'analogia tra l'hardware ed il corpo umano e quella tra il software e la mente umana si è fatta molto forte,dal momento che Turing ha sostenuto che il progresso tecnologico sarebbe riuscito a creare, entro il 2000, dellemacchine intelligenti (in grado cioè di "pensare" autonomamente) atte alla risoluzione dei problemi.

Page 8: CMS per tutti. Content Managed System free

Software 6

Aumento del codice e potenziamento dell'hardwareAlla storia dell'evoluzione del software è legato lo sviluppo dell'hardware. Come evidenziato dalla seconda legge diMoore, una minaccia alla velocità di elaborazione, oltre ai costi, proviene dal software. Infatti ciò che conta per unutente non è tanto la velocità di elaborazione del processore, quanto la velocità effettiva di elaborazione del codice,calcolata in base al tempo che occorre alla CPU per eseguire un'operazione (come la scrittura di un testo, lacreazione di una cartella, ecc.).Nathan Myhrvold, direttore dell'Advanced Technology Group della Microsoft, ha effettuato uno studio sui prodottiMicrosoft calcolando le linee di codifica per le successive release dello stesso software:• Basic: da 4.000 linee di codice nel 1975 a 500.000 nel 1995• Word: da 27.000 linee di codice nel 1982 a 2.000.000 nel 2002La continua aggiunta di nuove funzionalità al software esistente giustifica la costante richiesta di processori piùveloci, memorie sempre più grandi e più ampie capacità di I/O (Input/Output).Infatti, anche le altre tecnologie si sono evolute di pari passo:• i dischi rigidi da 10 MB (1982) a 1 TB (2007);• i modem analogici da 110 bit/sec a 56 kbit/sec.Myhrvold traccia un parallelismo con la legge di Moore: "abbiamo aumentato la dimensione e la complessità delsoftware ancora più rapidamente di quanto non prevedeva la legge di Moore", "gli utenti del software hanno sempreconsumato le maggiori capacità di elaborazione ad una velocità uguale o superiore a quella con cui i produttori dichip le mettevano a disposizione" (Stewart Brand, 1995).

ClassificazioneI software possono essere classificati in base a diverse loro caratteristiche:• funzione (videoscrittura, foglio elettronico, database management system, grafica ecc.);• grado di apertura della licenza (software libero o software proprietario);• sistema operativo su cui possono essere utilizzati (Unix, Mac OS, Windows ecc.);• da installare o portabile;• tipo di interfaccia utente (testuale o grafica).I software possono essere divisi in quattro categorie principali:• software di base (che a sua volta si divide in sistemi operativi, compilatori e interpreti, librerie);• driver;• firmware;• programmi applicativi (cioè tutti quei software che vengono utilizzati nel quotidiano, dai programmi per l'ufficio,

ai videogiochi).

Realizzazione del softwareUn software viene normalmente realizzato utilizzando uno o più linguaggi di programmazione. Se il progetto diventacomplesso, è opportuno dividere il programma in uno o più moduli, che possono essere così affidati a diversiprogrammatori, modificati più semplicemente e riutilizzati in altri progetti.La fase detta di compilazione, traduce ogni file del codice sorgente, scritto nel o nei linguaggi di programmazione, inun file oggetto contenente il programma in linguaggio macchina adeguato all'architettura hardware di destinazione.In seguito tutti i file oggetto attraversano una fase di linking per giungere al prodotto finale: il file eseguibile.Alcuni software non vengono compilati in quanto le istruzioni contenute nel codice sorgente vengono eseguiteutilizzando un software detto interprete.

Page 9: CMS per tutti. Content Managed System free

Software 7

La gestione del processo di sviluppo è caratterizzato dalla scelta di un modello di sviluppo del software codificatonell'ambito dell'Ingegneria del Software (Software Engineering), esistono:• Il modello classico, o a cascata (water-fall)• Il modello a spirale (object oriented)La realizzazione del software è un'attività complessa articolata in più fasi, per questo motivo spesso il software èassociato ad un prodotto ingegneristico, ma se ne differenzia soprattutto per alcune caratteristiche:• è molto "malleabile";• è un prodotto human intensive (e cioè un prodotto che richiede un considerevole sforzo in risorse umane perché si

concentra soprattutto sulla progettazione e sull'implementazione).

Licenze d'utilizzo e distribuzione

Le differenti categorie del software

La licenza d'uso è un documento cheaccompagna il software e specifica idiritti e i doveri di chi lo riceve e di chilo diffonde.

Tutte le licenze d'uso traggono il lorovalore legale dalle norme sul dirittod'autore (il copyright).

Esistono licenze libere, le licenze OpenSource e licenze proprietarie. Nasce inseguito anche l'Open content che hacome scopo quello di trasferire lelicenze su opere diverse dal software.

Le licenze di utilizzo e distribuzione delsoftware libere ed Open Source sononumerose, ma quelle effettivamentediffuse sono poche. Per l'89% si tratta di GPL, LGPL e BSD (licenza storica di Unix, tornata in uso dall'avvento diLinux).

Alcune licenze libere:• GNU-GPL (la licenza libera più diffusa)•• GNU-LGPL•• BSD•• Creative CommonsOgni tipo di licenza differisce dagli altri per vari aspetti

Page 10: CMS per tutti. Content Managed System free

Software 8

Brevettabilità del softwareNell'Unione europea, i software non possono essere oggetto di brevetto. Il 6 luglio 2005, il Parlamento Europeo harespinto la proposta di direttiva per la "Brevettabilità delle invenzioni attuate per mezzo di elaboratori elettronici",sostenuta dalla Commissione[5][6].La proposta è stata rigettata alla prima votazione con 648 voti contrari, 32 favorevoli, rispetto a 680 schedescrutinate.Il giorno prima della votazione, la Commissione Europea ha confermato che, in caso di bocciatura, non sarebbe statopresentato un nuovo testo sull'argomento.

Note[1] Confronta il lemma "soft" su «Il Sansoni - Inglese» (http:/ / dizionari. corriere. it/ dizionario_inglese/ Inglese/ S/ soft. shtml).[2] Confronta il lemma "ware1" su «Il Sansoni - Inglese» (http:/ / dizionari. corriere. it/ dizionario_inglese/ Inglese/ W/ ware_1. shtml).[3] Paul Niquette, Introduction: the software age (http:/ / niquette. com/ books/ softword/ part0. htm), «Sophisticated: The Magazine», 1995.[4] David Leonhardt, John Tukey, 85, statistician; coined the word 'software' (http:/ / www. nytimes. com/ 2000/ 07/ 28/ us/

john-tukey-85-statistician-coined-the-word-software. html), «New York Times», 28 luglio 2000.[5] Testo della proposta di Direttiva per la brevettabilità del software (http:/ / 64. 233. 183. 104/ search?q=cache:SQehO9LJHPQJ:www.

europarl. europa. eu/ pv2/ pv2?PRG=CALDOC& TPV=DEF& FILE=20030924& SDOCTA=2& TXTLST=2& POS=1& LASTCHAP=3&Type_Doc=FIRST& LANGUE=IT+ proposta+ di+ direttiva+ del+ Parlamento+ europeo+ e+ del+ Consiglio+ relativa+ alla+ brevettabilità+delle+ invenzioni+ attuate+ per+ mezzo+ di+ elaboratori+ elettronici+ N+ A5-0238/ 2003& hl=it& ct=clnk& cd=2& gl=it/ )

[6] Argomenti della Commissione Europea a sostegno della brevettabilità (http:/ / 64. 233. 183. 104/ search?q=cache:-m-a_LyBYg0J:www.europarl. europa. eu/ hearings/ 20021107/ juri/ wd_directive_it. pdf+ direttiva+ brevettabilità+ invenzioni+ attuate+ per+ mezzo+ di+elaboratori+ elettronici& hl=it& ct=clnk& cd=1& gl=it/ )

Bibliografia• G. Guglielmetti, L'invenzione di software. Brevetto e diritto d'autore, 2ª ed., Milano, Giuffrè, 1997.

Voci correlate

Sviluppo del software•• Ingegneria del software

•• Progettazione (ingegneria del software)•• Metodologia di sviluppo del software•• Processo software•• Ciclo di vita del software

•• Modello di sviluppo del software•• Localizzazione•• Manutenzione•• Collaudo

•• Tecniche di controllo•• Ispezione

Page 11: CMS per tutti. Content Managed System free

Software 9

Strumenti•• Compilatore•• Computer-aided software engineering•• Software development kit

Tipi di software in relazione alla licenza d'uso•• Freeware•• Shareware•• Software proprietario•• Software libero

•• Elenco di casi di adozione di software libero•• Software libero/draft• Software Free/Libero/Open-Source (FLOSS)

• Free Software Users Group (FSUG)• Free and Open Source Software (FOSS)

•• Differenza tra Software Libero e Open Source

Tipi di software•• Elenco di tipi di software

• Software per l'office automation

Professioni correlate•• Sviluppatore•• Programmatore•• Webmaster

Fondazioni e aziende•• Creative Commons• Free Software Foundation (FSF)

Altri progetti• Wikizionario contiene la voce di dizionario: http:/ / it. wiktionary. org/ wiki/ software

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ Category:Software

Collegamenti esterni• Software (http:/ / www. dmoz. org/ World/ Italiano/ Computer/ Software/ ) su Open Directory Project ( Segnala

(http:/ / www. dmoz. org/ cgi-bin/ add. cgi?where=World/ Italiano/ Computer/ Software/ ) su DMoz un collegamento

pertinente all'argomento "Software")

• Oscon.it (http:/ / www. oscon. it) Oscon, facsimile di contratto per la vendita di software.• Lista di software gratuiti per pc (http:/ / unikgeek. com/ software/ )• La Software University (http:/ / www. softwareuniversity. net)

Page 12: CMS per tutti. Content Managed System free

Software libero 10

Software liberoIl software libero è software pubblicato con una licenza che permette a chiunque di utilizzarlo e che ne incoraggia lostudio, le modifiche e la redistribuzione; per le sue caratteristiche, si contrappone al software proprietario ed èdifferente dalla concezione open source, incentrandosi sulla libertà dell'utente e non solo sull'apertura del codicesorgente, che è comunque un pre-requisito del software libero.[1]

CaratteristicheLa parola libero non implica la possibilità di utilizzare tale software in maniera indiscriminata: il software libero ècomunque soggetto ad una licenza d'uso, a differenza ad esempio del software di pubblico dominio.

Stallman durante il suo intervento a Wikimania2005 [2] (Francoforte sul Meno)

Rispetto al software proprietario, la licenza d'uso del software liberopermette di:•• eseguire il programma per qualsiasi scopo;• accedere alla struttura interna del programma (codice sorgente),

studiarla ed eventualmente modificarla;•• ridistribuirlo in un numero di copie illimitato.La licenza d'uso pone in genere i seguenti vincoli:•• gli autori precedenti del software devono essere menzionati anche

nelle versioni modificate, lasciando intatto il loro copyright;• in seguito ad una modifica, non è possibile applicare una licenza

d'uso incompatibile con la licenza originaria o che vada contro le norme della licenza stessa. Per esempiochiunque può riemettere del software pubblicato sotto LGPL usando la licenza GPL (tale operazione è anchechiamata upgrade della licenza), mentre non è possibile fare il contrario (naturalmente se non si è il detentoreunico del copyright);

•• normalmente, nella licenza, vi è una clausola che sancisce la non usabilità del software se non si rispetta la licenzad'uso o se una o più norme della stessa licenza non sono valide per termini di legge;

• quando si distribuisce un codice binario occorre o distribuire insieme anche i sorgenti o garantire per iscritto lapossibilità a tutti gli utenti di venirne in possesso dietro richiesta ed al solo costo del supporto

Le "quattro libertà"Secondo Richard Stallman e la Free Software Foundation da lui fondata, un software si può definire libero solo segarantisce quattro "libertà fondamentali"[3]:1.1. Libertà 0

Libertà di eseguire il programma per qualsiasi scopo.2.2. Libertà 1

Libertà di studiare il programma e modificarlo[4].3.3. Libertà 2

Libertà di ridistribuire copie del programma in modo da aiutare il prossimo.4.4. Libertà 3

Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta lacomunità ne tragga beneficio[4].

Un programma è software libero se l'utente ha tutte queste libertà. In particolare, se è libero di ridistribuire copie, cono senza modifiche, gratis o addebitando delle spese di distribuzione a chiunque ed ovunque. Essere liberi di farequeste cose significa (tra l'altro) che non bisogna chiedere o pagare nessun permesso.

Page 13: CMS per tutti. Content Managed System free

Software libero 11

Licenze d'uso libereBuona parte del software libero viene distribuito con la licenza GNU GPL (GNU General Public License), scritta daRichard Stallman e Eben Moglen per garantire legalmente a tutti gli utenti le quattro libertà fondamentali. Dal puntodi vista dello sviluppo software, la licenza GPL viene considerata una delle più restrittive, poiché impone chenecessariamente ogni prodotto software derivato - ovvero, che modifica o usa codice sotto GPL - venga a sua voltadistribuito con la stessa licenza. Anche MediaWiki, il software usato per Wikipedia, è distribuito con licenza GPL.Una licenza simile, ma meno restrittiva, è la GNU LGPL (GNU Lesser General Public License), che permette diutilizzare il codice anche in software proprietario e sotto altre licenze opensource, purché le parti coperte da LGPL -anche se modificate - vengano comunque distribuite sotto la medesima licenza. In genere è utilizzata per libreriesoftware.Non tutte le licenze ritenute libere sono compatibili tra di loro, cioè in alcuni casi non è possibile prendere duesorgenti con due licenze libere ed unirle per ottenere un prodotto unico. Questo avviene quando non esista e non siapossibile creare una licenza che possa soddisfare i requisiti delle licenze originali. Ad esempio la licenza BSDoriginale, pur essendo considerata licenza di software libero, è incompatibile con la GPL[5]; per ovviare al problemaè stato necessario creare una "licenza BSD modificata" compatibile con la GPL.Un'altra licenza degna di nota è l'Apache License, prodotta dalla Apache Software Foundation; la versione 2 diquesta licenza è compatibile con la GPL versione 3 ma non con la GPL versione 2[6]. L'Apache License considera unprodotto derivato alla stregua della LGPL, ma è più liberale nella concessione delle proprietà intellettuali.Le varie licenze libere possono contenere ulteriori limitazioni per alcune situazioni particolari; per esempio la GPLprevede che si possa esplicitamente vietare l'uso del software nelle nazioni dove tale licenza non è valida o dove deibrevetti software impediscono la distribuzione di tale software.Le licenze d'uso non vietano in genere di vendere software libero e di solito non stabiliscono minimamente ilpossibile prezzo di vendita.

Differenze rispetto all'open sourceEssendo la disponibilità del codice sorgente uno dei requisiti fondamentali che accomuna il software libero ed ilsoftware open source, spesso si è indotti a considerare i due concetti equivalenti, ma in realtà non lo sono.Un software è open source se i termini secondo i quali viene distribuito rispondono alla Open Source Definitiondell'Open Source Initiative (OSI): in particolare, se una licenza rientra in tale definizione, allora tale licenza puòessere dichiarata licenza open source. La definizione potrebbe cambiare nel tempo (nessuno garantisce che questonon possa accadere) e quindi è possibile che una licenza attualmente open source non lo sia nel futuro o viceversa.OSI è anche l'organizzazione che su richiesta certifica con il relativo marchio registrato il fatto che una licenza siaeffettivamente aderente alla Open Source Definition. Recentemente l'OSI ha posto un freno al proliferare dellelicenze dichiarando che cercherà di limitare il numero di licenze che nel futuro saranno ritenute licenze open source.Questo potrebbe, in linea teorica, far sì che una licenza ritenuta libera non venga ritenuta open source.Una licenza invece è libera (o meglio, una versione di una licenza è libera) se e solo se rispetta le quattro libertàfondamentali. Pertanto se una versione di una licenza è libera, allora lo sarà per sempre. Naturalmente è semprecomplesso, almeno per un cittadino "normale" (non esperto di leggi), stabilire se una licenza è libera o meno perchéentrano in gioco i termini legali utilizzati nella stessa. Il progetto GNU si occupa tra l'altro anche di indicare se unalicenza è libera o meno e se è compatibile con le licenze GNU o meno[7].Il software libero inoltre non deve essere confuso con il software freeware, che è distribuibile gratuitamente ma chenon è né software libero né open source.In ogni caso, gli insiemi di applicativi designati da software libero e open source coincidono a meno di pocheeccezioni. La differenza fondamentale è nel tipo di approccio: parlando di software libero si pone l'accento sugliaspetti sociologici ed etici, che sono volutamente rimossi nella visione open source.

Page 14: CMS per tutti. Content Managed System free

Software libero 12

StoriaL'idea di software libero nasce agli inizi degli anni ottanta, quando lo sviluppo del software cominciò a passare dimano dalle università alle aziende (software proprietario), ponendo un pesante freno alla collaborazione checaratterizzava il lavoro di gran parte dei programmatori e dei sistemisti dell'epoca, soprattutto con i patti di nondivulgazione che le aziende facevano firmare ai programmatori che assumevano.In realtà il software "commerciale" esisteva da sempre, ma i costi elevati dell'hardware facevano sì che il businessdelle aziende non fosse concentrato sul software, che era considerato una parte naturale del prodotto, ed i cui sorgentierano in genere pubblici. Con il passare del tempo il software diventò sempre più complesso e difficile da realizzaree le aziende iniziarono a non distribuire i sorgenti e obbligare i propri dipendenti a non rivelare nulla per nonavvantaggiare la concorrenza; inoltre con il crollo dei costi dell'hardware, lo sviluppo commerciale del softwaredivenne un business notevole, ed il codice sorgente era divenuto un investimento prezioso che poteva da un lato faracquisire una fetta di tale mercato in rapida crescita e dall'altro legare i propri utenti al proprio software mantenendoil segreto sui metodi utilizzati per lo sviluppo di sistemi e applicazioni.In questo modo le aziende cominciavano ad utilizzare la legge sul diritto d'autore per impedire ai concorrenti dileggere e modificare i loro prodotti, assicurandosi il controllo dei propri clienti che, senza più poter vedere emodificare il codice sorgente del software, non potevano più adattarlo alle loro esigenze ma dovevano chiedere alleaziende di farlo per loro.Nel 1983 Stallman fondò il Progetto GNU con l'intenzione di creare un sistema operativo completamente libero.Grazie alla collaborazione di molti sviluppatori volontari, all'uso di Internet per la coordinazione del progetto e alkernel Linux di Linus Torvalds, nel 1991 nacque GNU/Linux, un clone di UNIX liberamente distribuibile emodificabile.In Italia si riscontra una sempre maggiore attenzione per il software libero, vi sono associazioni che giornalmentededicano molte attenzioni ed energie nella tutela e nel rispetto delle norme che regolano (o dovrebbero regolare)l'utilizzo del software libero nelle varie strutture pubbliche, come anche la Pubblica Amministrazione. Una delle piùimportanti sentenze registrate negli ultimi giorni riguarda l'Associazione per il Software Libero: con una sentenza alungo attesa il Tribunale Amministrativo Regionale del Lazio riconosce ad Assoli il diritto di perseguire i suoi scopistatutari agendo anche in giudizio ove fosse necessario.

Aspetti filosofici e socialiNel software libero il significato della parola libero ha un'accezione particolare. Si è già sottolineato che la libertàdel software libero non è incondizionata, perché è soggetta ai precisi vincoli della licenza d'uso, come qualsiasi altralicenza d'uso, solo che in questo caso l'autore si "espropria" di alcuni diritti per cederli agli utenti. Questi vincolisono studiati in maniera tale da favorire il tipo di libertà cosiddetta copyleft, ovvero che ha come obiettivo lacondivisione del sapere. Pertanto il software libero parte da considerazione sociali e per molti aspetti è una forma difilosofia.Le implicazioni sociali del software libero sono notevoli. La condivisione del sapere non permette a un grupporistretto di persone di sfruttare la conoscenza (in questo caso tecnologica) per acquisire una posizione di potere.Inoltre, è promossa la cooperazione delle persone, che tendono naturalmente ad organizzarsi in comunità, cioè ingruppi animati da un interesse comune.Il modello del software libero si è naturalmente esteso ad altri campi del sapere. Chi crede nel modello copyleftpensa che questo possa essere applicato ad esempio alla musica o alla divulgazione. L'esempio più riuscito diapplicazione di questo modello ad un campo differente dal software è oggi Wikipedia, che promuove la condivisionedel sapere e la formazione di una comunità.

Page 15: CMS per tutti. Content Managed System free

Software libero 13

Differenti correnti di pensieroTra i sostenitori del software libero, e più in generale del copyleft, vi sono diverse correnti di pensiero, che spazianoda una visione radicale ad una più moderata.La visione più radicale tende ad un modello che si spinge molto oltre a quello del software libero, arrivando in alcunicasi ad auspicare una completa abolizione del software proprietario, considerato una limitazione inaccettabile dellalibertà e dei diritti dell'uomo. Questa ideologia è stata, erroneamente o almeno impropriamente, paragonata a correntipolitiche quali il comunismo, sebbene solitamente i sostenitori del software libero non entrino in questioni politiche.Chi è su posizioni più moderate considera il software libero un ideale a cui tendere, non negando la possibilità diesistere al software proprietario e più in generale allo sfruttamento commerciale del diritto d'autore, sfruttamento chepuò essere fatto anche usando software libero, come dimostrano vari casi di successo (es: MySQL).La licenza LGPL è stata concepita per permettere una certa integrazione tra software libero e software non libero. C'èchi ritiene inopportuno un suo utilizzo perché permette l'integrazione, sotto determinate condizioni, di softwarelibero da parte di software non libero[8]; tuttavia ogni autore di software può decidere liberamente che licenzascegliere e quindi sotto quali condizioni permettere l'uso del proprio lavoro.

Vantaggi del software liberoA prescindere dalle implicazioni sociali, secondo i suoi sostenitori il software libero presenta numerosi vantaggirispetto al software proprietario:•• essendo possibile modificare liberamente il software, è possibile personalizzarlo ed adattarlo alla proprie esigenze• il codice sorgente è sottoposto ad una revisione da parte di moltissime persone, pertanto è più difficile che

contenga bachi e malfunzionamenti. In ogni caso, è sempre possibile per chiunque tenere un indice pubblico deiproblemi, in modo che gli utenti li conoscano

• se viene scoperto un baco o una falla di sicurezza, la sua correzione di solito è molto rapida[9]

• essendo il sorgente liberamente consultabile, è molto difficile inserire intenzionalmente nel software backdoor,cavalli di Troia o spyware senza che questi vengano prontamente scoperti ed eliminati, come invece è accadutoper alcune applicazioni commerciali (ad esempio il caso del database Firebird della Borland che conteneva unabackdoor scoperta quando di tale software sono stati pubblicati i sorgenti)

•• non esistendo standard proprietari, le cui specifiche sono normalmente segrete, è molto più facile costruiresoftware interoperabile

• permettere a chiunque di modificare i sorgenti garantisce che ogni nuova funzionalità o copertura di un bacopossa essere proposta da chiunque e immediatamente applicata dagli sviluppatori. Questo permette di avererapidamente a disposizione un software che rispetta le esigenze di chi ha richiesto le modifiche in caso dinecessità[9]

•• la complessità e le dimensioni di alcune applicazioni di software libero (ad esempio, dei sistemi operativi) è taleche è necessario il supporto commerciale di un'azienda; il software libero si presta a creare nuove opportunità dibusiness nel campo della formazione e del supporto, oltre che della eventuale personalizzazione del software.

•• collaborando con sviluppatori volontari e utilizzando il lavoro della comunità, anche le piccole e medie impresesono in grado di sviluppare e vendere prodotti di alta qualità, senza dover ampliare il loro organico.

Page 16: CMS per tutti. Content Managed System free

Software libero 14

Critiche al software liberoSecondo alcuni il software libero avrebbe delle limitazioni e degli svantaggi rispetto al software proprietario:• essendo un lavoro volontario, lo sviluppo del software libero sarebbe più lento rispetto al software proprietario;

tesi espressa da Bill Gates nella sua lettera aperta ai programmatori dilettanti[10]. Bill Gates ha inoltreparticolarmente criticato la GPL in quanto licenza virale e non economicamente sostenibile[11].

•• alcune tipologie di software, soprattutto di nicchia, non sarebbero disponibili come software libero; infatti ilsoftware di nicchia non avrebbe abbastanza utenti per la creazione di una comunità che supporti lo sviluppo delsoftware.

• lo sviluppo del software libero avrebbe una struttura anarchica, che porta a risultati incoerenti e ad una mancanzadi uniformità e consistenza[12].

• nonostante il codice sorgente sia liberamente disponibile, non tutti sono in grado di apportarvi modifiche[13]

Alcune di queste critiche sono talvolta frutto di un'errata comprensione del software libero. Molte persone tendonoinfatti a considerare il software libero come prodotto esclusivamente da volontari, mentre sono molti i casi in cui èsemplicemente un modello di sviluppo adottato a livello aziendale.

Applicazioni commerciali del software liberoIl software libero non deve necessariamente essere sviluppato a titolo gratuito o a fondo perduto. Purché si rispettinoi vincoli della licenza d'uso, è possibile vendere del software libero; all'interno dei documenti del progetto GNU,Stallman incoraggia la vendita di software libero. Stando alla GPL, però, il primo che compra un software libero hail diritto di redistribuirlo gratis, è quello che succede ad esempio con REHL e CentOS, quindi il modello non èsostenibile. Infatti non c'è alcuna azienda che fa business sulla vendita di Free Software, ma semmai su servizi eassistenza.Vi sono inoltre alcune aziende che adottano il modello di sviluppo del software libero per i propri prodotticommerciali. Il ritorno economico in questo caso può derivare dalla fornitura di assistenza e di know-how.Un caso diverso è quello di alcuni esempi di software che vengono pubblicati con un sistema di "licenze multiple".In pratica lo stesso software viene licenziato sia come proprietario, sia come software libero. La versione liberatalvolta dispone di meno funzionalità, o è limitata ad un numero ristretto di piattaforme. Esempi celebri di software adoppia licenza sono il database MySQL, di cui esiste una versione "Pro Certified Server" a pagamento e unaversione "Community Edition" pubblicata con licenza GPL, e la libreria Qt[14].Vi sono poi aziende che sono strutturate integralmente per la vendita e l'assistenza di un determinato software libero:esempi classici sono alcune distribuzioni di GNU/Linux, come Red Hat o SUSE. Queste aziende utilizzano comebase il software sviluppato dalla comunità, aggiungendo una serie di tool di configurazione o sviluppo, curando gliaspetti più tecnici e dando agli utenti finali un'assistenza mirata.Sfruttando le caratteristiche della licenza BSD, alcune aziende preferiscono invece partire da software libero persviluppare un prodotto non libero. Per esempio il sistema operativo proprietario Microsoft Windows implementava,fino alla versione NT 4.0, lo stack di rete utilizzando codice sotto licenza BSD.

Page 17: CMS per tutti. Content Managed System free

Software libero 15

Note[1] Perché l'Open Source manca l'obiettivo del Software Libero, di Richard Stallman[2] http:/ / wikimania2005. wikimedia. org/ wiki/ Main_Page[3] Definizione di Software Libero (http:/ / www. gnu. org/ philosophy/ free-sw. it. html)[4][4] L'accesso al codice sorgente ne è un prerequisito.[5] BSD License Problem (http:/ / www. gnu. org/ philosophy/ bsd. html). URL consultato in data 23-12-2007.[6] Apache License Version 2.0 and GPL compatibility (http:/ / www. gnu. org/ licenses/ license-list. html#apache2). URL consultato in data

14-04-2009.[7] Various Licenses and Comment about Them (http:/ / www. gnu. org/ licenses/ license-list. html). URL consultato in data 23-12-2007.[8] Why you shouldn't use the Lesser GPL for your next library (http:/ / www. gnu. org/ licenses/ why-not-lgpl. html). URL consultato in data

23-12-2007.[9] Use of Free and Open Source Software in the U.S. Department of Defence (http:/ / www. terrybollinger. com/ dodfoss/ dodfoss_pdf.

pdf). URL consultato in data 23-12-2007.[10] An open Letter to Hobbysts (http:/ / www. flora. ca/ gates_letter. txt). URL consultato in data 23-12-2007.[11] Gates: GPL will eat your economy, but BSD's cool (http:/ / www. theregister. co. uk/ 2002/ 04/ 22/ gates_gpl_will_eat_your/ ). URL

consultato in data 23-12-2007.[12] Some Vulnerabilities of The Cathedral and the Bazaar (http:/ / www. softpanorama. org/ Articles/

a_second_look_at_the_cathedral_and_the_bazaar. shtml#Some_Vulnerabilities). URL consultato in data 23-12-2007.[13] Open Source Problems and Limitations (http:/ / www. softpanorama. org/ Articles/ oss_as_academic_research. shtml#b4). URL consultato

in data 23-12-2007.[14] Business Model (http:/ / www. trolltech. com/ trolltech/ company/ about/ businessmodel). URL consultato in data 23-12-2007.

Bibliografia• Simone Aliprandi, Apriti standard! Interoperabilità e formati aperti per l'innovazione tecnologica (http:/ / www.

aliprandi. org/ apriti-standard), Ledizioni/Copyleft-Italia.it, 2010. Disponibile anche su Wikimedia Commons aquesto link (http:/ / commons. wikimedia. org/ wiki/File:Apriti_Standard!_Interoperabilità_e_formati_aperti_per_l'innovazione_tecnologica. pdf)

• AA.VV., Revolution OS. Voci dal codice libero. A cura di A.Mari, S. Romagnolo. Apogeo Editore, 2003. ISBN88-503-2154-6

• Simone Aliprandi, Copyleft & opencontent - L'altra faccia del copyright (http:/ / www. copyleft-italia. it/ it/ libri/copyleft-opencontent. html), ed. PrimaOra, 2005

• Simone Aliprandi (a cura di), Compendio di libertà informatica e cultura open (http:/ / www. copyleft-italia. it/libri/ liberta-cultura-open), PrimaOra/Copyleft-Italia.it, 2006. ISBN 88-901724-3-6. Disponibile anche suWikimedia Biblioteca a questo link (http:/ / biblioteca. wikimedia. it/ wiki/File:Compendio_di_liberta_informatica. pdf)

• (con Alessandro Gilioli), Arturo Di Corinto I nemici della rete , BUR-Biblioteca Universale Rizzoli, 2010 ISBN978-88-17-04275-8

• Arturo Di Corinto, Revolution OS II. Software libero, proprietà intellettuale, cultura e politica. Apogeo, 2006,EAN: 9788850323272).

• Lawrence Lessig, Cultura libera. Un equilibrio fra anarchia e controllo, contro l'estremismo della proprietàintellettuale (http:/ / www. copyleft-italia. it/ pubblicazioni/ Lessig-CulturaLibera. pdf), Apogeo, 2005. ISBN978-88-503-2250-3.

• Lawrence Lessig, Il futuro delle idee. Feltrinelli, 2006. ISBN 978-88-07-17123-9.• Richard M. Stallman, Software libero pensiero libero - Volume primo, Viterbo, Stampa Alternativa, 2003. ISBN

978-88-7226-754-7.• Richard M. Stallman, Software libero pensiero libero - Volume secondo, Viterbo, Stampa Alternativa, 2004.

ISBN 978-88-7226-786-8.• Giovanni Ziccardi, Libertà del codice e della cultura (Giuffrè, 2006).• Gruppo Ippolita, Open non è Free, Comunità digitali tra etica hacker e mercato globale (http:/ / www. ippolita.

net/ files/ open_non_e_free_ippolita. pdf), Elèuthera, 2005

Page 18: CMS per tutti. Content Managed System free

Software libero 16

• Gerardo Pastore, Democrazia Informazione. Una riflessione sui movimenti free software e open source, ErreciEdizioni, Anzi-Potenza 2009

Presentazioni• Nicola Asuni, Software Libero (http:/ / www. slideshare. net/ tecnickcom/ software-libero) - Introduzione al

Software Libero, LinuxDay CA, 2010

Documentazione• Daniele Medri. Linux facile (http:/ / linuxfacile. medri. org/ download/ linuxfacile_5. 0-1. pdf) (copyleft)• Daniele Giacomini. Appunti di informatica libera (copyleft)

Voci correlate• GNU, Free Software Foundation e Richard Stallman• GNU GPL, GNU LGPL, GNU FDL, Licenza artistica• Licenza open source, Licenza libera•• Comparazione di licenze libere• GNU/Linux, FreeBSD, OpenBSD, NetBSD• Copyright e Copyleft•• Elenco di casi di adozione di software libero• FLOSS e FOSS•• Free Software Song

Altri progetti• Wikisource contiene opere originali: http:/ / it. wikisource. org/ wiki/ :Categoria:Software Libero• Wikinotizie contiene notizie di attualità: http:/ / it. wikinews. org/ wiki/ Categoria:Software libero

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ Category:Freesoftware

• Wikiquote contiene citazioni: http:/ / it. wikiquote. org/ wiki/ Software libero

Collegamenti esterni• GNU.org (http:/ / www. gnu. org/ home. it. html)• GNUvox - La voce del software libero (http:/ / www. gnuvox. info/ )• AsSoLi - Associazione per il Software Libero (http:/ / www. softwarelibero. it/ )• (FR) Storia del Software Libero (http:/ / www. web-libre. org/ )• Guida al software libero per l'ufficio (http:/ / www. ufficioopen. it/ )• Lezione sul Software Libero (http:/ / www. bononia. it/ ~renzo/ fortic/ ) di Renzo Davoli

Page 19: CMS per tutti. Content Managed System free

PHP 17

PHP

PHP

Sviluppatore The PHP Group

Ultima versione 5.4.4 (14 giugno 2012)

Sistema operativo Multipiattaforma

Genere Linguaggio di scripting

Licenza PHP License 3.01 [1]

(Licenza libera)

Sito web http:/ / www. php. net

PHP (acronimo ricorsivo di "PHP: Hypertext Preprocessor", preprocessore di ipertesti; originariamente acronimo di"Personal Home Page"[2]) è un linguaggio di scripting interpretato, con licenza open source e libera (maincompatibile con la GPL), originariamente concepito per la programmazione Web ovvero la realizzazione di pagineweb dinamiche.Attualmente è utilizzato principalmente per sviluppare applicazioni web lato server ma può essere usato anche perscrivere script a riga di comando o applicazioni stand-alone con interfaccia grafica.L'elaborazione di codice PHP sul server produce codice HTML da inviare al browser dell'utente che ne fa richiesta.Il vantaggio dell'uso di PHP e degli altri linguaggi Web come ASP e .NET rispetto al classico HTML derivano dalledifferenze profonde che sussistono tra Web dinamico e Web statico.Un esempio di software scritto in php è MediaWiki, su cui si basano progetti wiki come Wikipedia e Wikizionario.

Cenni storiciNato nel 1994 ad opera del danese Rasmus Lerdorf, PHP era in origine una raccolta di script CGI che permettevanouna facile gestione delle pagine personali. Il significato originario dell'acronimo era Personal Home Page (secondol'annuncio originale di PHP 1.0 da parte dell'autore sul newsgroup comp.infosystems.www.authoring.cgi[3]).Il pacchetto originario venne in seguito esteso e riscritto dallo stesso Lerdorf in C, aggiungendo funzionalità quali ilsupporto al database mSQL e prese a chiamarsi PHP/FI, dove FI sta per Form Interpreter (interprete di form),prevedendo la possibilità di integrare il codice PHP nel codice HTML in modo da semplificare la realizzazione dipagine dinamiche. In quel periodo, 50.000 domini Internet annunciavano di aver installato PHP.A questo punto il linguaggio cominciò a godere di una certa popolarità tra i progetti open source del web, e vennecosì notato da due giovani programmatori: Zeev Suraski e Andi Gutmans. I due collaborarono nel 1998 con Lerdorfallo sviluppo della terza versione di PHP (il cui acronimo assunse il significato attuale) riscrivendone il motore chefu battezzato Zend da una contrazione dei loro nomi. Le caratteristiche chiave della versione PHP 3.0, frutto del lorolavoro, erano la straordinaria estensibilità, la connettività ai database e il supporto iniziale per il paradigma a oggetti.Verso la fine del 1998 PHP 3.0 era installato su circa il 10% dei server web presenti su Internet.PHP diventò a questo punto talmente maturo da competere con ASP, linguaggio lato server analogo a PHP sviluppato da Microsoft, e cominciò ad essere usato su larga scala. La versione 4 di PHP venne rilasciata nel 2000 e prevedeva notevoli migliorie. Attualmente siamo alla quinta versione, sviluppata da un team [4] di programmatori,

Page 20: CMS per tutti. Content Managed System free

PHP 18

che comprende ancora Lerdorf, oltre a Suraski e Gutmans.La popolarità del linguaggio PHP è in costante crescita grazie alla sua flessibilità: nel Giugno 2001, ha superato ilmilione di siti che lo utilizzano [5]. Nell'ottobre 2002, più del 45% [6] dei server Apache usavano PHP.Nel gennaio 2005 è stato insignito del titolo di "Programming Language of 2004" dal TIOBE ProgrammingCommunity Index, classifica che valuta la popolarità dei linguaggi di programmazione sulla base di informazioniraccolte dai motori di ricerca.Nel 2005 la configurazione LAMP (Linux, Apache, MySQL, PHP) supera il 50% del totale dei server sulla retemondiale.Nel 2008 PHP 5 è diventata l'unica versione stabile in fase di sviluppo. A partire da PHP 5.3.0, PHP implementa unafunzione chiamata "late static binding" che può essere utilizzata per fare riferimento alla classe chiamata in uncontesto di eredità statica.A partire dal 5 febbraio 2008, a causa dell'iniziativa GoPHP5, sostenuta da una serie di sviluppatori PHP, molti deiprogetti open-source di alto profilo cessano di supportare PHP 4 nel nuovo codice e promuovono il passaggio daPHP 4 a PHP 5.

CaratteristichePHP riprende per molti versi la sintassi del C, come peraltro fanno molti linguaggi moderni, e del Perl. È unlinguaggio a tipizzazione debole e dalla versione 5 migliora il supporto al paradigma di programmazione ad oggetti.Certi costrutti derivati dal C, come gli operatori fra bit e la gestione di stringhe come array, permettono in alcuni casidi agire a basso livello; tuttavia è fondamentalmente un linguaggio di alto livello, caratteristica questa rafforzatadall'esistenza delle sue moltissime API, oltre 3.000 funzioni del nucleo base. PHP è in grado di interfacciarsi ainnumerevoli database tra cui MySQL, PostgreSQL, Oracle, Firebird, IBM DB2, Microsoft SQL Server, solo percitarne alcuni, e supporta numerose tecnologie, come XML, SOAP, IMAP, FTP, CORBA. Si integra anche con altrilinguaggi/piattaforme quali Java e .NET e si può dire che esista un wrapper per ogni libreria esistente, come CURL,GD, Gettext, GMP, Ming, OpenSSL ed altro.Fornisce un'API specifica per interagire con Apache, nonostante funzioni naturalmente con numerosi altri serverweb. È anche ottimamente integrato con il database MySQL, per il quale possiede più di una API. Per questo motivoesiste un'enorme quantità di script e librerie in PHP, disponibili liberamente su Internet. La versione 5, comunque,integra al suo interno un piccolo database embedded, SQLite.Dispone di un archivio chiamato PEAR che mette a disposizione un framework di librerie riusabili per lo sviluppo diapplicazioni PHP e di PECL [7] che raccoglie tutte le estensioni conosciute scritte in C.PHP non ha ancora un supporto nativo per le stringhe Unicode o multibyte; il supporto Unicode è in fase di sviluppoper una futura versione di PHP, e consentirà di usare caratteri non ASCII in stringhe e nomi di funzioni, classi emetodi.

SicurezzaLa percentuale di software non sicuro scritto in PHP, sul totale di tutte le falle nei software elencate dal CommonVulnerabilities and Exposures, ammontava al: 12% nel 2003, 20% nel 2004, 28% nel 2005, 43% nel 2006, 36% nel2007, 34.8% nel 2008, 29.9% nel 2009 e 27.2% nel 2010.[8] La maggior parte di questi punti vulnerabili possonoessere sfruttati tramite remoto, ovvero senza accedere al computer che ospita l'applicazione vulnerabile. Le falle piùcomuni sono dovute al mancato adempimento delle best practice nella programmazione e da vulnerabilità presenti incodice scritto in versioni vecchie di PHP.

Page 21: CMS per tutti. Content Managed System free

PHP 19

Gestione dei parametriIl PHP permette il passaggio di parametri da una pagina all'altra attraverso tre array di variabili: $_GET, $_POST e$_SESSION. Il primo tipo di parametro viene passato tramite la stringa che compare nella barra dell'indirizzo delbrowser; il secondo viene passato in background, mentre il terzo rimane persistente durante la sessione.

Esempi di codice

Utilizzo delle variabili$title = "Wikipedia";

Con questa istruzione viene definita una variabile e le viene assegnato il valore stringa "Wikipedia".L'istruzione seguente:

echo $title;

visualizzerà il contenuto della variabile title, ossia la scritta “Wikipedia”. Se invece la variabile non esiste,l'istruzione non visualizzerà nulla.E' anche possibile includere una pagina PHP all'interno di un'altra (e quindi ad esempio di poterne utilizzare levariabili) con l'istruzione

require 'otherPage.php';

Hello World! in PHP<?php

echo "Hello World!\n"; //scrive nella pagina "Hello World!". Il

simbolo ''\n'' inserisce un ''newline'', andando a capo.

?>

Una funzione con controllo sugli argomenti <?php

function get_hello_world($value1, $value2)

{

$result = "";

if ($value1 != "") {

$result .= $value1;

}

// .= è un operatore di concatenazione;

// Il "." (punto) deriva dall'operazione di concatenazione delle

stringhe nella teoria dei linguaggi;

if (($value1 != " ") && ($value2 != " ")) {

$result .= " ";

}

Page 22: CMS per tutti. Content Managed System free

PHP 20

if ($value2 != "") {

$result .= $value2;

}

return $result;

}

echo get_hello_world("Hello", "world");

?>

Il Ciclo for<?php

// In questo caso la variabile $n viene stampata a video,

successivamente

// viene incrementata di 1, il ciclo termina quando $n è uguale a 9.

for($n = 0; $n <= 9; $n++){

echo $n;

}

//Output -> 0123456789

?>

I cicli while<?php

//In questo caso vediamo come stampare a video dei risultati estratti

//da una query sql

$esempio = mysql_query("SELECT id FROM persone");

while($example = mysql_fetch_array($esempio)){

echo $example[0];?><br /><?

}

/*In questo modo estraiamo dei dati da un database sql

sotto forma di array che verrà poi stampato tramite un ciclo while

*/

?>

Page 23: CMS per tutti. Content Managed System free

PHP 21

99 Bottles of BeerIl seguente esempio stampa il testo della canzone 99 Bottles of Beer.

<?php

/*

* Questo è un commento. Altri modi per commentare sono i simboli // e

#

* Questo tipo di commenti non ha bisogno degli asterischi (*)

all'inizio

* di ogni riga, ma lo si fa per convenzione. I simboli // e #

* commentano solo il testo che si trova dopo di essi e fino alla fine

della riga;

* non c'è bisogno di finire il commento con qualche carattere

speciale.

*/

/*

* Prima definiamo una funzione chiamata "plural".

* Restituisce una "s" se l'argomento passato non è 1.

*/

function plural($number)

{

// L'operatore ternario (!= ? :) è una struttura condizionale

// simile a if-else: (condizione ? true : false)

return ($number != 1 ? "s" : "");

}

// Definiamo una variabile chiamata $a_capo che contiene un a capo

HTML,

// un carattere di ritorno e uno di nuova riga:

$a_capo = "<br />\r\n";

for ($i = 99; $i > 0; $i--) {

print "$i bottle" . plural($i) . " of beer on the wall,$a_capo";

// Non abbiamo bisogno di ripetere il comando print per ogni riga:

print "$i bottle" . plural($i) . " of beer.$a_capo

Take one down, pass it around,$a_capo" .

($i - 1 != 0 ? $i - 1 : "no more") .

" bottle" . plural($i - 1) . " of beer on the

wall.$a_capo$a_capo";

/*

* PHP permette di creare stringhe su più righe, finché

* trova un punto e virgola (;) che termina l'istruzione.

* Un punto (.) concatena insieme più stringhe.

* Le variabili, che iniziano con il carattere "$", sono

interpretate

* anche dentro i doppi apici ("), ma non dentro gli apici singoli

Page 24: CMS per tutti. Content Managed System free

PHP 22

(').

* Le funzioni, come plural(), non sono interpretate fra gli

apici.

*/

}

print "Go to the store, $a_capo buy some more, $a_capo 99 bottles of

beer on the wall!";

?>

php.iniIl file di configurazione di PHP, chiamato php3.ini in PHP 3, e poi semplicemente php.ini nelle versioni successive,è letto all'avvio dell'interprete del linguaggio e fornisce le impostazioni dei vari moduli con cui l'interprete è statocompilato. Nella versione server modulare di PHP, questo avviene solo una volta, all'avvio del server web. Per leversioni CGI e CLI, invece, è invocato ad ogni richiesta.Per visualizzare tutte le opzioni di configurazione è possibile utilizzare la funzione phpinfo().

Ambienti di sviluppo• (EN) Aptana [9]

• (EN) Delphi4php [10]

• (EN) Bluefish [11]

• (EN) Dreamweaver CS5.5 [12]

• (EN) WeBuilder 2007 [13]

• (EN) Maguma Workbench [14]

• (EN) NuSphere PHPEd [15]

• (EN) PHP Designer 2008 [16]

• (EN) PDT (Eclipse Platform) [17]

• (EN) PHPEclipse (Eclipse Platform) [18]

• (EN) NetBeans [19]

• (EN) Dev-PHP [20]

• (EN) PHPEdit [21]

• (EN) Quanta Plus [22]

• (EN) Side [23]

• (EN) Xored TruStudio [24]

• (EN) Zend Studio [25]

• (EN) Antechinus PHP Editor [26]

• (EN) gPHPEdit [27]

• (EN) jEdit [28]

• PSPad [29]

• (EN) Vim [30]

• (EN) Emacs [31]

• (EN) SciTE [32]

• HAP EDIT [33]

• (EN) Komodo IDE [34]

Page 25: CMS per tutti. Content Managed System free

PHP 23

• (EN) Komodo Edit [35]

• Notepad++ [36]

• Notepad (blocco note di Windows)• Notepad2 (evoluzione del notepad di Windows)•• gedit•• PhpGedView• Qualsiasi altro editor di testo

Note[1] http:/ / www. php. net/ license/ 3_01. txt[2] The PHP Group. History of PHP and related projects (http:/ / it. php. net/ history). URL consultato in data 26 aprile 2011.[3] Announce: Personal Home Page Tools (PHP Tools) (http:/ / groups. google. ch/ group/ comp. infosystems. www. authoring. cgi/ msg/

cc7d43454d64d133?oe=UTF-8& output=gplain). 8 giugno 1995. URL consultato in data 6 luglio 2011.[4] http:/ / www. php. net/ credits. php[5] http:/ / www. php. net/ usage. php[6] http:/ / www. securityspace. com/ s_survey/ data/ man. 200210/ apachemods. html[7] http:/ / pecl. php. net[8] PHP-related vulnerabilities on the National Vulnerability Database (http:/ / www. coelho. net/ php_cve. html). URL consultato in data 6

luglio 2011.[9] http:/ / www. aptana. com[10] http:/ / www. embarcadero. com/ products/ delphi_for_php/[11] http:/ / bluefish. openoffice. nl[12] http:/ / www. dreamweaver. com[13] http:/ / www. blumentals. net/ webuilder/[14] http:/ / www. maguma. com[15] http:/ / www. nusphere. com[16] http:/ / www. mpsoftware. dk[17] http:/ / www. eclipse. org/ pdt[18] http:/ / www. phpeclipse. de[19] http:/ / netbeans. org[20] http:/ / devphp. sourceforge. net[21] http:/ / www. waterproof. fr[22] http:/ / quanta. kdewebdev. org[23] http:/ / www. phpside. org[24] http:/ / www. xored. com/ trustudio[25] http:/ / www. zend. com/ store/ products/ zend-studio. php[26] http:/ / www. c-point. com/ php_editor. php[27] http:/ / www. gphpedit. org[28] http:/ / www. jedit. org[29] http:/ / www. pspad. com/ it[30] http:/ / www. vim. org[31] http:/ / www. gnu. org/ software/ emacs/[32] http:/ / www. scintilla. org/ SciTE. html[33] http:/ / hapedit. free. fr[34] http:/ / www. activestate. com/ Products/ komodo_ide/ index. mhtml[35] http:/ / www. activestate. com/ Products/ komodo_ide/ komodo_edit. mhtml[36] http:/ / notepad-plus. sourceforge. net/ it/ site. htm

Page 26: CMS per tutti. Content Managed System free

PHP 24

Bibliografia• Zak Greant, Graeme Merrall, Torben Wilson, Brett Michlitsch (2002): PHP Functions Essential Reference, Sams,

ISBN 0-7357-0970-X• Luke Welling, Laura Thomson (2004): PHP and MySQL Web Development, 3rd ed., SAMS, ISBN

0-672-32672-8• Matt Zandstra (2004): PHP 5 Objects, Patterns, and Practice, Apress, ISBN 1-59059-380-4• Eric Rosebrock, Eric Filson (2004): Setting Up LAMP: Getting Linux, Apache, MySQL, and PHP Working

Together, SYBEX, ISBN 0-7821-4337-7• Cristian Darie, Mihai Bucica (2004): Beginning PHP 5 and MySQL E-Commerce: From Novice to Professional,

Apress, ISBN 1-59059-392-8• David Powers (2005): Foundation PHP 5 for Flash, Friends of ED, ISBN 1-59059-466-5• Elizabeth Naramore, (2005): Beginning PHP5, Apache, and MySQL Web Development, Wrox, ISBN

0-7645-7966-5• Thomas Myer (2005): No Nonsense XML Web Development With PHP, SitePoint, ISBN 0-9752402-0-X• Marc Wandschneider (2005): Core Web Application Development with PHP and MySQL, Prentice-Hall, ISBN

0-13-186716-4• Steven Holzner (2005): Spring Into PHP 5 , Addison-Wesley, ISBN 0-13-149862-2• (2005): Building Online Communities with phpBB 2 , Packt Publishing, ISBN 1-904811-13-2• (2005): Web Standards Programmer's Reference : HTML, CSS, JavaScript, Perl, Python, and PHP, Wrox, ISBN

0-7645-8820-6• Chris Newman (2005): Sams Teach Yourself PHP in 10 Minutes, ISBN 0-672-32762-7• Paul Hudson (2005): PHP in a Nutshell, O'Reilly, ISBN 0-596-10067-1• Andi Gutmans, Stig S. Bakken, Derick Rethans (2005): PHP 5: Guida completa, Apogeo, ISBN 88-503-2304-2• Jack Herrington (2006), PHP Trucchi e segreti, Tecniche Nuove Hops, ISBN 88-481-1951-4• Rasmus Lerdorf (2003), PHP Pocket Reference, Tecniche Nuove Hops, ISBN 88-8378-070-1• Peter B. MacIntyre (2010), PHP – Le tecniche per scrivere il codice migliore, Tecniche Nuove, ISBN

978-88-481-2505-5

Voci correlate•• Perl•• Active Server Pages

Altri progetti

• Wikibooks contiene testi o manuali: http:/ / it. wikibooks. org/ wiki/ PHP• Wikiversità contiene informazioni: http:/ / it. wikiversity. org/ wiki/ PHP

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ Category:PHP

Collegamenti esterni• PHP.net (http:/ / php. net/ )• Php (http:/ / www. dmoz. org/ World/ Italiano/ Computer/ Programmazione/ Php/ ) su Open Directory Project (

Segnala (http:/ / www. dmoz. org/ cgi-bin/ add. cgi?where=World/ Italiano/ Computer/ Programmazione/ Php/ ) su

DMoz un collegamento pertinente all'argomento "Php")

Page 27: CMS per tutti. Content Managed System free

MySQL 25

MySQL

MySQL

Sviluppatore Oracle Corporation

Ultima versione 5.5.24 (7 maggio 2012)

Ultima beta 5.6.5 (10 aprile 2012)

Sistema operativo Multipiattaforma

Genere RDBMS

Licenza GNU GPL o Licenza commerciale[1]

(Licenza libera)

Sito web http:/ / www. mysql. com/

MySQL, definito Oracle MySQL, è un Relational database management system (RDBMS), composto da un clientcon interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix come GNU/Linux che per Windows,anche se prevale un suo utilizzo in ambito Unix.Dal 1996 supporta la maggior parte della sintassi SQL e si prevede in futuro il pieno rispetto dello standard ANSI.Possiede delle interfacce per diversi linguaggi, compreso un driver ODBC, due driver Java, un driver per Mono e.NET ed una libreria per python.Il codice di MySQL venne sviluppato fin dal 1979 dalla ditta TcX ataconsult, poi rinominata MySQL AB, ma è solodal 1996 che viene distribuita una versione che supporta SQL, prendendo spunto da un altro prodotto: mSQL.MySQL AB è stata rilevata da Sun Microsystems nel 2008, mentre nel 2010 quest'ultima è stata acquisita da OracleCorporation.MySQL svolge il compito di DBMS anche nella piattaforma LAMP, una delle più usate e installate su Internet per losviluppo di siti e applicazioni web dinamiche.

StoriaIl codice di MySQL era inizialmente di proprietà della società MySQL AB, veniva però distribuito con la licenzaGNU GPL oltre che con una licenza commerciale. Fino alla versione 4.0, una buona parte del codice del client eralicenziato con la GNU LGPL e poteva dunque essere utilizzato anche per applicazioni proprietarie. Dalla versione4.1 in poi, anche il codice del client è distribuito sotto GNU GPL. Esiste peraltro una clausola estensiva [2] checonsente l'utilizzo di MySQL con una vasta gamma di licenze libere.Nel luglio 2007 la società svedese MySQL AB aveva 385 dipendenti in numerosi paesi. I suoi principali introitiprovenivano dal supporto agli utilizzatori di MySQL tramite il pacchetto Enterprise [3], dalla vendita delle licenzecommerciali e dall'utilizzo da parte di terzi del marchio MySQL. Il 16 gennaio 2008 Sun Microsystems ha acquistatola società per un miliardo di dollari,[4] stimando il mercato del database in 15 miliardi di dollari.Il 20 aprile 2009 alla stessa Sun Microsystems è stata proposta l'acquisizione da parte di Oracle per 7,4 miliardi di dollari. L'accordo, approvato dall'antitrust USA, è poi passato al vaglio degli organi corrispondenti dell'Unione Europea, preoccupati dal conflitto di interessi costituito dai database commerciali Oracle rispetto a MySQL. Il padre di MySQL, Michael Widenius, ha lanciato una petizione online per opporsi alla fusione. Nonostante ciò l'Unione

Page 28: CMS per tutti. Content Managed System free

MySQL 26

Europea ha dato parere favorevole, e l'acquisizione è stata completata il 27 gennaio 2010[5]. Il software MediaWiki,che gestisce i siti del progetto Wikipedia, è basato su database MySQL.

Amministrazione

Pagina iniziale di phpMyAdmin

Esistono diversi tipi di MySQL Manager,ovvero di strumenti per l'amministrazione diMySQL. Uno dei programmi più popolariper amministrare i database MySQL èphpMyAdmin (richiede un server web comeApache HTTP Server ed il supporto dellinguaggio PHP). Si può utilizzarefacilmente tramite un qualsiasi browser.

Alcune offerte di terze parti sono HeidiSQL,SQLYog o Toad for MySQL. In alternativala stessa MySQL AB offre programmi qualiMySQL Administrator (amministrazione deldatabase, degli utenti, operazioni pianificate,carico del server, ...) e MySQL QueryBrowser (esecuzione di svariati tipi di query), MySQL Migration Toolkit per importare da altri DBMS.

Per il disegno e la modellazione di database MySQL esiste MySQL Workbench: integra il disegno, la modellazione,la creazione e l'aggiornamento di database in un unico ambiente di lavoro.In passato veniva sviluppato anche MySQLcc (MySQL control center), sostituito da MySQL Query Browser.

SviluppoFino a qualche anno fa lo sviluppo del programma era opera soprattutto dei suoi sviluppatori iniziali: David Axmark,Allan Larsson e Michael Widenius. Quest'ultimo era il principale autore del codice - oltre che principale socio dellasocietà - e tuttora coordina il progetto, tra l'altro vagliando i contributi che pervengono dai volontari. I contributivengono accettati a condizione che il loro autore condivida i diritti d'autore con la società. Da luglio 2007 la societàimpiega un centinaio di sviluppatori a tempo pieno.

Versioni

3.23La prima versione alfa del ramo 3.23.x è stata rilasciata nel luglio 1999. La prima versione di produzione è delgennaio 2001. Nelle versioni 3.23.x sono stati aggiunti i tipi di tabella MyISAM (che rimpiazza il vecchio Isam),HEAP (ora MEMORY), InnoDB e BDB. Inoltre sono state aggiunte la ricerca fulltext e la replica dei database.

4.0Nell'ottobre 2001 è stata rilasciata la prima versione alfa del ramo 4.0.x, mentre nel marzo 2003 è entrata inproduzione. Le aggiunte più significative sono:• una cache per le query• le query di tipo UNION• DELETE multitabella• migliorate le tabelle Merge perché supportino le INSERT e i campi autoincrementanti

Page 29: CMS per tutti. Content Managed System free

MySQL 27

•• limitazione delle risorse utilizzabili da ogni singolo utente•• variabili d'ambiente reimpostabili con il comando SET•• una libreria per incorporare le funzioni di MySQL in un altro programma

4.1La prima versione del ramo 4.1.x risale all'aprile 2003, mentre nell'ottobre del 2004 è entrato in produzione. Leaggiunte più significative sono:• le Subquery. Queste sono delle query SQL nidificate. Si ha dunque la possibilità di scrivere:

SELECT * FROM tabella1 WHERE colonna1 = (SELECT colonna1 FROM tabella2)

• dati geografici memorizzati secondo il modello OpenGIS• i Prepared Statements• le connessioni SSL/TLS• set di caratteri impostabili a livello di database, tabella e colonna; aggiunto il supporto per Unicode (UTF8 e

UCS2)•• commenti a livello di colonna

5.0Il 22 dicembre 2003 viene rilasciata la prima versione della serie 5.0, che è entrata in produzione il 19 ottobre 2005.Le aggiunte più significative sono:• le viste, tabelle virtuali ricavate da una query SQL, aggiornabili quando possibile• le stored procedure, un vero e proprio linguaggio di programmazione per interagire con i dati del database. Oltre

ai soliti parametri di ricerca e selezione è possibile inserire costrutti [IF ... THEN ... ELSE], tanto per fare unesempio.

• i trigger, istruzioni SQL che vengono lanciate automaticamente prima o dopo l'esecuzione di determinate query sudeterminate tabelle

• INFORMATION_SCHEMA, un database virtuale che descrive la struttura di tutti gli altri database; inoltre icomandi SHOW, che anch'essi restituiscono informazioni sulla struttura dei database, sono stati potenziati

• il tipo di dati BIT• gestione appropriata del fuso orario (timezone)•• i tipi di tabella Archive e Federated• un'API ben strutturata per sviluppare nuovi tipi di tabelle

5.1La prima alfa pubblica è uscita il 29 novembre 2005. Le principali nuove caratteristiche sono:•• il partizionamento delle tabelle• un'API per scrivere nuovi parser per le ricerche FULLTEXT•• gli eventi•• replica basata sui dati (anziché sulle query)•• i log possono essere scritti in un database, oltre che nei file di testo• supporto per Xpath•• campi AUTOINCREMENT e varie ottimizzazioni per le tabelle ARCHIVE• ClusterDB ora può scrivere i dati su disco, oltre che conservarli nella RAM; supporta inoltre MontaVista•• ALTER TABLE, CREATE INDEX e DROP INDEX sono molto più performanti

Page 30: CMS per tutti. Content Managed System free

MySQL 28

5.2La versione 5.2 è in fase alfa e le principali novità sono il nuovo storage engine Falcon e il backup online. Sul sito diMySQL è scomparso ogni riferimento alla versione 5.2 e le novità che avrebbe dovuto introdurre sono statepianificate per la versione 6.0.

5.4Si tratta del primo ramo sviluppato sotto l'egida della Sun - ora Oracle. Non è quindi un caso che questa versioneabbia avuto come unico scopo l'ottimizzazione del server su sistemi Solaris e su hardware SPARC, nonchél'ottimizzazione di InnoDB - in particolare della sua configurazione di default, che prima aveva notevoli difetti.

5.5Una versione di preview, pensata per testare alcune funzionalità prima dell'uscita della versione 6.0 stabile.

5.6Una versione di preview, pensata per testare alcune funzionalità prima dell'uscita della versione 6.0 stabile.

Tipi tabelle MYSQL (storage engine)In MySQL una tabella può essere di diversi tipi (o storage engine). Ogni tipo di tabella presenta proprietà ecaratteristiche differenti (transazionale o meno, migliori prestazioni, diverse strategie di locking, funzioni particolari,ecc). Esiste poi un'API che si può utilizzare per creare in modo relativamente facile un nuovo tipo di tabella, che poisi può installare senza dover ricompilare o riavviare il server.

Storage Engine ufficialiI tipi di tabella predefiniti sono:•• MyISAM• InnoDB (transazionale, sviluppata da InnoBase Oy, società ora comprata da Oracle)•• Memory (una volta si chiamava Heap)•• Merge•• NDB, o ClusterDB (introdotta nella 5.0)•• CSV (introdotta nella 5.1)•• Federated (introdotta nella 5.0)•• Archive (introdotta nella 5.0)•• Blackhole (introdotta nella 5.0)•• Falcon (transazionale, è ancora in sviluppo)•• Maria (un "MyISAM a prova di crash"; è ancora in sviluppo)

Storage Engine Obsoleti•• Isam (non più supportata; era il motore di default prima di essere sostituita da MyISAM)•• BDB (transazionale, sviluppata da SleepyCat, società ora acquisita da Oracle; dalla versione 5.1.12 non è più

presente in MySQL)•• Gemini (non più supportato e non più compatibile con le API di MySQL da molti anni, una volta era

importantissimo in quanto motore transazionale; era prodotto dalla NuSphere, la quale non ha mai rispettato lalicenza GPLv2 di MySQL e in tribunale ha tentato di negarne la validità giuridica, salvo poi accordarsi conMySQL per il pagamento dei danni economici e ritirare il prodotto dal mercato)

Page 31: CMS per tutti. Content Managed System free

MySQL 29

Storage Engine prodotti da terze partiEsistono anche storage engine prodotti da terze parti. Eccone alcuni:• PrimeBase XT Engine [6] - Motore transazionale progettato per applicazioni web ad alta concorrenza• solidDB [7] - Motore transazionale• RitmarkFS [8] - Permette di accedere al filesystem in lettura e in scrittura tramite comandi SQL, supporta anche la

replica del filesystem• Distributed Data Engine [9] - Motore per dati distribuiti, per gestire meglio il carico di lavoro• mdbtools [10] - Permette di leggere e scrivere un file .mdb (Access)Una volta esisteva il tipo Gemini, sviluppato dalla NuSphere. Poiché però il suo codice non è mai stato rilasciato,MySQL ha intentato una causa legale, in seguito alla quale lo sviluppo e il supporto per Gemini sono cessati.

CompatibilitàMySQL, essendo scritto in linguaggio C e C++, è disponibile su molti differenti sistemi operativi tra cui AIX,AmigaOS, BSDi, Digital Unix, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD,OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, SGI Irix, Tru64, Windows 95, Windows98, Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Server 2008, Windows Server 2008 R2,Windows Vista, Windows 7, Windows 8.Le piattaforme di riferimento sono Linux e Solaris. La documentazione di MySQL offre comunque un aiuto per chiavesse bisogno di provare a compilare il software su qualsiasi sistema operativo discretamente diffuso.MySQL utilizza anche i tool automake, autoconf e libtools per aumentare la compatibilità.Le tabelle di tipo BDB funzioneranno solo sui seguenti sistemi operativi: GNU/Linux 2.x Intel, Solaris (SPARC andx86), FreeBSD 4.x/5.x (x86, sparc64), AIX 4.3.x, SCO OpenServer, SCO UnixWare 7.1.xSono disponibili dei driver per i linguaggi C, C++, C#, Eiffel, Java, Perl, PHP, Python, Ruby, Tcl e per lepiattaforme Mono e .Net.Infine, il linguaggio SQL di MySQL comprende numerose estensioni che sono tipiche di altri DBMS, qualiPostgreSQL, Oracle e Sybase. In questo modo le query non standard scritte per altri DBMS in alcuni casifunzioneranno senza problemi.

ForkMySQL non è mai stato realmente aperto ai contributi dei volontari esterni, i quali devono aspettare mesi o anni(generalmente invano) nella speranza di poter vedere pubblicati i loro seppur minimi bug fix. Ora che MySQL è stataacquistata da Sun (a sua volta acquisita da Oracle) sembra che l'edizione Community abbia sempre menoimportanza, in favore di quella enterprise.Dall'insofferenza di alcuni utenti, perfino di molti lavoratori di MySQL, verso questi problemi, nascono i fork diMySQL.

DrizzleNato da Brian Aker tra l'aprile e il maggio del 2008, questo fork è un DBMS incredibilmente leggero. Partendo da MySQL 6, alcuni sviluppatori hanno eliminato la maggior parte delle sue funzioni, mantenendo il cuore, ripulendolo e modificando la sua architettura. L'idea è quella di creare un microkernel con numerose interfacce che può utilizzare per caricare funzionalità esterne. Pare che durante il processo di pulizia il codice sia arrivato a dimensioni inferiori ai 200 KB. Le funzionalità eliminate sono moltissime: stored procedure, viste, trigger, prepared statement, cache, MyISAM. Tutte queste potrebbero essere reimplementate sotto forma di plugin, senza appesantire inutilmente (enormemente…) tutti gli utenti che non le utilizzano. Perché, nonostante queste caratteristiche siano insostituibili in

Page 32: CMS per tutti. Content Managed System free

MySQL 30

particolari situazioni, ognuna di esse è completamente inutile per la quasi totalità degli utenti di MySQL.Si vedano:• il progetto su Launchpad [11]

• il wiki italiano [12]

MariaDBQuesto fork[13] è stato creato da Monty Widenius nel 2009 dopo la sua fuoriuscita dalla Sun Microsystems, dovuta inparte a problemi con questa società e in parte all'acquisizione della stessa da parte della concorrente Oracle.Quest'ultima motivazione ha portato molti dei principali sviluppatori di MySQL a seguire Widenius nel MontyProgram, la nuova società da lui avviata per supportare il fork.Come suggerisce il nome, MariaDB si focalizza principalmente sullo sviluppo dello Storage Engine Aria (il cuivecchio nome era Maria, dedicato alla terza figlia di Widenius), una sorta di evoluzione di MyISAM. Sono statiinclusi anche Storage Engine e altre patch realizzati da terze parti, in particolare quelli distribuiti con OurDelta.Inoltre altre migliorie al server sono state create appositamente, alcune evoluzioni sviluppate per MySQL sono stateimportate nel fork e alcuni bug presenti nel programma originale sono stati corretti.

Percona ServerPercona Server with ExtraDB, o semplicemente Percona Server, è un fork sviluppato da Percona che contiene, oltreallo Storage Engine XtraDB (fork di InnoDB) diverse patch sviluppate principalmente dalla stessa società.

OurDeltaSi tratta di una distribuzione sviluppata da Open Query. Il ramo 5.0 (prima versione del programma) si basa sulcodice di MySQL 5.0, mentre il ramo 5.1 si basa su MariaDB 5.1. OurDelta applica diverse patch sviluppate da terzeparti e crea pacchetti per le distribuzioni GNU/Linux Debian, Ubuntu, Red Hat e CentOS.

Proven ScalingNe parla nel luglio del 2008 sul blog delle performance di MySQL Peter Zaitsev, ma esisteva già. Il fork nasce dallaconstatazione che MySQL Community Edition è quasi defunto: annunci ufficiali prospettano solo due releaseannuali più qualche security fix che non potrà essere considerato una vera e propria versione. Dunque, un utentedovrebbe utilizzare MySQL Enterprise Edition, oppure rassegnarsi ad utilizzare prodotti sempre un po' vecchi,superati e con molti bug che sono già stati individuati o risolti da mesi. Proven Scaling però si ingegna, scarical'edizione enterprise, vi aggiunge vari plugin del caso che provengono dalla comunità del software libero e ne fa unplugin. Il repository contiene le versioni (anche datate) per tutti i sistemi operativi supportati da MySQL.• Il repository [14]

Page 33: CMS per tutti. Content Managed System free

MySQL 31

Note[1] http:/ / www-it. mysql. com/ company/ legal/ licensing/ commercial-license. html[2] http:/ / www. mysql. com/ company/ legal/ licensing/ foss-exception. html[3] http:/ / www. mysql. com/ products/ enterprise/[4] (EN) Sun Microsystems Announces Agreement to Acquire MYSQL (http:/ / www. sun. com/ aboutsun/ pr/ 2008-01/ sunflash. 20080116. 1.

xml)[5] (EN) Oracle Completes Acquisition of Sun (http:/ / finance. yahoo. com/ news/ Oracle-Completes-Acquisition-iw-2658323391. html?x=0& .

v=1). Yahoo Finance, 27 gennaio 2010. URL consultato in data 04 febbraio 2010.[6] http:/ / www. primebase. com/ xt[7] http:/ / dev. soliddb. com/[8] http:/ / www. ritmark. com/[9] http:/ / ddengine. org/[10] http:/ / sourceforge. net/ projects/ mdbtools[11] http:/ / www. launchpad. net/ drizzle[12] http:/ / it. drizzle. wikia. com/[13] (EN) intervista a Widenius riguardo a Mysql ed al recente fork da lui creato: MariaDB (http:/ / monty-says. blogspot. com/ 2009/ 12/

help-keep-internet-free. html)[14] http:/ / mirror. provenscaling. com/

Voci correlate•• Database management system•• SQL•• MariaDB•• mSQL•• MySQL Manager•• MySQL Proxy•• MySQL Workbench

Altri progetti

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ Category:MySQL

Collegamenti esterni• Sito ufficiale (http:/ / www-it. mysql. com/ )• (EN) Petizione per salvare MySQL da Oracle (http:/ / www. helpmysql. org)• (EN) MySQL Forge (http:/ / forge. mysql. com/ ) Progetti Open Source legati a MySQL• (EN) MySQL Wiki (http:/ / forge. mysql. com/ wiki/ Main_Page) Il Wiki ufficiale dedicato a MySQL• Manuale di MySQL Administrator (http:/ / dev. mysql. com/ doc/ administrator/ it/ index. html)• Manuale di MySQL Query Browser (http:/ / dev. mysql. com/ doc/ query-browser/ it/ index. html)• (EN) Manuale di MySQL Migration Toolkit (http:/ / dev. mysql. com/ doc/ migration-toolkit/ en/ index. html)• (EN) Sito ufficiale di MariaDB (http:/ / askmonty. org/ )• (EN) Download per phpMyAdmin (http:/ / www. phpmyadmin. net/ )• (EN) Planet MySQL (http:/ / www. planetmysql. org/ ) Raccolta di blog su MySQL• (EN) Heidi SQL (http:/ / www. heidisql. com/ )• (EN) SQL Yog (http:/ / www. webyog. com/ en/ )• (EN) Toad for MySQL (http:/ / www. quest. com/ toad-for-mysql/ )• Guida per phpMyAdmin (http:/ / freephp. html. it/ guide/ lezioni. asp?idguida=9)• Soluzione problema codifica utf-8 da MySQL > 4.1.x (http:/ / www. massimo-caselli. com/ 2006/ 01/ 28/

soluzione-problema-codifica-caratteri-mysql/ )

Page 34: CMS per tutti. Content Managed System free

MySQL 32

• Convertire un file di Access (.MDB) a MySQL (http:/ / www. tarantovillage. it/ forum/ manuali/guida-convertire-un-file-di-access-mdb-mysql-vt2434. html)

• Community italiana su MySQL (http:/ / www. mysqlitalia. it/ )• Oracle compra Sun Microsystems: quale futuro per MySQL, Openoffice e Virtualbox? (http:/ / www.

matteomoro. net/ 2009/ 04/ 21/ oracle-compra-sun-microsystems-quale-futuro-per-mysql-openoffice-e-virtualbox/)

Page 35: CMS per tutti. Content Managed System free

33

i tipi di licenza

GNU General Public License

GNU General Public License

GNU GPLv3 LogoAutore Free Software Foundation

Versione 3

Editore Free Software Foundation, Inc.

Data di pubblicazione 29 giugno 2007

Compatibile con DFSG Si

Software Libero Si

Approvata OSI Si

Copyleft Si

Linking da codice sotto differente licenza No

La GNU General Public License, comunemente indicata con l'acronimo GNU GPL o semplicemente GPL, è unalicenza per software libero, originariamente stesa nel 1989 da Richard Stallman per distribuire i programmi creatinell'ambito del Progetto GNU della Free Software Foundation (FSF). La versione 2.0 di tale licenza è attualmente lalicenza di software libero per antonomasia.Contrapponendosi alle licenze per software proprietario, la GNU GPL assicura all'utente libertà di utilizzo, copia,modifica e distribuzione. La GPL ha incontrato un gran successo fra gli autori di software sin dalla sua creazione, edè oggi la più diffusa licenza per il software libero, arrivata ormai alla versione 3.

Page 36: CMS per tutti. Content Managed System free

GNU General Public License 34

Storia

Stallman durante il suo intervento a Wikimania2005 [2] (Francoforte sul Meno)

La questione GNU Emacs

Nei primi anni del Progetto GNU, i singoli software venivano rilasciaticiascuno con una licenza specifica, valevole unicamente per quelprogramma. Chi avesse voluto riutilizzare una licenza, avrebbe dovutoricopiare il testo cambiando i parametri specifici (ad esempio il nomedel software, l'autore, ecc.)Nel 1984, Richard Stallman viene intimato da UniPress di cessare ladistribuzione dell'editor testuale GNU Emacs, che riutilizzava delcodice di Gosling Emacs. In realtà Gosling aveva inizialmentedistribuito il software senza restrizioni, vendendolo solosuccessivamente ad Unipress. Stallman è costretto a sostituire le partisotto copyright con nuovo codice. Tuttavia l'esperienza negativa lo avvicina per la prima volta all'idea di una licenzache impedisca una simile appropriazione di software libero.[1]

La Versione 1 e 2

Eben Moglen, coautore insieme a Stallman delprimo testo della GNU GPL

Nel 1989 Stallman, riprendendo i contenuti delle licenze dei softwareGNU (in particolare GNU Emacs), insieme a Eben Moglen, realizza laprima versione della GNU General Public License (GNU GPLv1),applicabile senza modifiche a chiunque lo dichiari nel programmastesso[2]. Tale versione contiene già tutte le caratteristiche principalidella licenza.[3] Nel 1991 viene rilasciata la GNU GPLv2.[4]

Secondo Richard Stallman, la modifica più importante di questaversione è la clausola da lui denominata "Libertà o morte". Taleclausola impone che, qualora ci siano restrizioni di qualsiasi tipo sullalibera distribuzione del software nei termini indicati nella licenza, ilsoftware non possa essere distribuito affatto. Ad esempio se una leggeimpedisce di distribuire il codice sorgente, l'intero software protetto daGNU GPLv2 non può essere distribuito.[5]

Contemporaneamente a GPLv2, viene rilasciata una versione dellalicenza modificata per adattarsi alle librerie, la GNU Library GeneralPublic License, la quale si evolverà poi nella GNU Lesser General Public License (GNU LGPL) seguendo unpercorso parallelo rispetto alla licenza principale.

Page 37: CMS per tutti. Content Managed System free

GNU General Public License 35

La diffusioneLa GNU GPLv2 riscuote subito un gran successo nel mondo del software libero, raggiungendo il primo posto fra lelicenze più comuni nei progetti Open Source,[6] tra i quali il famoso sistema operativo GNU/Linux.Nel 1997 appare fra le licenze conformi alle Debian Free Software Guidelines (DFSG), ovvero le linee guida delprogetto Debian. Nel 1998, alla nascita della Open Source Initiative, appare nel primo elenco di licenze open source.

La Versione 3Il 29 giugno 2007 la Free Software Foundation pubblica la versione 3 della licenza (GNU GPLv3), che introducemisure contro la tivoization, contro alcuni effetti del Digital rights management, oltre ad una protezione maggioredai brevetti software. Quest'ultimo punto mira a risolvere possibili problemi derivanti da accordi come quello delnovembre 2006 tra la casa di software Novell (che sviluppa Suse, una delle distribuzioni di GNU/Linux) eMicrosoft.[7]

Durante la gestazione della GPLv3 era stata discussa l'introduzione dell'obbligo di distribuire il codice per iprogrammi che girano su un computer remoto (come ad esempio un sito web). La decisione finale fu di nonincludere l'obbligo nella GPLv3, ma di creare una nuova licenza che lo prevedesse, la GNU Affero General PublicLicense, compatibile con questa versione.

Principali caratteristicheCome ogni licenza software, la GPL è un documento legale associato al programma rilasciato sotto tale licenza.Come ogni licenza di software libero, essa concede ai licenziatari il permesso di modificare il programma, dicopiarlo e di ridistribuirlo con o senza modifiche, gratuitamente o a pagamento. L'utente è tenuto a renderedisponibile il codice sorgente del software alle persone che ne hanno ricevuto una copia o, in alternativa,accompagnare il software con una offerta scritta di rendere disponibile il sorgente su richiesta a prezzo nominale.La GPL impone delle condizioni a chi ridistribuisce il software. La base giuridica di questo sta nella licenzaspecifica: qualora l'utente non accetti le condizioni specificate, essa diventa nulla e quindi non concede alcunpermesso. In particolare, essendo il software protetto dalla legge sul diritto d'autore e dalle norme internazionali sulcopyright, l'utente non ha alcun diritto di modifica, copia o ridistribuzione al di fuori di quelle concesse dalla licenza.Rispetto alle altre licenze di software libero, la GPL è classificabile come:

La c rovesciata dentro uncerchio è il simbolo del

copyleft.

• "persistente" perché impone un vincolo alla redistribuzione: se l'utente distribuiscecopie del software, deve farlo secondo i termini della GPL stessa. In pratica, devedistribuire il testo della GPL assieme al software e corredarlo del codice sorgente odi istruzioni per poterlo ottenere ad un costo nominale. Questa è la caratteristicaprincipe della GPL, il concetto ideato da Richard Stallman e da lui battezzatocopyleft. L'effetto che realizza è l'esatto opposto di quello che produce invece iltermine copyright: infatti il suo scopo è mantenere libero un programma una voltache esso è stato posto sotto GPL, anche se viene migliorato correggendolo eampliandolo. Si noti che, escludendo la possibilità che l'output sia un lavoroderivato del programma, il copyleft si applica solo al software e non alla sua uscita.

• "propagativa" perché definisce nel testo una particolare interpretazione di "codice derivato", tale che in generalel'unione di un programma coperto da GPL con un altro programma coperto da altra licenza può essere distribuitasotto GPL, o in alternativa non essere distribuita affatto. Nel primo caso si dice che l'altra licenza è "compatibilecon la GPL"; nel secondo caso che non lo è. Questa caratteristica è indicata come strong copyleft nellaterminologia della FSF. Il suo scopo è evitare che la persistenza venga via via indebolita apportando modifichecoperte da un'altra licenza meno libera, inficiando così lo scopo di mantenere libero il software coperto dallaGPL.

Page 38: CMS per tutti. Content Managed System free

GNU General Public License 36

Le versioni modificate di un programma sotto GNU GPL sono soggette al vincolo di copyleft solo in caso didistribuzione, cioè quando il software viene ceduto da un'entità giuridica ad un'altra. Non esiste alcun obbligo didistribuzione, in nessun caso.La GPL non consente la creazione di brevetti proprietari relativi alla modifica del software ed esige che gli stessitermini di libera distribuzione siano inclusi nello stesso per ridistribuire il software o anche derivazioni di esso. Peresempio il diffuso compilatore GNU e qualsiasi suo strumento integrato è provvisto di licenza GPL. Ciò significache tutti coloro che operano miglioramenti al compilatore GNU dovranno poi rendere pubblico il nuovo codice aglialtri utenti.E' importante comunque sottolineare che ciò non significa che il software aggiornato debba essere free e che quindisia assolutamente legale utilizzare uno strumento free software per rilasciare un software proprietario (in questo casobisogna fare attenzione a non confondere il concetto di free da quello di open source).

GaranziaNon esiste alcun tipo di garanzia per il programma concesso, che viene dato in uso gratuitamente. Viene distribuito"così com'è", privo di garanzia alcuna da parte del detentore di copyright. Sarà l'acquirente a rischiare sulla qualità ele prestazioni del programma che sta utilizzando. Nel caso in cui ci fossero delle malfunzionalità o difetti, sarà lostesso acquirente che dovrà provvedere a sue spese ad una eventuale riparazione. Infatti, in questi casi, non vi ènessun responsabile perseguibile per la mancanza, la malfunzionalità o i danni che può riscontrare l'acquirente (dallacorruzione e perdita dei dati, all'impossibilità di utilizzare propriamente il programma), a meno che non sia richiestodalle leggi dello Stato o sia dichiarato in un accordo ufficiale scritto in precedenza.

Caratteristiche presenti a partire dalla GNU GPLv3La GPL versione 3 chiarisce alcuni concetti utilizzati nel testo della licenza in modo da renderla più facilmenteapplicabile a legislazioni diverse da quella americana.Le innovazioni più significative della GPLv3 sono[8]:• la difesa contro un aggiramento della GPLv2 noto come tivoization. Esso che consiste nel distribuire il codice

sorgente assieme ad un programma che gira su una piattaforma proprietaria e che impedisce via hardware dieseguire versioni modificate di un dato programma, rendendo di fatto nulla la libertà di modifica.

• la neutralizzazione di alcuni effetti negativi sulla libertà del software da parte di leggi sul Digital rightsmanagement (DRM), come il Digital Millennium Copyright Act e la Direttiva Europea sul Copyright [9]. LaGPLv3 non impedisce l'uso di tecnologie DRM da parte degli autori di software libero, ma impedisce che leeventuali restrizioni introdotte siano automaticamente imposte a tutti gli utenti, anche di versioni modificate, delsoftware. In altre parole, il software sotto GPLv3 consente a qualsiasi sviluppatore successivo di inserire oeliminare le tecnologie DRM, rispettando la sua libertà.

• una protezione legale più forte per gli autori e gli utilizzatori di software libero coperto dalla nuova licenza, dapossibili aggressioni di chi intentasse cause per pretese violazioni di brevetti software. In particolare, glisviluppatori di software coperto da GPLv3 devono rilasciare insieme al software anche eventuali licenze dibrevetto necessarie ad esercitare i diritti previsti dalla licenza. Questo eviterà che uno degli sviluppatori denunciutenti o sviluppatori successivi per aver infranto un diritto di brevetto.

• l'esplicitazione di una compatibilità de facto, ossia risultano compatibili tutte quelle licenze che aggiungonorestrizioni "facili da rispettare" (come il non utilizzo di un certo marchio registrato, non utilizzabile in ogni caso).

• l'indicazione di nuove licenze compatibili e di nuovi metodi di distribuzione del codice sorgente, in particolare perla condivisione tramite BitTorrent.

• l'eliminazione dell'obbligo di distribuire componenti di facile reperibilità, come le librerie di supporto comuni (es.libreria C, Python e Ruby).

Page 39: CMS per tutti. Content Managed System free

GNU General Public License 37

Modalità di utilizzoLa maggior parte dei programmi con licenza GPLv2 utilizza il seguente testo approvato dalla FSF: «This program isfree software; you can redistribuite it and/or modify it under the terms of the GNU/General Pubblic License aspublished the Free software Foundation; either version 2 of the License, or (at your opinion) any later version».Questo testo non significa che i programmi passeranno automaticamente alla versione successiva della licenza, masolo che questi programmi ottengono automaticamente i permessi aggiuntivi della licenza successiva e non leeventuali clausole restrittive. Quindi, se lo sviluppatore vorrà far valere per intero la licenza successiva dovràcambiare il testo in «[...] either version 3 of the License, or (at your opinion) any later version».Tuttavia, altri programmi specificano esplicitamente l'utilizzo della versione 2 della GPL (tra questi, il kernel Linux)o della sola versione 3[10] per mantenere il controllo esplicito sulla licenza utilizzata e per evitare di assecondareimplicitamente l'evoluzione futura della licenza GNU GPL nelle versioni a venire.

Compatibilità

Guida della compatibilità delle licenze con GPL

Una licenza è compatibile con GNUGPL se non aggiunge ulteriorirestrizioni non già presenti nellaversione di GPL in questione. Inparticolare, ogni versione successiva diGPL è compatibile con la precedente perla presenza della dicitura «or (at youropinion) any later version» (non è veroil viceversa). Quindi la GPLv3 ècompatibile con la GPLv2 e, pertransitività, con tutte le licenzecompatibili con quest'ultima. Inoltre laGPLv3 è compatibile con nuove licenzedi software libero come la LicenzaApache.La FSF redige un elenco di licenzecompatibili e incompatibili con lelicenze GNU GPL.[11]

Page 40: CMS per tutti. Content Managed System free

GNU General Public License 38

Linus Torvalds, tivoization e la critica alla GPLv3

Linus Torvalds nel 2002.

Linus Torvalds, autore della prima versione del kernel Linux, è stato adesempio inizialmente contrario alla licenza GPLv3 per la rigidadeterminazione etica delle prime bozze della licenza, da lui ritenuta di"crociata" contro la tivoization. «Secondo me uno dei motivi per cuiLinux ha avuto tanto successo è la qualità del progetto, non certol'atteggiamento di crociata che molti gli vogliono attribuire» hadichiarato Linus Torvalds. Infine ha ribaltato la posizione di RichardStallman: «non è la GPL ad aver reso famoso GNU/Linux, ma è Linuxad aver reso "presentabile" la GPL, essendo dannatamente menointegralista di quello che la FSF vuole». Pur dopo il rilascio dellanuova versione della licenza, Torvalds è rimasto scettico, dichiarandoche Linux non verrà distribuito con licenza GPLv3[12]. Stallman nelsettembre 2007 ha commentato riguardo la posizione di Torvaldritenendola una conseguenza della posizione filosofica che differenziain modo decisivo la comunità che promuove il software libero da chifavorisce l'open source: «Il termine open source è stato promosso nel1998 da gente che non voleva dire libero o libertà. Associavano queltermine ad una filosofia che riguarda solo valori di convenienza pratica[...] Non dico che sbaglino ma non colgono il punto. Se si negano ivalori della libertà e della solidarietà, e si apprezza soltanto software potente ed affidabile, si compie un erroreterribile. [...] Il fatto che Torvalds dica open source invece di software libero dimostra da dove viene. Ho scritto laGNU GPL per difendere la libertà di tutti gli utenti di tutte le versioni di un programma. Ho sviluppato la versione 3per farlo meglio e per proteggerla contro nuove minacce [..] Torvalds dice che non persegue questo obiettivo; equesto è probabilmente il motivo per il quale non apprezza la GPL versione 3. Rispetto il suo diritto di esprimere leproprie idee, anche se penso che siano folli. Comunque, se non vogliamo perdere la nostra libertà, è meglio nonseguirlo»[13].

Diritti sul testo della licenzaLa Free Software Foundation (FSF) detiene i diritti di copyright sul testo della GNU GPL, ma non detiene alcundiritto sul software da essa coperto.La GNU GPL non è liberamente modificabile: solo la copia e la distribuzione sono permesse. La FSF permette dicreare nuove licenze basate sulla GNU GPL, a patto che tali licenze non usino lo stesso preambolo senza permesso.Dato che, solitamente, la nuova licenza non è compatibile con la GNU GPL, la FSF sconsiglia di creare versionimodificate.

Page 41: CMS per tutti. Content Managed System free

GNU General Public License 39

Note[1] (EN) RMS lecture at KTH (Sweden), 30 October 1986 (http:/ / www. gnu. org/ philosophy/ stallman-kth. html)(Conferenza di Richard

Stallman al Royal Institute of Technology(Svezia), 30 Ottobre 1986), URL visitato il 22 aprile 2012[2] (EN) GNU's Bulletin, vol. 1 no. 5 (http:/ / www. gnu. org/ bulletins/ bull5. html), URL visitato il 22 aprile 2012[3] (EN) Il testo della GNU GPLv1 (http:/ / www. gnu. org/ licenses/ old-licenses/ gpl-1. 0. html), URL visitato il 22 aprile 2012[4] (EN) Il testo della GNU GPLv2 (http:/ / www. gnu. org/ licenses/ old-licenses/ gpl-2. 0. html), URL visitato il 22 aprile 2012[5] (EN) L'importanza della clausola "Libertà o morte" (http:/ / fsfe. org/ projects/ gplv3/ fisl-rms-transcript. en. html#liberty-or-death) Discorso

di Richard Stallman alla Seconda Conferenza Internazionale sul GPLv3 del 21 aprile 2006, URL visitato il 22 aprile 2012[6] (EN) Open Source License Data (http:/ / osrc. blackducksoftware. com/ data/ licenses/ index. php) Blackducksoftware.com, URL visitato il

22 aprile 2012[7] (EN) Why Upgrade to GPLv3 (http:/ / www. gnu. org/ licenses/ rms-why-gplv3. html), dichiarazione di Richard Stallman sui motivi di

GPLv3, URL visitato il 22 aprile 2012[8] (EN) Brett Smith, A Quick Guide to GPLv3 (http:/ / www. gnu. org/ licenses/ quick-guide-gplv3. html) (Una guida veloce alla GPLv3), GNU

Operating System.[9] http:/ / eur-lex. europa. eu/ LexUriServ/ LexUriServ. do?uri=CELEX:32001L0029:IT:HTML[10] Ad esempio la Free Software Directory elenca più di 130 (http:/ / directory. fsf. org/ wiki/ Special:Ask/ -5B-5BLicense::GPLv3-5D-5D/

-3FShort-20description=Description/ -3FHomepage-20URL=Homepage/ -3FLicense) progetti internazionali di software libero che adottano lasola versione 3 della licenza GNU GPL, senza la formula «or (at your opinion) any later version». (link visitato il 21 aprile 2012).

[11] Various Licenses and Comments about Them (http:/ / www. gnu. org/ licenses/ license-list. en. html), elenco di licenze compatibili o no conGNU GPL, URL visitato il 22 aprile 2012

[12] (EN) Linux non verrà distribuito con licenza GPLv3 (https:/ / lkml. org/ lkml/ 2006/ 1/ 25/ 273), Linux Kernel Mailing List.[13] Punto Informatico, 13 settembre 2007. Stallman: Torvalds? Non seguitelo. Se avete a cuore le libertà, spiega mr.GNU, il papà di Linux non

fa per voi. Lui dice open source, noi diciamo software libero (http:/ / punto-informatico. it/ 2063232/ PI/ News/stallman-torvalds-non-seguitelo. aspx)

Voci correlate•• GNU•• Copyright•• Copyleft•• Software libero•• Software proprietario•• GNU Affero General Public License

Altri progetti• Wikisource contiene opere originali: http:/ / it. wikisource. org/ wiki/

Licenza_pubblica_generica_(GPL)_del_progetto_GNU• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ Category:GPL

Collegamenti esterni• (EN) Testo originale dell'ultima versione della licenza (http:/ / www. gnu. org/ licenses/ gpl. html)• (EN) Testi originali delle licenze GNU precedenti (http:/ / www. gnu. org/ licenses/ old-licenses/ old-licenses.

html)• Testo in italiano della licenza v.2 (http:/ / www. softwarelibero. it/ gnudoc/ gpl. it. txt) (non ufficiale)• Testo in italiano della licenza v.3 (http:/ / katolaz. homeunix. net/ gplv3/ gplv3-it-final. html) (non ufficiale)• Le FAQ della GNU GPL in italiano (http:/ / www. gnu. org/ licenses/ gpl-faq. it. html)• Violazioni delle licenze GPL, LGPL e GFDL (http:/ / www. gnu. org/ licenses/ gpl-violation. it. html)• (EN) Il Quiz sulla GNU GPL e GNU LGPL (http:/ / www. gnu. org/ cgi-bin/ license-quiz. cgi)

Page 42: CMS per tutti. Content Managed System free

Open source 40

Open sourceIn informatica, open source (termine inglese che significa sorgente aperta) indica un software i cui autori (piùprecisamente i detentori dei diritti) ne permettono, anzi ne favoriscono il libero studio e l'apporto di modifiche daparte di altri programmatori indipendenti. Questo è realizzato mediante l'applicazione di apposite licenze d'uso.L'open source ha tratto grande beneficio da Internet, perché esso permette a programmatori geograficamente distantidi coordinarsi e lavorare allo stesso progetto.I software open source attualmente più diffusi sono Firefox, VLC, Gimp, 7-Zip, oltre ad un gran numero di progettirivolti non all'utente finale ma ad altri programmatori.[1] Sono inoltre degne di nota le famiglie di sistemi operativiBSD, GNU, Android e il kernel Linux i cui autori e fautori hanno contribuito in modo fondamentale alla nascita delmovimento. La comunità open source è molto attiva, comprende decine di migliaia di progetti,[2] numerotendenzialmente in crescita.Alla filosofia del movimento open source si ispira il movimento open content (contenuti aperti): in questo caso adessere liberamente disponibile non è il codice sorgente di un software ma contenuti editoriali quali testi, immagini,video e musica. Wikipedia è un chiaro esempio dei frutti di questo movimento. Attualmente l'open source tende adassumere rilievo filosofico, consistendo di una nuova concezione della vita, aperta e refrattaria ad ogni oscurantismo,che l'open source si propone di superare mediante la condivisione della conoscenza.

Storia

La condivisione del codice fino agli anni settantaA partire dagli anni cinquanta, e soprattutto negli anni sessanta, è stato possibile riusare lo stesso codice e distribuirloanche se in modo oggi ritenuto piuttosto artigianale, ovvero con nastri e schede perforate. Questo fenomeno diventòevidente soprattutto quando si affermò il vantaggio di usare una stessa porzione di codice, il che presupponeva diavere macchine uguali e problemi simili.Fino a tutti gli anni settanta, anche se in misura decrescente, la componente principale e costosa di un computer eral'hardware, il quale era comunque inutile in assenza di software. Da ciò la scelta dei produttori di hardware divendere il loro prodotto accompagnato da più software possibile e di facilitarne la diffusione, fenomeno che rendevapiù utili le loro macchine e dunque più concorrenziali. Il software, tra l'altro, non poteva avvantaggiare laconcorrenza in quanto funzionava solo su un preciso tipo di computer e non su altri, neanche dello stesso produttore.L'introduzione dei sistemi operativi rese i programmi sempre più portabili, in quanto lo stesso sistema operativoveniva offerto dal produttore di diversi modelli di hardware. La presenza di sistemi operativi funzionanti permacchine di differenti produttori hardware ampliava ulteriormente le possibilità di usare lo stesso codice in modorelativamente indipendente dall'hardware usato. Uno di questi sistemi operativi era Unix, iniziato nel 1969 comeprogetto all'interno di un'impresa delle telecomunicazioni, la AT&T. Una famosa causa antitrust contro la AT&T levietò di entrare nel settore dell'informatica. Questo fece sì che Unix venisse distribuito ad un prezzo simbolico abuona parte delle istituzioni universitarie, le quali si ritrovarono ad avere una piattaforma comune, ma senza alcunsupporto da parte del produttore. Si creò spontaneamente una rete di collaborazioni attorno al codice di questosistema operativo, coordinata dall'Università di Berkeley, da dove sarebbe poi uscita la versione BSD di Unix, chediventa da un lato un centro di sviluppo ed innovazione, dall'altro è la base di partenza per numerosi fork.

Page 43: CMS per tutti. Content Managed System free

Open source 41

La nascita del software proprietarioConsiderato che la condivisione del codice è nata insieme all'informatica, piuttosto che di origini dell'Open Sourcepotrebbe essere più appropriato parlare, invece, di origine del software proprietario, ed esaminare il contesto storicoin cui questa origine ha avuto luogo.L'utilità principale delle licenze restrittive consiste nella possibilità di rivendere un programma più volte, senecessario con alcune modifiche purché non rilevanti. Questo presuppone che esistano clienti diversi con esigenzesimili, oltre che l'esistenza di più computer sul quale poter far eseguire il programma. Queste condizioni comincianoa determinarsi negli anni sessanta, grazie al fatto che esisteva un maggior numero di utilizzatori con esigenzestandardizzabili come lo erano quelle delle organizzazioni economiche nell'area della contabilità, la logistica o dellestatistiche.L'introduzione dei sistemi operativi rese inoltre possibile l'utilizzo dello stesso programma anche su hardwaredifferente aumentando così le possibilità di riutilizzo dello stesso codice e dunque l'utilità nell'impedire laduplicazione non autorizzata dei programmi.La suddivisione della AT&T in 26 società, le cosiddette BabyBell, permise alla AT&T di usare logiche prettamentecommerciali nella distribuzione del suo sistema operativo Unix, innalzando notevolmente i costi delle licenze eimpedendo la pratica delle patch. Il 1982 fu anche l'anno della divisione delle diverse versioni commerciali di Unix,portate avanti dai singoli produttori di hardware. Questi ultimi, effettuando delle piccole modifiche alla propriaversione del sistema operativo, impedirono ai propri utenti l'utilizzo di altri sistemi, facendo in modo che iprogrammi scritti per la propria versione di Unix non funzionassero su versioni concorrenti.

Gli anni ottanta: Stallman, la Free Software Foundation e l'innovazione dei PCAl MIT la sostituzione dei computer fece sì che i programmatori non potessero accedere al sorgente del nuovo driverdi una stampante Xerox per implementarvi una funzionalità gradita in passato: la segnalazione automatica che vierano problemi con la carta inceppata. Contemporaneamente, società private cominciarono ad assumere diversiprogrammatori del MIT, e si diffuse la pratica di non rendere disponibili i sorgenti dei programmi firmando accordidi non divulgazione (in inglese: NDA, ovvero Non-Disclosure Agreement).In questo contesto molti programmatori - fra i quali Richard Stallman che sarebbe diventato il portabandiera delsoftware libero - si rifiutarono di lavorare per una società privata. Stallman fondò nel 1985 la Free SoftwareFoundation (FSF), una organizzazione senza fini di lucro per lo sviluppo e la distribuzione di software libero. Inparticolare lo sviluppo di un sistema operativo completo, compatibile con UNIX, ma distribuito con una licenzapermissiva, con tutti gli strumenti necessari altrettanto liberi. Si tratta del progetto nato l'anno precedente, ovveroGNU, acronimo ricorsivo per contemporaneamente collegarsi e distinguersi da UNIX, ovvero "GNU's Not UNIX".«L'obiettivo principale di GNU era essere software libero. Anche se GNU non avesse avuto alcun vantaggio tecnicosu UNIX, avrebbe avuto sia un vantaggio sociale, permettendo agli utenti di cooperare, sia un vantaggio etico,rispettando la loro libertà.»Tale progetto, finanziato dalla FSF, venne pertanto prodotto da programmatori appositamente stipendiati. I principalicontributi vennero da Stallman stesso: il compilatore gcc e l'editor di testo Emacs. Furono sviluppate anche altrecomponenti di sistema UNIX, alle quali si sono aggiunte applicazioni per veri e propri giochi. Questi programmifurono distribuiti per circa 150$ che oltre a coprire i costi di riproduzione garantivano un servizio di supporto alcliente. L'unica condizione era che tutte le modifiche eventualmente effettuate su tali programmi venissero notificateagli sviluppatori.Nacque così la GNU General Public License (GPL), il preambolo del cui manifesto comincia con:

« 'Le licenze per la maggioranza dei programmi hanno lo scopo di togliere all'utente la libertà di condividerlo e dimodificarlo. Al contrario, la GPL è intesa a garantire la libertà di condividere e modificare il free software, al fine diassicurare che i programmi siano "liberi" per tutti i loro utenti. »

Page 44: CMS per tutti. Content Managed System free

Open source 42

Gli anni ottanta sono caratterizzati da alcuni eventi importanti, tra i quali l'introduzione nel mercato di quello cheverrà chiamato Personal Computer (PC), ovvero un elaboratore con un proprio processore concepito per essereutilizzato da un solo utente alla volta. Il prodotto di maggior successo, il PC della IBM, si differenziava dai progettiprecedenti in quanto non utilizzava componenti IBM, ma sia per il software che per l'hardware si affidava allaproduzione da parte di terzi. Ciò rese possibile da un lato ad altre imprese di clonare il PC IBM, abbattendonenotevolmente i costi, dall'altro permise a parecchie società di produrre dei software applicativi standard, inconcorrenza gli uni con gli altri, basandosi su un unico sistema operativo, anche se inizialmente i principaliproduttori di software erano identificabili con prodotti per specifiche applicazioni.Il notevole ampliamento del mercato rese possibili economie di scala e si instaurò una sorta di sinergia tra quelli chesarebbero diventati i principali attori del settore: il produttore dei processori Intel e il produttore del sistemaoperativo e di applicativi per ufficio Microsoft. La maggiore potenza dei processori rese possibile lo sviluppo diprogrammi più complessi, la maggiore complessità degli applicativi e del sistema operativo richiesero processori piùpotenti instaurando in un certo modo un circolo vizioso di aggiornamenti continui.Sia il sistema operativo che gli applicativi furono subito caratterizzati dall'essere destinati ad utenti con conoscenzeinformatiche relativamente scarse e dall'avere licenze d'uso strettamente commerciali, vietando da un lato agli utentidi farne delle copie, dall'altro agli sviluppatori di vedere o modificare il codice.Sempre negli anni ottanta vennero introdotte le workstation, ovvero un sistema basato su terminali (i client) ecomputer centrali (i server). Si tratta di sistemi derivati concettualmente dai mainframe e basati essenzialmente susistemi operativi UNIX proprietari. L'hardware stesso varia sul lato server dai mainframe ai PC, mentre su lato clientvengono impiegati soprattutto i PC. Ciò favorì lo sviluppo di software sia per i client, utilizzati spesso da personecon scarse conoscenze informatiche, che per i server, il cui funzionamento viene solitamente garantito da personaleinformatico particolarmente qualificato.

Gli anni novanta: Internet, Linux e la Open Source DefinitionBenché Internet avesse visto la luce già negli anni settanta, è soltanto agli inizi degli anni novanta, con la diffusionedel protocollo HTTP e la nascita dei primi browser, che Internet cominciò ad essere diffuso prima in ambitoaccademico e poi in modo sempre più capillare anche tra semplici privati.All'inizio degli anni novanta, il progetto GNU non aveva ancora raggiunto il suo obiettivo principale, mancando dicompletare il kernel del suo sistema operativo (HURD). Per sopperire a tale mancanza, William e Lynne Jolitzriuscirono ad effettuare il porting di UNIX BSD su piattaforma Intel 386 nel 1991. Purtroppo, negli anni successivitale porting si trovò ad affrontare problemi di natura legale USL v. BSDi che ne ritardarono temporaneamente losviluppo.Nello stesso anno, Linus Torvalds, studente al secondo anno di informatica presso l'Università di Helsinki, decise disviluppare un proprio sistema operativo imitando le funzionalità di Unix su un PC con un processore Intel 386. Taleprocessore venne scelto per il suo minor costo e per la sua maggiore diffusione rispetto alle piattaforme hardware perle quali erano disponibili i sistemi operativi Unix. Torvalds era spinto dall'insoddisfazione riguardante alcuniapplicativi di Minix (un sistema Unix-like su piattaforma PC), dal desiderio di approfondire le proprie conoscenzedel processore Intel 386, e dall'entusiasmo per le caratteristiche tecniche di Unix.Torvalds distribuì il proprio lavoro tramite Internet e ricevette immediatamente un ampio riscontro positivo da partedi altri programmatori, i quali apportarono nuove funzionalità e contribuirono a correggere errori riscontrati. Nacquecosì il kernel Linux, il quale fu subito distribuito con una licenza liberale.Internet dal canto suo, rende possibile la comunicazione tra persone molto distanti in tempi rapidi e a basso costo.Inoltre rende possibile la distribuzione di software direttamente dalla rete, riducendo ulteriormente i costi diduplicazione e le difficoltà a reperire il software stesso. La diffusione dei CD-ROM come supporto privilegiato diraccolte di software rese possibile il fenomeno delle cosiddette distribuzioni.

Page 45: CMS per tutti. Content Managed System free

Open source 43

Linux può essere considerato come il primo vero progetto "open source" cioè come il primo progetto che facevaaffidamento essenzialmente sulla collaborazione via Internet per progredire; fino ad allora, infatti, anche i progetti disoftware libero come Emacs erano stati sviluppati in maniera centralizzata seguendo un progetto prestabilito da unristretto numero di persone, in base cioè ai principi 'standard' di ingegneria del software. Si assumeva valida ancheper i progetti open source la 'legge di Brooks', secondo cui "aggiungere sviluppatori a un progetto in corso diimplementazione in realtà rallenta il suo sviluppo", legge che ovviamente non è applicabile a un progetto di sviluppoopen source.Agli inizi degli anni novanta, l'idea delle licenze liberali era rappresentata soprattutto da Richard Stallman e la suaFSF, ovvero le licenze liberali per eccellenza erano la GPL e la LGPL che però venivano ritenute "contagiose", inquanto a partire da un codice licenziato con la GPL qualsiasi ulteriore modifica deve avere la stessa licenza. Le ideestesse di Stallman venivano viste con sospetto dall'ambiente commerciale statunitense, il che non facilitava ladiffusione del software libero. Per favorire dunque l'idea delle licenze liberali nel mondo degli affari, Bruce Perens,Eric S. Raymond, Ockman e altri cominciarono nel 1997 a pensare di creare una sorta di lobby a favore di unaridefinizione ideologica del software libero, evidenziandone cioè i vantaggi pratici per le aziende e coniarono iltermine "Open Source". Ciò anche al fine di evitare l'equivoco dovuto al doppio significato di free nella linguainglese, visto che spesso veniva interpretato come "gratuito" invece che come "libero". L'iniziativa venne portataavanti soprattutto da parte di Raymond che, in occasione della liberalizzazione del codice sorgente di Netscape,voleva utilizzare un tipo di licenza meno restrittivo per le aziende di quanto fosse il GPL.La scelta a favore dell'Open Source da parte di alcune importanti imprese del settore come la Netscape, l'IBM, la SunMicrosystems e l'HP, facilitarono inoltre l'accettazione del movimento Open Source presso l'industria del software,facendo uscire l'idea della "condivisione del codice" dalla cerchia ristretta nella quale era rimasta relegata fino adallora. Venne cioè accettata l'idea che l'open source fosse una metodologia di produzione software efficace,nonostante nel suo famoso saggio La Cattedrale e il Bazaar, Eric S. Raymond avesse esplicitamente criticato itradizionali metodi di ingegneria del software, metodi che fino a quel momento avevano dato buoni frutti. Va notatocome i primi programmi 'liberi', come il GCC, seguivano ancora il modello a cattedrale; solo successivamenteprogetti come EGCS adottarono il modello a bazaar.

Commissioni e audizione alla Commissione Cultura della Camera italianaL'attività della “Commissione per il software a codice sorgente aperto nella Pubblica Amministrazione”, detta anche“Commissione Meo”, ha prodotto, nel maggio 2003, la pubblicazione dell'"Indagine conoscitiva sul software opensource" che, accanto ad un quadro generale, contiene interessanti proposte per la diffusione del software open sourcenella PA italiana. La più rilevante tra le proposte è che le PP.AA. non devono vietare né penalizzare l'utilizzo dipacchetti open source: il criterio che deve valere al momento della selezione di una qualsivoglia soluzione software èquello del “value for money”.Queste conclusioni hanno fortemente orientato il legislatore italiano. La prima ricaduta legislativa, esito direttodell'indagine conoscitiva sui programmi informatici a codice sorgente aperto, è la cosiddetta “Direttiva Stanca”: il 19dicembre 2003 l'allora Ministro per l'Innovazione e le Tecnologie, On. Stanca, adottava la direttiva “Sviluppo edutilizzazione dei programmi informatici da parte delle pubbliche amministrazioni” il cui contenuto sostanziale venivasuccessivamente trasfuso nel D. Lgs. 82/05 (Codice dell'amministrazione digitale) con l'intenzione di comportarevantaggi nella scelta dei programmi più efficienti e convenienti, ma anche risparmi derivanti dalla condivisioneconseguente al riuso all'interno delle amministrazioni pubbliche.I principali contenuti della "Direttiva Stanca” sono i seguenti (in particolare derivanti dagli articoli 3, 4 e 7):•• analisi comparativa delle soluzioni. La direttiva dispone che le Pubbliche Amministrazioni acquisiscano

programmi informatici sulla base di una valutazione comparativa tecnica ed economica tra le diverse soluzionidisponibili sul mercato, tenendo conto della rispondenza alle proprie esigenze.

Page 46: CMS per tutti. Content Managed System free

Open source 44

•• Criteri tecnici di comparazione. Le Pubbliche Amministrazioni nell'acquisto dei programmi informatici devonoprivilegiare le soluzioni che assicurino l'interoperabilità e la cooperazione applicativa tra i diversi sistemiinformatici della Pubblica Amministrazione, salvo che ricorrano peculiari ed eccezionali esigenze di sicurezza edi segreto.

•• Rendere i sistemi informatici non dipendenti da un unico fornitore o da un'unica tecnologia proprietaria.•• Garantire la disponibilità del codice sorgente per l'ispezione e la tracciabilità da parte delle Pubbliche

Amministrazioni.•• Esportare dati e documenti in più formati, di cui almeno uno di tipo aperto.Oltre alla Direttiva menzionata, altri sono gli interventi legislativi che considerano l'Open Source come meritevole diattenzione economica e tecnica come, ad esempio, il già citato Decreto Legislativo 7 marzo 2005, n. 82, art. 68,comma 1, lettera d) “Codice dell'amministrazione digitale” e le successive integrazioni e modificazioni (DecretoLegislativo 4 aprile 2006, n. 159 “Disposizioni integrative e correttive al decreto legislativo 7 marzo 2005, n. 82,recante codice dell'amministrazione digitale”) e, recentemente, la Legge 27 dicembre 2006, n.296 - Disposizioni perla formazione del bilancio annuale e pluriennale dello Stato (legge finanziaria 2007). Quest'ultima istituiva un Fondodi 10 milioni di Euro (comma 892) al fine di sostenere la realizzazione di progetti per la società dell'informazione, lacui destinazione prioritaria era rivolta a progetti che "utilizzano o sviluppano applicazioni software a codice aperto".Recentemente vi è stata la riproposizione della Commissione Open Source 2007, sempre presieduta dal Prof. AngeloRaffaele Meo, presso il Ministero per le Riforme e le Innovazioni nella Pubblica Amministrazione è stata istituita laCommissione Nazionale per il software Open Source nella PA. Il decreto ministeriale istitutivo della Commissione(16 maggio 2007), a firma del Ministro Nicolais, ha definito tre obiettivi prioritari:•• un'analisi dello scenario europeo ed italiano del settore;•• la definizione di linee guida operative per supportare le Amministrazioni negli approvvigionamenti di software

open source;•• un'analisi dell'approccio open source per favorire cooperazione applicativa, interoperabilità e riuso.I lavori della Commissione, presieduta dal prof. Meo, si sono svolti essenzialmente in modalità on-line supportatidall'Osservatorio OSS del CNIPA. Si sono svolte anche attività di audizione, in particolare la Commissione hasupportato l'organizzazione del convegno Open Source Open Ideas for Public Administration [3] - OSPA 2008promosso dall'Associazione Concreta-Mente [4]. Nell'aprile 2008 la Commissione ha prodotto una prima bozza diRelazione.[5]

Nel 2007 il tema dell'open source è stato portato autorevolmente presso il Parlamento italiano. La commissionecultura della Camera ha ascoltato, nella forma di una audizione, il prof. Arturo Di Corinto, Richard Stallman e BrucePerens [6] in una audizione ufficiale dalla commissione cultura della Camera dei deputati. Anche il convegnoCondividi la conoscenza (organizzato in più edizioni) ha tentato di allargare la base di adesione del mondoaccademico sull'open source e sull'Open content con l'obiettivo di fare ascoltare la propria voce anche dal mondopolitico.

Modalità di guadagnoLo sviluppo opensource ha tra le sue caratteristiche quello di essere quasi sempre gratuito, tanto da creare confusionetra alcuni che credono che opensource e gratuito siano sinonimi. Ci si potrebbe chiedere perché delle persone sidedichino allo sviluppo di progetti talvolta semplici, talvolta impegnativi e complessi, senza una remunerazione. Inrealtà, ci possono essere delle forme di guadagno (non sempre) e si può ricorrere ad una o più strategie per questoscopo. Nella seguente lista, con "sviluppatore" si può intendere sia uno o più privati, sia un'azienda che crea edeventualmente si occupa di migliorare il programma o prodotto software:1. donazioni: lo sviluppatore dà la possibilità di fare delle donazioni non obbligatorie a chi usa il suo programma,

come ringraziamento o come incoraggiamento per un ulteriore sviluppo

Page 47: CMS per tutti. Content Managed System free

Open source 45

2. servizio di supporto a pagamento: il programma è gratuito ma si paga per avere il supporto dello sviluppatore;se il supporto prevede donazioni, si può ritenere simile al punto precedente

3. sponsorizzazione: il programma o il sito che lo ospita può contenere il nome o altro tipo di pubblicità adun'azienda che supporta economicamente lo sviluppatore; può anche succedere che un'azienda si occupi dellosviluppo di un programma gratuito e conti sulla pubblicità che riscuoterà da esso per farsi conoscere

4. guadagni grazie alla didattica: se il prodotto creato è particolarmente complesso, spesso si tratta di un linguaggiodi programmazione nuovo o una libreria (o framework ecc.) con scopi particolari per un linguaggio diprogrammazione, lo sviluppatore può guadagnare grazie all'organizzazione di corsi di apprendimento delprodotto, la vendita di libri eccetera. Questo tipo di guadagno può risentire della concorrenza di guide che sono osaranno pubblicate gratuitamente in rete da parte di utenti, e può dar vita ad una strategia di mercato piuttostocomplessa. Nei casi di librerie (o framework) che vogliono fare concorrenza a prodotti esistenti, si deveconvincere che essi siano efficaci e più facili degli altri prodotti disponibili. Può anche essere che il produttoremetta in rete delle introduzioni all'apprendimento del proprio prodotto che però non coprono tutte le potenzialitàdello stesso. Allo stesso tempo si cerca di creare una comunità di supporto e contemporaneamente un gergo che laaccomuni. Il gergo può far uso di termini nuovi che rimpiazzano quelli in uso, giustificati con motivazioni diverse(ad esempio, le funzioni in Java sono chiamate metodi nonostante compiano azioni o restituiscano un risultatodopo un'elaborazione che in matematica ed informatica sono chiamate funzioni). Talvolta può dar vita ad unaserie di acronimi che rendono quasi criptico il linguaggio (vedasi il framework Spring). In tal modo si riesce a fardiminuire il numero degli autodidatti che imparano in rete, spingendo chi vuole apprendere a comprare libri perl'apprendimento e le pratiche ottimali da seguire e/o seguire corsi ed allo stesso tempo si crea una comunità disviluppatori fedele nel tempo, spesso unita anche da una "filosofia" di programmazione.

Studi e RicercheOSPA (Open Studies for Public Administration) è un gruppo di lavoro dell'Associazione Concreta-Mente [4]

orientato a studiare il tema dell'innovazione organizzativa e tecnologica nella Pubblica Amministrazione. Integracompetenze verticali di origine accademica e professionale con l'obiettivo di formulare proposte concrete epresentarle ai decisori istituzionali nel contesto di eventi pubblici. Il gruppo di lavoro OSPA organizza annualmentedal 2008 un convegno nel quale sono presentati e discussi con interlocutori di diverse estrazioni i risultati dellericerche sull'innovazione nelle Pubbliche Amministrazioni. Ad oggi ha coinvolto nelle sue attività: 6 Università eCentri di Ricerca Nazionali, più di 50 aziende del settore privato, oltre 250 Amministrazioni Pubbliche sia locali checentrali.OSPA 2008 [3] è stato il primo momento in Italia di incontro e confronto tra PA, imprese e università sul temadell'open source nelle Pubbliche Amministrazioni. L'iniziativa dei convegni OSPA è poi proseguita negli annisuccessivi.A partire dagli spunti raccolti nel corso della prima edizione, il convegno OSPA 2009 è stato dedicato a verificarel'esistenza di interrelazioni tra cambiamento organizzativo e adozione di soluzioni open in 16 diverseamministrazioni, e ad approfondirne la natura. I casi di studio esaminati, i risultati della ricerca e le discussioniattivate sono stati raccolti nel volume Open Source nella Pubblica Amministrazione - OSPA '09 [7], che è anchepossibile scaricare gratuitamente [8].L'edizione OSPA 2010[7] è stata orientata all'approfondimento verticale su due temi di grande rilevanza per lapromozione e valutazione dell'innovazione nella PA: il Riuso di soluzioni software tra amministrazioni diverse, e ilTotal Cost of Ownership, come strumento per supportare le decisioni di adozione. Anche in questo caso, i risultatidelle ricerche presentati al convegno e le riflessioni degli esperti intervenuti sono stati raccolti in un volume, OSPA10 - Strumenti per l'Innovazione nella PA [9], che si può anche scaricare gratuitamente [10].

Page 48: CMS per tutti. Content Managed System free

Open source 46

Note[1] The Open Source Census (http:/ / www. osscensus. org/ packages-rank-public. php)[2] Freecode directory (cfr. numero di progetti con una licenza approvata da OSI) (http:/ / freecode. com/ )[3] http:/ / www. concreta-mente. it/ images/ opensource/ concretamente_ospa08_callforideas_v07-cp. pdf[4] http:/ / www. concreta-mente. it[5] Archivio Notizie (http:/ / www. innovazionepa. gov. it/ ministro/ salastampa/ notizie/ 1022. htm)[6] Rassegna stampa (http:/ / www. dicorinto. it/ wp-content/ uploads/ 2007/ 06/ rassegna-stampa-rep-sw. pdf)[7] http:/ / www. lulu. com/ product/ a-copertina-morbida/ open-source-nella-pubblica-amministrazione---ospa-09/

6270404?productTrackingContext=search_results/ search_shelf/ center/ 3[8] http:/ / www. lulu. com/ product/ ebook/ open-source-nella-pubblica-amministrazione---ospa-09/

17377833?productTrackingContext=search_results/ search_shelf/ center/ 4[9] http:/ / www. lulu. com/ product/ a-copertina-morbida/ ospa-10---strumenti-per-linnovazione-nella-pa/

18661303?productTrackingContext=search_results/ search_shelf/ center/ 1[10] http:/ / www. lulu. com/ product/ ebook/ ospa-10---strumenti-per-linnovazione-nella-pa/ 18852634?productTrackingContext=search_results/

search_shelf/ center/ 2

Bibliografia• Simone Aliprandi, Copyleft & opencontent. L'altra faccia del copyright, PrimaOra, 2005, disponibile on line su

www.copyleft-italia.it/libro (http:/ / www. copyleft-italia. it/ libro) (CCpl)• Mariella Berra, Angelo Raffaele Meo, Informatica solidale. Storia e prospettive del software libero, 2001, Bollati

Boringhieri, ISBN 8833913635 (copyright)• Mariella Berra, Angelo Raffaele Meo, Libertà di software, hardware e conoscenza. Informatica solidale 2, 2006,

Bollati Boringhieri, ISBN 8833916464 (copyright)• Arturo Di Corinto, Tommaso Tozzi, "Hacktivism. La libertà nelle maglie della rete", 2002, Manifestolibri, ISBN

88-7285-249-8 (copyleft)• Arturo Di Corinto, Revolution OS II. Software libero, proprietà intellettuale, cultura e politica, Apogeo Editore,

2005 ISBN 88-503-2327-1 (CCpl)• Giovanna Frigimelica, Andrea Marchitelli, Open source in biblioteca: how to? (http:/ / bollettino. cilea. it/

viewarticle. php?id=786). "Bollettino del CILEA", 114.• Gruppo di ricerca Ippolita, Open non è free. Comunità digitali tra etica hacker e mercato globale, Eleuthera,

2005, ISBN 88-89490-04-7, (copyleft) (http:/ / ippolita. net/ onf)• Pekka Himanen, L'etica hacker e lo spirito dell'età dell'informazione, 2001, Feltrinelli, ISBN 88-07-17059-0

(copyright)• Daniele Medri, Linux Facile, (copyleft) (http:/ / linuxfacile. medri. org)• Carlo Piana, Simone Aliprandi, Italy in Ywein Van den Brande, Shane Coughlan, Till Jaeger (a cura di),

International Free and Open Source Software Law Review, Open Source Press GmbH, 2011. URL consultato il 15

settembre 2011.

• Revolution OS: Voci dal codice libero, Apogeo Editore, 2003, ISBN 88-503-2154-6 (copyleft)• Paolo Spagnoletti, Tommaso Federici (2011), Exploring the Interplay Between FLOSS Adoption and

Organizational Innovation (http:/ / aisel. aisnet. org/ cais/ vol29/ iss1/ 15/ ), Communications of the Associationfor Information Systems (CAIS), Vol. 29, Art. 15, pp. 279–298

• Linus Torvalds - David Diamond, Rivoluzionario per caso. Come ho creato Linux (solo per divertirmi), 2001,Garzanti, ISBN 88-11-73896-2 (copyright)

• Sam Williams, Free as in Freedom. Richard Stallman's crusade for free software, 2002, O'Reilly, ISBN0-596-00287-4 (copyleft)

• CNIPA (a cura di), Linee guida allo sviluppo di software riusabile multiuso nella Pubblica Amministrazione (iQuaderni n.38) (http:/ / archivio. cnipa. gov. it/ html/ docs/ cnipa_quad_38_int_a. pdf), Roma, CNIPA, gennaio2009. URL consultato il 3 maggio 2011.

Page 49: CMS per tutti. Content Managed System free

Open source 47

Voci correlate•• Metodologia agile•• Open content•• Licenza open source•• Open Source Definition•• Differenza tra software libero e open source•• Hardware open source•• Software libero

Altri progetti• Wikisource contiene opere originali: http:/ / it. wikisource. org/ wiki/ Categoria:Open Source• Wikiquote contiene citazioni: http:/ / it. wikiquote. org/ wiki/ Open source

Collegamenti esterni• Open source (http:/ / www. dmoz. org/ World/ Italiano/ Computer/ Programmazione/ Open_Source) su Open

Directory Project ( Segnala (http:/ / www. dmoz. org/ cgi-bin/ add. cgi?where=World/ Italiano/ Computer/Programmazione/ Open_Source) su DMoz un collegamento pertinente all'argomento "Open source")

• gioblu.com - Tutorials Open Source Arduino / Elettronica in Italiano (http:/ / www. gioblu. com)• Effetti del brevetto sull'Open Source (http:/ / www. nosoftwarepatents. com/ it/ m/ dangers/ linux. html)• "Riflessioni sull'open source in Svizzera" - Articolo di swissinfo (http:/ / www. swissinfo. ch/ ita/

scienza_e_technologia/ detail/ La_Svizzera_riflette_sull_open_source. html?siteSect=511& sid=8645439&cKey=1200921748000& ty=st)

• Tutorials in Italiano sui sistemi operativi Open source (http:/ / www. oscene. net/ )• Open Source Software (http:/ / www. myopensource. org/ it/ )• (EN) Come gestire un progetto open source (http:/ / www. tldp. org/ HOWTO/ Software-Proj-Mgmt-HOWTO/

index. html)• (EN) Open Source Software List (http:/ / www. webi. org)• (EN) Open Source Web Design (http:/ / www. oswd. org)

Page 50: CMS per tutti. Content Managed System free

48

i software free, gratuiti.

WordPress

WordPress

Visualizzazione di default di WordPress 3.0 (tema TwentyTen)Sviluppatore Matt Mullenweg

Ryan BorenDonncha O CaoimhMark JaquithAndrew OzzPeter Westwood

Ultima versione 3.4 (13 giugno 2012)

Ultima beta 3.4 B3 (21 aprile 2012)

Sistema operativo Web / PHP / MySQL

Genere Blogging

Licenza GPL(Licenza libera)

Sito web it.wordpress.org [1]

WordPress è una piattaforma di "personal publishing" e content management system (CMS), scritta in PHP e cheusa come database MySQL o Microsoft SQL Server, che consente la creazione di un sito internet formato dacontenuti testuali o multimediali, facilmente gestibili ed aggiornabili. Creata da Matt Mullenweg, è distribuita con lalicenza GNU General Public License.Ogni versione del programma è dedicata ad un musicista jazz.WordPress supporta un solo blog per installazione, ma ne esiste anche una versione multi-utente, WordPress MU,anch'essa distribuita con la stessa licenza. Dalla versione 3.0 WordPress MU non esiste più e tutte le funzionalitàsono state inglobate in WordPress nella modalità Network [2].

Page 51: CMS per tutti. Content Managed System free

WordPress 49

Caratteristiche

Interfaccia di amministrazione di WordPress, versione 2.8

• Estensione delle funzionalità tramite plugin[3];• Disponibilità di migliaia di temi gratuiti[4] per

personalizzare l'aspetto del blog;• Gestione delle pagine a template;• URL permanenti che aiutano l'ottimizzazione nei

motori di ricerca;•• Gestione delle categorie;• Funzioni di Trackback e Pingback;• Editor WYSIWYG per la formattazione dei testi;•• Creazione di pagine statiche;•• Supporto multi-autori;• Log degli utenti che visitano il blog;• Blocco di utenti in base all'indirizzo ip;• Possibilità di specificare meta-tag;•• Dalla versione 2.7 è presente un sistema di

aggiornamento automatico.

StoriaIl nome WordPress fu suggerito da Christine Selleck, ma le varie versioni furono chiamate con nomi legati al jazz:per esempio la versione 1.5 fu chiamata in codice Strayhorn da Billy Strayhorn, e la 2.1 Ella, da Ella Fitzgerald.Finora soltanto la versione 2.0.5 ha interrotto questa tradizione in onore della nascita del figlio di uno deglisviluppatori, il nome del quale è appunto Ronan.

Multi-bloggingWordPress permette di creare un blog per ogni installazione, anche se diverse installazioni possono convivere sullostesso server e sullo stesso dominio, in directory e database separati. WordPress Multi-User o WordPress MU è lapiattaforma multi-blogging derivata da WordPress. Consente infatti di gestire con una sola installazione un networkdi blog, amministrati tutti tramite un unico pannello. Nonostante non sia supportato dal core di WordPress è possibileavere anche più installazioni di WordPress che condividono gli stessi utenti e lo stesso database con un' unicaautenticazione [5]. Dalla Versione 3.0 le versioni di WordPress e WordPress MU vengono integrate in quanto tramitela modifica del file wp-config.php [6] è possibile attivare la modalità network nella propria installazione diWordPress.

Page 52: CMS per tutti. Content Managed System free

WordPress 50

Note[1] http:/ / it. wordpress. org[2] http:/ / codex. wordpress. org/ Create_A_Network[3] Plugin directory (http:/ / wordpress. org/ extend/ plugins/ ) su wordpress.org[4] Free Themes Directory (http:/ / wordpress. org/ extend/ themes/ ) su wordpress.org[5] http:/ / codex. wordpress. org/ Editing_wp-config. php#Custom_User_and_Usermeta_Tables[6] http:/ / codex. wordpress. org/ Editing_wp-config. php#Enable_Multisite_. 2F_Network_Ability

Voci correlate• BBpress piattaforma per forum• CMS ASP NET CMS completo con piattaforma per forum, blog, chat, album fotografici, modulo IPN PayPal• Wordpress.com Servizio per la creazione di Blog basato su WordPress MU

Altri progetti

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/Category:Wordpress

Collegamenti esterni• (EN) Sito ufficiale (http:/ / wordpress. org/ )• Community italiana (http:/ / it. wordpress. org/ )

Joomla!

Joomla!

Installazione di default di Joomla! 1.5Sviluppatore OSM Development Team

Ultima versione 2.5 (24 gennaio 2012)

Sistema operativo indipendente

Genere CMS

Licenza GPL v.2(Licenza libera)

Sito web joomla.org [1]

Joomla! è un software di content management (CMS) per siti web, realizzato completamente in linguaggio PHP. Èpubblicato con licenza open source GNU GPL v.2. È nato nel settembre 2005 da una scissione (fork) dal codice delCMS (Content Management System) Mambo; attualmente è in rapido sviluppo, sotto la guida di un gruppo diprogrammatori (per buona parte ex-sviluppatori di Mambo) riuniti nell'associazione no-profit Open SourceMatters[2].

Page 53: CMS per tutti. Content Managed System free

Joomla! 51

Caratteristiche

Il Pannello di Controllo di Joomla! 1.6

Il CMS è distribuito sotto forma dipacchetto compresso. È sufficientescompattare l'archivio in una cartellapubblica di un server Web dotato disupporto a PHP ed avere adisposizione un database MySQL per idati del programma. Dopo un processodi installazione (più propriamente, diprima configurazione) di pochi minuti,il sito è operativo.

Tra le caratteristiche principaliproposte ci sono:• Alto grado di personalizzazione grazie alle numerose estensioni moduli, componenti e plugin (vedi più sotto)

disponibili sia come Software libero che con altre licenze;• Caching delle pagine per incrementare le prestazioni;• Funzioni di Search Engine Optimization, per facilitare l'indicizzazione dei contenuti da parte dei motori di ricerca;• Feeding RSS, che permette ai visitatori di essere avvisati degli aggiornamenti dei contenuti mediante l'utilizzo di

un feed reader;•• Versione stampabile delle pagine;• Esportazione delle pagine in formato PDF;• Pubblicazione tipo Blog;•• Sondaggi;•• Ricerca testuale su tutti i contenuti inseriti;•• Localizzazione internazionale, che permette la traduzione di ogni funzionalità del software nella propria lingua;Altri componenti open source disponibili separatamente, sponsorizzati dal team di sviluppo di Joomla! ma nonsviluppati dallo stesso team consentono, fra le altre cose, di:• Creare e gestire forum di discussione (Joomlaboard / Fireboard / Kunena);• Tradurre l'intero contenuto del sito per renderlo fruibile in più lingue (Joom!Fish);• Migliorare la gestione degli utenti registrati e potenziare loro interazioni, creando un effetto community

(Community Builder).

EstensioniUno dei punti di forza di Joomla! è la vivacità della comunità che lo supporta, sia in termini di discussione e capacitàdi aiuto (il forum ufficiale supera i 100.000 post mensili) che di ampia disponibilità di componenti aggiuntivi perpersonalizzare la funzionalità del motore.Tutte le estensioni vengono distribuite sotto forma di pacchetti compressi, la cui installazione è gestita in manieracompletamente automatica da uno script apposito, disponibile nella sezione di amministrazione del proprio sitoJoomla!, che permette anche di disinstallare estensioni già installate.Ne esistono di tre tipi: componenti, moduli e plugin (che in Joomla! 1.0 si chiamavano mambot). Molte estensioni(nell'ordine delle migliaia) sono scaricabili dall'archivio ufficiale http:/ / extensions. joomla. org [3].

Page 54: CMS per tutti. Content Managed System free

Joomla! 52

ComponentiI componenti di Joomla! sono estensioni specifiche che permettono di aggiungere funzionalità complesse a un sitorealizzato usando il CMS Joomla!.I componenti per Joomla! differiscono dai moduli essenzialmente per il livello di complessità supportato.Tradizionalmente, i moduli vengono utilizzati per implementare funzionalità elementari mentre i componentipossono aggregare più moduli per realizzare funzionalità più complesse e più complete. In generale, l'aggiunta di uncomponente corrisponde all'aggiunta di un'intera sezione al sito dove viene installato.Per esempio, nel caso della gestione di una newsletter i moduli coprono funzioni tipo "iscrizione (aggiunta) di unnuovo utente", "cancellazione di un utente" eccetera mentre un componente potrebbe gestire la newsletter nel suocomplesso.A loro volta, secondo il medesimo schema modulare, i componenti possono essere usati da applicazioni che copronolivelli di funzionalità ancora più complessi.I componenti possono essere realizzati da qualsiasi utente di Joomla!. In rete si possono inoltre trovare componentigià pronti, prodotti da sviluppatori indipendenti.

Compatibilità dei componenti

Per l'impiego di un componente riveste un ruolo fondamentale la versione di Joomla! per cui esso è stato sviluppato.Infatti, la versione Joomla! 1.0, per limitazioni intrinseche al framework, pone dei limiti anche alla complessità deicomponenti, limiti che la versione 1.5 ha consentito di superare con l'adozione del modello MVC(model-view-controller). Un componente sviluppato espressamente per una specifica versione di Joomla! viene dettoanche "componente nativo" per quella versione.Fra la versione 1.0 e la versione 1.5 di Joomla! è supportata solo la compatibilità in avanti dei componenti, ossia èpossibile usare su Joomla! 1.5 componenti originariamente sviluppati per Joomla! 1.0, grazie anche a un pluginchiamato Legacy Mode. L'uso di questo plugin può avere un impatto sul livello di sicurezza e sulle prestazioni deicomponenti, tuttavia ha consentito di evitare la riscrittura di molti componenti nativi.I componenti nativi per Joomla! 1.5 non supportano la compatibilità all'indietro, non sono cioè utilizzabili suJoomla! 1.0, per via dei notevoli cambiamenti al framework e per il cambio di modello. La versione Joomla! 1.6 nonè retrocompatibile con le versioni precedenti.

Componenti per Joomla! 1.0

Tra i componenti di terze parti più diffusi per questa versione vi sono:• Community Builder, per la gestione di comunità on-line e di gruppi di utenti• JoomlaXplorer, con funzioni di cliente FTP e di file manager direttamente dall'installazione di Joomla!• Akeeba Backup (precedentemente denominato Joomlapack), per la gestione dei backup del sito• Joom!Fish, per gestire siti multi-lingua• Virtuemart, per allestire siti di commercio on-line• FireBoard, per integrare un forum nel sito• sh404SEF, per la gestione delle URL (riscrittura, redirect) e per la personalizzazione delle pagine di errore del

server• DOCman, file manager per consentire ai visitatori lo scaricamento di documenti e archivi• MisterEstate, dedicato per siti di gestione commerciale degli immobili (affitti, compravendite eccetera).

Page 55: CMS per tutti. Content Managed System free

Joomla! 53

Componenti per Joomla! 1.5

Fra i componenti maggiormente diffusi ed utilizzati vi sono:• Fabrik, il più avanzato tra i pochissimi componenti per incapsulare database ad essere GNU General Public

License 2.0•• Community Builder, per la gestione di comunità on-line e di gruppi di utenti• eXtplorer, con funzioni di client FTP e di file manager direttamente dall'installazione di Joomla!• Akeeba Backup (precedentemente denominato Joomlapack), per la gestione dei backup del sito•• XCloner, per la gestione dei backup del sito• Joom!Fish, per gestire siti multi-lingua•• JCE, un editor alternativo molto utilizzato• Virtuemart, per allestire siti di commercio on-line• Qcontacts, per estendere i campi del componente standard di gestione dei contatti• CiviCRM, per la gestione integrata di database/eventi/newsletter/donazioni/associati, rilasciato con licenza GNU

AGPL 3

ModuliI moduli di Joomla! sono estensioni che permettono l'aggiunta di piccole porzioni di HTML a un sito realizzatousando Joomla!. Sono usati per mostrare elementi di informazione o funzionalità interattive all'interno di un sitoJoomla!, in maniera collaterale al contenuto principale. Si possono considerare come finestre aggiuntive attraverso lequali dare informazioni non necessariamente correlate alla pagina visualizzata, magari per mostrare le altrefunzionalità del sito.I moduli recuperano le informazioni, o parti di informazioni definite attraverso parametri, e le visualizzano nellazona di loro competenza; ad esempio il modulo "ultime notizie" recupera di default i soli titoli degli articoli pervisualizzarli nel sito come lista, dando la possibilità di anticipare al visitatore ciò che si trova all'interno del sitostesso e quali sono le notizie più recenti. All'utente viene data la possibilità di scegliere quali moduli visualizzare edove collocarli all'interno del layout della pagina, in accordo con un template (vedi sotto). Moduli sono anche i menudi navigazione all'interno di un sito Joomla!.Agendo direttamente nella sezione Gestione Moduli (Module Manager) dell'amministrazione, possono essere creatisemplici moduli in HTML. Nel caso di script più complessi, essi sono in genere preparati per essere installati con leapposite procedure. Esistono moltissimi moduli di grande utilità già programmati e pronti all'uso, messigratuitamente a disposizione nell'apposita sezione del sito ufficiale delle estensioni.Fra i moduli standard si possono segnalare il modulo main menu (il menu principale), il modulo di login (perl'accesso riservato degli utenti), quello per i sondaggi (poll) e quello per la distribuzione dei feed RSS (syndicate).

Struttura moduli

Generalmente, un modulo è composto da un file XML che funge da installer e che contiene le informazioni sullosviluppatore dell'estensione e sugli altri file che lo compongono.È affiancato da uno o più file PHP che ne svolgono la funzione principale, ovvero quella di generare il codice htmlche verrà poi riproposto sul sito.È possibile includere file .ini per consentire una più facile localizzazione del modulo.Tutti i file sopra elencati vengono poi compattati in un archivio di tipo .tgz o .zip, poi installabile sul CMS.

Page 56: CMS per tutti. Content Managed System free

Joomla! 54

PluginI mambot sono nella versione 1.0 l'equivalente dei plugin della versione 1.5x, quando richiamati, attivano unprogramma, uno script o eseguono una specifica funzione. Spesso agiscono in background nell'intero sito. Possonoessere semplicissimi come la funzione che sostituisce un certo testo digitato con una funzione codificata (ad esempioposizionare una immagine precaricata impaginandola in un testo o spezzare in due pagine il contenuto di un lungoarticolo), ma possono anche avere effetti molto più evidenti, come richiamare, all'interno delle finestre dei form perl'inserimento dei contenuti, le funzionalità di sofisticati editor di testo in modalità WYSIWYG elaborati da terzeparti. Possono inoltre permettere collegamenti tra diversi componenti; una galleria di immagini, ad esempio, puòavere un mambot collegato che renda la descrizione delle immagini disponibile alle funzioni di ricerca sul sito.Esistono mambot per inserire funzioni Flash, per collegare automaticamente un glossario alle parole contenute neitesti degli articoli, per generare miniature delle immagini inserite nei testi in modo che alla selezione appaia unafinestra con l'immagine a maggiore risoluzione, e molti altri.

Template

Una schermata di Joomla!

Un template è un documento HTML/CSS che contieneil codice necessario a guidare Joomla! e ad impaginare icontenuti: ad esempio contiene il codice che permette ilcaricamento dei vari moduli in posizioni predefinite,codice per caricare il cosiddetto mainbody (la zona incui vengono presentati i contenuti principali generati daJoomla! o dai componenti aggiuntivi) e cosi via. Perottenere l'aspetto desiderato molti template contengonoanche una serie di immagini (per gli sfondi, i bordieccetera). Ogni template può essere scaricato daappositi siti gratuitamente o a pagamento ed installatoattraverso l'apposita area admin.

Storia

Joomla! nasce come risultato di un fork di Mambo tral'australiana Miro Corporation, la proprietaria deltrademark Mambo, e un gruppo di programmatori volontari, inclusi tutti i componenti il team di sviluppo. I duegruppi si separarono il 17 agosto 2005. La Miro Corporation fondò una fondazione no-profit con lo scopo difinanziare il progetto e proteggersi da problemi legali. Il team di sviluppo affermò che molti fondi dati allafondazione andavano contro gli accordi precedenti fatti dall'eletto Mambo Steering Committee, mancando lanecessaria consultazione con i principali membri del progetto e includendo clausole che violavano i valori dell'OpenSource.

Il team di sviluppo creò un sito web chiamato OpenSourceMatters [4] per distribuire informazioni agli utenti, aglisviluppatori, ai web designers e alla comunità in generale. Il capo progetto, Andrew Eddie, "MasterChief", scrisseuna Lettera aperta alla comunità [5] che apparve nella sezione degli annunci nel forum pubblico dimamboserver.com.Il giorno successivo 1000 persone sottoscrissero il forum opensourcematters.org, la maggior parte delle qualiinviarono parole di incoraggiamento e supporto alle azioni del Team di sviluppo. Il nuovo sito web ricevette un certoriscontro e fu citato in numerosi articoli di news riguardanti gli eventi apparsi su newsforge.com, eweek.com eZDnet.com.

Page 57: CMS per tutti. Content Managed System free

Joomla! 55

Questo evento innescò profonde riflessioni nella Comunità Open Source riguardo a ciò che poteva costituire ilconcetto stesso di Open Source. Forum e numerosi altri progetti Open Source si attivarono inviando commenti pro econtro le azioni di entrambe le parti. Le accuse contro Miro e la Mambo Foundation furono accese.Nelle due settimane successive all'annuncio di Eddie i team vennero riorganizzati e la comunità continuò a crescere.Il giorno 1º settembre 2005 il nuovo nome del progetto fu annunciato a più di 3000 seguaci del team di sviluppo.Il nome del progetto è una interpretazione fonetica della parola swahili jumla che significa "tutti insieme" o "comeun'unica entità". Questo termine fu scelto in quanto rifletteva i propositi del team di lavoro che presiede tuttorainsieme alla comunità alla realizzazione del progetto.La prima release di Joomla fu annunciata il 16 settembre 2005: si trattava di un clone della versione di Mambo4.5.2.3 combinata con una certa quantità di patch di sicurezza di livello moderato. L'obiettivo primario era quello diriscrivere completamente il codice per renderlo completamente compatibile con la versione del DB MySQL 5.Joomla è rilasciato sotto licenza GNU General Public License versione 2.

Cronologia delle releaseLa cronologia completa può essere seguita efficacemente sul portale del progetto[6].

RiconoscimentiJoomla! dal 2005 è vincitore di numerosi premi internazionali:• 2005: Best Linux / Open Source Project• 2006: Open Source Content Management System Award• 2006: Best Linux / Open Source Project• 2007: Best PHP Open Source Content Management System[7]

• 2011: Best Source Content Management System Award[8]

FuturoIl development team di Joomla! ha annunciato, ad inizio ottobre 2008, la fine del supporto per la versione 1.0 che èdefinitivamente stata sospesa dal 22 luglio 2009[9], mentre l'ultima versione stabile, la 1.5 terminerà il suo supportoentro aprile 2012. Entrambe le versioni citate sono da considerarsi come LTS (Long Time Support). L'ultimaversione Joomla! 1.7[10] precede la 2.5 che verrà considerata come LTS. Le versioni transitorie sono stimate in 6mesi di durata ciascuna.

Note[1] http:/ / www. joomla. org/[2] Open Source Matters (http:/ / opensourcematters. org/ )[3] http:/ / extensions. joomla. org/[4] http:/ / opensourcematters. org[5] http:/ / www. opensourcematters. org/ index. php?option=com_content& task=view& id=1& Itemid=1[6] Cronologia portale del progetto (http:/ / www. joomla. org/ content/ blogcategory/ 32/ 66/ )[7] Best PHP Open Source Content Management System (http:/ / www. packtpub. com/ article/

joomla-wins-best-php-open-source-content-management-system)[8] 2011 Open Source Awards Winner news: Open Source CMS | Packt Publishing Technical & IT Book and eBook Store (http:/ / www.

packtpub. com/ blog/ 2011-open-source-awards-winner-news-open-source-cms)[9] (EN) Annuncio ufficiale (http:/ / community. joomla. org/ contributor-blogs/ 64-developer-team-blog/ 509-an-old-friend-comes-of-age. html)[10] (EN) (http:/ / www. joomla. org/ announcements/ release-news/ 5387-joomla-171-released. html)

Page 58: CMS per tutti. Content Managed System free

Joomla! 56

Voci correlate•• Shellmanager

Altri progetti

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ Category:Joomla!

Collegamenti esterni• (EN) Sito ufficiale (http:/ / www. joomla. org)• Sito di Joomla in italiano (http:/ / www. joomla. it)

Drupal

Drupal

Home page di una installazione predefinita di DrupalSviluppatore Drupal community [1]

Ultima versione 7.12[2] (1 febbraio 2012)

Sistema operativo Multipiattaforma

Linguaggio PHP

Genere content management framework, content management system, community e blog software

Licenza GNU GPL(Licenza libera)

Sito web http:/ / drupal. org

Drupal è un content management framework, content management system (CMS) modulare scritto in linguaggioPHP e distribuito sotto licenza GNU GPL. Un CMS è uno strumento usato dai webmaster per gestire un sito webevitando di dover programmare dinamicamente l'intero software lato server che gestisce il sito. Molti CMScontemporanei, compreso Drupal, offrono un'interfaccia di amministrazione con cui l'amministratore può gestireogni aspetto del sito web, senza il bisogno di possedere conoscenze tecniche particolari di programmazione Web.Drupal funziona su diversi sistemi operativi, tra cui Windows, Mac OS X, Linux e qualsiasi piattaforma che supportii web server Apache (versione 1.3 o superiore) o IIS (versione 5 o superiore) e il linguaggio PHP (versione 4.3.3 osuperiore). Drupal utilizza inoltre un database per memorizzare i contenuti, e necessita dunque di un software comeMySQL e PostgreSQL che sono gli unici DBMS al momento supportati. I requisiti dettagliati sono disponibili sulsito ufficiale di Drupal[3].

Page 59: CMS per tutti. Content Managed System free

Drupal 57

StoriaCreato originariamente da Dries Buytaert[4] come bulletin board system, divenne un progetto libero nel 2001. Ilnome Drupal è la traslitterazione inglese per la parola olandese druppel che significa goccia. Il nome nasce daldefunto drop.org, sito il cui codice si evolvette lentamente fino a trasformarsi in Drupal. Buytaert voleva chiamare ilsito «dorp» (in olandese «villaggio», riferendosi all'orientamento «per community» del progetto), ma commise unerrore di digitazione quando controllò la disponibilità del dominio. Rileggendo, decise che drupal suonava meglio.[5]

Negli anni Drupal ha acquistato popolarità. Da maggio 2006 ad aprile 2007, Drupal è stato scaricato più di 600.000volte.[6] Ora lo sviluppo di Drupal gode dell'apporto di una grande comunità.[7] Dal novembre 2009 il sito della CasaBianca WhiteHouse.gov [8] utilizza Drupal.[9]

La struttura di DrupalDrupal ha ricevuto elogi da webmaster, progettisti e programmatori, in parte grazie al suo design modulare chepermette al suo livello base, o «core» di fornire solo le funzioni essenziali nella sua configurazione predefinita.Funzioni e capacità di visualizzazione aggiuntive possono estendere il «core» tramite l'installazione di moduli etemi.[10]

ModuliIl «core» di Drupal contiene i propri moduli. I moduli sviluppati dalla comunità possono comunque essere scaricati einstallati in un'area dell'installazione di Drupal non destinata al «core». Il «core» di Drupal è stato progettato con unsistema di «hook» (ganci) o callback, che permettono ai moduli sviluppati dalla comunità di inserire funzioni nelprocesso di esecuzione di Drupal.I moduli inclusi nel «core» forniscono le seguenti funzionalità:•• Inserire, modificare e catalogare i contenuti•• Eseguire ricerche•• Inserire commenti•• Partecipare a forum•• Rispondere a sondaggi•• Lavorare a progetti di scrittura collaborativa•• Inserire e visualizzare i profili degli utenti•• Comunicare tra gli utenti e con gli amministratori del sito•• Modificare l'aspetto del sito utilizzando temi grafici già sviluppati e pronti all'uso•• Creare menu su più livelli della struttura di navigazione•• Localizzare l'interfaccia in diverse lingue, permettendo all'utente di scegliere• Fornire feed RSS•• Aggregare e presentare i contenuti RSS di altri siti•• Registrare nuovi utenti e gestirne gli account•• Gestire in modo granulare permessi e ruoli per i singoli utenti o per interi gruppi•• Usare regole per impedire l'accesso al sito a determinati utenti in base a nome, indirizzo e-mail, indirizzo IP•• Collezionare e presentare statistiche dettagliate del sito•• Gestire il caching delle pagine ed il throttling, funzionalità che permette di disabilitare alcuni moduli/blocchi in

caso di alto traffico del sito•• Creare e specificare vari filtri sull'input degli utenti e diversi modelli di contenuto•• Generare indirizzi semplici da ricordare, permettendo una migliore catalogazione ai motori di ricercaInoltre, il sito di Drupal contiene centinaia di moduli gratuiti sviluppati dalla comunità. Alcune delle funzionalitàfornite o migliorate dai moduli sviluppati dagli utenti:

Page 60: CMS per tutti. Content Managed System free

Drupal 58

• Sistemi e-commerce•• Flusso di lavoro redazionale•• Gallerie fotografiche•• Gruppi autogestiti•• Sitemap di Google• Gestione di mailing list• Integrazione con CVS•• Gestire immagini e video•• Gestire servizi di terze parti (Adsense, AuctionAds, Technorati, etc.)

Tracciamento delle Versioni del Sistemaupdate_status, un nuovo modulo disponibile per Drupal 5.x (parte del «core» in Drupal 6.0) notificaautomaticamente il gestore del sito quando vengono rilasciate nuove versioni dei moduli e temi installati.

TemiLa maggior parte dei temi per Drupal sono creati usando il sistema PHPTemplate[11] o il sistema XTemplate[12]. Inpassato, si usavano temi sviluppati in solo PHP.Versioni precedenti del meccanismo per i temi di Drupal sono state criticate[13] per essere meno orientate al design epiù complesse rispetto ai sistemi di Mambo e Plone. L'inclusione in Drupal dei sistemi PHPTemplate e XTemplatesono state una risposta ad alcune di queste critiche.

TraduzioniIn agosto 2007, le traduzioni dell'interfaccia di Drupal sono disponibili in 37 lingue oltre all'inglese (la linguapredefinita).[14] I linguaggi supportati ne comprendono alcuni con scrittura da destra a sinistra, come l'arabo el'ebraico.

CriticheL'installazione di Drupal (e dei suoi moduli) richiede l'accesso a un database ed alcuni permessi avanzati, ad esempiola possibilità di usare comandi SQL come SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX,ALTER e LOCK TABLES. Alcuni fornitori di hosting web non offrono queste funzioni. Chi voglia usare Drupaldeve accertarsi che il suo server offra queste funzioni prima di installare.Come per altri sistemi di gestione dei contenuti, è possibile configurare il database di partenza da riga di comando[15] oppure con phpMyAdmin/PhpPgAdmin. A partire dalla versione 5.0, è possibile installare Drupal e configurareil database quasi interamente tramite un'interfaccia web.Alcuni[16] considerano più difficile imparare a usare Drupal e installarlo, rispetto ad altri CMS o a semplicipiattaforme per blog come WordPress. Drupal 5.0, rilasciato il 15 gennaio 2007, contiene un assistenteall'installazione utilizzabile con il browser, per rispondere in parte a queste critiche; Drupal 6.0, pubblicato il 13febbraio 2008, rende ancora più semplice l'installazione.[17]

Alcuni programmatori criticano Drupal perché non lo considerano sviluppato con la Programmazione orientata aglioggetti (OOP), ma Programmare Drupal da una prospettiva orientata agli oggetti (in inglese) [18] spiega come iprincipi della OOP e della Programmazione orientata agli aspetti (AOP) siano applicati anche a Drupal.

Page 61: CMS per tutti. Content Managed System free

Drupal 59

DistribuzioniPer semplificare il processo di installazione a coloro che vogliano usare Drupal in un contesto specifico (un negozioonline, un sito di recensioni musicali, un blog, ecc.), la comunità di Drupal ha discusso se distribuire installazioni diDrupal pronte all'uso, pre-configurate con moduli di terze parti e impostate per un tipo particolare di sito.Ci sono già diverse distribuzioni personalizzate di Drupal. Molte sono semplicemente costituite da Drupal conl'aggiunta di moduli di terze parti, ma alcune includono anche modifiche al «core».Un esempio di queste distribuzioni è vbDrupal [19], che è Drupal integrato con vBulletin.Drupal 4.2[20] è stato usato da DeanSpace, che ha ospitato molti siti web indipendenti a supporto della campagnapresidenziale di Howard Dean nel 2004. Dopo la fine della campagna di Dean, il progetto DeanSpace si ètrasformato in CivicSpace, una «piattaforma per l'organizzazione di movimenti dal basso che fornisce strumentiall'azione collettiva nelle comunità e connette e ravvicina gruppi distanti di sostenitori» basata su Drupal. QuindiCivicSpace è una distribuzione derivata, basata su Drupal 4.2.Molte innovazioni di CivicSpace sono state poi riportate all'interno del progetto di Drupal[21]. Funzioniparticolarmente utili per organizzazioni no-profit e campagne politiche sono disponibili nel modulo CiviCRM perDrupal 5.0 e versioni seguenti.

BibliografiaDrupal è stato trattato in molti libri sullo sviluppo di applicazioni web. Al momento non ne esistono delle traduzioniin italiano.• (EN) Pro Drupal Development [22] di John K. VanDyk e Matt Westgate (ISBN 1590597559)• (EN) Drupal: Creating Blogs, Forums, Portals, And Community Websites di David Mercer (ISBN 1904811809)• (EN) Building Online Communities With Drupal, phpBB, and WordPress di Robert T. Douglass, Mike Little, e

Jared W. Smith (ISBN 1590595629)• (EN) The revolution will not be televised: democracy, the internet, and the overthrow of everything di Joe Trippi

(ISBN 0-06-076155-5)• (EN) The power of many: how the living web is transforming politics, business, and everyday life di Christian

Crumlish (ISBN 0782143466)• (EN) We the media: grassroots journalism by the people, for the people di Dan Gillmor (ISBN 0-596-00733-7)• (DE) Drupal. Community-Websites entwickeln und verwalten mit dem Open Source-CMS di Hagen Graf (ISBN

3827323215)

Note[1] http:/ / drupal. org/ community[2] CHANGELOG.txt | Drupal 7 | Drupal API (http:/ / api. drupal. org/ api/ drupal/ CHANGELOG. txt/ 7)[3] (EN) Requisiti di Drupal (http:/ / drupal. org/ requirements)[4] Dries Buytaert | Personal website of Dries Buytaert (http:/ / buytaert. net/ )[5] History | drupal.org (http:/ / drupal. org/ node/ 769)[6] "Drupal Download Statistics," http:/ / buytaert. net/ tag/ statistics[7] "Grafici di crescita," http:/ / groups. drupal. org/ node/ 1980[8] http:/ / www. whitehouse. gov/[9] "Il sito della Casa Bianca "gira" su un open source" http:/ / www. lastampa. it/ _web/ cmstp/ tmplrubriche/ tecnologia/ grubrica.

asp?ID_blog=30& ID_articolo=6836& ID_sezione=38& sezione=News[10] Le funzioni del «core» di Drupal sono descritte nel «Manuale di Drupal» disponibile online all'indirizzo http:/ / drupal. org/ handbook/

modules[11] " Sistema per temi PHPTemplate (http:/ / drupal. org/ phptemplate)", Drupal.org.[12] " Sistema per temi XTemplate (http:/ / drupal. org/ node/ 6493)", Drupal.org.[13] " How does Drupal compare to Mambo? (http:/ / drupal. org/ node/ 15689#comment-25704)" discussione (in inglese), Drupal.org.[14] "Translations," Drupal.org http:/ / drupal. org/ project/ Translations (registrato il 12 agosto 2007)

Page 62: CMS per tutti. Content Managed System free

Drupal 60

[15] http:/ / drupal. org/ node/ 495[16] Alister Lewis-Bowen et al., " Usare software open source software to progettare, sviluppare e implementtare un sito web collaborativo (in

inglese) (http:/ / www-128. ibm. com/ developerworks/ ibm/ library/ i-osource1/ index. html)," IBM, July 11, 2006.[17] Elenco caratteristiche di Drupal 6.0 (in inglese) (http:/ / drupal. org/ drupal-6. 0)[18] http:/ / api. drupal. org/ api/ file/ developer/ topics/ oop. html/ 6[19] http:/ / www. vbdrupal. org/[20] Predictions for 2004 | drupal.org (http:/ / drupal. org/ node/ 4877#comment-7552)[21] CivicSpace (http:/ / civicspacelabs. com)[22] http:/ / www. drupalbook. com

Altri progetti

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ Category:Drupal

Collegamenti esterni• (EN) Drupal, il sito ufficiale del progetto (http:/ / drupal. org/ )• (EN) La più grande directory di siti realizzati con Drupal (http:/ / www. drupalsites. net/ )• (EN) Directory di siti realizzati con Drupal (http:/ / www. drupalwebsites. com/ )• Tutorial relativi a Drupal pubblicati su HTML.it (http:/ / cms. html. it/ articoli/ lista/ 173/ drupal/ )

Comunità di supporto e sviluppo in lingua italiana• Drupal Italia - La comunità ufficiale italiana (http:/ / www. drupalitalia. org/ )• Associazione Drupal Italia (http:/ / associazione. drupalitalia. org/ )• Drupal.it - Sito su Drupal in italiano (http:/ / www. drupal. it/ )• DrupalCamp Crema 2009 (http:/ / crema2009. drupalcamp. it/ )• DrupalCamp Torino 2010 (http:/ / torino2010. drupalcamp. it/ )

Blog su drupal• (EN) Dries Buytaert (http:/ / buytaert. net/ )• (EN) Steven 'acko' Wittens (http:/ / acko. net/ tag/ drupal)• (EN) Lullabot (http:/ / www. lullabot. com/ )• Psicomante Blog (http:/ / blog. psicomante. net/ )• Tecnomeme (http:/ / www. tecnomeme. it/ tags/ drupal)

Servizi su drupal• (EN) Temi per Drupal (http:/ / www. drupal. org/ project/ Themes)• (EN) Documentazione per sviluppatori (http:/ / api. drupal. org)• (EN) Comunità per il design di Drupal (http:/ / themegarden. org)• (EN) Gruppi di Discussione su Drupal.org (http:/ / groups. drupal. org)

Voci correlate• CMS ASP NET CMS completo con piattaforma per forum, blog, chat, album fotografici, modulo IPN PayPal

Page 63: CMS per tutti. Content Managed System free

phpBB 61

phpBB

phpBB

Installazione di default della versione 3.0Sviluppatore The phpBB Group

Ultima versione 3.0.10 (2 gennaio 2012)

Sistema operativo Web / PHP / SQL

Genere Script Forum

Licenza GPL(Licenza libera)

Sito web www.phpbb.com [1]

phpBB è uno tra i più popolari sistemi liberi per la gestione di forum scritti mediante il linguaggio diprogrammazione PHP: il nome è un'abbreviazione di PHP Bulletin Board

Alcuni tra i punti di forza del software sono:•• Un sistema di gestione della grafica che permette una facile personalizzazione.• Supporto multilingua: 70 traduzioni (dati del 2007), il che lo rende uno tra i forum più tradotti.• Compatibilità con vari sistemi di gestione di dati inclusi MySQL, MySQLi, PostgreSQL, Microsoft SQL Server,

Microsoft Access e, con qualche modifica, Oracle.•• Ampia comunità di utenti (in tutte le lingue) e numerosi siti che offrono supporto e materiale per la

personalizzazione.Il punto debole è invece una generale pesantezza della piattaforma, specie se paragonata ad altri sistemi comeFluxBB, MyBB o PunBB.

StoriaphpBB nasce dalla mente di James Atkinson come una semplice bulletin board per il proprio sito web il 17 giugnodel 2000. Nathan Codding and John Abela (successivamente usciti dal progetto) si uniscono quando la piattaformaentra a far parte del network SourceForge CVS. Una pre pubblicazione pienamente funzionante viene pubblicata [2]

il 1º luglio dello stesso anno.

phpBB1phpBB 1.0.0 vede la luce il 9 dicembre 2000, con un successivo miglioramento nel codice e l'inserimento di nuovefunzioni. L'ultima versione della linea 1.x è invece la 1.4.4, rilasciata il 6 novembre 2001. Durante la vita della serie1.x, Bart van Bragt, Paul S. Owen (il primo co-manager del progetto), Johnathan Haase (successivamente uscito dalprogetto) e Frank Feingold entrano nel gruppo del progetto.

Page 64: CMS per tutti. Content Managed System free

phpBB 62

phpBB2phpBB2 parte il 17 febbraio 2001. Doug Kelly (successivamente uscito dal progetto) entra nel gruppo poco dopo.Dopo un anno di sviluppo e test intensivi, la versione 2 di phpBB, soprannominata Super sporca ((EN) Super Furry)a causa del codice di scadente qualità, viene rilasciato il 4 aprile 2002.Nel dicembre 2004, un grande numero di siti web vengono violati e modificati da Santy, un worm che, sfruttandouna vulnerabilità delle versioni non aggiornate di phpBB, sovrascriveva il codice PHP con pagine HTML.L'ultima versione è la 2.0.23, rilasciata il 17 febbraio 2008 [3]. Le ultime versioni della linea 2.0.x iniziano arichiedere l'utilizzo di PHP versione 4.0.3. Il supporto terminerà il 1 gennaio 2009.

phpBB3La terza versione di phpBB, nome in codice Olympus, viene rilasciata il 13 dicembre 2007.Partita come versione 2.2 addirittura 2002, vede un cambio di nome nel 2005, quando l'allora capo del team disviluppo psoTFX si accorge della mancanza di compatibilità tra le modifiche per la versione 2.0.x e il nuovo codice.Di qui l'annuncio[4] del nuovo nome in codice (Olympus) e del nuovo numero (3.0).La prima beta vede la luce solo a metà 2006, con il template subSilver2 (evoluzione del subSilver presente inphpBB2) e l'avvertenza che nessun supporto sarebbe stato dato per successivi aggiornamenti dalle versioni beta. Ilprimo convertitore da phpBB 2.0.x a phpBB Olympus viene rilasciato insieme alla beta5.Il nuovo template grafico Prosilver, validato XHTML, viene mostrato su phpbb.com il 19 marzo 2007, dopo circauna settimana di seri problemi al sito web.Il software viene sottoposto a un security audit, terminato nell'ottobre 2007, durante il quale vengono riscontratealcune "preoccupazioni", non critiche, ma che sono comunque state corrette con la sesta (e non ultima) releasecandidate[5]. La RC7 esce solo due giorni dopo e risolve i problemi introdotti dalla RC6. Tuttavia lo script diaggiornamento automatico è stato sottoposto a un'ulteriore revisione post-RC7[6].Il 9 dicembre 2007, in occasione del settimo compleanno del software e otto giorni dopo il rilascio della RC8, vieneannunciata la versione 3.0.0, che è stata rilasciata in data 13 dicembre[7].

Nuove funzionalità phpBB3

Sono state aggiunte decine e decine di nuove funzionalità. Un assaggio di alcune, non necessariamente tra le piùimportanti, è riportato di seguito:•• Inserimento allegati•• Creazione di un numero illimitato di sub-forum•• Creazione di BBCODE personalizzati• Friend & foes (amici ed utenti ignorati)•• Coda di moderazione (post che richiedono l'approvazione di un moderatore prima di essere visualizzati)•• Segnalazione di post o topic ai moderatori•• Avvertimenti e feedback sugli utenti da parte dei moderatori•• Ban temporaneo per gli utenti•• Segnalibri per i topic•• Bozze per l'inserimento di post•• Sistema di permessi molto più complesso e flessibile•• Possibilità per gli utenti di chiudere i topic di cui sono autoriIl pannello di controllo utente, il pannello di controllo moderatori ed il pannello di amministrazione inoltre sono staticompletamente ridisegnati, rendendoli più flessibili e moderni.Questo elenco, assolutamente incompleto, non rende l'idea dell'enorme salto di qualità effettuato dal software tra laversione 2.0 e 3.0. Sul sito ufficiale è disponibile un elenco non esaustivo, ma molto più completo. Vedere la sezione

Page 65: CMS per tutti. Content Managed System free

phpBB 63

"Collegamenti esterni".

Stato del rilascio

• Il 17 giugno 2006 è stata rilasciata la versione 3.0 Beta 1• Il 12 agosto 2006 è stata rilasciata la versione 3.0 Beta 2• Il 12 novembre 2006 è stata rilasciata la versione 3.0 Beta 3• Il 27 novembre 2006 è stata rilasciata la versione 3.0 Beta 4• Il 28 gennaio 2007 è stata rilasciata la versione 3.0 Beta 5• Il 20 maggio 2007 è stata rilasciata la versione 3.0.RC1• Il 24 giugno 2007 è stata rilasciata la versione 3.0.RC2• L'8 luglio 2007 è stata rilasciata la versione 3.0.RC3• Il 28 luglio 2007 è stata rilasciata la versione 3.0.RC4• Il 24 agosto 2007 è stata rilasciata la versione 3.0.RC5• Il 13 ottobre 2007 è stata rilasciata la versione 3.0.RC6• Il 15 ottobre 2007 è stata rilasciata la versione 3.0.RC7• Il 1º dicembre 2007 è stata rilasciate la versione 3.0.RC8• Il 13 dicembre 2007 è stata rilasciata la versione 3.0.0• Il 7 aprile 2008 è stata rilasciata la versione 3.0.1• Il 10 luglio 2008 è stata rilasciata la versione 3.0.2• Il 12 novembre 2008 è stata rilasciata la versione 3.0.3• Il 12 dicembre 2008 è stata rilasciata la versione 3.0.4• Il 31 maggio 2009 è stata rilasciata la versione 3.0.5• Il 17 novembre 2009 è stata rilasciata la versione 3.0.6• Il 28 febbraio 2010 è stata rilasciata la versione 3.0.7• Il 6 marzo 2010 è stata rilasciata la versione 3.0.7-PL1• Il 20 novembre 2010 è stata rilasciata la versione 3.0.8• Il 10 luglio 2011 è stata rilasciata la versione 3.0.9• Il 2 gennaio 2012 è stata rilasciata la versione 3.0.10

Note[1] http:/ / www. phpbb. com/[2] http:/ / forums. devshed. com/ showthread. php?threadid=4914[3] http:/ / www. phpbb. com/ community/ viewtopic. php?f=14& t=772285[4] http:/ / www. phpbb. com/ community/ viewtopic. php?f=14& t=256072[5] http:/ / www. phpbb. com/ community/ viewtopic. php?f=14& t=584826[6] http:/ / www. phpbb. com/ community/ viewtopic. php?f=14& t=585093[7] Happy Release Birthday (http:/ / www. phpbb. com/ community/ viewtopic. php?f=14& t=611789)

Page 66: CMS per tutti. Content Managed System free

phpBB 64

Altri progetti

• Wikimedia Commons contiene file multimediali: http:/ / commons. wikimedia. org/ wiki/ PhpBB

Collegamenti esterniRisorse ufficiali• (EN) phpBB.com (http:/ / www. phpbb. com/ ) - sito ufficiale internazionale• (EN) phpBB Development Area (http:/ / area51. phpbb. com/ ) - sito ufficiale dedicato e gestito dagli sviluppatori• (EN) Compare with other forum solutions (http:/ / www. phpbb. com/ about/ features/ compare. php) - confronto

con altre piattaforme, con elenco quasi completo delle funzionalità• (EN) Compare with phpBB 2 (http:/ / www. phpbb. com/ about/ features/ )• (EN) phpBB su SourceForge.net (http:/ / www. sourceforge. net/ projects/ phpbb/ )• (EN) #phpbb (irc:/ / irc. freenode. net/ phpbb) - canale di supporto per phpBB su Freenode• (EN) #phpbbmod (irc:/ / irc. freenode. net/ phpbbmod) - canale di supporto a phpBB per sviluppatori di

MODifiche su Freenode• (IT) phpBBItalia.net (http:/ / www. phpbbitalia. net/ ) - sito di supporto ufficiale italiano phpBB, con un vasto

archivio di MODs, stili e traduzioni sviluppate dallo staff e dai suoi utenti, tra cui quella di phpbb3Risorse non ufficiali• (EN) phpBBHacks.com (http:/ / www. phpbbhacks. com/ ) - sito di supporto per modifiche al codice• (EN) phpBB-SEO.com (http:/ / www. phpbb-seo. com/ ) - ottimizzazione per i motori di ricerca di phpBB. mods

& premodded• (IT) phpBB-SEO.it (http:/ / www. phpbb-seo. it/ ) - supporto italiano per phpBB SEO• (EN) Icy Phoenix è una premodded per phpBB (http:/ / www. icyphoenix. com) - sito ufficiale• (EN) Portal XL è una premodded per phpBB (http:/ / www. portalxl. nl/ ) ha rilasciato due versioni la plain

(versione base) e la premod (versione moddata con oltre 80 mods) - sito ufficiale• Supporto ufficiale italiano ad Icy Phoenix (http:/ / www. icyphoenix. it)• Portal XL è una premodded per phpBB (http:/ / www. portalxl. eu/ ), ha rilasciato due versioni la plain (versione

base) e la premod (versione moddata con oltre 80 mods) - sito ufficiale italianoDevelopment 3.0 "Olympus"• (EN) phpBB.com Development (http:/ / www. phpbb. com/ development/ )

Page 67: CMS per tutti. Content Managed System free

PHPNuke 65

PHPNuke

PHPNuke

Sviluppatore Francisco Burzi

Ultima versione 8.2.4 (2011)

Sistema operativo Multipiattaforma

Linguaggio PHP

Genere CMS

Licenza GNU General PublicLicense(Licenza chiusa)

Sito web http:/ / www. phpnuke. org

PHPNuke è un software di Content Management System (CMS) per siti web dinamici. Scritto interamente in PHP ecoadiuvato da MySQL per la gestione del database, è stato uno dei primi software di questa categoria. È distribuitocon licenza GNU General Public License. L'idea nasce nel 2000 da una cerchia ristretta di appassionati, trasformatasiin pochi anni in una vasta comunità  che lavora assiduamente al progetto. L'ultima versione rilasciata, la versione8.2, è tornata ad essere interamente gratuita. La versione 8.1 era stata rilasciata a pagamento, ma la licenza GNUconsentiva di ridistribuirla gratuitamente una volta acquistata. Ora tutte le versioni sono gratuite.

Requisiti

Installazione remotaRequisiti minimi del ServerWeb:•• PHP 4.3.0;•• MySQL 3.22;•• Server Linux con 10MB di spazio sul disco: spazio richiesto per l'installazione base. L'aggiunta di addons o

template comporterà  unaumento dello spazio utilizzato sia sull'hardisk che sul database;Requisiti consigliati del ServerWeb:•• PHP 5.3.2;•• MySQL 4.1 (versione raccomandata) o successive;•• Server Linux con 100MB di spazio sul disco: spazio richiesto per installazione base ed eventuali addons o

template aggiuntivi;

Page 68: CMS per tutti. Content Managed System free

PHPNuke 66

Installazione localeRequisiti consigliati:•• Sistema operativo: Windows, Linux, Unix;• Pacchetto AMP (Apache MySQL PHP): consigliato EasyPHP in ambiente Windows, LAMP in ambiente Linux;•• Spazio sul disco 80MB: spazio richiesto per l'installazione base ed eventuali addons o template aggiuntivi.

CaratteristichePHP-Nuke nella versione standard offre all'utente le seguenti funzioni:• Gestione degli Utenti: PHP-Nuke permette di gestire gli utenti registrati e da  loro la possibilità  di interagire

all'interno del sito tramite uno strumento di messaggistica istantanea;• Ricerca all'interno del sito semplice e veloce grazie all'aggiunta di un motore di ricerca interno;• Area Download gestibile con 3 diversi tipi di livelli di sicurezza (Tutti, Solo Iscritti e Amministratori);• Possibilità  di un forum all'interno del sito con motore di ricerca interamente dedicato;• Gestione di Banner associati ad uno o più clienti tramite AdServer interno;• Area FAQ;• Area Statistiche;• Area TOP: in quest'area è possibile visualizzare i contenuti più popolari nel sito;• Estensibilità  attraverso Moduli personalizzabili;• Gestione degli HTTP Referrer;• Look&Feel disaccoppiato dalla logica, ogni utente può scegliere quale tema utilizzare tra quelli disponibili;• Gestione di RSS/RDF per l'export delle news;• Gestione Newsletter.

Struttura del CMSLa struttura del CMS è basata sull'utilizzo di blocchi e moduli:I blocchi riportano delle funzioni che si ripetono in tutte le pagine del sito e ne esistono di due tipi:• di sistema sono dei blocchi presenti in numero fisso ed hanno un comportamento predefinito.• utente sono dei blocchi personalizzabili liberamente dall'utenteI moduli sono il cuore della pagina stessa. Ogni pagina ha il suo modulo con la rispettiva funzione (es. modulo newso modulo search) e l'amministratore può scegliere un qualsiasi modulo come pagina principale.La struttura di una pagina di PHPNuke è composta da 3 colonne. Nella colonna centrale sono presenti i moduli, nelle2 colonne laterali sono presenti i blocchi. Dalla versione 6.x i blocchi possono essere aggiunti anche alla colonnacentrale del sito, scegliendo la posizione top o bottom. Oltre alle 3 colonne principali vi è la presenza di un Header(testata) e un Footer (Fondo pagina).

Page 69: CMS per tutti. Content Managed System free

PHPNuke 67

Struttura cartellePhpNuke è essenzialmente composto da due cartelle.La prima, denominata "sql", contiene il database del sito.Laseconda cartella, "html", contiene tutti i file del sito. Di seguito una descrizione dei file e delle sottocartelle contenutein essa:

File

• index.php: è la pagina iniziale del sito.• mainfile.php: effettua dei controlli sulla versione del PHP e sul database. Controlla inoltre se l'utente è registrato

al sito.• admin.php: rimanda all'amministrazione del sito• backend.php: gestisce l'output delle notizie eventualmente prelevate da altri siti• config.php :questo è il file di configurazione di PHPNuke, contiene le impostazioni necessarie per dialogare con il

database• footer.php: gestisce la parte inferiore della pagina caricata(footer o pie' di pagina)• header.php:gestisce la parte superiore della pagina caricata(header o intestazione)• robots.txt: contiene una serie di istruzioni per i motori di ricerca

Cartelle

• Blocks: contiene tutti i blocchi inclusi in PHP Nuke• Images:contiene tutte le immagini del sito• include: contiene frammenti di codice che vengono integrati quando occorre nelle pagine del sito• Language: tutti i file di traduzione di PHPNuke sono contenuti in questa cartella• Modules: contiene tutti i moduli• Themes: contiene tutti temi grafici del sito

Backoffice: interfaccia di amministrazioneEffettuando il login alla pagina admin.php è possibile accedere al pannello di amministrazione di PHPNuke. Le areesu cui l'utente può agire dipendono fortemente dal grado di registrazione dello stesso. Un superadmin ha l'accessoillimitato a tutte le aree del sito, un admin visualizzerà  solamente le aree su cui è abilitato a lavorare.Il pannello di amministrazione offre all'utente svariate funzioni, tra le più importanti ricordiamo:• Aggiungi Articolo: permette all'utente di aggiungere articoli alla sezione news;• Backup DB: permette la creazione di una copia di backup del sito contenente struttura e contenuto del database;• Blocchi: permette la gestione e il posizionamento all'interno del sito dei blocchi precedentemente creati;• Download: permette la gestione dei download creando categorie e sottocategorie in cui è possibile aggiungere

file. L'upload, per motivi di sicurezza è possibile farlo soltanto tramite link esterno alla risorsa da caricare.• HTTP referrers: consente di visualizzare gli ultimi accessi al sito;• Optimize DB: incrementa le prestazioni del database ottimizzando la struttura dei dati;

Page 70: CMS per tutti. Content Managed System free

PHPNuke 68

SicurezzaPHPNuke è stato spesso criticato per i suoi problemi di sicurezza. Una delle falle più gravi riguarda l'uso dellatecnica SQL injection. Per risolvere queste vulnerabilità, la comunità di PHPNuke offre supporto fornendo deisuggerimenti per correggere le falle oppure attraverso dei moduli creati per proteggere il cms da vulnerabilità benprecise.

VariantiEsistono alcune varianti di PHPNuke, chiamate forks, che migliorano PHPNuke aggiungendo nuove funzionalità ecorreggendo eventuali bug. I forks più popolari sono:• Dragonfly CMS: basato su PHP-Nuke 6.5, include un'applicazione chiamata Coppermine Photo gallery• LG-Nuke:basato su PHP-Nuke 7.6, fa uso di AJAX• Clean Nuke [1]: basato su PHP-Nuke 7.6/WL Nuke 1.1 sfrutta solo il motore del nuke, è flessibile ed è adatto per

creare siti statici di contenuti gestibili online.• Nuke-Evolution: include molte correzioni sulla sicurezza e diversi moduli preinstallati.• PostNuke: basato su PHP-Nuke 5.0• MegaNuke: basato sulla versione 7.4 di PHP-Nuke, corregge diverse falle di sicurezza e include più funzioni

rispetto a PHP-Nuke.

Voci correlate•• Content management system•• Database•• PHP•• MySQL•• GNU General Public License

Collegamenti esterni• PHP-Nuke.org [2] - sito ufficiale di PHPNuke• LGNuke [3] - Sito di Assistenza Italiana con Moduli, plugin e sviluppo.• Phpnuke Forum Italiano [4] - forum di assistenza italiana al PHPNuke• guida PHPNuke [5] - dal sito MR.Webmaster• guida PHPNuke [6] - dal sito HTML.it

Note[1] http:/ / www. cleanuke. it[2] http:/ / phpnuke. org/[3] http:/ / www. lgnuke. org/[4] http:/ / www. tuttosoft. it/[5] http:/ / www. mrwebmaster. it/ cms/ guide/ guida-php-nuke_10/[6] http:/ / php. html. it/ guide/ leggi/ 81/ guida-php-nuke/

Page 71: CMS per tutti. Content Managed System free

Lista di content management system 69

Lista di content management systemQuesta è una lista dei principali content management system (CMS) usati per organizzare e facilitare la creazionein collaborazione dei contenuti di un sito web. Alcuni di loro sono implementati separatamente in un ambiente dettocontent management framework, o framework di gestione dei contenuti.

SaaS (Software as a Service)Questa sezione riporta prodotti commerciali come software, hosting, e supporti di un singolo produttore.

Nome Piattaforma Licenza Ultima versione stabile

Comunica Cms [1] PHP/Apache/Postgres/ Si 4.0

LogicalDOC Cloud Java Si 4.6

Dinamo Cms [2] PHP/Apache/MySQL Si 1.2

Forbrains wcms Web Si 5.4

uCoz n/a No n/a

OU Campus Java Si 8.9

SelfComposer CMS [3] asp, java, mysql Sì 2.8

980codex [4] asp, jquery, mysql Sì 1.0

Software proprietariSoftware commerciali installati e mantenuti su un opportuno web server.

.NET

Name Platform Database Ultima versione stabile

.NET CMS .NET XML 3.30 responsive

EPiServer .NET SQL Server, Oracle, SQL Express 5.2

Immediacy .NET SQL Server 6.0

Ingeniux .NET XML 6.0

Jadu .NET SQL Server 1.8

Sharepoint .NET SQL Server, SQL Express 4.0 (Sharepoint 2010)

Sitecore .NET SQL Server SQL Express, Oracle, My SQL, SQLite 6 (released in 2008)

ASP.NET

Page 72: CMS per tutti. Content Managed System free

Lista di content management system 70

Nome Piattaforma Database Ultima versione stabile Licenza Data rilascio

.NET CMS ASP.NET XML 2.0 (Tarellus) Free Open Source 2003

DotNetNuke ASP.NET SQL Server 5.1.4

AxCMS.net ASP.NET SQL Server SQL Express 9.0 2009

Telligent Community ASP.NET SQL Server 5.0 2009-06-29

Ektron ASP.NET SQL Server 7.6

Kentico CMS ASP.NET SQL Server 6.0 2011-10-10

Elabora CMS ASP.NET SQL Server 2.0

Sense/Net 6.0 ASP.NET SQL Server 6.0 Beta 4 GNU General Public License 2009-07-24

Sitefinity CMS ASP.NET Oracle, SQL Server, MySQL 3.6

Composite ASP.NET SQL Server 3.0 Proprietaria

enVision ASP.NET Oracle, SQL Server, MySQL 6.2 Proprietaria 2099-09-07

Spin&Go [5] ASP.NET SQL Server 4.0 Proprietaria

Java

Nome Piattaforma Database Ultima versione stabile

BACKBASE Portal Java Oracle, MySQL, Microsoft SQL Serveruses JSR-170-compliant content repository

4.0

besite [6] Java SQL Server 2010

Blue Light CMS Java Oracle, MySQL 1.1

Cascade Server Java Oracle, MySQL, SQL Server 5.7

CoreMedia CMS Java Oracle, SQL Server, DB2, PostgreSQL 2008

Crown SiteBuilder Java Oracle, SQL Server, DB2uses EMC Documentum content repository

6.1

Day Communiqué WCM Java Non richiede DBsupporta Oracle, SQL Server, DB2, MySQLusa JSR-170-compliant content repository

5.2.2

Escenic Java Oracle database, MySQL 5.4

FatWire Content Server Java Oracle, SQL Server, DB2 7.5

Jalios JCMS Java Built-in: Apache Derby, Oracle, MySQL, PostgreSQL, SQL Server 6.1

LogicalDOC Java Oracle, SQL Server, PostgreSQL 4.6

OU Campus Java include Sybase Adaptive Server Enterprise database 8.9

TerminalFour Site Manager Java, J2EE Oracle, MySQL, SQL Server 6.0

Traction TeamPage Java Built-in 4.1

Vignette J2EE Oracle, SQL Server, DB2....ecc. 7.6

Page 73: CMS per tutti. Content Managed System free

Lista di content management system 71

Java Bundle

Nome Piattaforma Database Ultima versione stabile

Lotus WCMS J2EE or Lotus Domino Oracle, SQL Server, DB2, Lotus Domino 6.1

Refresh Software Java, J2EE, XML Oracle, SQL Server v7.2

PHP

Nome Piattaforma Database Ultima versione stabile

[SKS] PHP MySQL 1.0

Nereo NX PHP MySQL 6.2

Accrisoft Freedom PHP MySQL 6.2

Amaxus PHP MySQL or Microsoft SQL Server 4.3

Brunner CMS PHP MySQL 4.0.1.111

ExpressionEngine PHP MySQL 1.6.8

[Enterprise Portal System] PHP MySQL 5.3

Jumper 2.0 PHP MySQL 2.0.1.3

Site Foundry PHP MySQL 2.3

BlueHighway PHP MySQL 2.2

Webiny PHP MySQL 2.0b

Software libero e open sourceQuesta è una lista di software libero e open-source installabile e gestibile su un opportuno server web.

Java

Nome Piattaforma RDBMS ORM-DBMS Altri Database Ultimaversionestabile

Licenza Data dirilascio

LogicalDOC Java MySQL, Oracle, SQLServer, Informix

PostgreSQL 4.6 GPL &Commercial

2009-10-12

Entando JavaAGILE

MySQL, Oracle, HSQLDB PostgreSQL 2.4.0.1 GPL 2011-12-07

OpenCms Java HSQL, MySQL, Oracle,SQL Server, DB2

PostgreSQL 7.5.1 LGPL 2009-10-01

Liferay Java HSQLDB, MySQL, Oracle,SQL Server, Apache Derby,DB2, Informix, InterBase,

JDataStore

PostgreSQL SAP, Sybase 5.2 MIT 2009-02-03

Fedora Java MySQL, Oracle PostgreSQL Mulgara(MPTSTore RDF

SemanticTriplestore)

3.1 ApacheLicense

dotCMS Java MySQL, Oracle, MSSQL PostgreSQL 1.7 GNU GPL v2 2009-03-03

Page 74: CMS per tutti. Content Managed System free

Lista di content management system 72

Nuxeo EP Java MySQL, Oracle, SQLServer

PostgreSQL 5.4 LGPL 2010-11-09

Alfresco Java MySQL, Oracle, SQLServer, Informix

PostgreSQL 3.3 GPL &Commercial

2010-04-13

Magnolia Java JCR 4.1 GPL &Commercial

2009-06-15

Hippo Java JCR 7.0.1 ApacheLicense

2009-01-26

Calenco Java JCR 1.0 AGPL 2009-03-15

Java Packages / Bundle

Nome Piattaforma Database Ultima versione stabile Licenza Data di rilascio

Apache Lenya Java, XML, Apache Cocoon 2.0 Apache License

Daisy Java, XML, Apache Cocoon MySQL 2.1 Apache License 2008-03-09

Perl

Nome Piattaforma Database Ultima versionestabile

Licenza Data dirilascio

blosxom Perl Flat-file database 2.0 MIT

Bricolage Perl MySQL, PostgreSQL 1.10.7 BSD 2009-03-12

MojoMojo Perl with either mod perlor FastCGI

Any, via the DBIx::Class ORM 0.999029 Perl-style-license 2009-05-10

MovableType

Perl, mod perl, FastCGI MySQL, Microsoft SQL Server, Oracle,PostgreSQL, SQLite

4.23 GPL 2008-12-03

TWiki Perl Plain files (under version control) 4.3.2 GPL 2009-09-02

Scoop Perl on mod perl MySQL 1.1.8 GPL

Slash Perl on mod perl MySQL GPL

WebGUI Perl on mod perl MySQL 7.6.31 GPL

PHP

Nome Piattaforma Database Ultimaversionestabile

Licenza Data dirilascio

AdaptCMS Lite PHP MySQL 1.4 GPL 2009-01-13

ATutor PHP MySQL 1.6.3 GPL 2009-07-23

b2evolution PHP MySQL 3.3.1 GPL 2009-08-08

BLOG:CMS PHP MySQL 4.2.1 GPL 2008-01-15

CivicSpace PHP MySQL 0.8.3 GPL 2005-05-01

Clean Nuke PHP MySQL 1.6 GPL 2010-03-10

CMS Made Simple PHP MySQL 1.6.5 GPL 2009-09-05

Page 75: CMS per tutti. Content Managed System free

Lista di content management system 73

Concrete5 PHP MySQL 5.3.2 MIT 2009-07-23

Contenido PHP MySQL 4.8.12 MIT 2009-04-24

Croky PHP MySQL 1.1 Creative Commons 2011-06-18

Dotclear PHP MySQL, PostgreSQL 2.1.5 GPL 2009-02-05

Drupal PHP MySQL, PostgreSQL 7.12 GPL 2012-02-01

eFront PHP MySQL 3.5.5 CPAL 2009-11-22

e107 PHP MySQL 0.716 CPAL 2009-09-05

Exponent CMS PHP MySQL 0.96.6 GA GPL 2009-02-13

eZ Publish PHP5 MySQL, PostgreSQL, Oracle,Microsoft SQL Server

4.2.0 GPL 2009-09-29(en)

Flatnuke PHP MySQL, Nessuno 2.7.2 GPL 2009-05-04

Frog CMS PHP5 MySQL, SQLite 0.9.5 GPL 2009-04-26

Gamboo Web Suite PHP5 MySQL 3.0 unknown 2009-08-10

GCMS PHP MySQL 1.2b GPL 2008-09

GT PWOS 1 PHP MySQL 1 GPL/Commercial 2010-02

ImpressCMS PHP MySQL 1.1.2 GPL 2009-03-09

Jaws PHP PostgreSQL, MySQL, Oracle,Firebird, InterBase, Microsoft

SQL Server, SQLite

0.8.9 LGPL, GPL 2009-01-30

Joomla! PHP MySQL 2.5.1 GPL 2011-07-19

Habari PHP MySQL, PostgreSQL (Currentlynot supported), SQLite

0.6.2 Apache License 2009-05-22

KnowledgeTree DocumentManagement System

PHP MySQL 3.7.0 GPL & Commercial 2009-12-02(en)

LG-Nuke PHP MySQL 1.4.1 GPL 2009-08-07

Lifetype PHP MySQL 1.2.10 GPL 2010-01-28

Lyceum PHP MySQL 1.0.2 GPL 2008-06-04

Mambo PHP MySQL 4.6.5 GPL 2008-06-01

MaxDev Pro PHP MySQL 1.0821 GPL 2008-01-30

MediaWiki PHP MySQL, PostgreSQL, DB2 1.15.1 GPL 2009-07-13

Merlintalk PHP MySQL 2.6 GPL 2008-06-26

MiaCMS PHP MySQL 4.6.5 GPL 2008-09-11

Midgard CMS PHP (Midgardframework)

MySQL 8.09.5 LGPL 2009-04-27

MODx PHP MySQL 1.0.0 GPL 2009-07-31

MySource Matrix (Squiz) PHP PostgreSQL, MySQL, Oracle 3.20.1 GPL or warrantedversion from Squiz

2009-03-23

Nucleus CMS PHP MySQL 3.40 GPL 2009-02-15

OneCMS PHP MySQL 2.5 GPL 2008-01-15

Opus PHP MySQL 2.27 GPL 2008-07-06

PHP-Fusion PHP MySQL 7.02.03 AGPL 2011-06-20

PHP-Nuke PHP MySQL 8.1 GPL 2009-05-22

Page 76: CMS per tutti. Content Managed System free

Lista di content management system 74

PHP-Nuke Evolution PHP MySQL 2.0.7 GPL 2008-06-09

PhPeace PHP MySQL 2.3.0 GPL 2008-09-08

PHPSlash PHP 0.8.1.1 GPL 2006-01-15

Phpwcms PHP MySQL 1.4.2 (r345) GPL 2009-07-30

phpWebSite PHP MySQL, PostgreSQL 1.6.3 LGPL 2009-06-17

Portal XL PHP MySQL 5.0.2 GPL 2009-08-07

Qredd PHP MySQL 1.0.0 RC4 GPL v.2 2009-10-03(en)

RavenNuke CMS PHP MySQL 2.40.00 GPL 2009-09-15(en)

SilverStripe PHP MySQL 2.3.3 BSD 2009-08-03

Situx PHP MySQL 3.3.1 GNU/GPL 2 2011-11-04

SPIP PHP MySQL, PostgreSQL, SQLite 2.0.4 GPL 2009-02-23

Syntax Desktop PHP MySQL 2.7 GNU/GPL 2 2008-07-09

TangoCMS PHP MySQL 2.3.2 GNU/GPL 2 2009-08-04

Textpattern PHP MySQL 4.2.0 GPL 2009-08-28

TikiWiki CMS/Groupware PHP MySQL 3.4 LGPL 2010-01-14(en)

Tribiq CMS PHP MySQL 5.0.9 GPL 2008-10-01

TYPO3 PHP MySQL, Oracle, PostgreSQL 4.2.8 GPL 2009-07-03

TYPOlight/Contao [7] PHP 5.2.0+ MySQL 4.1+ 2.9.1 LGPL 2010-08-09

Website Baker PHP MySQL 2.8.0 GPL 2009-08-15

whCMS PHP MySQL 0.103 GPL 2008-08-10

WordPress PHP MySQL 3.4 GPL 2012-06-13

Xaraya PHP MySQL, PostgreSQL 1.1.5 GPL 2008-11-25

File / Flat file

Nome Piattaforma Database Ultimaversionestabile

Licenza Data dirilascio

CMSimple PHP Flat-file database 3.2 Affero 2008-06-20

Dokuwiki PHP Flat-file database 2009-02-14 GPL 2009-02-14

FlatNuke PHP Flat-file database 2.7.2 GPL 2009-05-04

GuppY PHP Flat-file database 4.6.10 GPL 2009-02-14

Lanius CMS PHP Flat-file database, Frontbase, Gladius DB, MaxDB,miniSQL, MSSQL, MSSQL Pro, MySQL, MySQLi,

MySQLt, PostgresSQL, PostgresSQL64, PostgresSQL7,SqLite, Sybase

0.5.2 GPL 2009-10-22

New-CMS PHP Flat-file database 1.6.4 GPL 2009-10-29

phpCMS PHP Flat-file database 1.2.2 GPL 2006-01-19

phpWiki PHP Flat-file database, MySQL, PostgreSQL GPL 2007-07-14

Page 77: CMS per tutti. Content Managed System free

Lista di content management system 75

pluck PHP Flat-file database 4.6.3 GPL 2009-06-06

PmWiki PHP Flat-file database 2.2.0 GPL 2009-01-18

Quick.Cms.Lite PHP Flat-file database 2.0 CreativeCommons

Attribution 2.5

2008-05-13

PivotX PHP Flat-file database 1.40.7 GPL 2009-03-22

Python

Nome Piattaforma Database Ultima versione stabile Licenza Data di rilascio

Django Python PostgreSQL, MySQL, SQLite 3 and Oracle 1.1 BSD 2009-07-29

MoinMoin Python Flat-file database 1.8.5 GPL 2009-9-11

Nuxeo CPS Python Zope 3.4.3 GPL

Plone Python MySQL, PostgreSQL, SQLite, Oracle, ZODB, via Zope 4.1.4 GPL 2012-02-27

PyLucid Python MySQL, PostgreSQL, SQLite 0.8.0 GPL 2008-02-14

Ruby on Rails

Nome Piattaforma Database Ultima versione stabile Licenza Data di rilascio

Radiant Ruby on Rails MySQL, PostgreSQL, SQLite 0.8.1 MIT 2009-09-05

Typo Ruby on Rails MySQL, PostgreSQL, SQLite 5.3 MIT 2009-03-27

Refinery Ruby on Rails MySQL, PostgreSQL, SQLite 0.9.4.3 MIT 2009-06-04

Altri

Nome Piattaforma Database Ultima versionestabile

Licenza Data dirilascio

DotNetNuke ASP.NET SQL Server 5.1.4 BSD 2008-12-24

mojoPortal ASP.NET SQL Server, MySQL, PostgreSQL,SQLite, Firebird

2.3.0.8 CPL 2009-06-17

Umbraco ASP.NET SQL Server, MySQL 4.7.1.1 MIT 2012-01-26

Xaraya PHP withXHTML/XML/XSLT

MySQL, PostgreSQL, SQLite (ADOdb)and SQL Server (Creole)

1.1.3 GPL 2008-01-03

XOOPS PHP + Smarty MySQL 2.3.2b GPL 2008-09-22

Serendipity PHP + Smarty MySQL, PostgreSQL, MySQLi, SQLite 1.4.1 BSD 2009-01-16

Zikula PHP + Smarty MySQL, Oracle PostGres, SQL Server 1.0.2 LGPL 2008-08-10

OpenACS Tcl AOLserver PostgreSQL/Oracle 5.1.5 GPL 2008-03-22

Zenukers CMSOpen Source

ASP MySQL/Access 1.0 GPL 2011-05-23

Neme-sys ASP MySQL 1.5.3.2 GPL 2008-01-15

Page 78: CMS per tutti. Content Managed System free

Lista di content management system 76

Voci correlate•• CMS•• LMS•• ECM•• Wiki•• Web 2.0•• Architettura telematica•• Gestori di Forum

Collegamenti esterni• La-grange [8]

• Sourceforge:Elenco di Gestori di contenuti [9]

• Dmoz: Elenco di CMS [10]

• Elenco di CMS Open Source [11]

• Elenco ragionato di Cms gratuiti Open Source [12]

Note[1] http:/ / www. sinapto. com/ comunica[2] http:/ / www. dinamocms. com/[3] http:/ / www. selfcomposer. com/[4] http:/ / www. 980codex. it/[5] http:/ / www. engitel. com/[6] http:/ / www. bemils. com/ it/ gestisci-siti_sc_8. html[7] http:/ / www. contao. org[8] http:/ / www. la-grange. net/ cms#intro[9] http:/ / sourceforge. net/ softwaremap/ trove_list. php?form_cat=92[10] http:/ / dmoz. org/ Computers/ Software/ Internet/ Site_Management/ Content_Management/[11] http:/ / www. opensourcecms. com/ index. php[12] http:/ / www. webmasterpoint. org/ programmazione/ programmazione/ come_fare/ migliore-cms-programma-per-creare-sito-web-raccolta.

html

Page 79: CMS per tutti. Content Managed System free

77

i software a pagamento

vBulletin

vBulletin

Forum ufficiale del vBulletin su versione 4.0.0 GoldSviluppatore vBulletin Solution

Ultima versione 4.1.8 (14 novembre 2011)

Sistema operativo Multipiattaforma

Genere Forum software

Licenza Proprietaria(Licenza chiusa)

Sito web www.vbulletin.com [1]

vBulletin (abbreviato come vB) è un sistema commerciale di gestione di forum, prodotto dalla Jelsoft Enterprises,scritto in PHP e basato su database MySQL.È una delle piattaforme più diffuse; in ambito commerciale trova come principale rivale IPB, mentre in ambitogratuito trovano molta diffusione phpBB, FluxBB, e SMF.vBulletin, nella sua prima incarnazione, era una riscrittura del software forum UBB in formato PHP e MySQL.Solamente con la seconda versione, vBulletin ottenne funzioni innovative e un buon successo.

v4.0La versione 4 si differenzia dalle precedenti per il fatto che non offre più solo una semplice piattaforma forum, maintegra anche funzionalità di Content management system (CMS) a tutti gli effetti, e per questo viene venduto in duelicenze diverse: Publishing Suite e Forum Licenze. La differenza fra queste due versioni sta nel fatto che la primacomprende, oltre alla piattaforma forum, la piattaforma CMS e il Blog. Nella versione 4 è stata integrata (emigliorata) la ricerca nel forum, nei blog, nei commenti e nei prodotti. È migliorato il sistema dei template perpermettere agli amministratori una facile modifica e sono stati aggiunti dei controlli per facilitare il posizionamentodei banner pubblicitari; è stato anche modificato il sistema degli allegati e sono stati aggiunti elementi del SEO comegli url amichevoli. La versione Gold è stata rilasciata il 21 dicembre 2009 al prezzo di €190 per la Publishing Suite edi €135 per la sola licenza Forum.

Page 80: CMS per tutti. Content Managed System free

vBulletin 78

v3.8vBulletin 3.8.x ha apportato alcune modifiche sostanziali nella struttura. L'inserimento dei gruppi sociali, dei link peri social network e dei profili maggiormente completi ha attribuito maggiore valore a questo tipo di CMS rendendolomaggiormente completo sotto ogni aspetto. La possibilità di tracciare la modifica dei post è stata un'innovazione bengradita dagli utenti. Ogni utente può venire a conoscenza pure degli altri utenti che visitano il suo profilo.Inoltre sono stati inseriti altri metodi antispam durante la registrazione. Oltre il semplice Captcha sono stati inseriti ilReCaptcha e la domanda con risposta.L'ultima versione è la 3.8.7 Patch Level 2.

v3.7La versione 3.7.0 Gold si presenta con molte opzioni in più e con un profilo totalmente modificato. Con la versione3.6.8, e comunque con la più stabile 3.7.0, ogni utente ha a disposizione un proprio blog.

v3.6vBulletin 3.6 aggiunge alcune nuove caratteristiche rispetto alla versione 3.5, come il "Multi-Quote", il "Sistema diInfrazioni", un Poster RSS e il supporto al Podcasting, oltre ad un buon numero di funzioni minori come unamaggiore importanza delle funzioni AJAX o il ridimensionamento automatico delle immagini di eccessivedimensioni immesse nel forum. La prima versione finale di vBulletin 3.6, ovvero la 3.6.0, è stata rilasciata il 3 agosto2006.

v3.5vBulletin 3.5 corregge alcuni difetti della versione 3.0. Questa è una piccola lista dei cambiamenti apportati:•• Un sistema di plugin, così da permettere di aggiungere funzionalità al software senza intaccare il codice del

software stesso.• Funzionalità di modifica AJAX (Asynchronous Javascript and XML) per i titoli di thread e contenuti dei

messaggi.•• Funzioni di moderazione migliorate, con la possibilità dei moderatori del forum di gestire discussioni e messaggi

del loro forum senza effettuare passaggi intermediari.• Un sistema di API (chiamato "data managers") per permettere un'integrazione semplificata con software di terze

parti.•• Comparazione e storia dei Template, con possibilità per gli amministratori di conservare una versione specifica di

un template che può essere comparata a qualsiasi altro Template.•• Un wrapper MySQLi che aggiunge il supporto di tale funzione anche con MySQL 4.1.

v3.0Inizialmente la versione 3.0 doveva essere un ampliamento della 2.x, che avrebbe migliorato l'usabilità e la velocitàdel forum. Ma alla fine è divenuto una riscrittura completa, portando molte novità rispetto alla seconda versione:• Template scritti in XHTML e CSS.•• Supporto Multilingua completo.• Editor WYSIWYG per la scrittura dei messaggi.• Una funzione <opzionale> che permette agli amministratori di gestire delle sottoscrizioni pagate per alcune

feature del sito.•• Opzioni di visualizzazione delle discussioni: lineare (visione classica), threaded (con struttura ad albero), e ibrida

(una combinazione di entrambe).

Page 81: CMS per tutti. Content Managed System free

vBulletin 79

v2.xvBulletin 2, la prima versione "fortunata" di vBulletin, apportava queste novità rispetto a vBulletin 1:•• Messaggi Privati, per comunicazioni dirette fra utenti.•• Possibilità di inserire sondaggi nelle discussioni.•• Illimitate sottosezioni, così da non avere problemi nella "ramificazione" del forum.• Avatar Utente.•• Un Pannello di Controllo utente che permette a ciascun utente le proprie preferenze riguardo alle opzioni del

forum.

v1.x e vBulletin LitevBulletin 1 come anticipato permetteva le stesse features di UBB.classic. Fu uno dei primi sistemi scritti in PHP eMySQL con tali feature.vBulletin Lite era una versione semplificata di vBulletin 1.x series che permetteva a potenziali clienti di testare lacompatibilità del loro server con vBulletin. Questa versione è stata dismessa dopo il rilascio di vBulletin 2 a causa diproblemi di sicurezza e di età.

Collegamenti esterni• (EN) Sito ufficiale [2]

• (EN) Sito ufficiale per plugin [3]

Note[1] http:/ / www. vbulletin. com[2] http:/ / www. vbulletin. com/[3] http:/ / www. vbulletin. org/

Page 82: CMS per tutti. Content Managed System free

Fonti e autori delle voci 80

Fonti e autori delle vociContent management system  Fonte: http://it.wikipedia.org/w/index.php?oldid=50488999  Autori:: .anaconda, 4v4l0n42, Abisys, Aethelfirth, Airon90, Akash, Alesmuc, Alessandro nadalin,Alexamici, Amux, AndreONEz, Avesan, Brasacchio, Brownout, Bultro, C1p8, Chronos92, Civvì, David ciamberlano, Davide Oliva, Demart81, Dg, Dommac, Drugonot, ELBati, EdoM,Elbloggers, Etrosh, F l a n k e r, Fedeg93, Franganghi, Franseo, Frieda, GLf, Gabrimonfa, Gac, Gacio, Galessandroni, Giorvi, Gluck74, Gpex, Guam, Guidomac, Hamcha, Hellis, Jacopo, Jalo,Joram, Kalzakath, KingFanel, L736E, Lab13, Lamonia, Lanciano, Lucanonnis, Luckyluciano, Luisa, Lusum, M7, MainFrame, Manojlo, Marcok, Masili giuseppe, Massimozanardi, Matwu,Mauromereu, Melkor II, Midellaq, Mighty Gorgon, Moongateclimber, Mtt, Nanni76, Necosi, Nettuno43, No2, Normac, Nost.ass, Olando, Panther, Pepsi, Philoz, Picce, Piercolone, Pil56,Potomak, RafaelMinuesa, Rbonazzo, Rojelio, Rutja76, Salvio, Sbaush, Scorp, Scorp`, Sentruper, Sesquipedale, Shivanarayana, Smallpox, Snowdog, Square87, Stemby, Tanarus, Tener,Teseoservice, Tommaso Ferrara, Valepert, Valkiro, Websito, Xdavid, 251 Modifiche anonime

Software  Fonte: http://it.wikipedia.org/w/index.php?oldid=50327255  Autori:: %Pier%, .anaconda, 57.78.9.xxx, A7N8X, Aka-Red, Alec, Alfio, Alfio66, Alfreddo, Alleborgo, Amiltonit,Ancelli, Andrebask, Argento, ArtAttack, Ary29, Aushulz, Avesan, Azrael555, Barbaking, Blakwolf, Bob4, Brownout, Carlo.milanesi, Ciro07, ColdShine, Comune mortale, Djdomix, Dome,Dommac, Dr Zimbu, Eumolpa, Freepenguin, Freyr, Frieda, Frigotoni, Gac, Gacio, Gaetanogambilonghi, GiaGar, Gian Franco, Giannib, Gionnico, Guidomac, Hashar, Hce, Hellis, I'm a friend of"0+0=0", Ilario, LaseriumFloyd, Laurentius, Lornova, Luca78sv, Lucadideo, Lucas, Lucasilvia, Luisa, M7, MM, MapiVanPelt, Marcel Bergeret, Marietto2009, Mark91, Massimo Macconi,Mattiacrespi, Mauro Lanari, Melos, MikyT, Mizardellorsa, Moongateclimber, Nasosansoft, Neperiano, Nikai, No2, Orso della campagna, Phantomas, Pickblack, Pil56, R0tAbLe, Rael, Raffaespo,Roh, Rollopack, Salvatore Ingala, Sannita, Sassospicco, Senpai, Simòn, Skywolf, Snowdog, Stamsofer, Suisui, Tapion 91, Taueres, Timothy, Trevinci, Wikijens, 137 Modifiche anonime

Software libero  Fonte: http://it.wikipedia.org/w/index.php?oldid=50542956  Autori:: %Pier%, Airon90, Aka-Red, Aleagle, Argento, Arturo.dicorinto, Aubrey, Avesan, Biasco, Bizzia,Catoblepa79, Ciampix, Davide, Dbiagioli, Demart81, Domenico De Felice, Eippol, Elbloggers, Estel, Fale, Fgiorgi, FiloSottile, Flea, Fradeve11, Freepenguin, Gim²y, Guam, Helios, Hellis, Icara,IngFrancesco, Iron Bishop, L'altro giocoliere, Lucabon, Lucas, Madaki, Marcok, Merlitti, Michele Bergadano, Nemo bis, Paroledipolvere, Peppo, Pequod76, Phauly, Pietrodn, Pil56, Podestà,Pracchia-78, RanZag, Resoli, RobertoITA, Sante Caserio, Senpai, Sirabder87, Ssspera, TheDRaKKaR, TheManu, Thebarald, Torredibabele, Valepert, Vituzzu, WilyD, Wizard, 73 Modificheanonime

PHP  Fonte: http://it.wikipedia.org/w/index.php?oldid=50778151  Autori:: .anaconda, .snoopy., 12-210-196-189.client.attbi.com, Abisys, Actarux, Alberto da Calvairate, Alecos71, Alescan,Alessandro Astarita, Alessiodipaola, Alfio, Amux, AnyFile, Archenzo, Arpyone, Ary29, Ask21, Auro, Avesan, Azullino, Balabiot, Beta16, Biopresto, Caccia di conoscenza, Camelia.boban,Chronos92, Claudio.M, Clovepower, Codas, Contezero, Demart81, Devon, Diablo, Djdomix, Djechelon, Drugonot, Dsmcg21, Elbloggers, Ettos, Eugesoft, Fain182, Fede Reghe, Fidech, Filnik,Frankthequeen, Freepenguin, Frieda, Fstab, G84, Gabriele79, Gabrielepx, Galessandroni, Garak, Genuzzu, Gianni T, Gionnico, Giovdi, Guaka, Guidomac, Guidoz, Hellis, Iaga, Ilario, IronBishop, Kiam, Laurentius, Lilja, LkMsWb, LoRdHaCk, LoStrangolatore, Lucagiaca, Lucas, Luisa, Luke94, M7, MIX, MaEr, Marcok, Massic80, Mastazi, Mauro742, Max Rebus,Moongateclimber, Mrtb, Nitya Dharma, No2, Noiz, Patafisik, Phantomas, Pickblack, Pigr8, Piracmone, Ppalli, Pr, Probid, Punkettaro, Qualc1, Raffaespo, Ramac, Rdocb, Rikky, Rinoworld,Rollopack, Salvorapi, Sandcreek, Sante Caserio, Sassospicco, SbiellONE, Sbisolo, Seics, Seveso, Sevy, Siggy, Simone, Snake79, Snowdog, Square87, Suisui, SuperAlberT, Taueres, The Polish,Torsolo, Totosl85, Ttan, Valepert, VincenzoX, Vulkano, Webguide, Wikit2006, Wikivideo, Wizard95, Xoen, 201 Modifiche anonime

MySQL  Fonte: http://it.wikipedia.org/w/index.php?oldid=50778148  Autori:: .anaconda, 4ndr34, Abisys, Abyssadventurer, Airon90, Aka-Red, Ale-sandro, Alfo90, Alkalin, Alleborgo, Amux,Ask21, Avesan, Bob27, CavalloRazzo, Chpfeiffer, Cionfs, DanyUP, DonPaolo, Dread83, Dsmcg21, Elbloggers, Emme.pi.effe, Exorcist Z, Fale, Flea, Flyingstar16, Frack, Freepenguin, Frieda,Galessandroni, Gianluca Varisco, Gigaster, Gmaxia, Hashar, Hellis, Henrykus, Ignlig, Ilario, Iron Bishop, Iskander, Jacklab72, Lanciano, Laurentius, M7, Marco.tonchella, Marfio82, Mastazi,Maulattu, Maxgrante, Mbg, Mippo, Mkr77, Moloch981, Moongateclimber, Nanae, Nemo bis, Nihil, Orsogrigioita, Patrias, Pegasos2, Poweruser, Pr, Purodha, Qualc1, Raffaespo, Ramac,Ramatteo, Raysonho, Rollopack, Ryuujin, Salvatore Ingala, Sante Caserio, Sbisolo, Smart, Snowdog, Spinot, Suisui, SuperProf, Tomi, Valepert, Whiteillidan, metis02.abnamro.nl,pppfree166-90-bz.aknet.it, 101 Modifiche anonime

GNU General Public License  Fonte: http://it.wikipedia.org/w/index.php?oldid=50724456  Autori:: .anaconda, Airon90, Aka-Red, Alescan, Alexamici, Alfio, Alleborgo, Aubrey, Balabiot,Codicorumus, Dardy, Davide, Dbiagioli, Death reaper92, DispAcc01, Elbloggers, Elcaracol, Eumolpo, Fale, Fazen, Figiu, Gelma, Gmilza, Ilahiislamcansuhukumleri, Incola, Iron Bishop,Jacklab72, Lilja, Lornova, Marco Plassio, Marius, Misterhahn, Oberto.a, Palnatoke, Paulox, Phantomas, Pigr8, Plinsky, Pot, Pracchia-78, Rdocb, Rikynoize, RobertoITA, Rpinto, SabrinaSteriti,Sante Caserio, Senpai, Soniafanny80, Squale.lis, Square87, Tomi, Twice25, Valepert, Vlk4r0, Yerul, knight.polito.it, 38 Modifiche anonime

Open source  Fonte: http://it.wikipedia.org/w/index.php?oldid=50663229  Autori:: %Pier%, ...Angelita..., .anaconda, Abisys, Actarux, Airon90, Alfio, Alkalin, Amux, AnjaManix, Argento,Arturo.dicorinto, Ary29, AttoRenato, Aubrey, B3t, Balabiot, Balfabio, Balubino, BerserkerWelding, Bob4, Calabash, Calimbro, Cannarsi, ChemicalBit, Ciro07, Claudius18, D.tartari, Davide,DavideCrimi, Daĉjo, Dbiagioli, Dega180, DonPaolo, Eagleone, Elbloggers, Elitre, Etatoby, Fabio Vescarelli, Fidech, Francescost, Frankthequeen, Frieda, Gacio, Gawaine, GianoM, Giorgio,Gioscarab, Giovanni Bianco, Gmilza, Gnumarcoo, Guido Gonzato, Guidomac, Gvf, Hellis, Hill, Ilario, Ilbeppe, Ines, Iron Bishop, Jacopo, Jaqen, Kiado, Laurentius, Lornova, Luisa, Lupos, M7,MM, MaEr, Madaki, Marchack, Marchitelli, Marco Ciaramella, Marcok, Marius, Mark91, Markos1988, Mau db, Mikelima, Mion (riassegnato), Mizardellorsa, Moroboshi, Morph, Mtt,NardoilGagliardo, Nessuno, No2, Ostendali, Outer root, Paolosub, Paroledipolvere, Pavlo Shevelo, Phantomas, Phauly, Piracmone, Plinsky, Pracchia-78, Pspagnoletti, RIPPERO, Renato Caniatti,RobertoITA, Rollopack, Rpinto, Salvatore Ingala, Seics, Senet, Senpai, Senza nome.txt, Sesquipedale, Shivanarayana, Siggy, Snowdog, Sperimentatore, Swayer, Taueres, Tfederici, The Doc,Ticket 2010081310004741, Tomi, Turgon, Twice25, Valepert, Valhalla, Vituzzu, Wosp, Xeniun, Yerul, 155 Modifiche anonime

WordPress  Fonte: http://it.wikipedia.org/w/index.php?oldid=50779328  Autori:: Abisys, Agostini Andrea, Alessio Ganci, Alexamici, Alleborgo, Amusarra, Andrea AndMore, Andreacannella,Antonio De Gregoris, Arturo84, Ary29, Asdf1234, Avesan, Balos, Blaumeer, Brenzotto, Brownout, Buscemi giuseppe, C1p8, ComputerXtreme, DoB, Dommac, Drugonot, Elbloggers,Freepenguin, Hidaba, Jaqen, KC1975, Kiuz, LoStrangolatore, Massimiliano Lincetto, Mr Cloud, Neminis, Nemoprincess, Next, Nickee, Nicksoft, No2, Phantomas, Piergiorgio Massari, Pil56,Polina Bilokonna, Ppalli, Rutja76, Shaitan, Tecnomiky, Themfromspace, Tiziano90, Xabiov, 63 Modifiche anonime

Joomla!  Fonte: http://it.wikipedia.org/w/index.php?oldid=50778876  Autori:: %Pier%, Abisys, Acolleoni, Agostini Andrea, Airon90, Alessandrasia, Alessandro nadalin, Alex10, Alexander VIII,Alexred, Alfio, Amux, Andylong, Aracuano, Ary29, AttoRenato, Avesan, Biowep, Blefaro, Carlok, Cesarpe, Cinghie, Clamiax, Eberk89, Elbloggers, Ermanon, Ernesto Carbonera, Eumolpo,Fale, FiFFiO, Filnik, Fmoretto, Fmulas, Franganghi, Gac, Grigio60, Hellis, Ilario, Incola, Jacopo, Jalo, Kreatif, L736E, LoStrangolatore, Lucas, Lucio7100, Lusum, Marco De Angelis, Mark91,Massimo Petrossi, Mastazi, MaxDel, No2, Orric, Pazzotranquillo, Rchimenti, Rikky, Rojelio, Rutja76, Salvatore Ingala, Sbisolo, Shivanarayana, Sonagot, Spaceconte, Square87, Swedenfox, ThePolish, Ticket OTRS 2011102410007641, Tommaso Ferrara, Urbanuntil, Vituzzu, Voldemort87, Wiki.edoardo, 109 Modifiche anonime

Drupal  Fonte: http://it.wikipedia.org/w/index.php?oldid=50778398  Autori:: %Pier%, Abisys, Airon90, AlmAck, Amux, Andrea Messini, Argento, Avesan, Beetstra, Biasco, Blu3sman,CenturioST, Donmimisaggese, Dzag, Elbloggers, Elwikipedista, Elycas, Empu, Fale, GiaGar, Guidomac, H2o, Hadakaar, Ignlig, Kiuz, L736E, Laurentius, Lcm, Lgiove, LoStrangolatore, LucianoG. Calì, Marcuscalabresus, Morph, Nickanc, No2, Pauligree, Phantomas, Pinoloxx, Plommespiser, Psicomante, Rael, Ripepette, Romanc19s, Shaka, Sputnik77, Stefa.rossi, The Polish, Thepisu,Veneziano, 95 Modifiche anonime

phpBB  Fonte: http://it.wikipedia.org/w/index.php?oldid=50779004  Autori:: -Hyde-, .anaconda, Abisys, Ary29, Avesan, Barrnet, Biscionecanale5, Black Antitoon, ChemicalBit, DaveBlack,Developer, Dommac, Draughtsplayer, Drugonot, Ekerazha, Elbloggers, Encori, Fexys, Forumerc, Freepenguin, Ft1, Grifone87, Hellis, Incola, Jamj 68, Juanm, Lbreda, LoStrangolatore,Lordmark, Luckyluciano, Luke94, M7, Mess, Nettuno43, Phyk, Ppalli, Roberto.catini, Rocklion, Rollopack, Sannita, Satanasso, SkedO, Snowdog, SuperSecret, TekAndre, Tetrafarmakon,Thrantir, Ticket OTRS 2011102410007641, Valepert, XAnder, Xfire39, 73 Modifiche anonime

PHPNuke  Fonte: http://it.wikipedia.org/w/index.php?oldid=50782496  Autori:: Broc, GiuseppeCampisi, Johnlong, Matteoiamma, No2, Ssj5gabry, Umbertofiorelli, 5 Modifiche anonime

Lista di content management system  Fonte: http://it.wikipedia.org/w/index.php?oldid=50561238  Autori:: 13morris, Airon90, AlessioMela, Ary29, Balos, CavalloRazzo, Claude, Dr Zimbu,Farberking, Johnnie.maneiro, Marco Plassio, Massimo.termanini, Massimozanardi, Matteoiamma, Mennella, MichelangeloScotto, Miziodel, No2, Roberto.patumi, Robyquare, Roccobarbi,Rollopack, Rutja76, Tebaide, Ticket 2010081310004741, Vania Rupeni, Webiny, 65 Modifiche anonime

vBulletin  Fonte: http://it.wikipedia.org/w/index.php?oldid=50779858  Autori:: Abisys, Alessio Ganci, Arkantos01, Ary29, Avesan, Brownout, Cruccone, Danmartin, Elbloggers, Elitre,Eumolpo, Fir, Floppy, Forumerc, Hal8999, Kaspo, Leoman3000, LkMsWb, LoStrangolatore, Loris94, Mario9662, Mark91, No2, Omino di carta, Otrebla86, PIETRO95, Probid, Shíl,SuperSecret, Tia solzago, Vituzzu, 46 Modifiche anonime

Page 83: CMS per tutti. Content Managed System free

Fonti, licenze e autori delle immagini 81

Fonti, licenze e autori delle immaginiImmagine:Commons-logo.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Commons-logo.svg  Licenza: logo  Autori:: SVG version was created by User:Grunt and cleaned up by 3247,based on the earlier PNG version, created by Reidab.File:OpenOffice.org Writer.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:OpenOffice.org_Writer.png  Licenza: GNU Lesser General Public License  Autori:: http://hacktolive.org/File:Categorie software.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:Categorie_software.png  Licenza: GNU Free Documentation License  Autori:: Orso della campagnaFile:Wikimania stallman keynote2.jpg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Wikimania_stallman_keynote2.jpg  Licenza: Creative Commons Attribution-ShareAlike 3.0Unported  Autori:: User:ElyaImmagine:Wikisource-logo.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Wikisource-logo.svg  Licenza: logo  Autori:: Nicholas MoreauImmagine:Wikinews-logo.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Wikinews-logo.svg  Licenza: logo  Autori:: Vectorized by Simon 01:05, 2 August 2006 (UTC) Updated byTime3000 17 April 2007 to use official Wikinews colours and appear correctly on dark backgrounds. Originally uploaded by Simon.Immagine:Wikiquote-logo.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Wikiquote-logo.svg  Licenza: Public Domain  Autori:: -xfi-, Dbc334, Doodledoo, Elian, Guillom, Jeffq,Krinkle, Maderibeyza, Majorly, Nishkid64, RedCoat, Rei-artur, Rocket000, 11 Modifiche anonimeFile:PHP-logo.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:PHP-logo.svg  Licenza: Public Domain  Autori:: Biktora, ChealerImmagine:Wikibooks-logo.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Wikibooks-logo.svg  Licenza: logo  Autori:: User:Bastique, User:Ramac et al.Immagine:Wikiversity-logo-It.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Wikiversity-logo-It.svg  Licenza: sconosciuto  Autori:: -File:Mysql-hires.gif  Fonte: http://it.wikipedia.org/w/index.php?title=File:Mysql-hires.gif  Licenza: Free Art License  Autori:: MySQL AB, 2008-2009 Sun Microsystems, Inc.Immagine:php myAdmin.jpg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Php_myAdmin.jpg  Licenza: sconosciuto  Autori:: Utente:Dsmcg21File:Gpl-v3-logo.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Gpl-v3-logo.svg  Licenza: Attribution  Autori:: Copyright © 2007, 2008 Free Software Foundation, Inc., 51 FranklinSt, Fifth Floor, Boston, MA 02110-1301, USAFile:Richard Stallman speaking at Wikimania 2005-08-07.jpg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Richard_Stallman_speaking_at_Wikimania_2005-08-07.jpg  Licenza:sconosciuto  Autori:: Chris McKenna (User:Thryduulf)File:Eben_Moglen,_2010-08-05.jpg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Eben_Moglen,_2010-08-05.jpg  Licenza: Public Domain  Autori:: KaroraFile:Copyleft.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Copyleft.svg  Licenza: Public Domain  Autori:: Zscout370File:Quick-guide-gplv3-compatibility.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Quick-guide-gplv3-compatibility.svg  Licenza: Creative Commons Attribution-Sharealike 3.0 Autori:: A.hawrylyshen (talk). Original uploader was A.hawrylyshen at en.wikipedia. Later version(s) were uploaded by Samuell at en.wikipedia.File:Linus Torvalds talking.jpeg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Linus_Torvalds_talking.jpeg  Licenza: GNU Free Documentation License  Autori:: kuvaajaFile:Wordpress-logo.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:Wordpress-logo.png  Licenza: GNU General Public License  Autori:: WordPressFile:Screenshot-A WordPress Weblog with TwentyTen in Epiphany.png  Fonte:http://it.wikipedia.org/w/index.php?title=File:Screenshot-A_WordPress_Weblog_with_TwentyTen_in_Epiphany.png  Licenza: GNU General Public License  Autori:: User:Uusijani (screenshot),WordPress.org (design)File:WordPress Administration 2.8.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:WordPress_Administration_2.8.png  Licenza: GNU General Public License  Autori:: Originaluploader was Hayfordoleary at en.wikipedia. Later version(s) were uploaded by Jleuze, Twiin, Clpo13 at en.wikipedia.File:Joomla1.5-it.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:Joomla1.5-it.png  Licenza: GNU General Public License  Autori:: Joomla! Core TeamFile:Joomla 1.6 backend.jpg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Joomla_1.6_backend.jpg  Licenza: Public Domain  Autori:: Lucio7100File:Joomla Logo Horz Color.gif  Fonte: http://it.wikipedia.org/w/index.php?title=File:Joomla_Logo_Horz_Color.gif  Licenza: sconosciuto  Autori:: Acolleoni, Trixt, Valepert, 1 ModificheanonimeFile:Druplicon.vector.svg  Fonte: http://it.wikipedia.org/w/index.php?title=File:Druplicon.vector.svg  Licenza: GNU General Public License  Autori:: Steven Wittens aka UnConeDhttp://acko.net/ http://drupal.org/user/10File:Drupal 7 screenshot.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:Drupal_7_screenshot.png  Licenza: GNU General Public License  Autori:: User:Plommespiser,User:Plommespiser, User:Plommespiser, User:PlommespiserFile:Phpbb3 logo.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:Phpbb3_logo.png  Licenza: GNU General Public License  Autori:: Jusjih, LEW21, The wub, WikipediaMaster, ÖFile:PhpBB 3.0.RC1 with prosilver.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:PhpBB_3.0.RC1_with_prosilver.png  Licenza: sconosciuto  Autori:: User:LateinerImmagine:logovbulletin.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:Logovbulletin.png  Licenza: sconosciuto  Autori:: PIETRO95Immagine:VBulletin 4.0.0 Gold.png  Fonte: http://it.wikipedia.org/w/index.php?title=File:VBulletin_4.0.0_Gold.png  Licenza: sconosciuto  Autori:: PIETRO95

Page 84: CMS per tutti. Content Managed System free

Licenza 82

LicenzaCreative Commons Attribution-Share Alike 3.0 Unported//creativecommons.org/licenses/by-sa/3.0/