B.2. Informazioni generali

B.2.1. D: Posso usare GnuCash in ambiente Windows?

R: Sì. A partire dalla versione 2.2.0, GnuCash è disponibile anche per Windows.

Altre opzioni correlate potrebbero essere colinux, VMWare e un server-X basato su windows che fa da host per una sessione remota di GnuCash.

B.2.2. D: Ho sentito dire che è troppo difficile compilare GnuCash!

R:Questo era probabilmente vero quando la versione 1.6.0 è stata rilasciata. Oggi non è più vero, dato che quasi ogni distribuzione comprende già tutte le librerie necessarie (ad eccezione di g-wrap, il che significa che di fatto manca «una sola» libreria extra che deve essere installata prima di compilare GnuCash). Comunque, normalmente le distribuzioni non installano i pacchetti di sviluppo delle librerie necessarie, così potrebbe essere necessario avviare il programma di installazione della distribuzione per impostarlo in modo da installare non solo i pacchetti delle librerie ma anche i pacchetti di sviluppo (con suffisso «-devel»). In genere, è stato puntualizzato che questo problema affligge diverse applicazioni dell’ambiente Gnome e dipende dal fatto che non esiste niente di simile a un «unico enorme pacchetto di Gnome».

B.2.3. D: C’è un metodo automatico (non-interattivo) in GnuCash, per realizzare continuamente rapporti, grafici ecc..?

R: No, per ora GnuCash funziona solo interattivamente.

B.2.4. D: È possibile che più persone abbiano accesso allo stesso progetto in GnuCash?

R: È possibile che più persone possano accedere a un stesso progetto ma non contemporaneamente.

Per creare un progetto multi-utente, tutte le persone devono avere accesso in lettura e scrittura alla cartella contenente i dati (per leggere i file creati dagli altri e crearne di nuovi). Un modo per farlo consiste nel creare un gruppo e assegnare la cartella al gruppo creato con il codice 2775. Il «2» rappresenta l’attributo setgid che copia i permessi a tutti i file.

B.2.5. D: Perché GnuCash è scritto in C?

R: Le funzionalità principali di GnuCash sono scritte in C, ma non dimentichiamo che la maggior parte di queste sono accessibili tramite Guile (Scheme). Ci sono un sacco di ragioni per cui GnuCash è stato scritto in C. La prima è storica, infatti GnuCash è nato nel 1996 (o forse prima!) e la maggior parte dei compilatori OOP (C++, Java, Python) non erano ancora maturi e sufficientemente standardizzati per la varietà di piattaforme presenti a quel tempo, di conseguenza il C era l’unica scelta. Una seconda ragione è rappresentata dal fatto che l’interfaccia grafica standard su cui si basa GnuCash è GTK, che è scritta in C.

B.2.6. D: Perché non riscrivete GnuCash nel linguaggio pinco-pallino così che io possa contribuire più facilmente?

R: La risposta più immediata è «non lo faremo». Quella più lunga è anche più complessa ma si conclude comunque con «non lo faremo». GnuCash è un grosso insieme di codice mantenuto da un piccolo gruppo di programmatori che conoscono bene i linguaggi C e Scheme (Guile). Ad oggi, l’80% del codice è in C e circa il 13% in Scheme/Lisp. Non c’è nessuna buona ragione che giustificherebbe la riscrittura di una così grande quantità di codice in un nuovo linguaggio. Inoltre, creare dei collegamenti a linguaggi più recenti quali Python e Ruby o (inserisci qui il nome del tuo linguaggio preferito!) sarebbe un lavoro impegnativo, considerando che siamo già piuttosto impegnati a mantenere ed evolvere il codice già esistente.

Detto questo, GnuCash è un progetto open source e ognuno è libero di fare o contribuire come vuole. Non aspettarti però un grande aiuto se la ragione del tuo cambio è dovuta solo alla mancanza di voglia di imparare il C o Scheme. Inoltre, GnuCash aveva dei collegamenti a SWIG (http://www.swig.org) che sono state usate per alcune parti programmate in perl. Stando ad una discussione, questi collegamenti a SWIG potrebbero essere una strada per includere altri linguaggi in GnuCash, ma attualmente sono inutilizzati e non supportati.

B.2.7. D: Vorrei usare la funzione XYZ ma GnuCash non ce l’ha. Come posso fare?

R: Chiedi gentilmente. :-) Puoi presentare una richiesta qui http://bugzilla.gnome.org/enter_bug.cgi?product=gnucash. Ricorda di descrivere il più dettagliatamente possibile la caratteristica che vorresti vedere implementata. Il trucco sta tutto nel riuscire a fornire più informazioni possibili ai programmatori sulle caratteristiche della funzionalità da implementare. Se vuoi accelerare lo sviluppo, considera la possibilità di effettuare una donazione come descritto nella GnuCashDevelopment.

B.2.8. D: È disponibile un’interfaccia web in GnuCash?

R: No

B.2.9. D: Come posso proteggere i miei dati di GnuCash utilizzando CFS, e simili?

R: Senza risposta

B.2.10. D: Come posso contribuire al progetto GnuCash?

R: Stiamo organizzando un processo più formale ma per ora puoi iscriverti alla lista di discussione raggiungibile all’indirizzo http://lists.gnucash.org/mailman/listinfo/gnucash-user e http://lists.gnucash.org/mailman/listinfo/gnucash-devel e discutere con gli iscritti il modo in cui puoi contribuire. Tieni però presente che GnuCash è costituito da una bella percentuale di codice scritto in C e Scheme (vedi la domanda più sopra, «Perché GnuCash è scritto in C?» se vuoi conoscerne i motivi). Se non ti senti di programmare con questo linguaggio, puoi comunque contribuire in altro modo.

B.2.11. D: Credo di aver trovato un bug. Come posso comunicarlo?

R: Prima di tutto, cerca di verificare che si tratti realmente di un bug e che non sia già stato messo in evidenza in passato. Cerca nell’archivio delle liste di discussione (vedi domanda più sopra). Poi passa a cercare in Gnome Bugzilla database.

Se sei convinto di aver trovato realmente un nuovo bug, puoi comunicarlo all’indirizzo http://bugzilla.gnome.org/enter_bug.cgi?product=gnucash. Per favore ricorda di descrivere il bug con il massimo dettaglio possibile. Il trucco sta nel riuscire a fornire più informazioni possibili ai programmatori per riuscire a riprodurre il bug. Un programmatore è in genere in grado di risolvere un bug solo quando lo vede, se non riesci a mostrarlo al programmatore, non verrà tolto!