B.2. Informação geral

B.2.1. P: Posso executar o GnuCash em Windows?

R: Sim. A partir da versão 2.2.0, o GnuCash também está disponível para Windows.

Outras opções disponíveis serão o colinux, VMWare e windows-based X-server hospedando uma sessão remota do GnuCash.

B.2.2. P: Ouvi dizer que era muito díficl compilar o GnuCash!

R: Isto foi provavelmente verdade quando a versão 1.6.0 foi lançada. Hoje em dia já não é verdade, dado que a maioria das ditribuições Linux já têm todas as bibliotecas necessárias (exceto a g-wrap, ou seja, há realmente uma biblioteca extra a instalar antes de compilar o GnuCash). Contudo, por predefinição, as distribuições não instalam pacotes de desenvolvimento das bibliotecas requeridas, pelo que poderá ter que iniciar o programa de instalação da sua distribuição e dizer-lhe que instale também as bibliotecas de desenvolvimento (-devel). Em geral, notou-se que este problema afeta muitas aplicações no domínio Gnome, o que se reduz ao fato de que não há efetivamente algo como um pacote gnome monolítico.

B.2.3. P: Há algum modo de o GnuCash construir relatórios em lote, de forma não interativa?

R: Não, por agora o GnuCash tem de usar interatividade.

B.2.4. P: Pode o mesmo ficheiro de dados do GnuCash ser acedido por múltiplas pessoas?

R: Pode ter múltiplas pessoas com acesso ao mesmo ficheiro de dados, mas não em simultâneo.

Para configurar o acesso multiutilizador, todos terão de ter direitos de leitura/escrita na pasta que contém o ficheiro (para ler os ficheiros criados por outros e para criar novos ficheiros). Uma forma de o fazer é criar um grupo de utilizadores e definir a pasta de dados como propriedade partilhada do grupo, definida para modo 2775. O 2 torna a pasta setgid, o que copia as permissões para todos os ficheiros.

B.2.5. P: Porque é que o GnuCash está escrito em C?

R: A funcionalidade central do GnuCash é escrita em C, mas não se esqueça que muito do núcleo pode ser acedido pelo Guile (scheme). Há um sem número de razões para o GnuCash ser escrito em C. A primeira é histórica, o GnuCash começou em 1996 (ou talvez antes!) e muitos dos compiladores OOP (C++, Java, Python) ainda não tinham amadurecido e estabilizado o suficiente nas várias plataformas consideradas na altura, portanto C era a única opção nessa época. Uma segunda razão seria por o GUI (ambiente de trabalho) padrão do GnuCash usar GTK, que é escrito em C.

B.2.6. P: Porque é que não reescrevem o GnuCash na linguagem xyz para que eu possa contribuir facilmente?

R: A resposta rápida é Não o faremos. A resposta mais longa é complexa mas é a mesma. O GnuCash é um enorme corpo de código mantido por um pequeno grupo de programadores que se sentem confotáveis com C e Scheme (Guile). De fato, 80% é em C e aproximadamente 13% é em Scheme/Lisp. Não há nenhuma razão válida que justifique reescrever a quantidade de código existente numa linguagem diferente. Além disso, criar associações de linguagem a linguagens recentes como Python ou Ruby ou qualquer outra da sua preferência é trabalho intenso e já temos trabalho que chegue mantendo e desenvolvendo o código existente.

Dito isto, este é um projeto de código aberto e é livre de fazer o que quiser ou de contribuir com aquilo que quiser. Mas não espere assistência se o motivo das suas alterações for não estar disposto a aprender C ou Scheme. Além disto, o GnuCash costumava ter associações SWIG (http://www.swig.org) que foram usadas por algum código programado em perl. De acordo com uma discussão na lista, estas associações SWIG podem ainda ser uma forma de incluir outras linguagens no GnuCash, embora atualmente não sejam usadas nem mantidas.

B.2.7. P: Gostava realmente de ter a funcionalidade XYZ mas o GnuCash não a tem. Como é que a posso adicionar?

R: Peça com educação. :-) Pode fazer um pedido de melhoria em http://bugzilla.gnome.org/enter_bug.cgi?product=GnuCash. Por favor, lembre-se de descrever a sua melhoria proposta de forma bastante completa. O truque aqui é aprender a dar a melhor informação aos programadores sobre o que a sua melhoria proposta vai fazer. Se quer acelerar o processo de desenvolvimento, considere doar algum dinheiro, conforme descrito em GnuCashDevelopment.

B.2.8. P: Há alguma interface web disponível para o GnuCash?

R: Não

B.2.9. P: Como é que posso garantir a segurança dos dados do GnuCash usando CFS, etc.)

R: Sem resposta

B.2.10. P: Como é que posso contribuir para o projeto do GnuCash?

R: Estamos a trabalhar num processo mais formal, mas para já, pode subscrever as listas de correio em http://lists.gnucash.org/mailman/listinfo/gnucash-user e em http://lists.gnucash.org/mailman/listinfo/gnucash-devel e discutir como pode contribuir com os participantes da lista. Note que o GnuCash está escrito em C e Scheme (veja acima , Porque é que o GnuCash está escrito em C? se quiser saber porquê). Se não está disposto a trabalhar com estas linguagens, considere outros tipos de contribuição.

B.2.11. P: Penso que encontrei um erro. Como é que o reporto?

R: Primeiro, tente verificar se é realmente um erro e se ainda não foi reportado. Procure nos arquivos de correio (veja a FAQ acima). Depois procure na base de dados do Bugzilla do Gnome.

Se achar que realmente encontrou um novo erro, pode reportá-lo em http://bugzilla.gnome.org/enter_bug.cgi?product=GnuCash. Lembre-se de ser eloquente e claro. Tente aprender como deve informar os programadores a reproduzir o erro. Um programador só consegue reparar um erro que consiga ver, se não o conseguir ver, o erro não será reparado.!