B.2. Informazioni generali

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

R: Sì. A partire dalla versione 2.2.0, è 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 .

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

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 ). 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 dellambiente 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 , per realizzare continuamente rapporti, grafici ecc..?

R: No, per ora funziona solo interattivamente.

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

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 lattributo setgid che copia i permessi a tutti i file.

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

R: Le funzionalità principali di 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 è stato scritto in C. La prima è storica, infatti è 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 lunica scelta. Una seconda ragione è rappresentata dal fatto che linterfaccia grafica standard su cui si basa è GTK, che è scritta in C.

B.2.6. D: Perché non riscrivete 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». è un grosso insieme di codice mantenuto da un piccolo gruppo di programmatori che conoscono bene i linguaggi C e Scheme (Guile). Ad oggi, l80% 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, è 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, 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 , ma attualmente sono inutilizzati e non supportati.

B.2.7. D: Vorrei usare la funzione XYZ ma non ce lha. Come posso fare?

R: Chiedi gentilmente. :-) Puoi presentare una richiesta qui http://bugs.gnucash.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 Development.

B.2.8. D: È disponibile uninterfaccia web in ?

R: No

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

R: Senza risposta

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

R: Stiamo organizzando un processo più formale ma per ora puoi iscriverti alla lista di discussione raggiungibile allindirizzo 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 è costituito da una bella percentuale di codice scritto in C e Scheme (vedi la domanda più sopra, «Perché è 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 nellarchivio delle liste di discussione (vedi domanda più sopra). Poi passa a cercare in Bugzilla database.

Se sei convinto di aver trovato realmente un nuovo bug, puoi comunicarlo allindirizzo http://bugs.gnucash.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!