segunda-feira, 13 de abril de 2009

Software Livre

Pretende-se com este artigo uma análise do que o Software Livre representa para a sociedade de usuários e desenvolvedores. Sua história retoma aos primórdios da computação, onde o software ainda não tinha importância mercadológica como vem tendo na atualidade. O Software Livre desponta como um novo paradigma, oposto ao modelo convencional de desenvolvimento, e vem sendo utilizado por grandes empresas e governos no mundo inteiro, derrubando alguns conceitos na industria do software e causando uma revolução em alguns setores da informática. Trata-se de uma pesquisa qualitativa, abordando de forma descritiva, aspectos histórico e atuais sobre este tema de importância econômica, política e social para a humanidade.

A computação tornou-se uma peça indispensável para a humanidade. Instituições dependem fortemente do uso de aplicações, do desenvolvimento, e manutenção das mesmas. Entender os processos de desenvolvimento, suas vantagens e desvantagens, deveria ser o primeiro passo na escolha de uma ferramenta. Existem diversos quesitos que devem ser observados na escolha de uma tecnologia. As boas escolhas devem estar isentas de questões filosóficas ou sustentadas por ideologias de caráter pessoal.

O software nem sempre foi o produto mais importante da informática. Houve tempos em que o hardware era o principal produto da indústria e o software apenas acompanhava, gratuitamente, os computadores. As grandes empresas do setor de tecnologia da época vendiam o hardware, e o software vinha acompanhado com seu código-fontei aberto, e nenhuma restrição com relação aos direitos autorais. As pessoas (usuários) podiam modificar, copiar e distribuir livremente os softwares. Essas modificações aconteciam, freqüentemente, melhoravam-se os códigos dos programas ou faziam-se novos e melhores softwares baseados nos antecessores. Praticamente todo software era livre, o que ajudou à indústria do hardware, que tinha seus sistemas melhorados por pessoas altamente qualificadas de universidades ou instituições particulares, tudo sem custo algum. Este é um fato curioso, alguns autores consideram estes programas que vinham acompanhado do hardware como sendo Software Livre, embora estes fossem programas restritos em termos de recursos comparado com a complexidade tecnológica do software moderno. Atualmente o software é o componente mais valioso da informática. Em fins das décadas de 1950 e de 1960, praticamente todo o software ambiental (não-portáteis) era fornecido, em pequena escala, pelo fabricante dos computadores. (Pacitti, 2006).

Por incrível que pareça, a evolução na produção de software de sistema ou ambiental, de aplicações ou soluções, a partir dos fins dos anos 50, pautou-se no aparecimento do modelo colaborativo, ou cooperativo, o precursor do software hoje dito livre. (PACITTI, 2006).

O Departamento de Justiça dos Estados Unidos preocupado com a supremacia da indústria do hardware aplicou a lei de antitruste. A partir de então as empresas teriam que fornecer o hardware separado do software. Essa medida tomada pelo Departamento de Justiça dos Estados Unidos fez com que a emergente complexidade dos softwares, juntamente com a compatibilidade com o hardware, desse início a um novo mercado promissor, a indústria do software.

Uma das conseqüências da intervenção da Jurisprudência Americana foi a instituição de uma medida na qual o software de então fosse vendido desvinculado do equipamento[...] (PACITTI, 2006).

Como já mencionado, tal medida potencializou as Software Houses, empresas que se mantinham desenvolvendo software nos moldes proprietário. O que se observa é uma inversão do mercado, na disputa hardware versus software a maior fatia do mercado passou a ser da indústria do software. Não é de surpreender que empresas como IBM, HP, Intel, que são empresas de hardware, estejam investindo e apoiando o Software Livre. É importante saber onde cada modelo trará benefícios ou malefícios, e quando os dois modelos convivem em harmonia.
É inegável a importância das mudanças provocadas pelo Software Livre nas questões técnicas, econômicas e de segurança. Vai além das ideologias e paixões abordadas por muitos grupos que apenas vêem no Software Livre uma maneira de se contrapor ao modelo proprietário e a ao monopólio causado por ele em determinados segmentos de aplicações computadorizadas.

Software Livre e Software Aberto:

Primeiramente deve-se esclarecer o que é Software Livre e/ou Software Aberto. Em linhas gerais, pode-se dizer que são dois os protagonistas do atual e crescente movimento de Software Livre: o primeiro é Richard Matthew Stallman, pesquisador do Massachusetts Institute of Technology (MIT), fundador do movimento e da Free Software Fundation (FSF), é também autor da General Public License (GPL), a licença de Software Livre mais utilizada no mundo. O Segundo é Eric Steven Raymond, autor de “The Cathedral and the Bazaar”, ensaio sobre métodos de engenharia de software inspirado na revolução causada pelo modelo de desenvolvimento do Linuxi.

Software Livre foi o termo criado por Stallman para definir o software que segue as quatro liberdades. A liberdade de executar o programa, para qualquer propósito (liberdade no. 0); a liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade no. 1). Acesso ao código-fonte é um pré-requisito para esta liberdade; a liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade no. 2); a liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade no. 3). Acesso ao código-fonte é um pré-requisito para esta liberdade. Portanto, Software Livre refere-se à liberdade dos usuários executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software (Stallman, 2006).


Software Aberto é todo aquele software que obedece aos requisitos da Open Software Definition (OSD). A OSD tem suas origens no “The Debian Free Software” escrito por Bruce Perens. Atualmente é mantida pela Open Source Initiative (OSI), uma corporação sem fins lucrativos que controla e promove o OSD visando o bem da comunidade Open Source através de certificação. A OSD diz que Software Livre não é apenas permitir o acesso ao código fonte, ele também deve fornecer:


  1. Livre distribuição;

  2. Código fonte;

  3. Trabalhos derivados dos fontes;

  4. Preservar a autoria do código fonte;

  5. Não discriminar pessoas ou grupos de pessoas;

  6. Não discriminar grupos de trabalho;

  7. Replicação da licença nas distribuições;

  8. A licença não é especifica a um produto;

  9. A licença não se replica aos outros softwares;

  10. A licença deve ser aplicada a qualquer tecnologia.


Na prática, Software Livre e Software Aberto possuem sutis diferenças. No presente artigo trata-se de Software Livre como sendo todo aquele software que obedece aos conceitos da FSF criados por Richard Stallman.

iNeste artigo será tratado o termo Linux como sendo o kernel, núcleo do Sistema Operacional, e não a distribuição do Sistema Operacional. O Linux (kernel) foi baseado no Unix e escrito pelo finlândes Linus Torvalds. Qualquer distribuição que leve o nome de Linux deve possuir este kernel.


Aspectos Interessantes do Software Livre:


Observando pelo prisma do direito autoral, existem duas maneiras de desenvolver software: o proprietário e o livre. Eric Raymond descreve em “The Cathedral and the Bazaar” a existência de dois modelos de desenvolvimento: o “Catedral”, usado por desenvolvedores de software proprietário; e o “Bazar”, que é utilizado por adeptos do Software Livre. O “Catedral” seria o modelo tradicional de desenvolvimento de software onde o código-fonte é mantido em sigilo pelo desenvolvedor, enquanto o “Bazar” seria o inverso não existindo proibição em acessar o código-fonte. As distinções entre os paradigmas são inúmeras e apresentam dinamismo em sua evolução. (Raymond, 2006).


O Software Livre nasce como oposição ao software proprietário, ou seja, programas de computador com código-fonte fechado, registrado por uma única empresa, que cobra o direito de propriedade intelectual (copyright). Abrir, alterar ou divulgar esse código-fonte é considerado crime, dependendo da legislação do país em que o ato é cometido. Portanto, a prática de duplicação de programas, sem o devido pagamento sobre o direito autoral (royalties), no Brasil e na maioria dos países constitui o chamado “crime da pirataria”, passível de sanção judicial ao delator. (GUESSER, 2006).


A disponibilidade do código fonte é o principal atrativo e diferença do Software LivreSoftware Proprietário. Para usuários leigos, que não possuem conhecimentos em programação de computadores, ter acesso ao código fonte pode não ser tão importante, estes apenas querem usufruir as funcionalidades do software. Para usuários não leigos o acesso ao código fonte permite agregar funcionalidades ao sistema. perante os

É importante ressaltar que para cada Software Livre de sucesso existem milhares que não obtiveram êxito no seu desenvolvimento. Portanto, apenas ter o código fonte aberto não é pré-requisito para o sucesso. Alguns autores gostam de comparar o ciclo de vida dos projetos de Software Livre com a teoria da seleção natural, onde os mais fortes e bem adaptados sobrevivem e geram descendentes igualmente fortes. Essa é uma característica que fortalece o argumento sobre a qualidade dos programas de código aberto. A qualidade de projetos como o Linux, o servidor de páginas web Apache, e o banco de dados MySQL, são casos de sucesso dentre milhões de projetos. Chegar a tal patamar de sucesso e aceitação é sinônimo de qualidade.

A linguagem é o uso da palavra articulada ou escrita como meio de expressão e de comunicação entre pessoas. A comunicação é baseada em signos que formam a linguagem, apenas entendendo estes signos é que uma comunicação poderá ser estabelecida. A Internet ampliou o compartilhamento da informação, nela existem bibliotecas e enciclopédias virtuais, bancos de dados com milhares de códigos fontes, e fórum de discussão, tudo possibilitando um avanço na comunicação, jamais visto pela humanidade.


A rede mundial de computadores (World Wide Web – WWW), caracteriza-se como a principal ferramenta deste paradigma contemporâneo. É através dela que são efetuadas as trocas de informações e são ordenadas as transações mais variadas, desde uma simples operação bancária de um correntista, até grandes movimentações nas Bolsas de Valores; de uma simples troca de e-mail entre amigos, até a transmissão de uma correspondência militar altamente confidencial; ou seja, pela internet trafegam todos os tipos de dados e informações, numa velocidade denominada de “tempo real”, ou seja, quase instantânea. (GUESSER, 2006).


O desenvolvimento de Software Livre seria inviável sem este espaço cibernético. A quebra das barreiras geográficas e o baixo custo na comunicação permite a troca de arquivos de código fonte entre os participantes. A estrutura da Internet esta intimamente ligada com o fortalecimento do Software Aberto. O seu crescimento ajudou a espalhar o acesso ao conhecimento em escala global.


O crescimento contínuo da Internet global é um dos fenômenos mais interessantes e excitantes em redes. Vinte anos atrás, a Internet era um projeto de pesquisa que envolvia algumas dúzias de sites. Hoje em dia, a Internet cresceu e se tornou um sistema de comunicação produtivo que alcança milhões de pessoas em todos os países povoados do mundo. Nos Estados Unidos, a Internet conecta a maioria das corporações, faculdades e universidades, assim como escritórios federais, estaduais e municipais. Ela logo alcançará a maioria das instituições de ensino de primeiro e segundo grau. Além disso, muitas residências privadas têm acesso à Internet através das conexões de telefone dial-up; tecnologias mais recentes estão fornecendo serviço de capacidade ainda mais elevada. (COMER, 2001).


Dentro de um modelo proprietário de desenvolvimento de software não ocorre o replicamento do conhecimento para uma comunidade, pois a distribuição do software ocorre em linguagem binária, a qual somente o computador poderá ler e entender. Desta forma, o conhecimento é protegido pela falta de compreensão do código, e o compartilhamento da informação acaba por não ocorrer. A comunicação, portanto, é elemento vital para a construção do conhecimento. Vejamos o que diz Lévi (1998, p.30) sobre a importância da linguagem e comunicação:


Ninguém previa, cinqüenta anos atrás, que o intercâmbio entre os homens e as máquinas iria tornar-se tão sofisticado e que envolveria tantas pessoas em sua vida profissional ou particular. O principal problema do diálogo com os computadores reside na diferença entre linguagens formais, que regem o comportamento das máquinas, e as linguagens naturais utilizadas e compreendidas pelo homem em sua vida quotidiana. Ao falar, ao escrever, os homens se movem no reino dos significados. Suas línguas naturais possuem uma gramática, um léxico relativamente estável, regras ortográficas. Não obstante, entendemos as frases incorretas, as que contêm neologismos ou erros de ortografia, ajudando-nos com o contexto e antecipando o sentido das novas proposições a partir do que antecede. A comunicação na língua natural tolera uma enorme margem de ambigüidade. Na maioria das vezes, não temos consciência disso, pois a história anterior da comunicação, o contexto atual, uma multidão de conhecimentos implícitos reduzem as ambigüidades. Poder-se-ia dizer até que a troca lingüística diminui as incertezas da situação, antes do que o contrário, tanto a linguagem toma um sentido só a partir das raízes físicas, sociais, históricas e de um horizonte de significados partilhados.


Os softwares escritos, baseados nas licenças de Software Livre, possuem a capacidade de replicar o conhecimento aplicado na sua concepção. Esse paradigma força um diálogo construtivo e seguro. O desenvolvimento de softwares, seguindo estes princípios, vem fomentando discussões importantes sobre inclusão digital, diferencial competitivo, direito autoral, quebra de monopólio de empresas que comercializam softwares nos moldes proprietários, e segurança da informação. Estas são questões debatidas por governos e empresas diante da revolução do Software Livre, que vem ganhando terreno em nichos de mercado importantes, merecendo uma atenção especial de ambas as partes.


O Software Livre. Vantagens e Desvantagens:


A seguir são levantadas questões sobre as principais vantagens e desvantagens no uso do Software Livre em comparação com o Software Proprietário.


01) Vantagens do Software Livre:

  1. Compartilhamento do conhecimento empregado na construção do código-fonte. Essa é considerada uma das principais qualidades do movimento Software Livre. Os simpatizantes deste modelo defendem que o conhecimento na construção de um software não pode ser exclusivo de uma única empresa ou pessoa, por acharem que o conhecimento não se cria, ele é o reuso de conhecimento pré-existente e que foi adquirido de forma livre e deve permanecer livre. O modelo de Software Livre propicia que qualquer um atue no desenvolvimento do código, bastando para isso dominar a linguagem utilizada, motivo pelo qual ninguém pode usufruir o direito de exclusividade. Do ponto de vista de quem apenas utiliza o Software Livre, a vantagem é a redução ou anulação do custo com licenças. Este tópico será melhor comentado adiante.

  2. Liberdade para modificar o código-fonte. O Software Livre também descentraliza o poder do desenvolvimento das mãos de uma única empresa. O caso do Sistema Operacional Windows ilustra bem essa afirmação. A Microsoft possui total controle nas mudanças no código do Windows, isso é justo visto que ela desenvolveu o sistema com seus próprios recursos e a lei defende a propriedade intelectual, porém, para os consumidores, este modelo não é propriamente favorável, caso eles venham a necessitar de atualizações, correções ou mudanças nas funcionalidades, estarão sempre dependentes da boa vontade e sobrevivência da Microsoft. O Software Livre proporciona esta liberdade de mudança nas funcionalidades, não deixando de ser uma vantagem em comparação a software de código-fonte fechado, que são dependentes de uma empresa para corrigir, atualizar ou modificar o software.


A possibilidade de adaptação dos programas é uma das grandes vantagens sobre a antiga metodologia da maioria das Software Houses comerciais que impedem mudanças e adaptações pelo usuário leigo. Usa-se como uma caixa-preta! Os interesses e as necessidades do usuário leigo e do profissional são diferenciados.

[...] vender somente os arquivos binários executáveis é uma maneira eficiente de esse software, digamos chamado proprietário, dar o monopólio ao fornecedor, para impedir os usuários naquilo que eles podem criar. Eis um dos principais ângulos da dependência no setor do software proprietário, que hoje parece atingir a área econômica, política e social. (PACITTI, 2006).


A liberdade para modificar o código-fonte é interessante apenas para o programador. Essa é uma vantagem para os desenvolvedores, além de poder construir novas aplicações, pode-se modificar as já existentes. Fazendo surgir uma nova fonte de renda para os programadores, que podem prestar serviços relacionados a melhoria de código. Os clientes, por sua vez, terão um mercado com maior oferta de desenvolvedores.


Outro aspecto importante com relação à liberdade é a questão de poder escolher as melhores opções disponíveis no mercado, sem ter o constrangimento de estar vinculado a um padrão específico de um único fornecedor. O crescimento acelerado de algumas empresas de software proprietário ocorreu justamente devido a este fator. Ao protegerem os seus códigos-fonte, os proprietários de um determinado sistema operacional puderam escolher e determinar quais softwares seriam utilizados sobre aquela plataforma, restringindo outros; isto faz com que os seus clientes sejam obrigados a optar por aqueles softwares que lhes forem mais convenientes. (GUESSER, 2006).


  1. Qualidade de código Umas das principais vantagens apontadas por diversos autores é o processo de “Debuggingi. Os projetos de Software Livre que possuem grandes comunidades e quantidades de desenvolvedores gozam de uma larga vantagem na hora de depurar seus códigos fontes. Aqui, “muitos desenvolvedores” é sinônimo de código bem testado. Projetos como o Linux passam por uma elevada inspeção de código, conseqüentemente, isso leva a um software bem testado, com código de excelente qualidade.

  2. Baixo/nenhum custo. Software Livre não quer dizer software gratuito, certamente que este modelo apresenta custos operacionais de outra natureza, mas possibilita a transferência de custos com licenças para outras áreas. Este é o argumento mais comentado pelos autores e adeptos do Software Livre, também é o que mais gera discussões em torno de sua adoção. O custo de desenvolvimento chega a ser considerado nulo, por ser diluído em uma grande quantidade de desenvolvedores que, em muitos casos, são voluntários. Do ponto de vista de quem utiliza o Software Livre o benefício da redução ou anulação dos custos com direitos autorais possibilita que estas despesas sejam repassadas para contratação de pessoas que prestem suporte ou contribuam para o desenvolvimento do código-fonte. A grande quantidade de software pirata (software copiado ou utilizado por usuários que não possuem licença para tal) instalados em computadores de empresas e usuários domésticos é uma realidade em muitos países, o Software Livre é uma opção para quem deseja legalizar seus software mas não tem condições financeiras para adquirir licenças de software proprietário, visto que o Software Livre vem demonstrando que possui recursos para competir com as soluções proprietárias. Para usuários que pagavam royalties, existe a possibilidade de repassar esses custos para contratação de profissionais de suporte ou desenvolvimento do código-fonte, além de ser uma possibilidade de obter suporte e desenvolvimento de pessoas mais próximas da realidade da empresa. Um caso interessante é o da MySQL AB, empresa que mantém o banco de dados (código aberto) MySQL sob forma de Software Livre. Nela existem pessoas contratadas para desenvolver ou melhorar o código e que são remuneradas diretamente para esse fim. O MySQL é ao mesmo tempo mantido por uma comunidade de desenvolvedores e funcionários da empresa trabalhando no projeto, a decisão do que muda no software fica por conta da MySQL AB. Quanto a isso, comenta Taurion (2004):


Em janeiro de 2004 existiam mais de 75.000 projetos de software livre listados no SourceForgeii. São software de todos os tamanhos e funcionalidades. A imensa maioria é desenvolvida por voluntários, em horas de folga de seus trabalhos remunerados ou mesmo como hobby. Claro que existem muitos desenvolvedores que estão em folha de pagamento de empresas de software. Pesquisa efetuada em 2002 (FLOSS Developer Level Analysis) já apontava que 29% dos desenvolvedores engajados nos principais projetos de software livre eram pagos diretamente e outros 24% de maneira indireta, ou seja, podiam desenvolver tarefas relativas ao desenvolvimento destes softwares durante os horários de trabalho nas suas empresas.


  1. Segurança. Alguns sistemas possuem funcionalidade crítica. Por serem mais testados, os softwares livres apresentam menos bugs (erros de programação). Como o código é aberto o Software Livre fornece argumentos para justificar sua segurança, já que existe o conhecimento sobre como as funcionalidades do software foram implementadas.


Os proponentes do software livre enfatizam que este modelo, como permite que o código seja livremente inspecionado, impede, em tese, que código não autorizado ou clandestino apareça no software. Se algum deste tipo aparecer, ele será detectado e corrigido, bem como a comunicação evitará dar espaço ao seu autor para novas tentativas. O simples fato de que o código de qualquer um poderá ser, e é, lido e avaliado por diversos outros desenvolvedores, limitaria a “criatividade” malévola. (TAURION, 2004).


02) Desvantagens do Software Livre:

  1. Prazo de conclusão indefinido. Como é desenvolvido em uma comunidade, muitas vezes espalhado geograficamente, que não segue padrões de engenharia de software convencionais que possibilite mensurar a quantidade de tempo necessário para o término do projeto, torna-se difícil o trabalho com prazos. Salvo alguns exemplos como é o caso do MySQL AB, que mantém um certo número de pessoas desenvolvendo seu produto.

  2. Usabilidade. A maioria dos software livres são desenvolvidos sem preocupação com a facilidade de uso. Grande parte dos software livres são ditos de base, ou seja, são programas com finalidade de controlar o hardware (drivers de som, vídeo, rede ou o próprio sistema operacional), fazer interface entre uma aplicação e o sistema operacional (driversmidlewares) o que, muitas vezes, não exige uma interface bem projetada para o usuário. O caso do OpenOfficeiii é um exemplo onde a interface com o usuário é requisito importante para o seu sucesso, no entanto não foi investido grande soma de recurso para implementá-la. A SUN Microsystems (empresa que mantém o desenvolvimento OpenOffice) imita a interface do seu concorrente mais bem sucedido, o Office da Microsoft. A provável causa é que seus desenvolvedores não se preocupam, ou não possuem uma visão de usuário leigo, que não detêm conceitos avançados de computação, e precisam do auxilio de interfaces que facilitam muito a utilização dos softwares. de banco de dados,


As técnicas de usabilidade demandam um projeto que envolva não apenas participação de usuários, mas de profissionais especializados em projetos de interface amigáveis. Como um projeto de software livre não tem orçamentos para contratar especialistas em interface, é necessário busca colaboração voluntária. Entretanto, as comunidades de desenvolvedores envolvidas nos projetos de software livre não favorecem a participação destes profissionais. O contexto social da comunidade de voluntários, baseado na meritocracia técnica, não incentiva a entrada de usuários finais, que pouco ou nada podem contribuir em termos de escrita de software ou ajudar em sua depuração. (TAURION, 2004).


  1. Prazos para correções indefinidos. Igualmente ao prazo de conclusão, o prazo de correção de um bug é difícil de ser mensurado com exatidão. Vale ressaltar que os Software Livres de sucesso apresentam uma melhor e mais rápida correção de bugs que o modelo proprietário, embora isso não seja um indicador de qualidade, trás um certo conforto saber que o software vem sendo melhorado com agilidade e por uma comunidade de alto nível técnico.

  2. Não se aplica a todo nicho de mercado. Projetos como o Linux só foi possível por que a comunidade desenvolvedora possuía conhecimentos para tal, mas existem nichos de mercado em que o conhecimento para se desenvolver o software não é e nem pode ser disponibilizado para todos. Portanto, o paradigma do Software Livre não é adequado para o desenvolvimento dessas aplicações e, nesses casos, é inevitável o sigilo do código. São aplicações em que a um alto grau de dependência dos requisitos de usuário ou os requisitos não podem ser disponibilizados por serem segredo empresarial.


[...] o Linux só foi possível por que a comunidade de desenvolvimento já tinha um conhecimento compartilhado dos conceitos do Unix [...] isto é, eles possuíam os pré-requisitos para a elaboração de um novo sistema operacional a ser implementado.

Pergunta-se: Isso acontece para a elaboração dos aplicativos na área do Software comercial, financeira, bancária, de medicina, espacial, dedicados, embarcados, pesquisa básica e inovativa e em centenas de outras aplicações em diferentes domínios, inclusive os científicos e complexos? Por isso, é preciso analisar caso a caso a aplicação do conceito de software cooperativo ou mesmo livre. (PACITTI, 2006).


Resumo Sobre as Vantagens e Desvantagens do Software Livre.


Os modelos atuais de construção de Software Livre, o modelo “Bazar”, citado por Raymond, ainda não atendem a todos requisitos de desenvolvimento exigidos por determinados softwares. Os softwares podem ser divididos basicamente em duas categorias fundamentais: os softwares de base, que compreendem os programas essenciais ao funcionamento da máquina, comportando o software de apoio e o sistema operacional; e os softwares aplicativos, compostos por programas que se destinam a realizar funções específicas para a execução de tarefas, ou como meio de configuração para o funcionamento de periféricos (VELLOSO, 2006). Softwares de base como drivers, sistemas operacionais, compiladores, emuladores, são exemplos onde o Software LivreSoftware Livre, pois o modelo “Bazar” de desenvolvimento não é adequado para esta tarefa. Estes softwares dependem de boa interação desenvolvedor/usuário, o modelo “Catedral” seria mais adequado ao desenvolvimento. pode obter vantagem sobre o Proprietário. Os softwares de base são programas consolidados, e possuem requisitos bem definidos, o que facilita o desenvolvimento colaborativo, e como conseqüência os desenvolvedores dispõem de muito trabalho já feito, o reuso de trechos de código é bastante comum. Software de base são largamente utilizados, fazendo com que detenham um número maior de interessados em colaborar. No desenvolvimento de softwares sob encomenda, geralmente é proposto por uma única empresa ou usuário, onde o código do programa é todo feito do início, o reuso de código é pouco. Essa modalidade de desenvolvimento ainda é pouco explorado pela comunidade do

Um software deve ser aperfeiçoado sempre. Neste ponto, a comunidade mundial que fomenta e defende o Software Livre, vem demonstrando mais recursos e qualidade no que fazem. No entanto, não é a maneira como o software será licenciado que justifica sua qualidade. Tanto o livre como o proprietário, pode ser bom ou ruim, isso vai depender de quem esta desenvolvendo e para quais funcionalidades ele terá. Ambos os modelos possuem peculiaridades que ajudam a melhorar ou não um programa, onde se adequam melhor a determinado tipo de desenvolvimento ou não. O que se pretendeu foi a demonstração de algumas características, para melhor julgamento, do Software Livre. Usar a sensatez ainda é a única certeza na hora de escolher entre os modelos.


Não podemos afirmar que qualquer deficiência seja ocasionada pelo tipo de software, seja ele proprietário ou não. Podemos dizer que todo software não é um produto final, não é perfeito, e precisa continuadamente ser monitorado, e de tempos em tempos haver novas versões e upgrades. Por isso precisamos ter a garantia e a competência de quem fornece e/ou opera, na grande maioria dos casos, e cada vez mais a sociedade é dependente da TI. (PACITTI, 2006).


Conclusão:


O paradigma do Software Livre é um tema importante que vem ganhando atenção de governos, empresas e usuários devido aos diversos motivos que foram abordados no presente artigo. Ainda é cedo para conclusões sobre o futuro. O Software Livre esta se consolidando em muitos nichos, tem suas limitações, pois nem todos os projetos de software funcionariam seguindo este modelo de desenvolvimento.

No caso dos usuários, que apenas fazem uso das funcionalidades do software, a opção pelo Software Livre ou Proprietário é uma questão de conhecer onde esses sistemas serão postos em funcionamento. Cada um possui característica que se adequam melhor em situações distintas. Há casos em que o Software Livre não apresenta condições de substituir o modelo Proprietário, há empresas que mantém uma boa relação com seus softwares proprietários e que não encontram motivos para utilizarem outra solução. Cada situação deve ser avaliada isoladamente. O softwaresoftware está completo ou amadurecido o suficiente. é um bem inacabado, esta sempre sofrendo mudanças, dificilmente pode-se dizer que um

O Software Livre, como o próprio nome diz, trás a total liberdade na modificação do software. Seria leviano afirmar que este modelo atende a todas necessidades em um desenvolvimento ou aplicação de software, na verdade isso é bem difícil de ocorrer. Existem programas que devem obedecer a licenças de exclusividade do código-fonte. Há casos em que o modelo “Bazar” tem demonstrado melhores resultados. A construção de um bom software está mais dependente dos seus requisitos, do que o paradigma utilizado (livre ou proprietário). A escolha entre livre ou proprietário deve pautar-se levando em consideração as observações contidas no artigo, onde os requisitos é quem vão informar que modelo seguir e não apenas basear-se em ideologias movidas por paixões. Neste caso, o que deve prevalecer é a razão.

Existe mercado para ambos os modelos. E isso é o mais importante a ser lembrado, um modelo não deve se opor ao outro, os desenvolvedores e usuários devem buscar a harmonia, onde ambos sejam fortalecidos. Em alguns casos, o Software Livre leva vantagem e deve ser pensada a sua implementação, e em outros o Software Proprietário trará melhores características. Existe ainda a opção da coexistência, onde um complementa o outro. Esse é o desenvolvimento ou o funcionamento ideal, onde as forças serão somadas e não subtraídas.


Referências:


COMER, Douglas E. Redes de computadores e Internet. Trad. Marinho Barcelos. 2.ed. Porto Alegre: Bookman, 2001.

STALLMAN, Richard Matthew. O que é Software Livre?. Site Institucional. Disponível em : <http://www.fsfla.org/>. Acesso em 01/08/2006.

GUESSER, Aldato Herculano. Software Livre & Controvérsias Tecnocientíficas: Uma Análise Sociotécnica no Brasil e em Portugal. Curitiba: Juruá, 2006.

OSD. Open Source Definition. Site Institucional. Disponível em <http://www.opensource.org/>. Acessado em 01/08/2006.

LÉVY, Pierre. A máquina universo: criação cognição e cultura informática. Tradução Bruno Charles Magne. Porto Alegre: ArtMed, 1998.

RAYMOND, Eric Steven. The Cathedral and the Bazaar. Disponível em <http://www.catb.org/~esr/writings/cathedral-bazaar/>. Acessado em 25/07/2006.

TAURION, Cesar. Software livre: potencialidades e modelos de negócio. Rio de Janeiro: Brasport, 2004.

VELLOSO, Fernando de Castro. Informática. Rio de Janeiro: Campus, 1997.

iDebugging é o processo de depuração do código-fonte, ou seja, o arquivo contendo o código-fonte é percorrido a procura de erros de programação.

ii www.sourceforge.net. Portal que serve como repositório para projetos de Software Livre. Armazena projetos em seis categorias, baseados nos seus estágios de desenvolvimento, como planejamento, pré-alfa, alfa, beta, produção/estável e maduro.

iiiSuite de aplicativos de escritório da SUN Microsystems que imita e concorre com o Office da Microsoft.


sexta-feira, 13 de março de 2009

Brincando com o Blender 3D e YafaRay

Minha nova diversão. Mexer com blender, modelando e aplicando o render yafaray.
É divertido esse blender@


Yaf(a)ray
Vidro (render interno do Blender)





Caso (render interno)

quarta-feira, 4 de março de 2009

Instalando o Tomcat 6 no Ubuntu 8.10 (Intrepid Ibex)

Pré-requisitos:

Conhecimentos básicos em Linux.

Tenha certeza de que o Java versão 5, ou superior, esta instalado no seu computador. Verifique se o Java esta instalado abrindo um terminal (linha de comando ou command line) e digite java -version. Deve surgir uma resposta do tipo:

java version "1.6.0_07"

Java(TM) SE Runtime Environment (build 1.6.0_07-b06)

Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)

Caso não esteja basta consultar o meu post anterior para realizar a tarefa.


Este breve post trata da instalação do servidor web Tomcat 6 na distribuição Linux Ubuntu 8.10. O Tomcat é um servidor web bastante utilizado mundialmente e de fácil manutenção. Pode ser baixado no endereço eletrônico da Apache Software Foundation que fica em www.apache.org. Lá procure na seção de downloads pelo arquivo mais recente. No momento que escrevo a versão mais nova é a 6.0.18, portanto será esta que iremos instalar. O arquivo utilizado foi o baixado do link:

http://ftp.unicamp.br/pub/apache/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz.

Este arquivo vem empacotado e comprimido em dois formatos conhecidos de usuários Linux, que é o TAR e o GZ. O TAR é o empacotador (seu nome vem de Tape Archive) e o GZ de GZip é quem faz a compressão.

O Ubuntu possui um servidor Apache web que pode ser instalado a partir de seus repositórios. É o apache2 que pode ser instalado com o comando apt-get install apache2 sendo executado como root. Recomendo a remoção desse aplicativo e a instalação a partir do arquivo citado acima. Para remover o apache2 basta executar o seguinte comando como root apt-get autoremove apache2. Pronto, agora que as coisas estão em seus devidos lugares iremos instalar o Tomcat. Você pode instalar o Tomcat em qualquer diretório de sua preferência, no entando é recomendado que escolha um local seguro e permanente para isso.

1º Passo: Se ainda não fez o download do Tomcat abra um terminal e digite wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz. Para extrair os arquivos e criar o diretório do Tomcat, esteja na pasta em que foi salvo o arquivo e digite tar zxvf apache-tomcat-6.0.18.tar.gz. Pronto, o Tomcat esta instalado, fácil não é?

2º Passo: Antes de colocar o servidor para funcionar iremos realizar algumas recomendações. Primeiro mude o diretório de lugar, coloque em /usr/local/tomcat. Para isso façamos, no mesmo diretorio do arquivo, como root o comando mv apache-tomcat-6.0.18 /usr/local/tomcat.

O Tomcat precisa que a variável de ambiente JAVA_HOME esteja habilitada. Provavelmente a instalação do java feita de forma correta irá setar essa variável. Para saber se a mesma esta habilitada digite no terminal echo JAVA_HOME e deve aparecer o diretório do java. Caso não esteja habilitada teremos que fazê-lo. Na linha de comando digite vi ~/.bashrc e coloque no final do arquivo a linha export JAVA_HOME=/usr/lib/jvm/java-6-sun. O diretório /usr/lib/jvm/java-6-sun é apenas ilustrativo, para saber qual diretório o java esta instalado em seu computador é digitando o echo JAVA_HOME.

3º Passo: Agora iremos colocar o servidor para ser levantado na inicialização do sistema (auto starting) e depois testar se tudo esta funcionando. Para isso iremos editar o arquivo rc.local que é executado toda vez que o sistema é iniciado. Faremos isso como root digitando vim /etc/rc.local, procure no arquivo a linha que tem escrito exito 0 e escreva antes dela o seguinte comando /usr/local/tomcat/bin/startup.sh. Pronto, esse procedimento fará com que o Tomcat seja iniciado toda vez que o sistema também o for. Para testar o Tomcat vá até a pasta dele digitando cd /usr/local/tomcat/bin, depois digite como root ./startup.sh ou sh startup.sh. Para testar é so abrir um browser e entrar em http://localhost:8080/.

É isso, qualquer dúvida posta um comentário. Até sempre.