In informatica, il termine inglese open source (che significa sorgente aperta) indica un software di cui gli autori (più precisamente, i detentori dei diritti) rendono pubblico il codice sorgente, favorendone il libero studio e permettendo a programmatori indipendenti di apportarvi modifiche ed estensioni. Questa possibilità è regolata tramite l'applicazione di apposite licenze d'uso. Il fenomeno ha tratto grande beneficio da Internet, perché esso permette a programmatori distanti di coordinarsi e lavorare allo stesso progetto.

 
Mantenere il controllo del software

Il software Open source fornisce il controllo sul codice sorgente. Il diritto di modificarlo per adattarlo alle proprie esigenze e budget. Al contrario del software proprietario, dove il fornitore controlla il software, gli aggiornamenti e il budget necessario.

 
Evitare l'"ingabbiamento" da fornitore

Il disappunto e l'insoddisfazione con il supporto da parte dei fornitori è una realtà con la quale ogni IT manager fa i conti. L'impossibilità di personalizzare in certi aspetti il software per soddisfare taluni requisiti aumenta la frustrazione. L'Open source garantisce la libertà di scegliere il fornitore.

 
Costo di possesso minore

Non esistono costi di licenza per il software open source, riducendo i canoni di licenza annuale a zero. Non c'è nessun costo per scalare, perché il software open source non richiede "licenze aggiuntive". L'unica spesa è in termini di supporto per assicurare l'affidabilità, con una riduzione di costi che può raggiungere anche l'80%

 
Maggiore qualità e sicurezza

Il software open source è disponibile a tutti. Un grande numero di sviluppatori conseguentemente contribuisce ad analizzare il codice rendendolo più sicuro e aumentandone costantemente la qualità. Lo sviluppo guidato dagli utenti garantisce eccellenza funzionale.

 
Continuità

E' possibile che una azienda di software proprietario chiuda o decida di interrompere lo sviluppo di un prodotto. Con essa se ne va il supporto ed il futuro sviluppo del software. L' open source non dipende da una singola entità e fornisce agli utenti il vantaggio della comunità. Qualsiasi sviluppatore può decidere di prendere il software e continuare da dove si è interrotto.

Open source in Pubblica Amministrazione

Recentemente, con la legge n. 134 del 7 agosto 2012 (di conversione con modifiche del decreto legge n. 83 del 22 giugno 2012 sulle modifiche urgenti per la crescita del Paese) è stata apportata una significativa modifica all'art. 68 del CAD (Codice della Amministrazione Digitale).

L’acquisizione di software libero o a codice sorgente aperto (o il ricorso a soluzione già sviluppate all’interno della P.A.) è divenuta la regola, mentre l’acquisizione di software di tipo proprietario mediante licenza d’uso costituisce ora l’eccezione.

Adesso l’art. 68 CAD stabilisce che:

le pubbliche amministrazioni prima di procedere all’acquisto, secondo le procedure di cui al codice di cui al decreto legislativo 12 aprile 2006, n. 163, effettuano una valutazione comparativa delle diverse soluzioni disponibili sulla base dei seguenti criteri:

a) costo complessivo del programma o soluzione quale costo di acquisto, di implementazione, di mantenimento e supporto;

b) livello di utilizzo di formati di dati e di interfacce di tipo aperto nonché di standard in grado di assicurare l’interoperabilità e la cooperazione applicativa tra i diversi sistemi informatici della pubblica amministrazione;

c) garanzie del fornitore in materia di livelli di sicurezza, conformità alla normativa in materia di protezione dei dati personali, livelli di servizio tenuto conto della tipologia di software acquisito.

1-ter. Ove dalla valutazione comparativa di tipo tecnico ed economico, secondo i criteri di cui al comma 1-bis, risulti motivatamente l’impossibilita’ di accedere a soluzioni gia’ disponibili all’interno della pubblica amministrazione, o a software liberi o a codici sorgente aperto, adeguati alle esigenze da soddisfare, e’ consentita l’acquisizione di programmi informatici di tipo proprietario mediante ricorso a licenza d’uso. La valutazione di cui al presente comma e’ effettuata secondo le modalita’ e i criteri definiti dall’Agenzia per l’Italia Digitale, che, a richiesta di soggetti interessati, esprime altresi’ parere circa il loro rispetto.

 

eZ debug

Clear cache:

Quick settings:

Timing: Sep 27 2020 08:04:54
Script start
Timing: Sep 27 2020 08:04:54
Module start 'content'
Timing: Sep 27 2020 08:04:54
Module end 'content'
Timing: Sep 27 2020 08:04:54
Script end

Main resources:

Total runtime0.6575 sec
Peak memory usage42,496.0000 KB
Database Queries394

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0099 5,967.39842,713.6328
Module start 'content' 0.00990.4775 8,681.031327,492.3828
Module end 'content' 0.48740.1700 36,173.41414,572.7578
Script end 0.6574  40,746.1719 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00450.6912270.0002
Check MTime0.00090.1326270.0000
Mysql Total
Database connection0.00020.026210.0002
Mysqli_queries0.069710.59453940.0002
Looping result0.00350.53303940.0000
TS translator
TS init0.368856.092810.3688
TS load0.367955.9563100.0368
Template Total0.271841.330.0906
Template load0.02804.259130.0093
String conversion in template resource0.00040.0585240.0000
Template parser: create text elements0.00831.2667240.0003
Template parser: remove whitespace0.00170.2600240.0001
Template parser: construct tree0.02894.3911240.0012
Template load and register function0.00370.565890.0004
Template processing0.243837.074930.0813
states
state_id_array0.00020.023010.0002
state_identifier_array0.00030.047920.0002
Override
Cache load0.01732.6327710.0002
Sytem overhead
Fetch class attribute name0.00150.235420.0008
Fetch class attribute can translate value0.00110.161080.0001
class_abstraction
Instantiating content class attribute0.00000.002920.0000
XML
Image XML parsing0.00340.524780.0004
General
dbfile0.00060.0861370.0000
String conversion0.065910.0224247810.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/info_page.tplextension/ezabd/design/unify/override/templates/full/info_page.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>design/standard/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
2content/datatype/view/ezxmltags/strong.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/strong.tplEdit templateOverride template
1content/datatype/view/ezxmltags/link.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
14content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezabd/design/ezabd/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
10content/datatype/view/ezxmltags/td.tpl<No override>extension/ezabd/design/ezabd/templates/content/datatype/view/ezxmltags/td.tplEdit templateOverride template
5content/datatype/view/ezxmltags/header.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/header.tplEdit templateOverride template
5content/datatype/view/ezxmltags/tr.tpl<No override>extension/ezabd/design/ezabd/templates/content/datatype/view/ezxmltags/tr.tplEdit templateOverride template
1content/datatype/view/ezxmltags/table.tpl<No override>extension/ezabd/design/ezabd/templates/content/datatype/view/ezxmltags/table.tplEdit templateOverride template
4content/datatype/view/ezxmltags/underline.tpl<No override>extension/ezoe/design/standard/templates/content/datatype/view/ezxmltags/underline.tplEdit templateOverride template
6content/datatype/view/ezxmltags/emphasize.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/emphasize.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/ezabd/design/unify/templates/pagelayout.tplEdit templateOverride template
1page_head.tpl<No override>extension/ezabd/design/unify/templates/page_head.tplEdit templateOverride template
1page_head_style.tpl<No override>extension/ezabd/design/unify/templates/page_head_style.tplEdit templateOverride template
1page_header.tpl<No override>extension/ezabd/design/unify/templates/page_header.tplEdit templateOverride template
1page_topmenu.tpl<No override>extension/ezabd/design/unify/templates/page_topmenu.tplEdit templateOverride template
1page_mainarea.tpl<No override>extension/ezabd/design/unify/templates/page_mainarea.tplEdit templateOverride template
1page_warning.tpl<No override>design/standard/templates/page_warning.tplEdit templateOverride template
1page_toppath.tpl<No override>extension/ezabd/design/unify/templates/page_toppath.tplEdit templateOverride template
1page_footer.tpl<No override>extension/ezabd/design/unify/templates/page_footer.tplEdit templateOverride template
1page_head_script.tpl<No override>extension/ezabd/design/unify/templates/page_head_script.tplEdit templateOverride template
1setup/debug_toolbar.tpl<No override>design/standard/templates/setup/debug_toolbar.tplEdit templateOverride template
1setup/clear_cache.tpl<No override>design/standard/templates/setup/clear_cache.tplEdit templateOverride template
1setup/quick_settings.tpl<No override>design/standard/templates/setup/quick_settings.tplEdit templateOverride template
 Number of times templates used: 64
 Number of unique templates used: 24

Time used to render debug report: 0.0003 secs