Nos dias de hoje, onde as empresas estão sob pressão constante, seja dos fornecedores que querem vender mais caro, seja dos clientes que querem comprar mais barato, qualquer economia que ela buscar pode ser fundamental para que ela se mantenha funcionando e prncipalmente, dando lucros. Atentos a estas exigências em busca de produtividade a baixo custo, muitos diretores buscaram na informática um ponto de apoio para auxiliá-los nesta empreitada.
Mesmo com esta pressão e mesmo com a necessidade de aumento de produtividade, muitas empresas ainda não conseguiram fazer este investimento. E os motivos para isto são vários:
Com a rápida e constante evolução das máquinas, e conseqüente pressão para vender as obsoletas, vemos os equipamentos de informática cada vez mais baratos e com muitas facilidades para pagamento. Portanto esta justificativa já não tem muito fundamento, apesar de ainda ser aceitável.
Com os inúmeros cursos técnicos, bem como universidades que estão "despejando" profissionais no mercado, vemos uma situação diferente: o excesso de profissionais. É claro que existem os maus profissionais, mas sabendo escolher, podemos conseguir um bom profissional para auxiliar no processo de informatização.
Com tantas escolas de informática oferecendo cursos em vários horários diferenciados, não há como usar esta falta de tempo para não informatizar. E algumas destas escolas vão mais além: fecham turmas dentro da empresa, cobrando mais barado pelo pacote e dão o treinamento in loco.
Mas a maior dificuldade é realmente o investimento inicial para a informatização. A grande maioria das empresas brasileiras são pequenas e não têm caixa suficiente para bancar esta informatização. Mesmo vencida a barreira do custo dos equipamentos, exitem os custos da mão de obra, dos próprios treinamentos e um outro custo que quase sempre é deixado de lado, mas mas que representa a maior fatia dos investimentos: o do software. Na maioria dos casos apenas o de gerenciamento é considerado no levantamento de custos.
Os custos com os softwares restantes, como sistema operacional, suítes office, geralmente são considerados básicos e que é uma obrigação do fabricante do equipamento fornecê-los já instalados. E realmente os fabricantes já nos fornecem estes sistemas, mas com um pequeno detalhe: piratas. Se a empresa tentar fugir desta pirataria, terá que desembolsar alguns milhares de reais para ter sua máquina legalizada.
Felizmente, com o surgimento do Linux, que popularizou a filosofia do software livre ou ainda do software open source ficou bem mais fácil legalizar estes softwares "básicos". A empresa náo precisa mais se preocupar com as "licenças de uso", ou com o medo de instalar um programa em várias máquinas sob o risco de violar os contratos de tais licenças.
Na filosofia do software livre, ao obtê-lo, seja gratuitamente através de um download[1], ou pela bondade de um amigo, ou mesmo pela compra, o software é seu e com ele você faz o que desejar, desde que as alteraçãoes mantenham o software livre. Assim diferentemente do software proprietário, onde é necessário uma licença de uso para cada instalação, no software livre, você o adquire e tem todo o direito de instalá-lo onde desejar.
Quando se fala em software livre, não há como deixar de falar no Linux, pois é comum as pessoas ligarem o termo software livre a ele. Existem bons argumentos hoje para que o Linux seja adotado em máqinas desktop, ou estação de trabalho para o usuário final. Nas empresas porém, o Linux tem sido utilizado apenas nos servidores, enquanto as estações continuam com o sistema proprietário anterior, na maioria dos casos o Windows. Isto porque apesar de ter inúmeros aplicativos disponíveis, não tem o principal para a empresa: um software de gerenciamento.
Este projeto surgiu para incentivar os programadores a completar a gama de softwares livres para empresas comerciais. Já temos o sistema operacional, o banco de dados, as linguagens de programação as suítes office, todos livres, mas ainda ão temos ofertas de softwares de gerenciamento livres. Temos sim muitos softwares eficientes, mas nenhum distribuído sob a filosofia do software livre. A partir da descrição de um sistema de vendas simples, são apresentadas ferramentas para auxiliar no desenvolvimento, desde a modelagem até a implementação propriamente.
Apenas um argumento justifica a escolha de um software deste tipo: falta de aplicativo comercial para Linux. Em se tratando de software livre o problema ainda é mais grave, pois não existe, pelo menos até agora, um software de dessa natureza que seja livre. Existem pelo menos dois modelos de negócio seguidos pelos fornecedores deste tipo de software: venda e aluguel. Na verdade, o que quase sempre acontece, é que adquirimos o software e depois o fornecedor nos vem oferecendo uma "manutenção" em troca de uma taxa mensal para atualizações do produto. Concluindo, acabamos por comprar e alugar o software ao mesmo tempo.
Outro grande problema no modelo proprietário, é que na maioria dos casos, os fornecedores cobram por licença de uso, ou seja, ele cobra a utilização em cada máquina da rede, o que onera mais ainda o custo de informatização. No caso de softwares alugados, a história não é muito diferente, pois geralmente a "taxa de manutenção" é cobrada de acordo com o número de máquinas onde o software vai funcionar.
Mas ainda tem mais. O modelo proprietário nos prende a um único fornecedor, ele tem o poder sobre o software. Nós temos apenas o direito de utilizar o sistema. Dependemos do fornecedor para instalar, dar treinamento e manutenção, e ainda efetuar eventuais alterações que forem necessárias para que o sistema atenda melhor nossas necessidades. Se a alteração não for interessante para outros clientes (do fornecedor do software), pior ainda, pois eles vão deixar nossa alteração em segundo plano sob a justificativa que eles têm outras mais prioritárias para desenvolver.
A filosofia do software livre muda o poder das mãos do fornecedor para as mãos do cliente principalmente pelos seguintes motivos:
Teoricamente, qualquer programador com conhecimento na linguagem na qual o sistema foi desenvolvido pode efetuar alterações no sistema, deixando-o da forma que desejamos.
A partir do momento que eu obtive o software, eu posso instalá-lo onde eu desejar, ou seja, posso instalar em uma ou em todas as máquinas de minha empresa sem ter que pagar mais por isto.
Mas a maior motivação para se elaborar este trabalho baseando em um sistema de vendas foi pela necessidade própria. Trabalhando em uma loja de auto peças (Casa das Carretas), um dia surgiu a necessidade de se fazer um upgrade em uma máquina. Na época, esta empresa tinha tudo legalizado, desde o SO, passando pelo software de rede até o software gerencial. Como a máquina veio com um sistema operacional mais evoluído, decidiu-se evoluir toda a infra-estrutura da empresa. Em pouco tempo, houve a necessidade de um novo upgrade e após um minucioso levantamento, decidiu-se pela utilização do software livre.
Ao partir para uma plataforma livre, chegamos a outro dilema: o software gerencial era escrito para o outro SO. Tentou-se fazê-lo funcionar sob um emulador, mas diferenças no tratamento do sistema de arquivos levaram a corrupção dos arquivos e conseqüente perda de dados. Como o fornecedor do software não mostrou muita disposição em elaborar um software que funcionasse na plataforma adotada pela empresa, decidiu-se então partir para o desenvolvimento do software.
A partir desta decisão, procuramos encontrar ferramentas que facilitassem o processo de desenvolvimento em Linux, de forma que fosse tão rápido como no Windows. No sistema da Microsoft, já existem ferramentas consagradas de desenvolvimento e devido à esta disponibilidade não há como negar que é relativamente fácil desenvolver sistemas para Windows.
Depois de muita leitura e pesquisa em sites na Internet, leitura de how-to's[2] e de alguns livros, conseguimos "aprender" a utilizar algumas destas ferramentas e então as adotamos no desenvolvimento de nossos sistemas. Para mostrar aos programadores que desenvolver aplicativos em Linux pode ser tão fácil como no Windows, foi desenvolvido este trabalho.
[1] | Download é o processo de baixar, ou copiar, arquivos de um computador remoto, no caso a Internet |
[2] | Howto é um guia que explica como fazer alguma coisa. Existem inúmeros howto's disponíveis na Internet que ensinam desde a configuração básica de um computador até a construção de clusters. A maioria deles pode ser vista em http://www.lpi.org/ |