Documentazione di FreeSIS: Sistema Italiano Scrutini¶
FreeSIS è una applicazione online per la gestione scolastica.
Il software fornisce una anagrafica studenti, creazione classi, gestione voti e assenze, strumenti per gli scrutini e uno storico consultabile delle carriere scolastiche.
L’applicazione è scritta in Python e dispone di una interfaccia web di gestione implementata usando Django.
FreeSIS è software libero rilasciato sotto licenza GPL v3.
Il codice sorgente è presente in https://bitbucket.org/frankban/freesis
Contenuti:
Changelog¶
Sono di seguito elencati i cambiamenti e bugfix apportati nelle nuove versioni di FreeSIS.
Versione 0.8¶
- Risolto un bug nella gestione della cache Python che provocava un errore 404 inatteso nella pagina dettaglio membership.
- Corretto un errore di battitura nel pdf della pagella.
- Aggiunto, nella pagella, lo spazio dedicato al genitore.
Versione 0.7¶
- Sistemazione voti non numerici per le materie che li prevedono. Aggiunta la dicitura NA per le materie facoltative.
- L’assenza di voto nei vari report PDF è ora indicata con la dicitura NC.
- Il tabellone PDF che riassume lo scrutinio di una classe è ora visualizzato con layout A3 orizzontale, in modo che siano visibili i nomi di tutte le materie.
- Esplicitate le zero ore di assenza.
- Introdotta la possibilità di assegnare il controllo degli scrutini a utenti coordinatori per determinati corsi (row level permissions). I corsi possono essere selezionati dall’amministrazione utente sotto la voce Coordinamento Corsi.
- Aggiunti all’anagrafica studente i campi: - luogo di nascita - provincia o stato estero - registro generale
- Aggiunta la possibilità di inserire informazioni relative alla scuola. E’ possibile farlo utilizzando la sezione amministrazione/siti all’interno dell’admin di FreeSIS. Tali informazioni compariranno nel report pdf della pagella.
- Risolto un problema di codifica dei caratteri non ASCII (tipo accentate) nella generazione dei report pdf. Ora i pdf utilizzano utf-8.
- Implementato il report pdf della pagella durante gli scrutini.
Installazione¶
Le istruzioni per l’installazione si riferiscono alla messa online di FreeSIS su una macchina Debian GNU/Linux. Gran parte della procedura è comunque valida per ogni sistema UNIX Like.
Requisiti¶
Python | >= 2.5 |
Django | >= 1.3 |
jQuery | >= 1.6 |
MySQL | >= 5.1 |
Preparazione¶
L’applicazione può essere messa online usando Apache + mod_wsgi + MySQL:
# apt-get install libapache2-mod-wsgi mysql-server libmysqlclient-dev
Generalmente è consigliabile non lanciare i worker wsgi come utente root. Sarà dunque necessario creare un nuovo utente che qui, arbitrariamente, chiamiamo django:
# adduser django
Di seguito, nella documentazione, i comandi da terminale da lanciare come root saranno preceduti dal simbolo # mentre i comandi da lanciare come utente django saranno preceduti dal simbolo $.
Virtual environment¶
Virtualenv permette di isolare applicazioni Python che risiedono su un server in comune e che necessitano di diverse librerie e di diverse versioni delle librerie stesse.
Questa documentazione suggerisce dunque la messa online di FreeSIS con l’ausilio di virtualenv.
Prima di tutto occorre installare i tools necesari:
# apt-get install python-setuptools python-dev libjpeg8-dev zlib1g-dev
# easy_install pip
# pip install virtualenv
E’ possibile a questo punto creare l’ambiente virtuale per FreeSIS lanciando il seguente comando all’interno dello home directory di django:
$ virtualenv --no-site-packages freesis
Nel comando precedente, freesis è il nome della directory che conterrà il virtualenv, ed è completamente arbitrario. Nel caso sia necessario installare più istanze di FreeSIS dovranno essere creati più virtualenv (esempio: freesis_ipsia, freesis_itis). Ovviamente occorre poi effettuare i passi successivi sostituendo alla directory freesis quella effettivamente creata.
Repository¶
L’installazione di FreeSIS avviene usando il repository mercurial messo a disposizione.
Per clonare il repository è necessario in primo luogo installare mercurial sulla macchina server:
# pip install mercurial
E’ possibile a questo punto, come utente django, ottenere i sorgenti di FreeSIS clonando il repository all’interno dell’ambiente virtuale:
$ cd ~/freesis/
$ hg clone https://bitbucket.org/frankban/freesis src
Dipendenze¶
All’interno dell’ambiente virtuale è necessario installare tutte le librerie Python dalle quali FreeSIS dipende:
$ cd ~/freesis/
$ source bin/activate
$ pip install -r src/requirements/1_base.pip
$ pip install -r src/requirements/2_extapps.pip
$ pip install -r src/requirements/3_apps.pip
Database¶
All’interno della shell mysql creare il database per FreeSIS e l’utente mysql che sarà usato per la connessione:
CREATE DATABASE freesis CHARACTER SET utf8;
CREATE USER 'freesis'@'localhost' IDENTIFIED BY 'MYPASSWORD';
GRANT ALL PRIVILEGES ON freesis.* TO 'freesis'@'localhost' WITH GRANT OPTION;
Occorre ora gestire il file di configurazione di FreeSIS:
$ cp ~/freesis/src/myproject/settings_production.py ~/freesis/src/myproject/settings.py
Editare il file inserendo i parametri corretti per la connessione a MySQL.
E’ possibile a questo punto creare la struttura del database FreeSIS:
$ cd ~/freesis/
$ source bin/activate
$ python src/myproject/manage.py syncdb
L’ultimo comando creerà le tabelle e permetterà anche di fornire le credenziali per l’utente amministratore dell’applicazione.
E’ necessario anche collezionare i file statici in un unico posto, in modo che vengano serviti facilmente dal media server (in questo caso è sempre Apache):
$ python src/myproject/manage.py collectstatic
Non rimane altro che configurare il web server.
Web server¶
Il framework Django supporta una grande varietà di application server e di web server. In questa guida prenderemo in esame l’accoppiata Apache + mod_wsgi.
All’interno del progetto è disponibile un esempio di configurazione di Apache che è possibile utilizzare:
# cp /home/django/freesis/src/apache.example /etc/apache2/sites-available/freesis
A questo punto modificare il file /etc/apache2/sites-available/freesis sostituendo le occorrenze di mysite.it con il dominio reale del sito.
Ricordarsi di cambiare anche la path dello script WSGI e le varie path ai file statici nel caso si sia creato un virtualenv con un nome diverso da freesis.
Ora è solo necessario abilitare il sito e riavviare apache:
# a2ensite freesis
# /etc/init.d/apache2 reload
Organizzazione delle informazioni¶
Questa guida vuole essere una panoramica generale sulle funzionalità del software. Per una documentazione analitica delle varie funzioni dell’applicativo andare nell’apposito documento.
Amministrazione¶
Gruppi
Questa sezione del gestionale permette di organizzare la propria struttura scolastica in gruppi ossia insiemi di persone raggruppabili per caratteristiche simili. All’interno di una scuola possono esserci diverse competenze che avranno diversi privilegi di accesso al software, ad esempio i gruppi “Docenti” e “Segreteria”. Le persone incaricate alla compilazione di questo gestionale quindi, potranno assegnare i permessi in base al gruppo in esame. I permessi come dice la parola stessa non sono altro che le funzionalità attive utente per Utente. Questo sistema rende più gestibili le funzionalità assegnate prevedendo ed eliminando alla base il rischio di compromissione dei dati contenuti in FreeSIS.
Utenti
Agli amministratori o super utenti è dato di poter Aggiungere un Utente. Dalla pagina iniziale, aprendo la tendina della voce Amministrazione si può cliccare sul link +Aggiungi a fianco della categoria Utenti e si procede con l’inserimento. La pagina Utenti, si presenterà con 6 label (etichette) grige ognuna delle quali contenente la descrizione in alto a sinistra: Infomarzioni personali, Permessi, Date importanti, Gruppi e Profili. La prima, come dice la descrizione stessa contiene le informazioni anagrafiche. I Permessi invece evideziano quali sono le funzionaità assegnate al docente. Tuttavia è consigliabile non usare questa funzionalità ma è preferibile assegnare l’Utente a un Gruppo. Le date segnalano l’ora e il giorno in cui è stata effettuata l’ultima modifica alla scheda. I Gruppi segnalano in quale gruppo o gruppi l’utente è stato inserito. In fondo alla pagina c’è la voce Profilo, qui sono presenti due tabelle: Materie e Corsi. La prima determina le materie assegnate, la seconda i corsi. In entrambi i casi l’assegnazione si effettua con un seplice doppio clic, evidenziando le materie o i corsi e cliccando poi sulle frecce al centro della tabella, selezionando così le materie ed i corsi di sua competenza ad un dato docente. Questo comportamento è valido in tutti i form a select doppio presenti nel software.
Gli Utenti invece potranno accedere al loro gestionale attraverso il link che gli verrà fornito loggandosi con i dati a loro assegnati: nome_utente e password. I docenti a differenza degli amministratori o superutenti avranno permessi minori e i loro gestionale sarà più snello ed esclusivamente costituito dai Corsi di studio a loro attribuiti. Il gestionale Docenti ha come unica voce “I miei corsi” all’interno della quale saranno inserite, sempre a monte dall’amministrazione, le classi seguite dall’insegnante. Navigare in queste informazioni è agevole: i nomi delle classi sono evidenziati con un colore diverso rispetto al testo non attivo; questi link apriranno così una sotto-sezione dedicata alla classe stessa contenente in una tabella i nomi di tutti gli alunni iscritti alla sezione, le tipologie i voto suddivise in colonne, le assenze e le Note (annotazioni). Questa tabella è preceduta da alcune informazioni fondamentali per il professore: la materia in questione, il nome del docente, il periodo di studi e quanto tempo manca prima dello scrutinio per effettuare le modfiche alle votazioni, Questi sono tutti dati generati automaticamente in base ai valori e alle infrazioni inserite nel pannello generale dall’amministrazione. Una volta completata la tabella con tutti i dati, è possibile poi scaricare il file in formato .pdf o .csv.
Corsi¶
In FreeSis per identificare un anno scolastico e un corso di studi vengono definite varie entità:
Anni¶
Gli “anni” corrispondono agli anni scolastici e vanno suddivisi per periodi temporali definibili da una data di inizio e una di fine. Sono contenitori di porzioni di tempo nelle quali è divisibile un anno scolastico (trimestri o quadrimestri o altre suddivisioni). All’interno di un “anno” va stabilito anche se il periodo definito prevede o meno il voto unico.
Sezione¶
La sezione rispecchia la realtà scolastica identificando all’interno della stessa annualità ordinale (1 - 5). E’ possibile scegliere anche l’area (indirizzo) per differenziare ulteriormente l’annualità.
Classe¶
In FreeSis la classe è l’accoppiata Sezione-Annualità che definisce una classe vera e propria. Quindi in FreeSis “C” identifica una sezione, “Programmatori” identifica un’area, “3” identifica una annualità e “3 C Programmatori” identifica una Classe.
Materie¶
In FreeSis una materia oltre ad avere un nome, ha anche un ordine. Questo numero consentirà di avere un ordinamento in sede di compilazione delle griglie delle votazioni, permettendo di inserire alcune materie nelle prime posizioni e altre in fondo. E’ inoltre possibile scegliere se la materia ha un voto numerico, se essa è facoltativa, se concorre alla media e infine se è di tipo “condotta”. Nel caso di voto non numerico da anche la possibilità di scegliere i tipi di voto disponibili.
Corso¶
In FreeSis il corso è l’unione fra Classe - Anno - Materie. Dove Classe, Anno e Materia sono quelli definiti precedentemente. Il Corso quindi è un periodo univoco che genererà solamente uno scrutinio. Esempio di corso: “Secondo quadrimestre dell’anno scolastico 2013-2014 per la Classe 3 C Programmatori comprendente Matematica, Italiano, Storia, Lingua straniera, Fisica, Latino, Filosofia, Educazione Fisica, Religione”. La scelta delle materie è fondamentale per identificarle all’interno dell’accoppiata Classe - Anno.
Iscrizioni¶
Iscrizioni¶
Questa voce rappresenta un riepilogo delle iscrizioni degli Studenti effettuate ad un determinato corso e classe di studi. L’inserimento di nuovi studenti all’interno della categoria Iscrizioni è gestito dalla funzione successiva “Studenti”. Nonostante sia presente all’interno della pagina un pulsante “+Aggiungi Iscrizione” questo rimanderà poi all’admin studenti. Pur essendo solo un riepilogo, all’interno della tabella presente in questa pagina è possibile navigare all’interno delle informazioni degli studenti.
Studenti¶
Uno studente è identificato dai campi anagrafici inseriti o importati da OpenSISSI. Una Iscrizione è una corrispondenza Studente-Corso. Inserire un nuovo Studente è molto semplice: partendo dalla Pagina Inziale, si clicca sulla voce Studenti accedendo così alla pagina dedicata. In alto a destra è presente il pulsante “+ Aggiungi Studente”, qui è possibile inserire Nome, Cognome (campi questi obbligatori segnalati dall’uso del grassetto), l’indirizzo mail qualora presente, indirizzo, telefono, data di nascita e codice fiscale. Una volta completata la registrazione è necessario salvare e per farlo ci sono due modi: il primo prevede la necessità di inserire un ulteriore studente quindi, per non dover ripercorre tutto il procedimento basterà cliccare sul pulsante in basso a destra “Salva e continua le modifiche” oppure in calce alla tabella completata con i dati degli studenti viene riportata la voce di salvataggio linkata “Aggiungi un/a altro/a iscrizione”, semplice riconoscerla in quanto colorata diversamente rispetto al resto del testo. Altrimenti, se l’inserimento delle iscrizioni è completato, cliccando sulla voce in basso a destra “Salva” il programma ritornerà alla tabella iniziale.
Valutazione¶
Tipi di voto¶
Come per le altre diciture, l’inserimento dei “Tipi di voto” consiste nell’utilizzo del pulsante in alto a destra, “Aggiungi”. In questo caso l’utente dovrà inserire la tipologia di voto utilizzata all’interno della propria struttura scolastica ad esempio “Orale” “Scritto” “Pratico”. Sarà possibile modificare la descrizione della tipologia di voto in ogni momento cliccando direttamente sul nome inserito.
Voti Assenze Note¶
Queste interfacce sono ad esclusivo appannaggio degli amministratori e degli sviluppatori del software e non vanno utilizzate per la modifica. Le suddette interfacce dovrebbero essere gestite all’interno della voce I miei corsi.
I miei corsi¶
Questa sezione rappresenta il fulcro dell’attività del docente all’interno di questo programma gestionale, in quanto qui vengono gestite le materie, i corsi di studio, le classi, i voti, le assenze e le varie annotazioni. Come detto in precedenza, la voce “Utenti” all’interno di FreeSIS è sinonimo di “Docenti”.
Scrutini¶
E’ possibile procedere allo scrutinio di un corso (Classe - Anno - Materie), solo quando il sistema lo permette. Ovvero quando le date impostate per gli scrutini nella sezione admin coincidono con quelle del server nel momento in cui si vuole accedere allo scrutinio corrispondente. Una volta scelto il corso si accede ad una griglia contenente gli studenti, le materie e i voti che ciascun insegnante ha inserito nella sezione “i miei corsi”. La modifica o la conferma dei voti è affrontabile “per studente”. Una volta cliccato sullo studente si procederà alla discussione e alla conferma o modifica dei voti. La modifica delle ore di assenza non è prevista in quanto non dovrebbero essere oggetto di modifica o di discussione. Una volta analizzata la situazione dello studente ed eventualmente apportate tutte le modifiche del caso, si salverà la pagina e si tornerà alla griglia con gli altri studenti da analizzare.
Documenti¶
Il software FreeSIS prevede la possibilità di caricare dei files ad uso degli utenti, per poter allegare eventuale documentazione accessoria non prevista dal programma. L’uso di questo sistema documentale è molto semplice. Nella apposita sezione si sceglie + Aggiungi documento e si procede con la scelta del file mediante il pulsante sfoglia. Si aggiunge una descrizione facoltativa, ma caldamente consigliata e si assegna al corso al quale lo si vuole, eventualmente, collegare. Ogni file caricato è associato ad un Utente, pertanto c’è anche la possibilità che questi file siano privati. Viceversa essi saranno visualizzafili da tutti gli utenti. In ogni modo il superutente del software può visualizzare anche i file privati degli utenti. Nella schermata precedente, con la consueta visualizzazione a griglia, verranno mostrati tutti i file caricati.
Pannello di controllo¶
Il pannello di controllo o pannello di amministrazione è strutturato in 2 parti ben distinte:
La parte superiore
La parte superiore, presente in ogni sottopagina del pannello di controllo fornisce informazioni sull’utente attualmente loggato (nella parte destra) e il percorso nel quale ci si trova, con possibilità di tornare indietro fino alla pagina iniziale (parte sinistra) cliccando semplicemente sulle voci che compaiono seguite o precedute da “>”.
La sezione centrale
La sezione centrale presenta delle voci che sono subordinate ai permessi che sono stati assegnati a ogni utente o gruppo, quindi non tutti gli utenti potranno accedere alle voci che verranno spiegate in questo file documentale.
La voce Amministrazione, collassabile, da accesso alla modifica di utenti e gruppi. Questo software con la dicitura Utenti intende i “docenti” titolari di una materia. Entrando nella pagina Utenti si accede alla pagina di modifica degli utenti registrati. La visualizzazione è quella standard a griglia, presente in tutte le pagine del pannello di amministrazione. Questo software condivide il più possibile le stesse sezioni e gli stessi elementi grafici. Pertanto una volta acquisite le informazioni sul comportamento di un filtro o di un pulsante, ritroveremo il medesimo comportamento anche nelle altre pagine e sezioni del pannello. In questa pagina ci troviamo di fronte alla griglia degli utenti con possibilità di ricerca, aggiunta, cancellazione, filtro e ordinamento. Ogni riga della griglia (chiamata anche record) può essere selezionata con il checkbox della prima colonna, per procedere alla sua cancellazione. Una volta selezionati i record che si instendono cancellare si deve operare sul select in basso nella parte nera. L’inserimento di un nuovo utente avviene cliccando sull’apposito pulsante posto in alto a destra. Ogni lista di record è ordinabile cliccando sull’intestazione della colonna relativa. I filtri in alto a destra permettono di scremare la lista per parametri.
Cliccando sul nome utente si accede alla schermata di modifica dell’utente. In questa pagina è possibile modificare tutti i dati di un utente, tranne che la sua password, per la quale occorre accedere alla pagina specifica mediante l’uso del link maschera di cambio password.
Aggiungere contenuti¶
Come per tutte le voci presenti nella “Pagina Iniziale” ci sono due modi per apportare modifiche ad una sottosezione: una lunga e una abbreviata. La lunga prevede l’ingresso all’interno della sottosezione stessa e procedere quindi con l’aggiunta di Studenti Tipi di voto Sezioni etc. attraverso l’apposito pulsante in alto a destra che riporta la dicitura + Aggiungi xxx oppure la scorciatoia consiste nell’aggiungere le categorie dalla Pagina Iniziale stessa. Infatti ogni sottosezione è corredata di due link: Aggiungi Modifica cliccando direttamente su questi due link si salta un passaggio arrivando direttamente all’azione stessa. Aggiungi presenta direttamente i campi deputati all’inserimento, mentre Modifica è una ridondanza del link stesso.
Come detto in precedenza, la caratteristica che facilità l’usabilità di questo software sta nel condividere la maggior parte degli aspetti grafici e funzionali in tutte le sue parti, per tanto, in ogni tabella, pagina e funzione ritroveremo gli stessi elementi operativi: in alto a destra l’Aggiunta*di nuovi contenuti, in basso a destra le *funzioni di salvataggio, in basso a sinistra ci sono le azioni legate e subordinate all’utilizzo della spunta delle Checkbox.
I miei corsi¶
Questa è la vera interfaccia per i docenti. Una volta impostati gli Utenti con l’assegnazione delle materie e dei corsi, i docenti potranno loggarsi al sistema ed accedere a questa sezione dove potranno in un’unica interfaccia inserire voti, assenze e note per ogni studente. La modifica dei voti sarà possibile solo fino all’apertura degli scrutini di quel periodo. La griglia con i voti resterà come storico nel database del programma per consultazioni future.
Azioni recenti¶
Questo box, incluso nella pagina iniziale di FreeSIS è il riassunto di tutte le ultime azioni effettuate dall’utente che sta operando in quel dato momento ai contenuti del gestionale. In ogni momento è possibile risalire all’ultima azione effettuata.
Storia¶
Questo pulsante, inserito in alto a destra in alcune pagine, svolge una funzione simile alla voce Storia, infatti anche in questo caso è possibile visualizzare tutto lo storico delle azioni compute all’interno del gestionale.
Relazione tecnica¶
Informazioni generali¶
La scuola I.I.S “Allievi – Pertini” Terni ha richiesto che venga progettato e sviluppato un sistema di gestione informatizzata degli scrutini. Il software doveva gestire l’anagrafica studenti e insegnanti oltre che la gestione dei voti, delle assenze, dei crediti scolastici. Doveva prevedere l’integrazione con il sistema SISSI e/o OpenSISSI e la gestione della carriera scolastica degli studenti. L’applicazione doveva essere utilizzabile in un contesto client/server accessibile mediante la rete internet attraverso un sistema di autenticazione a livelli. Il software doveva essere rilasciato con licenza open source. Il Terni GNU/LUG, incaricato del lavoro ha selezionato Francesco Banconi e Daniele Minciaroni per la realizzazione del progetto.
Analisi delle specifiche¶
Una volta alanizzate le specifiche si è scelto di utilizzare una piattaforma che preveda l’uso esclusivo di software open source. Nello specifico il software è stato realizzato con il linguaggio di programmazione Python. Python è un linguaggio di programmazione ad alto livello, orientato agli oggetti, adatto, tra gli altri usi, per sviluppare applicazioni distribuite, scripting, computazione numerica e system testing. Python è un linguaggio multi-paradigma, che fa della dinamicità, semplicità e flessibilità i suoi principali obiettivi. Supporta il paradigma object oriented, la programmazione strutturata e molte caratteristiche di programmazione funzionale e riflessione. Spesso è classificato come linguaggio di scripting, ma pur essendo utile per scrivere script di sistema (in alternativa ad esempio a bash), la grande quantità di librerie disponibili e la facilità con cui questo linguaggio permette di scrivere software modulare favoriscono anche lo sviluppo di applicazioni molto complesse. Al linguaggio Python abbiamo associato il framework di sviluppo: Django. Django è un framework open source per lo sviluppo di applicazioni web, scritto in linguaggio Python, seguendo il pattern Model-View-Controller. Venne concepito inizialmente per gestire diversi siti di notizie per la World Company di Lawrence (Kansas). Django fornisce un certo numero di funzionalità che facilitano lo sviluppo rapido di applicazioni per la gestione di contenuti. Per esempio, invece che richiedere sviluppatori per la realizzazione di controllers e views per aree di amministrazione di un sito, Django fornisce una soluzione integrata di amministrazione dei contenuti che può essere inclusa come parte di ogni sito basato su Django e che può gestire molti siti Django da una unica installazione. Infine come ultimo elemento di programmazione è stato scelto jQuery. jQuery è una libreria di funzioni per le pagine web, codificata in javascript, che si propone come obiettivo quello di astrarre ad un livello più alto la programmazione lato client del comportamento di ogni singola pagina HTML.
Gli ultimi 2 elementi delle soluzioni tecnologiche utilizzate sono il database Oracle MySQL e il WebServer Apache. Il database Oracle MySQL è è un database relazionale, composto da un client con interfaccia a caratteri e un server multipiattaforma. Il WebServer Apache HTTP Server è la piattaforma server Web modulare più diffusa, è un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento, ha il vantaggio di offrire anche funzioni di controllo per la sicurezza come quelli che compie il proxy. E’ multipiattaforma.
Quest’ultimo software è solamente consigliato, FreeSIS infatti è utilizzabile anche in altri contesti di server web quali Lighttpd, nginx.
Funzionalità del software¶
Il software si svilupperà su diversi punti fondamentali: Gestione anagrafica con immissione diretta, creazioni classi/anni scolastici, gestione materie e tipologia di voti assegnabili, gestione periodi di valutazione (trimestri / quadrimestri), gestione dei parametri di calcolo per i crediti scolastici, interfaccia di immissione voti per singolo docente, interfaccia di riepilogo per lo scrutinio, gestione delle ore di assenza dello studente, gestione dei debiti formativi e degli interventi per singolo studente, creazione di report in PDF. In futuro verrà realizzata l’importazione delle anagrafiche dal sistema OpenSissi.
Codice sorgente e documentazione¶
Per favorire la diffusione e l’eventuale modifica del software, FreeSIS è rilasciato con licenza GPL v3. A corredo del software viene fornita una documentazione in lingua italiana che ha la funzione di manualistica per le funzionalità, le caratteritiche e per l’interfaccia del software.