Você está na página 1de 73

Software Livre

Conteúdo
Aula 1 – Histórico e Filosofia do Software Livre
 1.1 Introdução
 1.2 Um Pouco de História        
 1.3 Surgimento do Software Livre
 1.4 O Software Livre
 1.5 Alguns Benefícios do Software Livre
 1.6 Filosofia do Software Livre
 1.7 Software Freedom Day
Aula 2 – Ambientes de Software Livre
 2.1 Introdução
 2.2 Sistemas Operacionais
 2.2.1 GNU/Linux
 2.3 Ferramentas de Desenvolvimento        
 2.4 Servidores
 2.5 Suítes e Aplicativos
Aula 3 – Configuração de Ambientes de Software Livre 
 3.1 Preparação do Ambiente   
 3.2 Ubuntu 
 3.2.1 Versão Desktop (Escritório)     
 3.2.2 Unity 
 3.3 Ubuntu Servidor      
Aula 4 – Ferramentas Livres de Programação e Banco de
Dados para Desenvolvimento de Sistemas
 4.1 Esclarecimento Inicial
 4.2 Ferramentas Livres de Desenvolvimento (IDE)
 4.2.1 NetBeans
 4.2.2 Eclipse        
 4.3 Ferramenta Livre de Banco de Dados
 4.3.1 Criando um Bando de Dados como MySQL Administrator e
Consultando com o MySQL Query Browser
Aula 5 – Licenças Livres
 5.1 Licenças Livres        
 5.1.1 Copyright 
 5.1.2 Copyleft 
 5.2 Tipos de Licenças
 5.2.1 GNU General Public License (GPL)
 5.2.2 LGPL (Library ou Lesser General Public License)
 5.2.3 BSD (Berkeley Software Distribution)
 5.2.4 MPL (Mozilla Public License)
 5.2.5 MIT (Massachusetts In Copyleft stitute of Technology) License        
 5.3 Software Livre x Software em Domínio Público         
 5.4 Software Livre e Copyleft  
 5.5 Venda de Software Livre   
Aula 6 – Redução de Custos de Propriedade Usando
Software Livre        
 6.1 Redução de Custos de Propriedade Usando Software Livre        
 6.2 O Software Livre como Modelo de Gestão de TI       
 6.3 Software Livre no Governo Federal
 6.4 Casos Sobre a Redução de Custos no Governo Federal
 6.4.1 Banco do Brasil
 6.4.2 Caso do Serpro
 6.4.3 Caso do Ministério de Desenvolvimento Agrário
 6.4.4 Caso do TRT 4ª Região (Judiciário Brasileiro)       
Aula 7 – Considerações Sobre Migração para Software Livre
 7.1 Migração
 7.2 Riscos
 7.2.1 Aspectos Culturais
 7.2.2 O Que Pode Causar Problemas?        
 7.2.3 Mitigação de Riscos
 7.4 Processo de Migração para Software Livre
 7.5 Orientações Gerais para Processo de Migração        

Aula 1 – Histórico e Filosofia do Software


Livre
O Software Livre vem ganhando cada vez mais espaço. Ao longo dos anos, esse tipo de
programa deixou de ser uma exclusividade de programadores, entusiastas da livre
distribuição de conhecimento e passou a fazer parte das máquinas de grandes
corporações governamentais, empresas privadas e até dos usuário domésticos. A partir
de agora, você acompanhará como foi o surgimento e a evolução do Software Livre e
terá subsídios para se posicionar: afinal, software livre ou software proprietário?

Ao longo desta aula você será capaz de compreender a definição existente por trás da
expressão “Software Livre” e perceberá as diferenças existentes entre esse tipo de
software e o chamado Software Proprietário. Você conhecerá a história e compreenderá
como foi o surgimento do Software Livre. Também serão apresentados os quatro tipos
de liberdades fundamentais para a pressuposição de que um software seja livre, por
meio de um conjunto de características definidas pela Free Software Foundation. Ao
final da aula, você conhecerá a filosofia por trás do Software Livre e o conjunto de
características próprias de um Código Aberto (Open Source).

“Porque eu tenho que escrever o GNU? Eu considero ser uma regra de ouro: se eu gosto
de um programa eu tenho que compartilhá-lo com outras pessoas como eu. Eu não
posso, com a consciência limpa, assinar um contrato de não divulgação de informações
ou um contrato de licença de uso de software. De modo que eu possa usar programas
de computador sem violar os meus princípios, eu decidi juntar uma quantidade
suficiente de software livre, de modo que eu possa continuar usando os computadores
sem utilizar nenhum programa que não seja livre”.

Com essa ideia, Richard Stallman fez com que o processo de


desenvolvimento crescesse e ganhasse adeptos pelo mundo todo, consolidando, com
isso, a criação da FSF (Free Software Foundation). Em 1984, apaixonados por
tecnologia e por programação, os fundadores trocavam mensagens e trechos de códigos
“livres”, construindo, colaborativamente, os primeiros componentes de um sistema
operacional que tinha a proposta de ser um Software Livre.
1.1 Introdução
Software Livre (SL), segundo a definição criada pela Free Software Foundation, é
qualquer programa de computador que pode ser executado, estudado, redistribuído e
modificado sem restrições. Assim, podemos inferir que esse conceito de Software Livre
se opõe ao conceito de Software Proprietário, ou não livre, que é aquele cuja cópia,
redistribuição, modificação e execução são, de alguma forma, restritos pelo seu criador
ou distribuidor.
Ao contrário do que ocorre com o SL, para que o usuário de um Software Proprietário
(expressão que foi criada em oposição ao conceito de Software Livre), possa utilizar,
copiar, ter acesso ao código-fonte ou fazer sua redistribuição, deve solicitar autorização
ao proprietário ou pagar para poder fazê-lo: será necessário, portanto, adquirir
uma licença.
1.2 Um Pouco de História
Na década de 1950 e início da década de 1960, praticamente todos os softwares eram
produzidos por acadêmicos e pesquisadores corporativos que trabalhavam em
colaboração. Por isso, os softwares não eram tidos propriamente como commodities,
assim, sistemas operacionais e demais programas eram distribuídos amplamente e
mantidos pela sua própria comunidade de utilizadores. O código-fonte era distribuído
em conjunto com o software, pois seus utilizadores frequentemente precisavam
modificá-lo para corrigir falhas ou adicionar novos recursos.
No decorrer da década de 1960, conforme os sistemas
operacionais, montadores, compiladores e linguagens de programação foram evoluindo
e os custos com a produção de software aumentavam. Na época, os softwares vinham
empacotados junto ao hardware (o custo com a produção do software vinha imbutido
nos custos do hardware). Enquanto isso, uma pequena e crescente indústria de
software se formava para tentar incluir seus produtos no hardware a ser vendido.
Um acontecimento interessante ocorrido em Janeiro de 1969, denominado
processo antitruste “Estados Unidos contra IBM”, já demonstrava a insatisfação com os
softwares embutidos. Nesse episódio, o governo dos Estados Unidos moveu um
processo contra a IBM, alegando que a prática de vender hardware com software
embutido era anticompetitiva.
Nos anos 1970, a AT&T distribuiu versões iniciais do Unix sem custos para
pesquisadores governamentais e acadêmicos, mas estas versões já não possuíam
permissões para redistribuição ou distribuição de versões modificadas. Nessa época, já
era bem perceptível o crescimento do número de softwares que eram vendidos.
Nos anos de 1970 e no início de 1980, começava-se a perceber que a indústria do
software já tomava medidas enérgicas para garantir os seus interesses, impedindo que
os usuários pudessem estudar e modificar o código dos programas produzidos. Em
1980, a indústria de software conseguiu na justiça a extensão da lei de copyright aos
programas de computadores. Assim, nessa época, montadoras de computador e
companhias envolvidas apenas com software começaram a cobrar licenças de software
rotineiramente, anunciando isto como "Produtos de Programa". Também foram
impostas restrições quanto ao desenvolvimento de novos softwares que, agora, eram
vistos como bens ativos, por meio de direitos autorais, registro de marcas e contratos
de arrendamento.
Em 3 de fevereiro de 1976, Bill Gates assinou uma mudança nos tempos quando
escreveu a sua famosa carta aberta a hobbistas. Ela pedia aos entusiastas da
computação que “maneirassem” na pirataria e espalhassem a mensagem de que o que
os hackers chamavam de "compartilhamento" era, nas palavras dele, "roubo".

Assim, definitivamente, o rumo que o software estava tomando já não agradava mais
os desenvolvedores e entusiastas da computação aberta e do desenvolvimento livre de
software.

1.3 Surgimento do Software Livre


Se, de um lado, a comercialização do software parecia selada, de outro, era visível a
frustração de alguns usuários com a mudança de cultura na indústria do software.
Principalmente por parte da comunidade hacker. Em 1984,Richard Stallman, membro
de longa data desta comunidade, anunciou o Projeto GNU. O Projeto GNU foi lançado
com o intuito de criar um sistema operacional livre de limitações quanto à utilização de
seu código-fonte. Ele veio aliado a uma frase mundialmente conhecida: “GNU is not
Unix”, pois a ideia era desenvolver o primeiro Sistema Operacional Livre, com todas as
funcionalidades do Unix e que rodasse programas compatíveis com ele, mas que fosse
um software totalmente livre e desenvolvido de forma colaborativa.
Richard Stallman também lançou o Manifesto GNU, que foi publicado em 1985, para
esboçar o Projeto GNU e explicar a importância da liberdade no software. Logo após o
lançamento do manifesto, ele cunhou o termo "Software Livre" e fundou a Free
Software Foundation (em português: Fundação para o Software Livre), que tinha a
finalidade de promover o conceito e a definição de Software Livre, que foram publicados
em 1986.
Em 1991, um jovem matemático finlandês (Linux Torvalds) divulgou na
Internet kernel um sistema operacional baseado no Unix, mas com código fonte aberto.
Nascia então o conhecido sistema operacional GNU/Linux.
1.4 O Software Livre
Um software é considerado livre quando atende aos quatro tipos de liberdade para os
usuários do software. Essas características foram definidas pela Free Software
Foundation.

Liberdade 0 – Liberdade para executar o programa para qualquer


propósito
Liberdade de executar o programa significa dizer que qualquer tipo de pessoa física ou
jurídica pode utilizar o software em quantas e quais máquinas desejar, em qualquer tipo
de sistema, para qualquer tipo de trabalho ou atividade, sem nenhuma restrição
imposta pelo fornecedor.

Liberdade 1 – Liberdade de estudar como o programa funciona e adaptá-


lo para às suas necessidades
Para que se tenha liberdade de estudar ou modificar o software (para uso particular ou
para distribuir) é necessário ter acesso ao código-fonte. Por isso, a disponibilidade
desses arquivos é pré-requisito para a liberdade do software. Cada licença determina
como será feito o fornecimento do código fonte para distribuições típicas, como é o caso
de distribuições em mídia portátil somente com os códigos binários já finalizados (sem o
fonte). As licenças serão melhor estudadas nas próximas aulas.

Liberdade 2 – Liberdade de redistribuir cópias, de modo que você possa


ajudar ao seu próximo
Liberdade de redistribuir o programa compilado, isto é, em formato binário,
necessariamente inclui a obrigatoriedade de disponibilizar seus códigos-fonte.

Liberdade 3 – Liberdade de modificar o programa e liberar estas


modificações, de modo que toda a comunidade se beneficie
Caso o software venha a ser modificado e o autor da modificação queira distribuí-lo,
gratuitamente ou não, será também obrigatória a distribuição do código fonte das
modificações, desde que elas venham a integrar o programa. Não é necessário a
autorização do autor ou do distribuidor do software para que ele possa ser redistribuído,
já que as licenças de software livre assim o permitem.

Perceba que o acesso ao código-fonte do software é um pré-requisito para as liberdades


de 1,2,3. Para que essas liberdades sejam reais, elas devem ser irrevogáveis. Caso o
desenvolvedor do software tenha o poder de revogar a licença, o software não é livre. A
maioria dos Softwares Livres é licenciada por meio de uma “Licença de Software Livre”,
como a GNU GPL, a mais conhecida. Essas licenças serão melhor estudadas na aula 5.
Com base nessas informações, podemos listar alguns benefícios do Software Livre,
principalmente em ambientes corporativos.

1.5 Alguns Benefícios do Software Livre


Hoje, existe não só uma quantidade suficiente de profissionais no mercado, mas todo
um ecossistema econômico consolidado, com empresas prestadoras de serviços em
Software Livre. Com isso, a organização que faz a opção pelo SL tem possibilidade de
organizar a sua própria estratégia, já que pode ter acesso ao código-fonte da aplicação.
Não há, portanto, a dependência com relação a um único fornecedor ou de um único
padrão de mercado.

O SL, por possuir seu código-fonte aberto, permite que falhas eventuais sejam
identificadas e resolvidas de forma mais fácil, rápida e econômica do que num Software
Proprietário. Assim, identificado um problema, a resolução pode ser efetuada por
qualquer programador com conhecimento do código-fonte.

Mas é importante lembrar que o fato de o código ser aberto não significa que ele seja
vulnerável. A utilização de procedimentos seguros de desenvolvimento de programas
permite que o código final, compilado a partir do código-fonte aberto, seja menos
vulnerável a ataques.

O SL também utiliza padrões abertos, ou seja, normas técnicas de conhecimento


público. A utilização desses padrões facilita a comunicação e a interoperabilidade entre
usuários e organizações que, mesmo utilizando softwares diferentes (como os
proprietários, por exemplo), conseguem desenvolver projetos, encaminhar documentos
e tomar decisões a partir da utilização de padrões mundialmente conhecidos. Por isso,
também é possível a interoperabilidade com os padrões proprietários. Isso permite uma
implantação mais tranquila, pois o histórico de informações dos sistemas baseados em
padrões proprietários pode ser aproveitado após a migração para o SL.

Outra característica é a continuidade de desenvolvimento. O usuário tem a garantia de


que está utilizando um software que poderá continuar a ser desenvolvido mesmo que os
programadores ou empresas responsáveis por ele desistam do desenvolvimento da
aplicação.

É importante lembrar também que o SL tem custo de licenciamento Zero. O Software


Livre não possui custos de licenciamento. Mas isso não significa que não exista a
necessidade de investimento na implantação de um software livre. O detalhe é que,
geralmente, esses investimentos são realizados para melhorar ou customizar o software
ao ambiente da organização.

1.6 Filosofia do Software Livre


A filosofia do Software Livre está pautada na livre troca de conhecimentos e de
pensamentos tradicionalmente encontradas no meio científico. Essa troca é a base de
um processo de evolução que alimenta a ampliação do raciocínio, das ideias, das
contribuições e, consequentemente, da construção do software. Para o movimento do
SL, não é ético aprisionar conhecimento científico. Ele deve estar sempre disponível
para permitir a evolução da humanidade.

A filosofia do SL pressupõe, acima de tudo, uma atitude de respeito quanto ao uso de


um aplicativo. Ela resume o uso consciente do computador, por meio do estudo das
funções por trás de cada clique, por trás de cada instrução do código liberado. Nesse
aspecto, tal como as ideias, os programas de computador não são tangíveis e podem
ser copiados sem perda. Os programadores por trás do Software Livre buscam não
apenas desenvolver aplicativos “grátis”, mas também possibilitar que o conhecimento
ali empregado esteja disponível a todos.

Na comunidade de SL o aperfeiçoamento de programas vem por meio de sugestões,


que são constantemente melhoradas e transformadas em inovações práticas. Isso, de
forma muito rápida! Essas contribuições podem ocorrer em fóruns ou grupos de
discussão, por meio de uma verdadeira tempestade de ideias, vindas de uma imensa
comunidade de membros voluntários, que são os seus maiores colaboradores.

É importante ressaltar que, hoje, o SL se expandiu para além do mundo seleto


dos experts em informática e passou a ser uma aposta que vem ganhando cada vez
mais o mercado e investimentos privados. O SL agora é encarado por uma vasta gama
de usuários e desenvolvedores como uma possibilidade de legalidade, aprendizado e
evolução. Muitos defensores do Software Livre argumentam que a liberdade é valiosa
não só do ponto de vista técnico, mas também moral e ético.
1.7 Software Freedom Day
No dia 20 de setembro comemora-se o Dia da Liberdade do Software (Software
Freedom Day) com eventos envolvendo as comunidades de usuários e desenvolvedores
de software livre em todo o mundo.
O movimento do Código Aberto (Open Source), encabeçado pela OSI –  Open Source
Initiative, enfatiza a superioridade técnica do Software Livre com relação ao Software
Proprietário, ao menos em potencial.
Os defensores do Open Source possuem uma filosofia um pouco diferente da filosofia
do Free Software, pois o foco do argumento diz respeito às virtudes pragmáticas do SL
ao invés das questões morais.

A discordância básica dos movimentos está no discurso. Enquanto o foco do movimento


encabeçado pela FSF chama a atenção para valores morais, éticos, direitos e liberdade,
o movimento encabeçado pela OSI defende um discurso mais voltado ao mercado. O
movimento pelo Open Source prega que o software desse tipo traz diversas vantagens
técnicas e econômicas, pois surgiu para levar as empresas a refletirem e adotarem o
modelo de desenvolvimento Open Source.

Obviamente, a diferença entre os movimentos "Software Livre" e "Código Aberto" está


apenas na argumentação. Mas, como os dois movimentos são em prol dos mesmos
softwares, é comum que esses grupos se unam em diversas situações ou que sejam
citados de uma forma agregadora por meio da sigla "FLOSS" (Free/Libre and Open
Source Software).
Recapitulando...
Nesta aula, você foi capaz de compreender que, Software Livre, segundo a definição
criada pela Free Software Foundation, é qualquer programa de computador que pode
ser executado, estudado, redistribuído e modificado sem restrições. Você viu ainda que,
em 1984, Richard Stallman anunciou o projeto GNU, um projeto lançado com o intuito
de criar um sistema operacional livre de limitações quanto à utilização de seu código
fonte. De acordo com a FSF, um software é considerado livre quando atende aos quatro
tipos de liberdade para os usuários do software:

 Liberdade para executar o programa para qualquer propósito.


 Liberdade de estudar como o programa funciona e adaptá-lo para as suas
necessidades.
 Liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo.
 Liberdade de modificar o programa, e liberar estas modificações, de modo que
toda a comunidade se beneficie.
Por fim, você percebeu que a filosofia do Software Livre (Free Software) está pautada
na livre troca de conhecimentos e de pensamentos, pressupondo, acima de tudo, uma
atitude de respeito quanto ao uso de um aplicativo. Já o movimento do Código Aberto
(Open Source) foca as virtudes pragmáticas e comerciais do software livre ao invés das
questões morais. Os movimentos "Software Livre" e "Código Aberto" podem ser
reconhecidos através da sigla "FLOSS" (Free/Libre and Open Source Software).

Aplicando o Conhecimento
 “Nos anos 1970, a AT&T distribuiu versões iniciais do Unix sem custos para
pesquisadores governamentais e acadêmicos, mas estas versões não possuíam
permissões para redistribuição ou distribuição de versões modificadas, portanto,
não podem ser consideradas Software Livre” Com base nos seus conhecimentos
acerca de Software Livre, você concorda ou discorda da afirmação acima? Explique
o porquê.
 Explique o que eram os “Produtos de Programa" anunciandos pelas montadoras
de computador e companhias envolvidas com softwares?
 Na década de 1980, foram impostas restrições quanto ao desenvolvimento de
novos softwares, que passaram a ser vistos como bens ativos, por meio de direitos
autorais, registro de marcas e contratos de arrendamento. Explique no que
consiste cada uma dessas três formas de propriedade.
 Descreva, resumidamente, as principais ideias contidas na carta aberta a
hobistas (escrita em 1976 por Bill Gates) e no Manifesto GNU, publicado em 1985
por Richard Stallman.
 Elabore uma tabela organizada cronologicamente de acordo com os principais
acontecimentos que culminaram com o surgimento do Software Livre.
 Disserte sobre o seu entendimento a respeito da filosofia do software livre.
 Defina o que é um Software Proprietário e elenque suas vantagens e
desvantagens com relação ao Software Livre.
 Descreva algumas das principais vantagens do SL com relação ao Software
Proprietário.
 Quais as diferenças entre a filosofia do Software Livre e a Filosofia do Código
Aberto?

Aula 2 – Ambientes de Software Livre


Atualmente, a oferta de Software Livre é muito grande, sejam Sistemas Operacionais
com as mais diversas particularidades, sejam Editores de Textos, Ferramentas de
Desenvolvimento Flash, Servidores, IDEs, Sistemas Gerenciadores de Bancos de Dados
e mais uma infinidade de ambientes, utilitários, suites e aplicativos. Nesta aula,
veremos alguns desses ambientes.

Ao final desta aula você conhecerá alguns Sistemas Operacionais: Distribuições


GNU/Linux, tal como Ubuntu, OpenSUSE, Debian, Slackware, Fedora, CentOS e
LinuxMint. Você também compreenderá as principais características de algumas
ferramentas de desenvolvimento, servidores e aplicativos baseados em Software Livre.

A demanda pelo Software Livre é uma crescente nas grandes corporações. De acordo
com pesquisa realizada pela Global Graphics, 84% das grandes organizações
americanas utilizam, pelo menos, seis peças desse tipo de software em seu negócio.
Além disso, 54% dos CIOs - Chief Information Officer – usam mais de 10 diferentes
produtos de Software Livre. Essa constatação ocorreu em uma entrevista que contou
com cerca de 100 CIOs no Reino Unido e 300 CIOs nos EUA, em organizações com mais
de 1.000 funcionários. A reportagem completa você encontra em:
http://www.computerworlduk.com/news/open-source/18518/demand-for-freeware-
strong-in-large-businesses/.
2.1 Introdução
Existe uma infinidade de Softwares Livres, vários deles largamente utilizados em
organizações públicas e privadas no Brasil e no mundo. Mesmo o usuário doméstico
também tem um gigantesco número de possibilidades para testar e trabalhar com o SL,
desde utilitários, IDEs, anti-vírus, até suítes de edição de documentos, aplicativos de
edição de vídeo e áudio, jogos, etc. Por isso, obviamente, a intenção desta nossa aula
não é esgotar o assunto, mas dar uma ideia panorâmica sobre algumas das
possibilidades mais conhecidas que estão disponíveis para usuários em diversos níveis.
A seguir, você encontrará a enumeração de alguns deles.

2.2 Sistemas Operacionais
2.2.1 GNU/Linux
O Linux é mais famoso entre os Sistemas Operacionais Modernos Livres. O termo
GNU/Linux designa a união do Kernel Linux com as ferramentas disponíveis pelo projeto
GNU. Assim, o Linux é o kernel de um sistema operacional que depende de uma série
de ferramentas para ser um sistema operacional completo.
Uma distribuição Linux é um kernel acrescido de uma série de programas. Por isso, o
Linux possui várias distribuições. Cada distribuição Linux possui suas particularidades,
tais como forma de se instalar um pacote (ou software), interface de instalação do
sistema operacional em si, interface gráfica, suporte a hardware e uma infinidade de
outros detalhes. Desta forma, o usuário pode definir que distribuição Linux atende
melhor às suas necessidades.

Geralmente, uma distribuição de Linux específica não satisfaz totalmente as


necessidades de usuários experts, que acabam recorrendo à Internet para completar
sua distribuição com programas adicionais. E isso é bom! Esta flexibilidade
proporcionada pelo sistema é justamente o que esses usuários buscam. A facilidade de
se obter programas ou pacotes gratuitos com qualidade para Linux na Internet é um
dos fatores que mais cativam a legião de fãs deste sistema ao redor do mundo.
Atualmente, consideramos duas empresas distribuidoras de Linux como as maiores do
mercado. A norte-americana Red Hat e a europeia Suse. Já no Brasil, com a crescente
popularização do Linux, existe a Canonical como uma das principais distribuidoras. Em
todo o mundo, existem outras distribuições muito populares, como Slackware, Debian,
etc.

Uma vez escolhida a distribuição Linux que você utilizará, o próximo passo é fazer o
download para gravação e instalação em seu computador. É extremamente
recomendável optar por uma distribuição Linux popular, pois isso significa que ela é
bem testada e você encontrará documentação abundante na Internet, caso precise de
ajuda. Logo abaixo, você verá algumas dessas versões.

Ubuntu GNU/Linux
Ubuntu é um sistema operacional baseado em Linux desenvolvido pela Canonical, é
perfeito para notebooks, desktops e servidores. Ele contém todos os aplicativos que
você precisa: navegador web, programas de apresentação, edição de texto, planilha
eletrônica, comunicador instantâneo e muito mais. O Ubuntu é uma das distribuições
Linux mais populares da atualidade. É considerado um dos sistemas Linux mais
amigáveis e suas versões são muito dedicadas ao usuário final (desktop). O Ubuntu foi
originalmente baseado no Debian Linux, possui foco em desktop e publicação de novas
versões lançadas semestralmente.

Para maiores informações, visite o site oficial do Ubuntu Linux ou a comunidade do


Ubuntu Linux no Brasil.

OpenSUSE GNU/Linux
O OpenSUSE Linux é a versão livre do belíssimo sistema operacional Novell SuSE. Além
de se comportar de forma muito estável e robusta como servidor, também é muito
poderoso quando o assunto é desktop. Seu diferencial é o famoso YaST (Yeah Another
Setup Tool), um software que centraliza todo o processo de instalação, configuração e
personalização do sistema Linux, comparando-se ao painel de controle do Windows. O
YaST pode ser usado para configurar o sistema inteiro, como por exemplo, a
configuração de periféricos (placa de vídeo, placas de som, rede, configurar serviços do
sistema, firewall, usuários, boot, repositórios, idiomas, instalar e remover softwares,
etc.). O YaST talvez seja a mais poderosa ferramenta de gestão do ambiente Linux.
Este é um projeto Open Source patrocinado também pela Novell e ativamente em
desenvolvimento.
Para maiores informações, visite o site oficial do OpenSUSE Linux ou
a comunidade brasileira OpenSUSE Linux.

Debian GNU/Linux
O Debian é uma das distribuições Linux mais antigas e populares. Ele serviu de base
para a criação de diversas outras distribuições populares, tais como Ubuntu e Kurumin.
Sua versão estável é exaustivamente testada, o que o torna ideal para servidor
(segurança e estabilidade).

Usuários consideram que o Debian GNU/Linux é mais que um simples SO, pois ele vem
com mais de 29.000 pacotes contendo softwares pré-compilados, o que torna fácil a
instalação deles na máquina. Esse é o chamado sistema de empacotamento .deb.
Para maiores informações, visite o site oficial do Debian Linux ou
a comunidade brasileira Debian Linux.

Slackware GNU/Linux
Slackware Linux, junto com o Debian e Red Hat, é uma das primeiras distribuições. Foi
idealizada por Patrick Volkerding, Slack – apelido adotado por sua comunidade de
usuários – e tem como características principais leveza, simplicidade, estabilidade e
segurança. Esta versão é indicada para quem procura uma distribuição Linux voltada
para servidor ou para aqueles que desejam aprofundar os conhecimentos acerca do
Linux.

Embora seja mais voltada para o usuário expert ou hacker, o Slackware possui um


sistema de gerenciamento de pacotes simples, assim como sua interface de instalação,
que é uma das poucas que continua em modo-texto, mas nem por isso se faz
complicada.

Já foi considerado um "Linux padrão", mas sua popularidade diminuiu muito depois do
surgimento de distribuições mais amigáveis. Mesmo assim, o Slackware continua sendo
uma distribuição muito apreciada e respeitada, pois não mudou sua filosofia. Ele
continua fiel aos padrões UNIX e é composto apenas por aplicações estáveis.

Para maiores informações, visite o site oficial do Slackware Linux ou o site


da comunidade Slackware Linux do Brasil.

Fedora GNU/Linux
Fedora é uma das mais populares e estáveis distribuições Linux que existem
atualmente. Ele representa um conjunto de projetos patrocinados pela Red Hat e
direcionados pelo Projeto Fedora, um projeto desenvolvido por uma imensa comunidade
internacional de pessoas focadas em prover e manter as melhores iniciativas por meio
dos padrões livres do software de fonte aberto. Este é um sistema destinado a usuários
que buscam um Sistema Operacional com poderes de Servidor, mas com as facilidades
das ferramentas de configuração gráficas ou um Sistema Operacional para aqueles que
simplesmente desejam um desktop mais robusto.

O Fedora conta com um ciclo de desenvolvimento rápido. A cada seis meses, em média,
um novo Fedora Linux é liberado pelo Fedora Project. A própria comunidade em si é
uma das mais ativas da internet e o Fedora conta com uma farta ajuda online, mesmo
sem oferecer o suporte técnico direto da Red Hat.

O manuseio de pacotes é feito de forma inteligente e automática com a ajuda do Yum,


que cuida das atualizações e resolve as dependências de todos os pacotes, baixando o
que for necessário ao sistema dos repositórios e gerenciando a instalação. Encontra-se
para o Fedora todo o tipo de aplicações, desde suítes de escritório poderosas até
players de vídeo e de áudio com execução de quase todos os formatos conhecidos, além
de uma generosa coleção de jogos, todos instaláveis com alguns simples cliques ou uma
única linha de comando.
Para maiores informações, visite o site oficial do Projeto Fedora ou a página
da comunidade do Projeto Fedora no Brasil.

CentOS GNU/Linux
CentOS é uma distribuição Linux de classe Enterprise derivada de códigos fonte
gratuitamente distribuídos pela Red Hat Enterprise Linux e mantida pelo CentOS
Project. Esse sistema suporta tanto ambientes de servidores para aplicações de missão
crítica quanto ambientes de estações de trabalho.

O CentOS GNU/Linux foi criado para ajudar e ser ajudado por usuários de todos níveis
de conhecimento. Ele possui numerosas vantagens, incluindo uma comunidade activa e
crescente, rápido desenvolvimento e teste de pacotes, extensa rede para downloads,
desenvolvedores acessíveis, múltiplos canais de suporte em português e suporte
comercial por meio de parceiros.

Para maiores informações, visite o site oficial do CentOS Linux ou o site comunidade do
CentOS Linux no Brasil.

LinuxMint
A proposta do LinuxMint é ser uma distribuição de desktop com visual elegante,
amigável, confortável de usar e bem atualizada. Linux Mint é uma distribuição Linux
irlandesa e possui duas versões: uma baseada em Ubuntu (com o qual é totalmente
compatível e partilha os mesmos repositórios) e outra versão baseada em Debian. A
evolução foi rápida e hoje é uma distribuição completa e bem resolvida, com
ferramentas próprias de configuração, aplicativo de instalação de pacotes baseado na
web, menus personalizados, entre outras características únicas. Sempre com um visual
bem clean e elegante.

A versão inclui drivers, codecs e recursos que permitem fazer em modo gráfico
configurações que em alguns sistemas sistemas são feitas através do modo texto. O
Mint agregou essas facilidades e incorporou outras, sendo considerado um Ubuntu mais
polido, com excelente seleção de softwares, belo desempenho e design. Esta foi uma
das primeiras distribuições a fazer sucesso com os usuários pela facilidade em instalar
programas, instalação e configuração automática de dispositivos e afins.

Utiliza por padrão o desktop Gnome modificado, com um menu no painel inferior junto à
barra de tarefas (o MintMenu), similar ao menu do KDE, ou o menu "Iniciar" do
Windows. O propósito da distribuição é providenciar um sistema Linux que funcione
"out-of-the-box"; isto é, esteja pronto para uso assim que terminar a instalação. Dessa
maneira, o único trabalho do usuário será o de personalizar a aparência, se desejar e
instalar programas extra caso necessite.

Outras razões para o sucesso do Linux Mint, listados na página do projeto são: a
velocidade com que a comunidade responde às demandas (uma solicitação postada no
fórum do site pode estar já implementada no current em menos de uma semana); por
ser derivada do Debian conta com toda a base sólida de pacotes e do gerenciador de
pacotes do Debian; é compatível com os repositórios do Ubuntu; tem um desktop
preparado para o usuário comum sentir-se confortável; se esforça para que os recursos,
tais como suporte multimídia, resolução de vídeo, placas e cartões Wifi e outros,
funcionem bem.

Para maiores informações, visite o site oficial do LinuxMint ou o site do LinuxMint no


Brasil.
2.3 Ferramentas de Desenvolvimento
Editor de texto avançado, o Emacs é usado por
programadores e usuários que necessitam desenvolver
Emacs
documentos técnicos, em diversos tipos de sistemas
operacionais.

SwfTools é uma ferremanta livre utilizada o


desenvolvimento em Flash e ActionScript e para criar
arquivos .SWF (formato Shockwave Flash). Seu principal
SWFTools
utilitário é o SWFC, um compilador com suporte para
figuras, botões, formulários, ActionScript e efeitos de
imagem e de som.

Eclipse é uma plataforma IDE focada no desenvolvimento


de ferramentas e aplicações de software. Hoje o Eclipse é a
IDE Java mais utilizada no mundo. Possui como
características marcantes o uso da SWT e não do Swing
Eclipse como biblioteca gráfica, a forte orientação ao
desenvolvimento baseado em plug-ins e o amplo suporte ao
desenvolvedor com centenas de plug-ins que procuram
atender as diferentes necessidades de diferentes
programadores.

Plataforma de desenvolvimento e programação em C, C++,


Java, Python, UML e outras). O NetBeans é uma IDE para
que programadores possam escrever, compilar, depurar e
implantar programas. É escrito em Java - mas pode suportar
NetBeans
qualquer linguagem de programação. Existe também um
enorme número de módulos para aprimorar o NetBeans
IDE, que é um produto gratuito sem restrições de como ser
utilizado.

Python , Java,Perl, PHP, Lua,Ruby, Gambas eTc
Linguagens de programação diversas.
l
2.4 Servidores
O MySQL é um Sistema Gerenciador de Banco de Dados RelacionaisSGBD que
utiliza a linguagem SQL como interface. Atualmente é um dos bancos de dados mais
populares do mundo. Seu sucesso se deve, em grande parte, à fácil integração com o
PHP nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Empresas
como Yahoo! Finance, MP3.com, Motorola, NASA, usam o MySQL em aplicações de
missão crítica. A Wikipédia também é um exemplo de utilização do MySQL em sites
de grande audiência. Entre os seus principais aspectos estão:
Portabilidade (suporta praticamente qualquer plataforma atual).
Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de
interface para diversas linguagens de programação, como Delphi, Java, C/C++, C#,
Visual Basic, Python, Perl, PHP, ASP e Ruby).
MySQL
Excelente desempenho e estabilidade.
Pouco exigente quanto a recursos de hardware.
Facilidade de uso.
Contempla a utilização de vários Storage Engines como MyISAM, InnoDB,
Falcon, BDB, Archive, Federated, CSV, Solid.
Suporta controle transacional; Triggers; Cursors (Non-Scrollable e Non-
Updatable); Stored Procedures e Functions.
Replicação facilmente configurável.
Interfaces gráficas de fácil utilização cedidos pela MySQL Inc.

PostgreSQL é um sistema gerenciador de banco de dados objeto relacional


(SGBDOR). O PostgreSQL conta com recursos de consultas complexas, chaves
estrangeiras, integridade transacional, controle de concorrência multi-versão, suporte ao
PostgreSQL
modelo híbrido objeto-relacional, gatilhos, visões, linguagem procedural (PL/pgSQL,
PL/Python, PL/Java, PL/Perl) para procedimentos armazenados, indexação por texto,
estrutura para guardar dados Georeferenciados PostGIS.

O servidor para web Apache (ou Servidor HTTP Apache) é o mais bem sucedido
servidor web livre. Estima-se que o Apache seja responsável por mais de 50% dos
servidores ativos no planeta. É largamente utilizado nos sites mais movimentados do
mundo. AApache Software Foundation é responsável por projetos envolvendo
Apache
tecnologias de transmissão via web, processamento de dados e execução de aplicativos
distribuídos. O servidor é compatível com o protocolo HTTP e suas funcionalidades
são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário
escreva seus próprios módulos — utilizando a API do software.

O servidor de arquivos Samba é utilizado em sistemas operacionais do tipo Unix e


Samba simula um servidor Windows. Permite que seja feito gerenciamento e
compartilhamento de arquivos, inclusive em uma rede Microsoft.

O servidor e cliente de email Novell Evolution foi criado pela Ximian, que foi


adquirida pela Novell em 2003. Este é um gerenciador de informações pessoais como
Evolution
uma ferramenta para oGNOME que inclui e-mail, calendário e endereços. Sua interface
e funcionalidades são similares às do Microsoft Outlook e do Mozilla Thunderbird.

O Tomcat é um servidor web Java, mais especificamente. O Tomcat é um servidor de


aplicações JEE, porém não é um servidor de EJBs. Desenvolvido pela Apache Software
Foundation, é distribuído como software livre dentro do conceituado projeto Apache
Apache Tomcat Jakarta. O Tomcat foi oficialmente endossado pela Sun Microsystems como a
implementação de referência para as tecnologias Java Servlet e JavaServer Pages (JSP).
O servidor inclui ferramentas para configuração e gerenciamento, o que também pode
ser feito editando-se manualmente arquivos de configuração formatados em XML.

BIND O Servidor de nomes BIND (Berkeley Internet Name Domain) é o servidor para o


protocolo DNS mais utilizado na Internet, especialmente em sistemas do tipo Unix,
onde ele pode ser considerado um padrão. Foi distribuído pela primeira vez com o
sistema operacional BSD. Atualmente o BIND é suportado e mantido pelo Internet
Systems Consortium.

Sendmail Agente de transferência para roteamento e entrega de correio (MTA).

Outro agente de transporte de mensagens (MTA), o Postfix é um agente de


Postfix transferência para envio e entrega de emails. Rápido e fácil de administrar. Pode ser
considerada uma alternativa ao Sendmail. Muito utilizado em servidores UNIX.

2.5 Suítes e Aplicativos
Se a oferta de software livre para ambientes de servidores já é bastante grande, a
disponibilidades de aplicativos ou programas específicos para o usuário final é
gigantesca. Por isso, não podemos aqui preparar uma listagem definitiva com esses
softwares para não cometermos injustiças. Não só pelo fato de que não poderíamos
apresentar todos os merecedores de destaque, mas também porque cada usuário tem
suas preferências, particularidades e finalidades.

Entretanto, são listados abaixo alguns dos mais famosos softwares livres disponíveis
para o usuário final.

Mozilla Firefox é um navegador livre e multi-plataforma desenvolvido pela Mozilla


Mozilla Firefox Foundation. A intenção da fundação é desenvolver um navegador leve, seguro, intuitivo
e altamente extensível.

LibreOffice é uma suíte de aplicativos para escritório, livre multiplataforma, disponível


para diversos sistemas operacionais. A suíte utiliza o formato OpenDocument (ODF) e
LibreOffice também é compatível com os formatos do Microsoft Office, além de outros formatos
legados. O LibreOffice surgiu como uma ramificação do projeto original
OpenOffice.org.

O PidGin está relacionado a um conceito de comunicador universal. Este é um


programa de chat que permite efetuar login em contas de diversas redes de bate-papo
simultaneamente, por exemplo: AIM, ICQ, Google Talk, Jabber / XMPP, MSN
Messenger, Yahoo!, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, QQ,
Lotus Sametime, SILC, SIMPLE , MXit, MySpaceIM, e Zephyr. E ainda pode suportar
muitos mais com a instalação de plugins. O Pidgin também suporta vários recursos
Pidgin
dessas redes de chat, tais como transferências de arquivos, mensagens de distância,
amigo ícones, smilies personalizados, e notificações de digitação, e também pode ter
funcionalidades estendidas através da instalação de plugins.Interessante saber que,
pela etimologia da palavra, Pidgin é o nome dado a qualquer língua que é criada,
normalmente de forma espontânea, de uma mistura de outras línguas! Daí a ideia deste
nome para o programa!

Kaffeine é uma interface gráfica para rodar arquivos de multimídia. Ele permite que
você execute vídeos e músicas em seu computador e possui recursos de gravação
Kaffeine  
instantânea que permitem exportar de um arquivo em execução para um formato de
vídeo escolhido pelo usuário.

PiTiVi é um editor de cinema intuitivo e com mais recursos para o desktop Linux. Este
é um programa escrito em Pythonhttp://www.python.org.br/wiki e baseado nas
bibliotecas Gtk+http://www.gtk.org/ e GStreamer http://gstreamer.freedesktop.org/.
Aplicativos que utilizam estas bibliotecas podem fazer processamento de som em tempo
real, reprodução de vídeos e o que mais for relacionado a mídia. O PiTiVi providencia
PiTiVi  
diversos modos de criar e modificar um vídeo. Permite que se faça quantas
combinações de efeitos o usuário quiser. Este editor possibilita a criação de vídeos de
qualquer tamanho, sem limitação para número de trilhas utilizadas e os vídeos podem
ser redimensionados para qualquer proporção. Ele possui um modo de visualização
avançado que permite que se edite vídeos de maneira mais profissional e precisa.
K3b foi criado para ser uma opção fácil de manusear em termos de aplicativo de
gravação de CD. O K3b é um software que funciona como uma interface gráfica para
K3b  
a gravação de CD-ROMs e DVDs de dados, além de CDs de áudio, CDs de vídeo e
cópia exata de CDs e DVDs.

GIMP (GNU Image Manipulation Program) é um poderoso e avançado editor de


imagens. O GIMP possui os recursos para ser utilizado na criação ou manipulação de
imagens e fotografias. Seus usos incluem criar gráficos, logotipos, redimensionar fotos,
Gimp alterar cores, combinar imagens utilizando camadas, remover partes indesejadas e
converter arquivos entre diferentes formatos de imagem digital. Foi criado
originalmente para o Linux, mas agora ganhou uma versão para Windows. Embora seja
grátis, ele não fica devendo nada aos programas mais famosos da categoria.

Filezilla é uma solução FTP livre. Suporta os protocolos FTP, FTP sobre SSL/TLS
(FTPS) e SSH (SFTP), roda em Windows, Mac e Linux, está disponível em 40 idiomas,
incluindo o português do Brasil, suporta transferência e pausa para grandes
FileZilla transferências (acima de 4GB) e disponibiliza o sistema Drag-and-drop (arraste e solte).
Existe uma versão do programa para uso portátil chamada FileZilla Portable. Com ela, é
possível executar o FileZilla diretamente de um disco rígido portátil como um pen-
drive.

MOODLE (Modular Object-Oriented Dynamic Learning Environment) é um


software livre, de apoio à aprendizagem, executado num ambiente virtual. Utilizado
principalmente num contexto de e-learning ou b-learning, o programa permite a criação
Moodle
de cursos "on-line", páginas de disciplinas, grupos de trabalho e comunidades de
aprendizagem, estando disponível em 75 línguas diferentes. Conta com mais de 25.000
websites registados, em cerca de 175 países.

Joomla! é um Sistema de gestão de conteúdos (Content Management System - CMS)


Joomla! desenvolvido a partir do CMS Mambo. É desenvolvido em PHP e pode ser executado
no servidor Web Apache ou IIS e base de dados MySQL.

Blender (também conhecido como blender3d) é desenvolvido pela Blender


Foundation, para modelagem, animação, texturização, composição, renderização,
Blender edição de vídeo e criação de aplicações interativas em 3D, tais como jogos,
apresentações e outros. O programa é multiplataforma e está disponível para diversos
sistemas operacionais. Acesse a comunidade brasileira do programa.

Virtual Magnifying Glass é desenvolvido para deficientes visuais e outros que


precisam ampliar uma parte da tela. É uma ferramenta de magnificação gratuita, em
Virtual Magnifying
código aberto e multiplataforma. Ela é simples, personalizável e fácil de usar. Com
Glass
mais de 300.000 downloads e uma história de 5 anos, a lupa digital visa prover uma
ferramenta de magnificação fácil de utilizar para aqueles que precisam.

Após esta breve apresentação, abaixo estão dispostos mais alguns links onde você
poderá pesquisar sobre o tipo de software que mais lhe interessa. Prepare-se, a partir
de agora você terá um mundo de possibilidades à sua disposição!

Para Saber Mais


Você poderá encontrar uma lista de softwares livres e seus equivalentes proprietários
neste endereço da web:

http://www.linuxrsp.ru/win-lin-soft/table-eng.html

Uma versão em português foi desenvolvida pela equipe do Projeto Software Livre Bahia
em:

http://twiki.im.ufba.br/bin/view/PSL/MiniTabelaDeSoftwaresEquivalentes
Outros links interessantes:

 Lista de softwares livres brasileiros


 Download de alguns softwares livres (e/ou grátis)
 Listagem contendo mais alguns softwares livres notáveis

Agora, você mesmo pode iniciar sua busca pelo tipo de software livre que mais se
adéqua às suas necessidades. Boa pesquisa!

Recapitulando...
Nesta aula você foi capaz de compreender que existe uma infinidade de Softwares
Livres e que o GNU/Linux é o mais famoso entre os Sistemas Operacionais Modernos
Livres. Você também obteve informações essenciais sobre algumas distribuições
GNU/Linux, tais como: Ubuntu, OpenSUSE, Debian GNU/Linux, Slackware, Fedora,
CentOS e LinuxMint. Além disso, você também encontrou conceitos fundamentais sobre
algumas ferramentas de desenvolvimento (Emacs, SWFTools, Eclipse, NetBeans,
Python, Java, Perl, PHP, Lua, Ruby, Gambas, Tcl) e Servidores (MySQL, PostgreSQL,
Apache, Samba, Evolution, Apache Tomcat, BIND, Postfix e Sendmail). Por fim, você
encontrou informações sobre algumas das várias Suítes e Aplicativos disponíveis no
mercado (Mozilla Firefox, OpenOffice.org, LibreOffice, Moodle, Joomla!, Blender, Virtual
Magnifying Glass, MediaWiki). Também estão disponíveis algumas listas de softwares
livres para efetuar download.

Aplicando o Conhecimento
 O texto inicial desta aula menciona que 84% das grandes organizações
americanas utilizam, pelo menos, seis peças de Software Livre em seu negócio.
Além disso, 54% dos CIOs usam mais de 10 diferentes produtos de SL. A que você
atribui este panorama?
 Pesquise instituições governamentais que utilizem os seguintes tipos de
sistemas: Ubuntu GNU/Linux; OpenSUSE GNU/Linux; Debian GNU/Linux; Fedora
GNU/Linux; CentOS GNU/Linux; OpenBSD. A seguir, elenque as principais
características de cada um desses sistemas.
 Após efetuar as pesquisas sugeridas nesta aula, sugerimos que você utilize
alguns dos produtos aqui descritos, caso ainda não seja usuário e relate de forma
breve a sua experiência.
 Elenque as vantagens e desvantagens técnicas e de usabilidade em uma
comparação entre os navegadores Firefox e Internet Explorer.

Aula 3 - Configuração de Ambientes de


Software Livre 
Nesta parte da nossa UEA será necessário que você instale um sistema operacional
baseado em Software Livre na sua máquina. Com ele, você conseguirá efetuar testes e
verificar a qualidade inerente a esse tipo de software. Existem basicamente três formas
de instalação do Linux: 1ª) Como único sistema operacional do computador; 2ª) Dual
boot – dois ou mais sistemas operacionais no computador; 3ª) Em uma máquina
virtual.

Para experimentar o poder do Linux, é recomendado que ele seja instalado com sistema
operacional único ou em dual boot. Mas, para essa unidade, com finalidade acadêmica,
vamos tratá-lo a partir de uma máquina virtual. Assim, você poderá trabalhar com o SL
com tranquilidade, sem ter que mexer no particionamento do HD ou formatar a
máquina que você já vem utilizando.

Ao final desta aula, você terá conhecimentos suficientes para instalar uma máquina
virtual (VirutalBox) em seu sistema operacional, preparando-o para receber o
GNU/Linux UBUNTU. Você irá manipular a versão escritório do sistema operacional,
acompanhando os passos para sua instalação e operacionalidade, além de ter uma visão
geral sobre o desktop, a Interface Gráfica Unity, o gerenciamento de aplicativos e o
desenvolvimento do servidor.

Antes, porém, de iniciarmos esta aula, leia algumas curiosidades importantes sobre o


Ubuntu. Veja também uma entrevista com Jane Silber, CEO da Canonical, empresa que
dá suporte ao Ubuntu e reformou alguns valores para a recente versão lançada, o
Ubuntu 11.04 Natty Narwhal.
3.1 Preparação do Ambiente
O Software Livre é extremamente flexível. Isso pode ser observado sob vários aspectos,
principalmente: com relação às inúmeras soluções disponíveis; pela usabilidade em
diferentes plataformas de hardware e principalmente pela sua adequação quanto às
diversas realidades impostas pelos usuários.

Nesse aspecto, podemos destacar que um ambiente operacional escrito em SL, pode ser
usado por qualquer pessoa, mesmo sem qualquer necessidade de formatação da
máquina.

Por isso, uma dica fundamental para aproveitar bem o conteúdo desta aula é a
instalação do Linux, podendo ser virtualizado com a ferramenta “VirtualBox”.
O VirtualBox é um software de virtualização desenvolvido pela Sun Microsystems
(posteriormente comprada pela Oracle) que visa criar ambientes para instalação de
sistemas distintos. Ele permirá que você instale e utilize um sistema operacional dentro
de outro, assim como seus respectivos softwares.

No nosso caso, o VirtualBox possibilitará a virtualização de ambientes para que


possamos instalar o sistema operacional Linux. Assim, você poderá utilizar o Sistema
Livre independente da plataforma de SO que esteja rodando na sua máquina. Você terá
dois ou mais “computadores” independentes, mas que compartilham fisicamente o
mesmo hardware.

Para nossos testes de configuração de ambientes de software livre utilizaremos o


Sistema Operacional Ubuntu, simulando três ambientes diferentes. O primeiro ambiente
será o desktop, o segundo, uma estação de desenvolvimento, e o último, um servidor
(em versão dedicada para esse fim). Os primeiros ambientes partirão da versão
do Ubuntu 11.04 (versão atualmente mais moderna para desktop e servidor).
3.2 Ubuntu
Ubuntu é um sistema operacional baseado no Debian, desenvolvido pela Canonical. É
perfeito para notebooks, desktops e servidores. Ele contém todos os aplicativos que
você precisa: navegador web, programas de apresentação, edição de texto, planilha
eletrônica, comunicador instantâneo e muito mais.

A versão 11.04 do Ubuntu (codinome "Natty Narwhal") é uma das distribuições Linux
mais populares da atualidade. Seu diferencial, com relação às versões anteriores, é a
nova interface com o usuário, chamada de “Unity”. Entre as principais características
dessa interface estão o “Launcher” (barra de atalhos similar à do Mac OS X), que fica na
lateral esquerda da tela, o “Dash” (painel que permite acesso rápido a aplicativos e
documentos a partir de um sistema de buscas), na parte direita superior da tela e os
“Workspaces” (espaços virtuais que facilitam a organização do desktop, permitindo que
os aplicativos sejam separados em grupos). Apesar do Unity ser considerado uma
evolução, o usuário ainda tem a opção, na hora do login, de entrar na interface gráfica
das versões anteriores, batizada de “Ubuntu Classic”, se desejar.

Há duas variantes oficiais do Ubuntu 11.04: desktop e servidor, para sistemas com
processadores de 32 ou 64 Bits. Iniciaremos falando sobre a instalação e configuração
da versão para desktop (escritório).

3.2.1 Versão Desktop (Escritório)

Instalação
A instalação pelo CD abre uma tela gráfica e logo dá espaço a uma janela na qual o
usuário informa o idioma de sua preferência e escolhe entre rodar o instalador ou
experimentar (Live CD) o ambiente livre no desktop.
Caso seja feita a opção pela instalação, o software verifica os requisitos do sistema e
questiona se você deseja que todas as atualizações disponíveis sejam instaladas (é
preferível deixar essa opção desmarcada durante a instalação), além das partes
desenvolvidas por terceiros. Entre eles: codecs para MP3 e o Flash.

Em seguida, o software pergunta se o Ubuntu deve ocupar todo o disco ou se o usuário


deseja editar ou criar uma ou mais partições manualmente. Caso seja selecionada a
opção de particionamento manual, entra-se no particionador onde o usuário pode
modificar/criar as partições do seu disco. Ao final, o disco é particionado, as opções são
confirmadas e o instalador prossegue com a instalação. Os processos seguintes são
compostos pela escolha do fuso horário, confirmação do layout do teclado e criação da
conta de usuário, que oferece a opção de criptografar a pasta home.

Operacionalidade
Caso a instalação ocorra conforme o esperado, o Unity é carregado, a tela é configurada
com a resolução apropriada, os drives de som são instalados e a placa de rede sem fio
opera corretamente, tudo sem a necessidade de configuração manual.

Menu de
aplicativos do Unity.

Desktop
Antes de efetuar login, o usuário pode escolher entre as opções de sessão: "Ubuntu",
"Ubuntu Clássico" e "Ubuntu Clássico sem efeitos".
Desktop GNOME
clássico no Ubuntu 11.04.

3.2.2 Unity
A Unity é interface gráfica padrão do Ubuntu 11.04. No canto superior esquerdo da tela
existe o botão lançador. Ele abre uma tela que é, basicamente, um menu de aplicativos,
com recursos de pesquisa em destaque. Cobrindo todo o lado esquerdo da tela temos a
barra de início rápido, que contém aplicativos usados com frequência.

Os aplicativos não carregam suas barras de menu consigo e a barra de menu fica
sempre no topo da tela. O Unity tem desktops virtuais (são quatro, por padrão) e um
clique no ícone do pager mostra uma visualização afastada de cada desktop virtual.

Quatro telas
abertas pelo laçador.
No menu, estão disponíveis:

 Firefox
 LibreOffice
 cliente de email Evolution
 gerenciador de fotos Shotwell.
 cliente de mensagens instantâneas Empathy,
 Gwibber para redes sociais,
 cliente BitTorrent Transmission
 cliente do terminal server.

Navegação
na web via Firefox no Ubuntu 11.04.

O media player padrão é o Banshee, existe também um gravador de CDs, o editor de


vídeos PiTiVi e um gravador de sons. Há também a seleção habitual de editor de
textos, calculadora, compactador de arquivos e alguns jogos, como o Tomboy Notes,
por exemplo.
Para compreender melhor a Unity, assista ao vídeo Entendendo a interface Unity.

Gerenciamento de Aplicativos
O Ubuntu inclui o gerenciador de pacotes Synaptic e a Central de Software do Ubuntu.
O Synaptic é muito poderoso e flexível. A Central de Software também responde bem
ao gerenciamento de programas como localizar, instalar e remover softwares. Também
é possível enfileirar ações. A Central inclui ainda um log de histórico que mostra quais
programas foram instalados ou removidos recentemente.

Os pacotes são divididos em três grupos: software livre dos repositórios do Ubuntu,
software gratuito de terceiros e software comercial de terceiros. Os itens se subdividem
em categorias, ajudando na localização de aplicativos multimídia, jogos, programas de
escritório e assim por diante.  Cada programa traz também análises e notas dadas pelos
usuários, de modo que podemos saber o que outros usuários acham de determinado
pacote.
Central de
Software.

Por fim, o Kernel presente neste sistema é a versão 2.6.38.

Para Saber Mais


Acompanhe o vídeo com algumas novidades operacionais do Ubuntu 11.04. 
Leia também o Guia de usuário para Unity.
Leia ainda o artigo “Como instalar o Ubuntu 11.04 Natty Narwhal”, um texto bem
completo sobra a instalação do Ubuntu 11.04 (Natty Narwhal), criado por uma das
comunidades Ubuntu.

Ambiente de Desenvolvimento
Nesse tópico, serão apresentadas linhas gerais sobre a instalação dos
aplicativos: Apache, PHP, MySQL, e a IDE  Eclipse. Os comandos serão executados a
partir do Shell.

Inicialmente, no terminal (alt+F2), digite gnome-terminal. Para instalar os pacotes


desejados resumidamente no prompt insira:

sudo apt-get install apache2 php5 mysql-server

Após o comando, caso necessário, entre com a senha de root.

No próximo passo, defina a senha para o usuário root do MySQL. Para testar, abra o
navegador e digite na barra de endereço:

http://localhost

E aguarde a mensagem “It Worked!”

Para testar o PHP no terminal, abra o gedit com o comando:


sudo gedit

e digite:

<?php phpinfo(); ?>

Salve com o nome “phpinfo.php” na pasta “/var/www” (essa é a pasta padrão do


Apache),

Reinicie o Apache, digitando no terminal a linha:

sudo /etc/init.d/apache2 restart

ou

sudo service apache2 restart

Volte ao seu navegador e digite na barra de endereço:

http://localhost/phpinfo.php

Quando aparecer uma tabela com várias informações sobre o PHP, isso significa que o
Apache já interpreta código escrito em PHP.

Para testar o MySQL no terminal digite:

mysql -u root -p

Será necessário entrar com a senha que você definiu na instalação.

Execute o comando:

show databases;

Assim, você estará vendo todos os bancos de dados que você possui.

No caso do Eclipse, basta efetuar o download, extrair da pasta de sua preferência e


abrir e executar a instalação.

Para instalação do NetBeans, uma sugestão é o link direto para o site do NetBeans.
3.3 Ubuntu Servidor
Para iniciar a instalação do Ubuntu Server, atente-se para: mídia de instalação do
Ubuntu Server (embora a versão desktop possa ser usada como servidor, nesta parte
do material falaremos sobre a versão Server); servidor com duas interfaces de rede
(que terá a função de gateway da rede local, com uma interface conectada à rede local
e a outra ao roteador  de acesso à Internet); conexão ativa com a Internet durante a
instalação.

Procedimentos Iniciais

Conecte o cabo de rede que vem do modem na interface eth0 do servidor e insira o CD


de instalação do Ubuntu Server no drive de CD. Para roteadores que não possuam o
serviço DHCP, os dados da rede poderão ser fornecidos manualmente durante a
instalação.

Iniciando a instalação

A figura abaixo mostra a tela inicial de instalação do Ubuntu Server.

Definições de Rede, Nome e Localidade

O próximo passo é a configuração da interface de rede, serão mostradas todas as


interfaces de rede detectadas pela distribuição. Selecione a interface eth0.
O programa de instalação irá configurar automaticamente a interface eth0 por meio do
serviço DHCP do modem ADSL. Não é necessário configurar a interface de
rede eth1. Ela será configurada posteriormente durante a instalação.

Caso o programa de instalação não consiga configurar a interface de rede por meio do
DHCP, será mostrada uma tela informando o problema. Nesse caso, a sugestão é
conectar o cabo de rede na outra interface, teclar em voltar e tentar novamente.

Após configurada a interface de rede, será solicitado o nome do servidor. Dependendo


da maneira como será fornecido o nome, o instalador irá se comportar de maneira
diferente:

Fornecendo apenas o nome do servidor – Neste caso, o programa instalador da


solução irá adotar na configuração dos seus serviços os seguintes nomes de domínio:

 OpçãoLinux PDC – o domínio default "opcaolinux" será adotado na


configuração dos serviços.
 E-jovem Proxy – o domínio default "e-jovem" será adotado na configuração
dos serviços. Atualmente apenas a solução E-jovem Proxy está pronta para o
Ubuntu Server.

Fornecendo um nome totalmente qualificado (host.domínio) – Agora o domínio


fornecido será usado por ambas as soluções.

Caso seja fornecido um nome totalmente qualificado do


tipo "servidor.sua_empresa.com.br", será utilizada apenas a primeira parte do
nome do domínio ("sua_empresa").

No nosso caso, podemos fornecer o nome "servidor", onde cada solução utilizará seus
valores defaults na definição do domínio (opcaolinux ou e-jovem). No seu caso, use o
nome que lhe for mais conveniente.

Após configurada a interface eth0 e fornecido o nome do servidor, o próximo passo


será informar a localidade para que seja configurado o relógio do sistema.
O próximo passo é o particionamento do disco. A escolha do tamanho e do tipo do
sistema de arquivos dependerá da função que irá desempenhar o servidor, ficando a
critério do administrador da rede defini-las de acordo com as suas necessidades.

Quanto ao E-jovem Proxy, no tipo assistido, pode-se usar disco inteiro. Nesse caso,
todas as partições necessárias serão criadas automaticamente.
Finalizado o particionamento, será iniciada a instalação do sistema básico com a cópia
de arquivos para o disco rígido do servidor.
Em seguida, será solicitado o nome completo do usuário administrador do sistema.

Para a escolha do login do usuário administrador (tela seguinte), cuidado com alguns
detalhes:

 Não use root, esse login foi reservado pelo sistema.


 Não use admin, esse login também foi reservado.
Definidas as informações sobre o usuário administrador, será solicitada a senha desse
usuário.

Na etapa seguinte será solicitado endereço do servidor proxy da rede, como você está
conectado diretamente ao modem, não será necessário configurar nada. Deixe o campo
vazio e tecle continuar.

O próximo passo é a seleção dos pacotes que serão instalados durante a instalação do
sistema.
,

Serão copiados mais alguns arquivos para o disco rígido e feitas algumas configurações
finais no servidor, em seguida surgirá uma tela indicando a finalização da instalação.

Reinicie o servidor e pronto!

Depois de reiniciado o servidor temos que ativar a conta root. Para isso, logue com o
login do usuário administrador definido na instalação e defina a senha do root com os
comandos sudo e passwd como mostrado a seguir:

opl@servidor:~$ sudo passwd root


[sudo] password for opl: ******

Enter new UNIX password: ******

Retype new UNIX password: ******

passwd: password updated successfully

Agora já é possível logar no servidor como root e instalar qualquer solução disponível


no site que seja suportada pelo Ubuntu Server.

Recapitulando...
Na parte inicial desta aula você foi capaz de compreender o significado da palavra
“Ubuntu” e um pouco da filosofia presente nesse SL, além de conhecer uma lista dos
lançamentos anteriores, atuais e planejados. Você verificou as possibilidades de
virtualização por meio do VirtualBox e teve a oportunidade de instalar a versão 11.04
do Ubuntu (codinome "Natty Narwhal"), que é uma das distribuições Linux mais
populares da atualidade. Nesta versão, você pode observar o comportamento do Uniti
(Shell) e alguns softwares disponíveis, como Firefox 4.0, LibreOffice 3.3.2, cliente de
email Evolution, gerenciador de fotos Shotwell, cliente de mensagens instantâneas
Empathy, Gwibber para redes sociais, cliente BitTorrent Transmission. Também foram
vistos conceitos relacionados ao desenvolvimento no Ubuntu e a instalação dele como
Servidor.

Aplicando o Conhecimento
 A parte prática desta aula consiste em instalar o Ubuntu 11.04 corretamente e
trocar impressões sobre as principais funcionalidades deste SL com seus colegas
de turma e professor.
 Se você for um usuário de sistema operacional proprietário, você também pode
elaborar um gráfico comparativo entre as principais funcionalidades de cada um
dos sistemas operacionais: o livre e o proprietário.

Aula 4 - Ferramentas Livres de Programação


e Banco de Dados para Desenvolvimento de
Sistemas
Nosso foco ao longo do curso é a apresentação do Software Livre como uma opção
viável nas organizações. Nesta aula, serão apresentadas algumas ferramentas livres de
programação e bancos de dados para o desenvolvimento de sistemas. Obviamente, será
só uma breve apresentação. Pois manipular corretamente essas ferramentas e tirar o
melhor proveito de cada uma delas é uma questão que deverá ser vista em disciplinas
próprias, cujo foco são o desenvolvimento e a gestão de bancos de dados. Ainda assim,
esta aula fornecerá informações importantes sobre as possibilidades do SL para essas
atividades.

Ao final desta aula você terá informações sobre ambientes de Desenvolvimento


Integrado Livres (IDEs), como o NetBeans e o Eclipse. Além disso, verá conceitos
fundamentais sobre a ferramenta livre de banco de dados (MySQL) e a Geração de
modelos de dados.

A expressão “Programação Orientada a Objetos” foi criada por Alan Klay, considerado


um dos criadores desse conceito de programação. Ele também foi inventor da
linguagem Smalltalk, uma linguagem totalmente orientada a objetos, que não possui
tipos primitivos, todos os tipos são objetos.
Hoje, disponível no mercado existem vários exemplos de linguagens orientadas a
objetos como Java, C++, Object Pascal, Ruby, Python, entre outras. Esse paradigma é
largamente utilizado no desenvolvimento de sistemas e também em Sistemas
Gerenciadores de Bancos de Dados Relacionais.
4.1 Esclarecimento Inicial
A linguagem Java foi uma das grandes precursoras, uma das responsáveis pela
popularização dos Softwares Livres. Inicialmente, a ideia era que os desenvolvedores
não estivessem vinculados a nenhum tipo de ferramenta de desenvolvimento, nenhum
fornecedor, nenhuma IDE específica. Buscava-se a filosofia do Software Livre também
com relação à liberdade no desenvolvimento.

Assim, o foco deveria ser o programa em si, sem qualquer referência a plataformas de
desenvolvimento. A própria Sun Microsystems, inicialmente, esteve reticente quanto ao
desenvolvimento de uma IDE para o Java. Entretanto, o Java foi ganhando cada vez
mais dimensão, mais popularidade e se tornando essencial em diversos sistemas. Cada
vez mais, tornou-se necessário aumentar a produtividade e encurtar o tempo de
respostas, desde o levantamento de requisitos até a versão final do programa. Por isso,
é comum hoje o desenvolvimento dos códigos Java por meio das IDEs, que facilitam o
trabalho e aumentam a produtividade.
4.2 Ferramentas Livres de Desenvolvimento (IDE)
Um Ambiente de Desenvolvimento Integrado (IDE – Integrated Development
Environment) é um programa que permite a criação (ou desenvolvimento) de novos
programas. A IDE dá apoio ao desenvolvimento, permitindo padronização, agilidade,
maior qualidade e produtividade. As principais IDEs para aplicações em Java são:
4.2.1 NetBeans
O NetBeans é uma IDE bastante popular. Ele tem a chancela da Sun, e o projeto
continua mesmo depois da empresa ter sido adquirida pela Oracle. É uma ferramenta
gratuita, multiplataforma (pode ser usada no Windows, Linux, Solaris e MacOS), possui
código aberto, totalmente escrito em Java e permite o desenvolvimento em outras
linguagens além do Java, como por exemplo: C/C++, PHP, Groovy, Ruby entre outras.

Para baixar o NetBeans, acesse: http://netbeans.org/downloads/index.html.


4.2.2 Eclipse
A IDE Eclipse – Eclipse Foundation – é bastante encontrada nas empresas de
desenvolvimento de software. Não é exagero afirmar que é a IDE Java é mais utilizada
entre os desenvolvedores. O projeto Eclipse foi iniciado pela IBM. Depois de um tempo,
a IBM entregou o Eclipse para a comunidade de software livre. É uma ferramenta
gratuita, de código aberto, multiplataforma e possui várias extensões (plug-ins)
responsáveis por facilitar a vida dos desenvolvedores e tornar o trabalho muito mais
produtivo.
Para baixar o eclipse, acesse: http://www.eclipse.org/downloads/.

Acompanhe no vídeo como instalar sua IDE Java (Eclipse) no Ubuntu.

Agora que finalizamos toda a parte de instalação e configuração, já estamos aptos a


rodar programas Java sem problemas. Entretanto, os conceitos relacionados ao
desenvolvimento de sistemas (que não são poucos) não são o foco da nossa disciplina.
Eles serão largamente estudados nas disciplinas que envolvem Linguagens e Técnicas
de Programação, Programação Orientada a Objetos, Programação para Web, entre
outras.

4.3 Ferramenta Livre de Banco de Dados


O MySQL é um sistema de gerenciamento de banco de dados SGBD criado na década de
1980 por dois suecos e um finlandês. Atualmente, é um dos bancos de dados mais
populares no mundo. Em 2008, a Sun Microsystems comprou a MySQL AB,
desenvolvedora do MySQL. Como vimos, posteriormente, a Oracle comprou a Sun
Microsystems. Portanto, hoje, a responsável pela manutenção e distribuição do sistema
é a Oracle. Existem várias versões do MySQL.

Existem duas ferramentas muito utilizadas para interação com o servidor Mysql, são
elas: O MySQL Query Browser e o MySQL Administrator.

O MySQL também dispõe do MySQL Workbench, uma ferramenta completa que pode
ser utilizada desde o desenho de uma estrutura de banco de dados até a administração
do SGDB. O download da suíte MySQL Workbench pode ser feito a partir do link:
http://dev.mysql.com/downloads/workbench/.

Acompanhe no vídeo MySQL e Ferramentas a instalação do Servidor de Banco de Dados


MySQL, bem como das ferramentas MySQL Query Browser e MySQL Administrator.

 
4.3.1 Criando um Bando de Dados como MySQL Administrator e
Consultando com o MySQL Query Browser
Para criar o banco de dados, siga os procedimentos a seguir:

1. Abra o MySQL Administrator e entre com o login root e senha atribuida durante o


processo de instalação do MySQL Server.

2. Com MySQL Administrator aberto, clique em Catálago para verificar os bancos que


estão sendo criados.
3. No espaço onde se encontram os dois bancos criados, clique com o botão direito do
mouse e selecione Create Schema, entre com o nome do banco e pressione Ok ao
final.

4. Para criar uma tabela, clique no banco criado e posteriormente em Create Table.

5. Crie alguns campos e posteriormente em Apply Changes


6. Será mostrado o script que o MySQL Aministrator utilizará para criação da tabela.
Clique em Executar e posteriormente em OK.
Observe a tabela Criada.
Você pode consultar o banco criado com o MySQL Query Browser. Para isso, execute os
procedimentos abaixo:

1. Abra o MySQL Query Browser, entre com o login root e senha atribuida durante o


processo de instalação do MySQL Server.

2. Clique no Banco de Dados e posteriormente dê um clique duplo na tabela que deseja


fazer a consulta. Note que o próprio Query Browser sugere a consulta para você.
3. Clique em Executar e veja o resultado da consulta.

Esta foi uma ideia geral sobre algumas das ferramentas livres utilizadas em
desenvolvimento de sistemas. Modelos, operações, funções tabelas, chaves e todos os
conceitos técnicos relacionados aos Sistemas Gerenciadores de Bancos de Dados
(SGBD) serão vistos com detalhes nas disciplinas relacionadas a Banco de Dados.

Recapitulando...
Nesta aula, você foi capaz de compreender que a linguagem Java foi uma das grandes
precursoras, uma das responsáveis pela da popularização dos Softwares Livres. Além
disso, você percebeu que os SL NetBeans e o Eclipse são bastante encontrados nas
empresas de desenvolvimento de software. Além disso, você também obteve
informações sobre o MySQL e a geração de modelos de dados.

Aplicando o Conhecimento
1. Pesquise sobre outras IDEs livres e organize uma tabela, contando os prós e
contras de cada uma delas com relação ao NetBeans e o Eclipse.
2. Pesquise sobre outras ferramentas livres de banco de dados e organize uma
tabela com os prós e contras de cada uma delas com relação ao MySQL.

Aula 5 - Licenças Livres


A expressão “software livre” pode dar a falsa impressão de que se pode fazer o que
quiser com os programas desenvolvidos neste modelo. Mas não é exatamente assim
que funciona na prática. Existe uma série de modalidades de licenças de software livre
que definem termos e condições de uso para cada programa. Assim, o desenvolvedor
pode escolher entre essas diversas modalidades ou mesmo criar sua própria licença.
Este será o assunto da nossa aula! Bons estudos!

Ao final desta aula, você compreenderá o que é Copyleft, bem como seus subtipos
(forte, fraco, completo e parcial). Também serão apresentados os tipos de licenças GNU
General Public License (GPL), LGPL (Library ou Lesser General Public License) e BSD
(Berkeley Software Distribution). Você também acompanhará um quadro comparativo
entre as licenças mais utilizadas: GPL e BSD. Outras licenças que serão vistas: MPL
(Mozilla Public License), MIT (Massachusetts Institute of Technology) e Apache License
2.0, além do Ceative Commons, que é um projeto sem fins lucrativos que disponibiliza
licenças flexíveis para obras intelectuais. Ao final, uma breve exposição sobre as
diferenças entre Software Livre e Software em Domínio Público.

5.1 Licenças Livres
De forma geral, vimos que um Software Livre é aquele que pode ser usado, copiado,
distribuído e modificado por qualquer pessoa, mediante pagamento ou não. Por isso,
quem o desenvolve deve permitir que o usuário acesse seu código fonte. Assim, as
informações ali contidas possibilitam ao programador manter as características que
considera interessantes, remover as que não interessam e fazer melhorias no software.
Entretanto, o que diferencia cada modalidade de licenciamento é, justamente, o que o
programador deve fazer depois que acessou essas informações. Por isso, a importância
de compreendermos como funcionam essas licenças na prática.

5.1.1 Copyright
Para compreendermos melhor as licenças, iniciaremos falando sobre o Copyright, que
se refere a uma obra protegida. Basicamente, este termo significa a proibição do direito
à cópia ou mesmo reprodução. É o direito de restringir ou impedir a cópia de um bem
artístico ou intelectual. O termo é formado pela união de duas palavras copy (cópia)
e right (direito). Obviamente, este não é o nosso foco de estudo quando falamos de
software livre, mas é necessário que compreendamos o sentido de Copyright para
chegarmos ao ponto que nos interessa, o Copyleft.

5.1.2 Copyleft
O Copyleft é uma forma de usar a legislação que protege os direitos autorais, mas com
o objetivo de retirar barreiras quanto à utilização, difusão e modificação de uma obra
criativa. “Copyleft”, traduzido literalmente, significaria algo como “deixe cópiar”, sendo
um trocadilho com o termo “copyright”.

Uma obra, seja de software ou outros trabalhos livres, sob uma licença Copyleft, requer
que suas modificações, ou extensões, sejam livres, passando adiante a liberdade de
copiá-lo e/ou modificá-lo novamente. Uma das razões mais fortes para os autores e
criadores aplicarem Copyleft aos seus trabalhos é que, desse modo, podem criar
condições favoráveis para que mais pessoas se sintam livres para contribuir com
melhoramentos e alterações neles. Isso torna o processo cíclico e continuado. Portanto,
este é um termo que está intimamente relacionado com a filosofia do Software Livre.

Richard Stallman achou pouco viável, a curto prazo, eliminar as leis de Copyright e as


injustiças que considerava quanto ao pagamento pelos softwares. Por isso, decidiu
trabalhar dentro do marco legal existente e criou sua própria licença de direitos
autorais, a Licença Pública Geral do GNU (GPL). Assim, o termo foi popularizado por
Richard Stallman em 1988, quando associou o termo Copyleft à licença GPL. O Copyleft
funciona, na verdade, como um termo adicional a uma licença.

As licenças Copyleft também podem ser conhecidas como “licenças virais”, pois
trabalhos derivados de outros sob a licença Copyleft são, por obrigatoriedade, regidos
pela mesma licença quando distribuídos (o que são características de um
comportamento viral). O termo “General Public Virus”, ou “GNU Public Virus”, já tem
uma longa história na internet, datando desde a elaboração da GPL. Mas não é bem
visto por alguns que consideram a associação à palavra vírus uma coisa pejorativa.

 Tipos de Copyleft
 Copyleft Forte – Quando todos os tipos de derivações do trabalho sob uma das
licenças copyleft estão sob essa mesma licença copyleft também.
 Copyleft fraco – Quando a derivação não necessariamente está sob a mesma
licença, dependendo do tipo de trabalho derivado. O copyleft “fraco” geralmente é
aplicado em projetos de criação de bibliotecas de softwares.
 Copyleft completo – Aquele em que todas as partes de um trabalho (exceto a
licença em si) podem ser modificadas por autores secundários.
 Copyleft parcial – Exime algumas partes do trabalho das obrigações do
Copyleft ou de alguma forma não impõe todos os seus princípios.

Um exemplo conhecido de licença de software livre que usa Copyleft “forte” é a GNU
GPL. Como exemplos de licenças que usam Copyleft “fraco” temos a GNU Lesser
General Public License e a Mozilla Public License. Mas  também há exemplos de
licenças de softwares livres sem Copyleft como a X11 license, a Apache
license as BSD licenses. Estudaremos cada uma dessas licenças mais adiante.

5.2 Tipos de Licenças
Como vimos até agora, as licenças de software livre se popularizaram por darem a
garantia jurídica aos utilizadores de que não estão cometendo atos de infração de
direito de autor, copiando ou modificando softwares sem autorização. Por isso, é
importante conhecer as particularidades de cada uma delas. Os principais tipos de
licenças são descritos a seguir.

5.2.1 GNU General Public License (GPL)


A GPL (General Public License) é uma modalidade de licença que garante ao usuário do
software as quatro liberdades fundamentais do software livre: utilizar o programa para
qualquer finalidade; estudar como ele funciona e modificá-lo; redistribuir cópias; fazer
melhorias no programa e divulgar as melhorias para o público (o que inclui a
prerrogativa de liberar o acesso ao código fonte).  A GPL possui o mecanismo Copyleft
por excelência, que exige que qualquer programa desenvolvido a partir de um software
livre também deve ser licenciado em GPL, garantindo assim a abertura do seu código
fonte.
A GPL é, na verdade, a designação da licença para Software Livre idealizada
por Richard Matthew Stallman, em 1989, no âmbito do Projeto GNU da Free Software
Foundation (FSF). Passado algum tempo, percebeu-se que o texto da licença não
abarcava totalmente as ideias contidas na ideologia do Software Livre. Assim, em Junho
de 1991, foi publicada a GPL versão 2, sendo ao mesmo tempo introduzida uma nova
licença, a LGPL (que veremos a seguir). Em 2005, Stallman anunciou que estava
preparando uma nova versão da licença, a GPL versão 3, que foi publicada inicialmente
em janeiro de 2006, com versão final em junho de 2007.

A GPL é a licença com maior utilização por parte de projetos de SL, em grande parte
devido à sua adoção para o projeto GNU e o sistema operacional GNU/Linux. O software
utilizado para administrar o conteúdo da Wikipédia, por exemplo, é coberto por esta
licença.

A licença GPL permite que os programas sejam distribuídos e reaproveitados, porém,


mantendo-se os direitos do autor, de forma a não permitir que essas informações sejam
utilizadas de maneira que limite as liberdades originais. A licença não permite, por
exemplo, que o código seja apoderado por outra pessoa ou que sejam impostos sobre
ele restrições que impeçam que seja distribuído da mesma maneira como foi adquirido.

A GPL está redigida em inglês e atualmente nenhuma tradução é aceita como válida
pela Free Software Foundation, com o argumento de que há o risco da introdução de
erros de tradução, o que poderia deturpar o sentido da licença. Deste modo, qualquer
tradução da GPL é não oficial e meramente informativa, mantendo-se a obrigatoriedade
de distribuir o texto oficial em inglês junto com os programas.
A seguir, você encontra uma dessas traduções: Licença Pública Geral GNU Versão 2,
junho de 1991.
Veja também informações sobre a GNU GPL no âmbito do Governo Federal.
Outras licenças relacionadas são a GNU FDL (Licença de Documentação Livre GNU) e
a GNU AGPL (Licença Pública Geral Affero GNU).
Perceba que a Licença Pública Geral GNU acompanha os pacotes distribuídos pelo
Projeto GNU (General Public License). Ela impede que o software seja integrado em um
software proprietário e garante os direitos autorais. Na GPL todo o código do programa
é aberto, o que atende bem a maioria dos projetos colaborativos. Entretanto, muitas
empresas possuem tecnologias e inovações que desejam preservar. Por isso, preferem
não abrir totalmente o código de seus programas. Para essa questão surgiu a LGPL.
5.2.2 LGPL (Library ou Lesser General Public License)
A GNU Lesser General Public License foi escrita por Richard Stallman e Eben
Moglen, em 1991 e atualizada em 1999. Esta é uma licença de software livre aprovada
pela FSF. A LGPL é uma variação da GPL que permite ao desenvolvedor usar bibliotecas
livres onde estão disponíveis códigos prontos que podem ser utilizados para facilitar a
criação de um novo programa. Na prática, é um tipo de licença que permite que o
programador aproveite os códigos livres para criar um programa fechado, por exemplo,
ou então, o desenvolvimento de programas de código aberto que contenham módulos
proprietários.

Assim, com a LGPL, pode-se, por exemplo, abrir o código de um determinado programa
para que outras pessoas possam contribuir com melhorias e correções, mas manter
proprietário um determinado módulo que possa ser um diferencial para o programa. O
que faria com que as pessoas comprassem o programa inteiro em vez de,
simplesmente, o instalarem a partir do seu código fonte. Desta forma, a LGPL permite
também a associação com programas que não estejam sob as licenças GPL ou LGPL,
incluindo softwares proprietários. Outro detalhe importante é que os trabalhos
derivados que não estão sob a LGPL devem estar disponíveis em bibliotecas.

Perceba que a LGPL acrescenta restrições ao código fonte desenvolvido, mas não exige
que ela seja aplicada a outros softwares que empreguem esse código, desde que ele
esteja disponível na forma de uma biblioteca. Portanto, a inclusão do código
desenvolvido sob a LGPL como parte integrante de um software só é permitida se o
código fonte for liberado.

A LGPL pode ser descrita como um meio-termo entre a GPL e licenças mais permissivas,
tais como as licenças BSD e as licenças MIT.

Veja informações sobre a LGPL No Âmbito Do Governo Federal.


5.2.3 BSD (Berkeley Software Distribution)
O modelo de licenças BSD foi criado na Universidade da Califórnia, em Berkley. Esse
tipo de licença é utilizado atualmente em muitos programas, inclusive uma das versões
do Unix e o próprio BSD Software (sistema derivado do Unix), que deu origem à licença.
As BSD têm menos restrições que a GPL e estão bastante próximas do conceito de
domínio público, sendo consideradas licenças de código aberto.
Os programas com a licença BSD podem ser vendidos e não precisam incluir o código
fonte. A licença oficial BSD tem sido revisada desde a sua criação e inspirou inúmeras
variantes utilizadas por outros desenvolvedores de software. O próprio texto da licença
é considerado como de domínio público e pode ser modificado sem nenhuma restrição.

As licenças estilo BSD têm sido chamadas de “Copycenter”, ou “centro de cópias”, em


comparação com o Copyright padrão e o Copyleft da licença GPL. Daí, o slogan: “Leve
até o Copycenter e faça quantas cópias quiser”.

Vimos que a licença GPL é usada no Kernel do Linux, assim como a maioria dos
programas para esta plataforma. Isso significa que as modificações feitas no código
devem ser disponibilizadas à comunidade e o código fonte deve sempre estar
disponível. Assim, é permitido criar versões comerciais dos programas licenciados sob a
GPL e vendê-las. Mas o código fonte completo deve ser disponibilizado junto com o
programa. Isso permite que as modificações sejam aproveitadas pelo autor do
programa original e outros interessados.

Já a licença BSD é bem mais liberal. Ela diz que os créditos dos autores originais devem
ser mantidos, mas não estabelece outras limitações para o uso do código. Quando se
desenvolve uma versão comercial de um programa sob uma licença BSD, não se tem
nenhuma obrigação de disponibilizar o código fonte ou dar qualquer tipo de satisfação.

Acompanhe o quadro comparativo entre GPL e BSD.

BSD x GPL
Pessoas favoráveis à licença BSD argumentam que ela   Os favoráveis ao GPL argumentam que a
é mais livre que a licença GPL, pois garante quase a obrigatoriedade de que softwares derivados
mesma liberdade que o domínio público.  sejam licenciados sobre GPL fomenta o
Usuários e desenvolvedores do Linux podem se crescimento do software livre. 
beneficiar diretamente do código fonte usado no Há também o argumento de que a
FreeBSD, apesar da recíproca não ser verdadeira.  obrigatoriedade é mais uma forma de poder que
Licenças BSD permitem às pessoas pegar o trabalho de liberdade. 
de outros sem ter que dar nada em troca.  A GPL requer que trabalhos derivados sejam
A licença BSD requer apenas o reconhecimento dos licenciados sobre a mesma licença, ou seja, a
autores e outras pequenas restrições.  própria GPL. 
Os códigos BSD podem ser utilizados em projetos Licenças estilo GPL são chamadas de licenças
livres com outras licenças como a GPL ou mesmo Copyleft 
softwares proprietários.  A GPL, por ser mais restritiva, pode forçar
Favoráveis à BSD dizem que o uso de códigos BSD desenvolvedores a reescreverem softwares que já
em sistemas proprietários fazem com que estes estão disponíveis sobre a GPL, se desejarem
sistemas tenham mais qualidade.  redistribuí-los sobre outra licença. 
Distribuidores de sistemas BSD tendem a evitar a A GPL impõe restrições que fazem com que ela
inclusão de softwares licenciados sobre a GPL em seja incompatível com muitos outros software
seus sistemas, exceto quando alternativas são livres.
inexistentes ou menos capazes. Licenças estilo BSD
são chamadas de licenças permissivas.

5.2.4 MPL (Mozilla Public License)


A licença pública Mozilla (Mozilla Public License) é uma licença para SL de código
aberto. A advogada Mitchell Baker criou a versão 1.0 quando trabalhava na empresa
Netscape Communications Corporation e a versão 1.1 quando trabalha na Mozilla
Foundation.
A MPL é considerada liberal com relação ao Copyleft, pois não é tão rígida quanto à
distribuição de trabalhos derivados. Especificamente esse modelo foi adotado e
adaptado por empresas para criar suas próprias licenças. Por exemplo, a Sun
Microsystems, que a usou como base para criar a Common Development and
Distribution License para o sistema operacional OpenSolaris. Mas seu principal uso é na
suíte Mozilla e nos softwares relacionados a ela.

Um código fonte copiado ou alterado sob a licença Mozilla deve continuar sob esta
licença. Porém, este código pode ser combinado em um programa com arquivos
proprietários. Além disso, também é possível criar uma versão proprietária de um
código sob a licença Mozilla. Um exemplo disso é o navegador Netscape (versões 6 e 7),
que são versões proprietárias das versões correspondentes da suíte Mozilla.

Adicionalmente, os pacotes de software da Mozilla Foundation incluem logos, ícones, a


palavra "Mozilla" e referências a outras marcas. A fundação utiliza a seguinte política
para restringir a redistribuição: a obrigação de inclusão de citação do autor.

5.2.5 MIT (Massachusetts In Copyleft stitute of Technology )


License
A licença MIT, também chamada de licença X ou de licença X11, é uma licença
criada pelo Massachusetts Institute of Technology. Esta é uma licença não Copyleft
utilizada em software livre, isto é, ela permite a reutilização de software licenciado em
programas livres ou proprietários. Ela assegura a permissão, sem custo, de qualquer
pessoa obter o software, bem como seu código fonte, sem limites de uso, cópia,
modificações, junções, publicações, distribuições e/ou venda de cópias do produto,
garantindo os mesmos direitos a quem o adquire.

A licença MIT não traz cláusulas relacionadas à propaganda, mas coloca de forma mais
explícita os direitos do usuário final, incluíndo o direito ao uso, cópia, modificação,
fusão, distribuição, "sublicenciamento" e/ou venda de software.

5.2.6 Apache License 2.0


A Licença Apache é uma licença para software livre de autoria da Apache Software
Foundation (ASF). Assim, todo projeto é licenciado de acordo com os termos da licença
Apache. Como por exemplo, seu popular servidor web, vários componentes do
ecossistema Java e o SpamAssassin. Mas alguns projetos que não pertencem à ASF
também podem utilizar esta licença. A licença Apache 2.0 permite o uso e distribuição
do código fonte tanto no software open source como no proprietário. Esta licença foi
criada em 2004, sendo uma evolução de versões anteriores lançadas entre 1995 e
2000.

As condições gerais da licença Apache 2.0 permitem livre uso, redistribuição e


alteração, sem exigir reciprocidade. Assim, o código pode ser reaproveitado em projetos
proprietários, se for esse o interesse de algum desenvolvedor, semelhante ao que
ocorre com as licenças BSD.
Mas a Apache tem algumas características que a distinguem da simplicidade das BSD.
Por exemplo, a questão das patentes de software. Na Apache, toda pessoa que
contribuir com um código para determinado software, concede também uma licença
mundial e perpétua para uso das patentes que sejam necessárias ao uso ou distribuição
do código contribuído por ele em combinação com o referido software.

A Free Software Foundation considera todas as versões da licença Apache incompatíveis


com a GNU General Public License. Vale mencionar também que, apesar de toda a
cooperação entre a Fundação Apache e a FSF, essa compatibilidade é unidirecional e só
funciona a favor da GPL, pois permite que códigos sob a licença Apache sejam usados
em projetos sob a GPL, mas impede que códigos GPL sejam usados em projetos sob a
licença Apache.

Portanto, a Apache é considerada uma licença permissiva. Adotar uma licença livre
permissiva é uma decisão comum em projetos que desejam que seu código sirva como
uma implementação de referência. Os próprios desenvolvedores do servidor web
Apache descreveram a razão de optar por um licenciamento permissivo e não pela
alternativa de uma licença recíproca (copyleft) como a GPL. Para eles, este tipo de
licença é ideal para promover o uso de um corpo de código que sirva como referência
da implementação de um protocolo para um serviço comum.

5.2.7 Creative Commons
Creative Commons é um projeto sem fins lucrativos que disponibiliza licenças flexíveis
para obras intelectuais. Ele é descendente direto do Copyleft, especialmente do
Software Livre. Na verdade, o Creative Commons adaptou as lições e o modelo do SL
para outras áreas.

Veja uma explicação simplificada sobre o sistema de licenciamento dos Direitos


Autorais por meio do selo internacional do Creative Commons.

As licenças criadas por esta organização permitem que detentores de Copyright possam
abdicar de alguns dos direitos inerentes às suas criações, em favor do público. Isso
pode ser operacionalizado por meio de um sortimento de módulos-padrão de licenças,
que resultam em licenças prontas para serem agregadas aos conteúdos que se deseja
licenciar. Assim, os módulos oferecidos podem resultar em licenças que vão desde uma
abdicação quase total, pelo licenciante, dos seus direitos patrimoniais até opções mais
restritivas, que vedam a possibilidade de criação de obras derivadas ou o uso comercial
dos materiais licenciados, por exemplo.

A filosofia inerente às licenças Creative Commons encontra antecedentes na Open


Publication License (OPL), na GNU General Public License (GPL) e na GNU Free
Documentation License (GFDL). Entretanto, as licenças Creative Commons se
diferenciam dessas outras licenças por não incluírem necessariamente, dentre os
direitos disponibilizados ao público (conforme o tipo de licença que se esteja a tratar), a
possibilidade de manipulação do conteúdo por meio de código aberto.
A maioria dessas licenças não são reconhecidas como realmente livres pela FSF e pelo
movimento de SL. Isso porque o Software Livre estaria inserido num contexto mais
amplo onde a informação (de todos os tipos, não apenas software) é considerada um
legado da humanidade e deve ser livre (visão esta que se choca diretamente ao
conceito tradicional de propriedade intelectual).

Conheça alguns modelos de Licenças Creative Commons.


5.3 Software Livre x Software em Domínio Público
Software livre é diferente de software em domínio público. A diferença fundamental
entre eles é que o software livre não tem que, necessariamente, ser gratuito. Embora
seja o que acontece na maioria dos casos. Como vimos, estes softwares são
acompanhados de uma licença especial (como a GPL ou a BSD) que disponibilizam o seu
código-fonte. Sendo assim o software pode ser usado, copiado, estudado, modificado e
passado adiante sem restrições, pois ele está sob a proteção de direitos autorais
garantida pelas licenças mencionadas.

Já o software em domínio público é aquele cujo autor abre mão completamente da


autoridade de sua criação e dos direitos associados. Neste caso, os direitos autorais
estão extintos. Isso também ocorre quando se passam os anos previstos nas leis de
cada país de proteção dos direitos do autor e este acaba se tornando um bem comum.
Isso não impede que um software em domínio público possa ser considerado um
software livre. Para isso, basta que ele atenda aos quatro tipos de liberdade para os
usuários do software livre definidas pela Free Software Foundation.

5.4 Software Livre e Copyleft


Vimos que licenças como a GPL contêm um conceito adicional, conhecido como
Copyleft, que se baseia na propagação dos direitos. Por isso, um SL sem Copyleft pode
ser transformado em não livre por um usuário, caso assim o deseje. Já um Software
Livre protegido por uma licença que ofereça Copyleft, se distribuído, deverá ser sob a
mesma licença, ou seja, repassando os direitos.

5.5 Venda de Software Livre


Vimos que as licenças de Software Livre permitem que eles sejam vendidos. Mas estes,
em sua maioria, estão disponíveis gratuitamente. Uma vez que o comprador do SL tem
direito às quatro liberdades fundamentais, ele poderia redistribuir este software
gratuitamente ou mediante remuneração. Obviamente, as versões pagas são,
geralmente, acompanhadas de algum tipo de serviço adicional, como manuais ou o
direito à assistência, por exemplo. Às vezes, comprar o software pode ser mais
vantajoso para o cliente final quando ele não tem muita experiência em programação.

Recapitulando...
Nesta aula, você pôde compreender que Copyleft é uma forma de usar a legislação que
protege os direitos autorais, mas com o objetivo de retirar barreiras quanto à utilização,
difusão e modificação de uma obra criativa. Já a GPL é uma modalidade de licença que
garante ao usuário do software as quatro liberdades fundamentais do software livre,
sendo esta a licença com maior utilização por parte de projetos de software livre. A
LGPL é uma variação da GPL que permite ao desenvolvedor usar bibliotecas livre, onde
estão disponíveis códigos prontos que podem ser utilizados para facilitar a criação de
um novo programa. Esta é um tipo de licença que permite que o programador aproveite
códigos livres para criar um programa fechado. As licenças do modelo BSD têm menos
restrições que a GPL e estão bastante próximas do conceito de domínio público. São
consideradas licenças de código aberto. Outras licenças vistas foram a Mozilla, a MIT
(licença não copyleft utilizada em software livre) e a Licença Apache, que é uma licença
para software livre de autoria da Apache Software Foundation (ASF). Por fim, você
observou que a Creative Commons disponibiliza licenças flexíveis para obras
intelectuais, sendo descendente direta do copyleft.

Aplicando o Conhecimento
 Explique porque o Copyleft é considerado uma oposição ao Copyright.
 Liste os principais tipos de Copyleft e exemplifique cada um deles.
 Elenque cinco programas conhecidos e amplamente utilizados que adotam a
licença GPL 3.0.
 Elenque cinco programas conhecidos e amplamente utilizados que adotam a
licença BSD (Berkeley Software Distribution)
 Explique porque as licenças Copyleft também podem ser conhecidas como
“licenças virais” e arguemente: você concorda ou discorda desse termo? Na
prática, explique qual a grande função da LGPL (Library ou Lesser General Public
License). Cite exemplos de programas que utilizam esta licença.
 Imagine que você elaborará um Projeto de Software como seu trabalho de
conclusão de curso. Caso decida por licenciar seu código, que licença você
escolheria? Qual a justificativa da escolha?
 Quais as principais diferenças entre um Software Livre e um Software em
Domínio Público?

Aula 6 - Redução de Custos de Propriedade


Usando Software Livre
Até agora, vimos que existem milhares de Softwares Livres, para as mais variadas
atividades. Com a popularização desse tipo de software, surge também uma
oportunidade de fuga aos padrões fechados de desenvolvimento. Com isso, profissionais
de informática conseguem mais independência com relação às grandes empresas
multinacionais e, principalmente, a redução de custos relacionados a programas
essenciais ao funcionamento diário das empresas ou organizações. Isso pode gerar
grande economia para as organizações. Confira!

Ao final desta aula, você será capaz de compreender as particularidades que podem
definir o Software Livre como uma opção para os modelos de gestão de TI. Serão
apresentadas informações importantes sobre a implementação/migração do SL no
Governo Federal e alguns estudos de casos famosos com relação à redução de custos
envolvida nesse processo. Além disso, você acompanhará o panorama encontrado em
algumas dessas organizações quando fizeram a opção pelo SL e os resultados obtidos.

Antes de iniciar esta aula, leia o texto elaborado pelo Portal de Software Livre do
Governo Federal, que traz uma perspectiva interessante sobre a redução de custos com
a adoção do Software Livre em instituições públicas.
6.1 Redução de Custos de Propriedade Usando Software
Livre
Sistemas Operacionais fechados, como por exemplo, Windows ou Unix (e também suas
variações), possuem código fonte acessível somente às empresas proprietárias desses
softwares. O mesmo acontece com servidores de banco de dados, suítes para
escritórios, serviços web e outros. Obviamente, isso gera um alto custo para as
empresas que os disponibilizam ou mesmo aquelas que os importam, pois devem
prestar contas através de “royalties”, o que significa um alto valor referente ao
pagamento de licenças para utilização desses softwares.
Inicialmente, parece inquestionável que uma empresa que já surja adotando o modelo
de Software Livre, não teria os gastos inerentes à compra e licenciamento de software.
Mas, segundo Amadeu (2003), mesmo as organizações que já possuem contratos
firmados com empresas de Softwares Proprietários também podem economizar com a
decisão pelo SL. Segundo o autor, mesmo com os custos técnicos e jurídicos que
recaem sobre a migração de um Software Proprietário para um Software Livre, o SL
“vale a pena”, pois, além de apresentar maior segurança e redução de custos com
licenças, evita a evasão de divisas com o envio de royalties para empresas
multinacionais.

A economia obtida com a adoção do SL permite também que os recursos economizados


sejam investidos no desenvolvimento da indústria tecnológica nacional. Assim, o país
passaria de mero consumidor de tecnologias da informação e comunicação, a produtor e
exportador de tecnologia e inovação. Esse fato pode ser percebido em países como a
Índia, Venezuela e França, que têm buscado a implementação do SL em seus
programas governamentais.

No Brasil, diversas empresas da iniciativa privada ou governamental já utilizam


Software Livre. Entre elas: Embrapa, Petrobrás, Pão de Açúcar, Casas Bahia, além de
vários órgãos da Administração Federal.

6.2 O Software Livre como Modelo de Gestão de TI


Sabemos que um ponto comum entre os gestores de TI é a busca constante pela
redução de custos. Se por um lado existe essa necessidade, por outro, deve existir
também a preocupação com investimentos e modernização. É aí que a opção pelo
Software Livre pode garantir, não só a redução de custos desejada, mas também uma
aplicabilidade eficaz para o negócio. Isso, porque os SL próprios para gestão trazem
consigo, além da inteligência, um processo colaborativo de diversas outras experiências
e investimentos. Um atributo que nenhum terceiro detentor dos direitos de um Software
Proprietário deixaria de cobrar.
Por esses motivos, a adoção do SL pode ser seriamente considerada em uma política de
Gestão de TI. Mas tendo sempre em vista que o planejamento não se restringe apenas
à economia de gastos em si. Organizações públicas e particulares devem estar
preocupadas também com os aspectos estratégicos do negócio. Assim, o alinhamento
da TI com as estratégias organizacionais deve ser a grande preocupação dos gestores.
A economia de gastos e o retorno sobre o investimento devem, sobretudo, ser um
reflexo do bem maior de uma empresa: a satisfação do cidadão/cliente.

Nas empresas particulares, é delicada a obtenção e divulgação de informações acerca


da economia gerada a partir da adoção do Software Livre. Assim, não só pelo direito de
sigilo que essas empresas têm com relação a esse tipo de informação estratégica de
negócio, mas também por questões éticas, esse tipo de informação não será tratada
nesta aula. Porém, quanto às empresas públicas, autarquias, sociedades de economia
mista, demais entes e entidades pertencentes ao Governo Federal, esta informação é
aberta e será considerada a seguir.

6.3 Software Livre no Governo Federal


Como sabemos, o processo licitatório em uma instituição pública é aplicado também no
que diz respeito à aquisição de produtos de informática. Entre estes, os softwares
proprietários se destacam como sendo alguns dos maiores responsáveis pelos grandes
gastos da administração pública. Sendo assim, porque não utilizar softwares livres em
instituições governamentais, visto que os mesmos possuem qualidade e bom
desempenho?

Além da redução de custos (que muito incentiva as organizações a adotarem softwares


livres) para a própria nação, também é de extrema importância essa utilização, pois
incentiva o país a aumentar sua autonomia em tecnologia e em soluções para
problemas relacionados à informática (AMADEU, 2003). O Software Livre possibilita o
desenvolvimento tecnológico do país, a diferenciação de seus produtos ou serviços de
informática, a independência quanto a um fornecedor único e maior segurança na
execução de processos.

Outro fator relevante refere-se à socialização do conhecimento, favorecido pela


publicação e distribuição de códigos fonte dos programas. Essas vantagens aplicadas à
Administração Pública servem para promover aprimoramento das ações de governo e
uma consequente melhoria no atendimento às demandas da sociedade.

É com essa mentalidade que muitas organizações públicas têm investido nesse novo
sistema. Esse é o caso do Banco do Brasil, que iniciou suas atividades nessa área no
ano 2000 e hoje já conta com diversos softwares livres instalados e disseminados por
toda a organização. Desde os aplicativos de escritório e aplicativos técnicos, até
softwares especializados em criação de documentos .pdf como o pdfcreator; editores de
mapas mentais, como ofreemind; espaços web para cursos online, como o Moodle;
entre outros.
No caso do Banco do Brasil, estima-se que a economia gerada somente com a adoção
do aplicativo openoffice.org e do sistema GNU Linux atingiu a marca de 90 milhões em
2010. O Banco investe ainda no aperfeiçoamento desses aplicativos no desenvolvimento
de parcerias com o uso do Portal de Tecnologias Abertas.
Outras experiências bem sucedidas são as da Embrapa (Empresa Brasileira de Pesquisa
Agropecuária) com o Portal Agrolivre (uma rede de software livre voltada para aplicação
no setor agropecuário); também o Serpro (Serviço Federal de Processamento de
dados), com a implantação da sua rede local de software livre e adoção do BrOffice;
além do Ministério do Desenvolvimento Agrário; Ministério das Comunicações; Exército
Brasileiro, entre muitos outros.
De acordo com Sergio Amadeu, ex-diretor presidente do Instituto Nacional de
Tecnologia da Informação (ITI), responsável pela implementação do SL no país, antes
da decisão do governo federal, o Software Livre já era utilizado no setor privado
brasileiro. "Uma pesquisa publicada pela revista Info Exame, em 2003, mostra que o
Linux foi adotado por 64 das 100 empresas avaliadas. Isso aponta um salto de 12% em
relação a um levantamento feito no ano anterior”.

Para o presidente do ITI, outro forte argumento para adoção do Software Livre, tanto
em empresas privadas como em organizações governamentais, refere-se à questão da
segurança, já que programas com código aberto baseiam-se no princípio da
transparência. "Como saber se um software é seguro se não temos acesso ao seu
código-fonte?" Indaga Amadeu.

Ainda não existe precisão sobre o número de organizações que estão aderindo ao novo
modelo de software livre. Mas, visitando os portais de vários órgãos públicos brasileiros,
é possível atestar que o processo está se expandindo.

6.4 Casos Sobre a Redução de Custos no Governo Federal


6.4.1 Banco do Brasil

Panorama
Em 2007, o cenário relacionado ao OpenOffice é composto pela implementação desse
software em cerca de 60.000 agências e 35.000 escritórios. Já o Linux está presente em
5.500 servidores de Agência, 40 servidores centrais para contingência das Agências,
57.000 estações de trabalho de Atendimento e de Caixa, 4.500 TDS/TCC – Terminais
Dispensadores de Senha e Terminais de Chamada de Clientes, 2.800 estações das
CABB-Centrais de Atendimento BB, 4.000 estações do Banco Popular e Correspondentes
Bancários, 150 imagens zLinux (3 Mainframes).

Também existem outros SL em uso: para estações (como emuladores desenvolvidos


pelo próprio banco, calculadoras, editores de mapas mentais e de fluxograma,
geradores de arquivos PDF e navegadores web); Softwares Livres de infraestrutura
(como servidores WEB, de aplicação para Intranet, servidores Proxy, gestão de
processos/atividades, entre outros) e desenvolvimento (para servidores e linguagem
Java).

Resultados
Acesse aqui o caso completo do Banco do Brasil e conheça os softwares livres utilizados
pela organização.
6.4.2 Caso do Serpro

Panorama
O Serpro utiliza versões do BrOffice.org e o sistema operacional Ubuntu. Foram criados
também modelos de documentos, como formulários, relatórios, apostilas e
apresentações para BrOffice.org, como objetivo de padronizar os documentos utilizados
na empresa.
Fato interessante é que o BrOffice.org foi adaptado para utilizar a fonte
ecológica Spranq ecosans. Além disso, também foram implantados o verificador
ortográfico Vero e as extensões do Corretor Gramatical CoGrOO para contemplar e
sanar as necessidades no trato com a língua escrita e culta. Um dos pontos relevantes
foi a utilização do o BrOffice.org, tanto no Ubuntu, quanto em algumas
estações Windows, sem a necessidade de emuladores para outro sistema operacional.
O total de máquinas inventariadas foi de 6.562, incluindo as estações de trabalho e os
servidores. Inclui-se aí máquinas com Ubuntu, Fedora Core, Windows e Windows 2000
Professional. Esse total não retrata a visão geral de máquinas com BrOffice.org. Mas foi
possível concluir que existiam 3.495 estações com essas ferramentas e que em todas as
máquinas com Ubuntu e Fedora foi instalado o BrOffice.org.

Resultados
A economia gerada pôde ser calculada da seguinte forma:

 considerou-se a utilização de uma versão de upgrade do Office Professional


2007, cujo preço no site da Microsoft é de R$ 999,00 (valor obtido no dia
12/11/2009). Assim, considerou-se a economia de um total de R$ 3.491.505,00.
 se fosse utilizado uma versão full do Office Professional 2007, com o preço de
R$ 1.299,00, a economia provável seria de R$ 4.540.005,00 (sem considerar os
valores do sistema operacional).
Nas máquinas com Windows 2000 e Windows XP, que têm o BrOffice.org instalado, mas
também podem ter o MsOffice, não foi considerada economia em licenças.
Acesse aqui o caso completo do Serpro.
6.4.3 Caso do Ministério de Desenvolvimento Agrário

Panorama
Esse projeto de migração previu a contratação de consultoria especializada, a criação de
uma sala para a REDE MDA, a aquisição de novos computadores servidores com
softwarelivre, a aquisição de novas estações de trabalho com a
suíte Openoffice.org instalada, o curso de introdução ao Openoffice.org, o
desenvolvimento de sistemas de controle interno, o desenvolvimento da Intranet e o do
portal do MDA.

Definiu-se como foco a migração de 95% dos servidores de rede e também a migração
dos aplicativos de automação de escritório de 30% dos usuários em curto prazo. Essa
estratégia foi escolhida por ser considerada a menos impactante para os usuários da
REDE MDA.

Resultados
O Ministério estimou economia com relação à redução de custos de aquisição de
hardware,além da redução de custos de aquisição de software. A economia na aquisição
de hardwaredeve-se ao fato de que o Software Livre possibilitava a utilização de
computadores servidores com especificações mais simples do que o Software
Proprietário.

Para a implementação do sistema de alta disponibilidade, que permite a utilização de


dois computadores para sustentar cada serviço, foram adquiridos mais sete
computadores, com as especificações técnicas aproximadas aos já utilizados na rede.
Outra consideração importante é que as especificações dos componentes (memória
RAM, processador, placa-mãe, gravador de fitas DAT, Disco Rígido SCSI de alta
performance) foram adquiridas idênticas aos servidores principais.

A Figura a seguir apresenta comparação entre os equipamentos indicados pelos


fabricantes de softwareproprietário e os equipamentos adquiridos, considerando apenas
os gastos com maquinário.
Comparativo de aquisição de hardware em abril de 2004 – valores de mercado.
Fonte: http://www.softwarelivre.gov.br/arquivos/MDA.pdf.

A Figura a seguir apresenta um comparativo estimativo entre as soluções proprietárias


e os substitutos em softwarelivre.

Compara
tivo de aquisição de software em abril de 2004 – valores de
mercado. Fonte: http://www.softwarelivre.gov.br/arquivos/MDA.pdf.

Acesse aqui o caso completo do Ministério do Desenvolvimento Agrário.


6.4.4 Caso do TRT 4ª Região (Judiciário Brasileiro)

Panorama
As primeiras experiências com SL no Tribunal Regional do Trabalho da 4ª Região foram
desenvolvidas ainda no ano de 1998, com a implantação de um servidor de replicação
de banco de dados, usando o sistema operacional Linux. Com o resultado positivo da
iniciativa, outros Softwares Livres foram gradativamente incorporados ao parque de
soluções tecnológicas do TRT4 como por exemplo, as soluções Linux Red Hat/Fedora
(sistema operacional), Samba (impressão), OpenLDAP (diretório), Webadmin
(administração) e Nagios (monitoramento).

Neste estudo de caso, foi apresentado o processo de migração para o pacote de


aplicativos BrOffice.org no Tribunal. O projeto foi iniciado em  2004 e apresentou
resultados estratégicos positivos. Entre as razões para essa migração estão as de ordem
estratégica, financeira e técnica.

As razões de ordem estratégica foram: alinhamento com as políticas governamentais de


forte fomento ao uso do SL no âmbito da administração pública; alinhamento com a
política de adoção de SL no âmbito da Justiça do Trabalho e maior independência de
fornecedores. As razões de ordem financeira foram: redução dos gastos com
licenciamento e redução do custo total de propriedade. Já as razões de ordem técnica
foram: estabilidade; performance e segurança.

Em agosto de 2004, período do início da implantação do OpenOffice.org, o Tribunal


Regional do Trabalho da 4ª Região possuía 1.920 computadores.

A implantação do SL foi feita de maneira remota, o que reduziu significativamente o


tempo de instalação, pois o técnico de suporte não precisava mais ir até o local para
realizar a instalação. A instalação foi realizada conforme o agendamento de setores
previamente definidos. Essa estratégia permitiu que a equipe estivesse preparada para
o atendimento à determinadas demandas relacionadas aos setores migrados. Além da
possibilidade de instalação remota, também foi considerada a distribuição das novas
versões a partir das imagens dos equipamentos adquiridos em licitação.

Resultados
A conclusão sobre o projeto de migração para BrOffice.org do TRT4 pode ser avaliada a
partir da intenção do Tribunal em não adquirir licenciamento do Microsoft Office, decisão
que vem desde o ano de 2004, quando o projeto de implantação foi iniciado.
Segundo o TRT4, considerando apenas as aquisições de equipamentos a partir do ano
de 2005 e estimando o valor do licenciamento do Microsoft Office pela média de
mercado para compras governamentais da época (707,00 reais), encontra-se o seguinte
resultado:
Tabela com estimativa de custo de licenciamento Microsoft Office para os equipamentos adquiridos em
licitações após 2005. 
Fonte: http://www.softwarelivre.gov.br/casos/casos/estudo_broffice-org_na_justica_do_trabalho.pdf.
Custo do Microsoft
Ano Quantidade Total Total
Office
2005 295 R$ 707,00 R$ 208.565,00

2006 300 R$ 707,00 R$ 212.100,00

2007 320 R$ 707,00 R$ 226.240,00

    Total Geral R$ 646.905,00

Pode-se contabilizar também o valor estimado correspondente às instalações do


pacote BrOffice.org onde, antes, só havia a instalação do Microsoft Word. Em
aproximadamente 700 computadores o pacote BrOffice.org foi instalado por completo,
com aplicações de texto, planilha, desenho, etc, atendendo à demanda reprimida pela
instalação de todas as demais aplicações do pacote Microsoft Office (que antes não
estava totalmente disponível, pois, por questões orçamentárias, somente o Microsoft
Word havia sido instalado). Com essa característica, chega-se a aproximadamente R$
500.000,00.

A soma dos valores economizados em licenciamento dos equipamentos adquiridos (R$


646.905,00) com os valores do parque de computadores existente em 2004 (R$
500.000,00), resulta na economia estimada de mais de R$ 1.000.000,00. Assim, parte
desse valor pôde ser investido nas atividades de consultoria, treinamento e suporte,
contratadas no mercado, durante o período.

O saldo final da migração corresponde ao demonstrativo abaixo:

Tabela como cálculo de economia na migração para o BrOffice.org em comparação com o Microsoft Office
(2004-2007). Fonte:http://www.softwarelivre.gov.br/casos/casos/estudo_broffice-
org_na_justica_do_trabalho.pdf
Ano Valor
Custo estimado do licenciamento do pacote Microsoft Office nos novos R$ 646.905,00
equipamentos 2005-2007 (A)

Custo estimado do licenciamento do pacote Microsoft Office completo nos R$ 494.900,00


equipamentos antigos até 2004 (B)

Investimento em consultoria externa de desenvolvimento, treinamento e R$ 37.200,00


suporte (C)

Resultado econômico do projeto (= A + B - C) R$ 1.104.605,00

Acesse aqui o caso completo do TRT 4ª Região.

Recapitulando...
Nesta aula, você observou que os pontos comuns entre os gestores de TI, tanto de
organizações privadas como públicas, são a busca constante pela redução de custos, a
preocupação com investimentos e modernização. Portanto, o Software Livre deve ser
considerado com uma opção estratégica. Você viu ainda que a redução de custos, a boa
qualidade, a autonomia tecnológica e o compartilhamento do conhecimento são alguns
dos argumentos utilizados pelo Governo Federal para justificar a opção pelo Software
Livre nos setores públicos. Além disso, você encontrou alguns casos de sucesso em
migração para SL no Governo Federal: Banco do Brasil, Serpro, Ministério de
Desenvolvimento Agrário (MDA) e TRT 4ª Região.

Aplicando o Conhecimento
 Com base nos estudos de caso apresentados durante esta aula, defina quais os
fatores críticos para o sucesso na implementação do SL nas organizações.
 Pesquise sobre outros estudos de caso onde a implementação do Software Livre
trouxe benefícios para a empresa.
 Elabore uma planilha com preços atuais onde se possa verificar a redução de
custos em uma empresa que tenha um parque de 200 computadores, equipados
com sistema operacional e suítes de escritório proprietárias e deseja migrar esses
ambientes para Software Livre.

Aula 7 - Considerações Sobre Migração para


Software Livre
Ao final desta aula, você será capaz de compreender como se dá um processo de
migração. Você compreenderá as dificuldades encontradas e como os aspectos culturais
estão envolvidos nesse processo. Além disso, serão listados fatos que podem causar
problemas e apresentados um conjunto de etapas necessárias ao plano de migração
que são capazes de mitigar esses riscos. Por fim, você encontrará mais algumas
orientações gerais para que o processo de migração ocorra sem percalços.

Fonte: http://pm4up.files.wor
dpress.com/2008/09/gerenciamento-de-risco.jpg?w=500&h=337

Acompanhe, por meio de tabela, como está desenhado o panorama de migração no


Governo Federal.
7.1 Migração
Operacionalizar a implantação de Softwares Livres, principalmente os de gestão, não é
tarefa para inexperientes. É necessário construir um cenário, obter investimentos e
contar com pessoal capacitado. Em princípio, pode parecer um plano de trabalho
audacioso, mas, certamente, há grandes possibilidades de revelar custos operacionais
mais baixos e alto grau de satisfação dos usuários.

Algumas características que podem subsidiar a análise dos gestores para descobrir
quais softwares atendem melhor às necessidades da organização são: a facilidade de
uso e de aprendizado, a periodicidade de novas versões, se o software tem versão em
PT-BR e se existe a possibilidade de integração do software com outras aplicações. Essa
avaliação oferece à organização uma maneira de economizar tempo e confere menor
grau de incerteza na escolha dos softwares apropriados para seus usuários.
Em geral, as principais razões para a migração são:

 Economia de custos a médio e longo prazo.


 Maior segurança, estabilidade e disponibilidade, proporcionadas pelo Software
Livre.
 Eliminação de mudanças compulsórias que os modelos fechados podem impor
periodicamente aos usuários (em virtude da descontinuidade de suporte a
versões).
 Maior independência tecnológica.
 Desenvolvimento de conhecimento local.
 Possibilidade de auditabilidade dos sistemas.
 Independência de um único fornecedor, entre outros.
7.2 Riscos
7.2.1 Aspectos Culturais
Fatores culturais são os mais complexos de se lidar quando existem mudanças nas
organizações. Um problema frequente no planejamento de migração é a dificuldade dos
gestores em identificar os softwares necessários para incorporar ao novo modelo de
gestão, pois são necessários softwares com recursos suficientes para atender as
necessidades de todos. 

Outro fator importante é que, no processo de migração do Software Proprietário para o


Software Livre, as maiores dificuldades se baseiam na resistência à mudança de
paradigma, tanto por parte dos funcionários, quanto dos gestores. Essa resistência é,
na verdade, reflexo de constantes erros de planejamento e de execução em migrações
anteriores diversas, das quais já se participou ou já se teve notícia.

Por isso, a migração não deve ser implantada a esmo, deve-se seguir um padrão.
Dependendo da dimensão da migração e do porte da organização, pode ser necessário
um planejamento mais complexo. De qualquer forma, é extremamente recomendado
estimular os usuários a participarem e influenciarem no novo projeto. Essa participação
ressalta a autoestima do usuário, o que pode resultar em atitudes positivas, como o
comprometimento com a mudança, uma melhor qualidade técnica no uso do novo
sistema (uma vez que os participantes conhecerão mais sobre o domínio do problema),
além do aumento da segurança e resoluções de questões técnicas simples no trato
diário com o sistema.

Durante muito tempo, o planejamento estratégico normalmente possuiu uma


abordagem de mudança restrita ao nível estratégico da organização, sem a participação
do usuário. Obviamente, as tomadas de decisão exigem o apoio da administração
superior, que deve conhecer as potencialidades e as dificuldades da utilização do SL. No
entanto, uma abordagem de mudança baseada no usuário tem maior chance de
sucesso. A utilização do Software Livre deve ser considerada como conquista
participativa, capaz de envolver cada profissional individualmente. Com a inclusão de
todos os níveis da organização, é possível efetuar a condução de todos os profissionais
na construção de uma nova cultura organizacional.
7.2.2 O Que Pode Causar Problemas?
 Erros durante o levantamento de ambiente.
 Utilização de softwares sem prévia homologação.
 Falhas durante a análise e elaboração do projeto.
 Falhas de dimensionamento de recursos de hardware.
 Problemas de aceitação por parte de usuários.
 Problemas com o software legado.
 Problemas com terceiros durante a implantação.

Um processo de migração sem planejamento prévio pode causar gastos desnecessários,


paradas ou interrupções imprevistas no cotidiano da organização, diminuição de
produtividade, indisponibilidade dos sistemas ou bancos, falhas graves de segurança,
perda de tempo e demissões dos responsáveis. E, nesse último caso, um deles pode ser
você!

Em um processo de migração são necessários cuidados com várias questões 


importantes. A seguir, são apresentadas algumas dificuldades previsíveis, mas
perfeitamente evitáveis.

 Falta de informações sobre os Indicadores de Desempenho em relação ao estado


atual da migração, o que pode dificultar o apoio, o planejamento futuro e a
alocação de recursos no âmbito da Instituição.
 Inconsistências na divulgação junto aos usuários ou envolvidos; que pode
ocorrer em função de complexidade estrutural da organização ou sua dimensão
geograficamente distribuída.
 Carência de pessoal especializado em algumas localidades, além da rotatividade
de pessoal técnico especializado.
 Carência de recursos financeiros, específicos para o suporte ao esforço de
migração.
 Elevado grau de obsolescência do parque computacional disponível, o que pode
dificultar a adoção de soluções livres mais avançadas na área de sistema
operacional para desktop e pacotes de escritório, por exemplo.
 Equipe técnica ou de suporte despreparada para a migração.
 Falta de treinamento para usuários.
 Migração de cliente sem ter havido a migração do servidor.
 Incompatibilidade entre o software livre e softwares legados.

Sistemas legados geralmente ocorrem em baixas plataformas que utilizam software


fechado (principalmente Sistemas Operacionais e Gerenciadores de Banco de Dados),
bem como sistemas Web de plataforma fechada, que podem ter um processo mais
delicado em função de altos custos de migração e de equipe técnica mais especializada.
É necessário cuidado com esse panorama.

7.2.3 Mitigação de Riscos
Como mencionado, é fundamental o estabelecimento de um plano de migração. As
etapas desse plano podem variar em função dos objetivos estratégicos da empresa, do
grau de complexidade tecnológica da migração, do tamanho do parque tecnológico, da
cultura organizacional, da quantidade de funcionários afetados, etc. Assim, os
procedimentos que você acompanhará abaixo não são uma “receita de bolo”, mas uma
série de cuidados a serem tomados na elaboração de um plano de migração, que são
capazes de minimizar os riscos e maximizar os ganhos. Eles serão apresentados em um
grau bem abrangente, considerando um caso de grandes proporções.

7.4 Processo de Migração para Software Livre

Fonte: http://4.bp.blogspot.com/-
2IOOV2wqXfY/TgnyR1ElfRI/AAAAAAAABRM/HV2PNOnm1dg/s1600/software_livre.png .

A. FASE DE CONCEPÇÃO/PLANEJAMENTO DO PROJETO

A.1) Criar equipes habilitadas e com apoio gerencial


É recomendado o apoio de funcionários que conheçam bem os Softwares Proprietários e
os seus correspondentes livres, pois durante todo processo de migração serão
necessárias informações sobre o ambiente antigo. Também é interessante contar com
profissionais que contribuam para o planejamento e escolher um gestor para o
processo.

A.2) Definir objetivos


Deve-se montar um conjunto de diretrizes para nortear todo o processo, incluindo a
escolha das ferramentas de software.

A.3) Elaborar um estudo de viabilidade do projeto de migração


Esta é uma etapa crítica. Com este estudo, busca-se comparar o gasto anual com
licenciamento de software com o gasto em substituições (consultorias e treinamentos),
além da compatibilidade técnica entre os programas que deveriam ser substituídos.
Deve ser feita uma análise minuciosa dos dados levantados, com a finalidade de
verificar se realmente é possível migrar. Nessa etapa devem-se levar em conta todos os
possíveis riscos e problemas que poderão ocorrer em decorrência da migração, e qual
será o impacto causado na rotina diária dos usuários, uma vez que esse fator que pode
reduzir a produtividade do ambiente. Diversos riscos devem ser avaliados, pois em
grande parte dos casos poderão ocorrer problemas técnicos diversos ou mesmo paradas
imprevistas. Tudo isso deverá ser levado em conta. O planejamento deverá prever estas
situações para que não ocorram danos ao ambiente. Desse levantamento, devem surgir
todos os possíveis problemas de adequação dos novos programas.

A.4) Plano de Comunicação


Prevê a criação de um documento de orientações sobre procedimentos importantes,
destinado a todos os interessados e que será utilizado durante procedimento de
migração.

A.5) Levantamento do ambiente atual e condições iniciais relevantes


Um levantamento detalhado do ambiente deve ser feito para que exista um melhor
entendimento sobre a situação. É importante analisar o ambiente e compreendê-lo
tanto em partes como num todo. Podemos considerar este passo como um dos mais
importantes de todo o processo, pois um pequeno detalhe que seja esquecido ou
deixado de lado pode tornar o projeto completamente inviável.

Recomenda-se um levantamento detalhado quanto a: hardware utilizado em servidores


e estações de trabalho; impressoras e outros dispositivos periféricos utilizados;
topologia das redes envolvidas no processo; equipamentos de conectividade; política de
segurança atual; sistemas operacionais; serviços de rede; aplicações de uso geral
utilizadas; aplicações legadas ou sistemas de uso específico; tipos de documentos
utilizados e mantidos por usuários; base de usuários e outras informações importantes;
rotinas diárias dos usuários do ambiente; rotinas diárias dos administradores.

A.6) Definir o ambiente-alvo e suas condições relevantes


Deve-se lembrar que a nova tecnologia deve ser “parecida” com a proprietária para
mitigar problemas que vierem a ocorrer e também possíveis resistências.

A.7) Entender perfeitamente o ambiente-alvo, tanto quanto ao 


Software Livre como quanto à arquitetura básica
Deve haver um mapeamento de perfis para verificar quais são as principais aplicações
utilizadas para cada tipo de perfil de usuário, de serviço ou de infraestrutura. Os
resultados desse mapeamento podem ser insumos para a definição de estratégias e
prioridades na migração de aplicações internas, além da desativação das tecnologias
proprietárias.
A.8) Busca e escolha pelas soluções mais adequadas
Devem ser feita pesquisas por soluções livres e compará-las com as soluções
proprietárias. Também é recomendada a escolha de mais de uma solução. É importante
lembrar de verificar também as questões relativas à licença do Software Livre.

A.9)  Relacionar as opções e escolhas disponíveis, inclusive em relação


ao idioma
Após levantar os custos iniciais envolvidos (com treinamento da equipe técnica,
treinamento de usuários, utilização de consultores, suporte técnico, alterações de
arquitetura-base, etc.) deve-se justificar a escolha para a chefia imediata e o grupo de
gestores.

A.10) Homologação da Solução


Feita junto aos Gestores da Instituição.

A.11) Contratação de consultoria técnica especializada


Esta pode ser uma opção para as migrações mais críticas, como as dos serviços
fundamentais de comunicação, das estações com o ambiente externo e as configurações
de alta disponibilidade de serviços, por exemplo.

A.12) Elaborar o cenário detalhado da migração


Consiste em definir a forma ou modelo do processo de migração: transição em fases,
por grupos, transição usuário por usuário, etc.

B. FASE DE EXECUÇÃO

B.1) Capacitação da equipe técnica


A migração impõe a necessidade de capacitação de todo o corpo técnico envolvido,
principalmente, dos profissionais da área de desenvolvimento e de rede. A capacitação
deve ser realizada constantemente e possuir canais de comunicação ágeis. É necessário
monitoramento da evolução deste conhecimento em todas as áreas. Investir na
capacitação de seus técnicos para que eles possam atuar sobre esse novo paradigma é
fator crítico para o sucesso do seu projeto e deve ser uma das primeiras ações
efetuadas. Sem o comprometimento da equipe técnica e a sua habilidade em contornar
determinadas situações, o projeto ficará sem rumo e fadado ao fracasso.

B.2) Elaborar e instalar um projeto piloto


Deve ser feita em um ambiente menor do que o real. Tem como finalidade a detecção
de possíveis erros que possam vir a acontecer, além de possibilitar a correção antes da
implementação do projeto propriamente dito. Nesse ponto, deve ser feito um
acompanhamento das tarefas e rotinas do ambiente de testes para verificar se os
objetivos iniciais podem ser cumpridos e se vale a pena prosseguir.
B.3) Redação do projeto de migração
Tendo como base a experiência adquirida no projeto piloto, deve-se redigir um projeto
detalhado, especificando fases e definindo metas. O projeto deverá estipular também o
cronograma de implantação, checkpoints e testes, que deverão ser seguidos durante a
implementação. Um projeto dividido em fases torna a implementação mais simples e
segura. É necessário especificar um checklist para o final de cada fase do projeto, assim
como um para sua conclusão.

B.4) Efetuar auditoria nos sistemas existentes


Consistem em levantar toda configuração anterior: servidores, bancos de dados,
sistemas operacionais, aplicativos, demais programas, volumes, diretórios, usuários
ativos e inativos, permissões, grupos, arquivos. O levantamento da configuração deve
ser detalhado para que nenhuma configuração ou dado do ambiente antigo seja
perdido.

B.5) Realizar Backup
Confeccionar um inventário para cada aplicativo usado, requisição de dados e requisitos
de segurança.

B.6) Criar um Ambiente de Triangulação


É recomendado um servidor ou estação que desempenhará a função de triangulação
entre os dois ambientes. Este equipamento pode ser chamado de máquina de
triangulação.

B.7) Customização dos Sistemas


A equipe de desenvolvedores é o pilar da migração. É dela a tarefa de construir as
ferramentas que substituirão as aplicações proprietárias para aplicações em SL. Outra
tarefa da equipe de desenvolvimento é definir e sustentar os padrões que orientarão o
desenvolvimento dos novos sistemas. Quando os sistemas são customizados, as tarefas
diárias viram processos digitais que são aprimorados com ferramentas on-line. As
aplicações mais modernas possibilitam uma série de funcionalidades. Esta etapa pode
incluir a configuração definitiva de servidores, sistemas e bancos de dados.

B.8) Internalização da Ferramenta


Consiste em informar os usuários, explicando as razões da migração e o efeito esperado
sobre eles. A formulação de estratégias de divulgação junto aos usuários e
departamentos objetiva inserir a cultura do SL de forma efetiva. Podem ser
usados folders (eletrônicos ou não), cartazes, videoconferências, palestras e todo
aparato midiático capaz de informar, sensibilizar, dirimir dúvidas e conscientizar os
usuários. Deve-se lembrar que a mudança de paradigma é grande para o usuário das
estações de trabalho. Essa resistência pode ser diminuída se eles forem bem preparados
para a mudança.

B.9) Capacitação dos Usuários


É interessante elaborar também um projeto de capacitação dos usuários para uso das
estações, sempre com a preocupação de não deixá-los despreparados no novo
ambiente. Esta etapa é fundamental e visa sedimentar o passo de internalização das
novas ferramentas. A intenção deve ser, acima de tudo, construir uma cultura. É
necessário orientar os usuários sem, contudo, traumatizá-los com essas mudanças.

B.10) Criar uma “Central de Atendimento”


Visa atender dúvidas dos usuários, inclusive pela Intranet. Pode ser feita a confecção de
manuais de apoio, FAQs e até mesmo atendimentos por e-mail ou linhas diretas.

B.11) Implantação da Migração


Para minimizar transtornos, a distribuição da aplicação pode ser realizada de forma
remota, através de conexão na rede interna da corporação. Assim, basta que o
empregado efetue conexão pelo menos uma vez para receber as aplicações.
Juntamente com a aplicação podem ser distribuídos, além do manual, um conjunto de
modelos dos documentos formais utilizados em cartas, formulários, designações e
documentações da empresa.

É importante que a implementação obedeça todos os detalhes especificados no projeto,


pois todos os passos definidos serão decisivos para o sucesso. Uma seqUência de
migração interessante pode ser constituída da seguinte forma: primeiro as aplicações;
depois os servidores e serviços de rede; em seguida as suíte de aplicativos de
escritório; por fim, o sistema operacional para estações desktop. A migração dos
serviços básicos de rede ou de suítes de escritório (não-críticos) que estavam em
Software Proprietário, pode, inclusive, ser transparente os usuários.

Na migração de servidores, é interessante verificar se no servidor SL foram criados os


usuários ativos e inativos, pois ainda poderão ser utilizados do antigo servidor. Por meio
da máquina de triangulação, o administrador deve acessar nos dois ambientes e
mapeá-los. A partir do diretório raiz, deve-se analisar a transferência dos dados de
usuário por usuário, de uma máquina para outra. Em função da migração feita pelo
administrador, pode ser necessário alterar permissões em arquivos. Finalizados os
usuários, é hora de iniciar a transferência dos dados.

Depois de criar todos os diretórios de forma idêntica ao servidor de origem, pode-se


começar pela máquina de triangulação a transferência dos dados. Acabando a migração
dos dados, deve-se proceder uma fase de testes do servidor SL. Para isso, pode-se
acessar com um usuário qualquer pelo ambiente do cliente, verificar se o mesmo
consegue trabalhar com seus arquivos e se os sistemas utilizados por ele estão em
pleno funcionamento.

B.12) Realização de Testes e Correção de Erros


Durante a implementação do projeto devem ser previstos checkpoints e testes de
funcionamento para que possíveis erros sejam verificados e corrigidos. Ao término de
cada fase deve ser realizado o checklist, com a finalidade de verificar se todos os passos
especificados foram cumpridos corretamente e se o objetivo inicial foi alcançado.

B.13 Estender a Migração à Toda Organização


Caso necessário, oferecer treinamento adicional para técnicos e usuários.

B.14) Acompanhar o “Feedback” dos Usuários


Esteja certo de que haverá recursos suficientes para atender novas necessidades,
formuladas pelos usuários. Pode-se trabalhar com a aplicação de questionários de
avaliação ou a criação de grupos de discussão.

7.5 Orientações Gerais para Processo de Migração


Você percebeu que são muitas as fases. Dependendo de cada realidade, algumas delas
podem se desdobrar em outras. Também há aquelas que podem ser realizadas em
concomitância ou aglutinadas. Mas, há ainda aquelas fases que podem ser dispensadas.
Cada caso é um caso!

A seguir, seguem mais algumas orientações gerais para que o processo de migração
ocorra sem percalços.

 Antes de iniciar, tenha claro entendimento sobre as razões para a migração.


 Assegure-se de que existe apoio ativo da equipe técnica e de todos os usuários
de TI para a migração.
 Certifique-se de que existem defensores da mudança, principalmente nos níveis
mais elevados da hierarquia da organização.
 Forme especialistas e construa relacionamentos com a Comunidade do
Movimento Software Livre.
 Para a migração de sistemas, inicie pelos considerados não críticos.
 Certifique-se de que a segurança seja planejada desde o início, e não
acrescentada como uma questão posterior.

Em relação ao Sistema Operacional Linux, inicie a migração pelos servidores e, somente


quando for julgado oportuno e consistente, prossiga pelas estações de trabalho. É
importante:

 Considerar a realização de levantamento prévio do que cada um realmente


necessita e o estabelecimento de uma configuração desejada para as estações de
trabalho.
 Definir a administração de versões regulares e distintas de SO fechado, inclusive
de suas atualizações de versão, packs, updates, etc., para atender às demandas
individuais.
 Acompanhar, atentamente, o encerramento do suporte, por parte do fabricante,
para as versões de SL instalados e suas possíveis consequências.
 Ponderar sobre o risco de manter esse software em utilização. Nesses casos,
lembrar de que existem outras soluções livres.
 Considerar, se for o caso, a implantação de um ambiente heterogêneo, entre
soluções livres e proprietárias, em virtude da (in)disponibilidade de soluções para a
substituição total.
 Garantir que cada passo da migração seja administrável.
 Criar canais de comunicação e bases de conhecimentos internos na organização.
 Inventariar todas as licenças regulares do software fechado substituído por
solução livre.
 Planejar, cuidadosamente, a gradual migração dos sistemas legados para
soluções livres, de forma a torná-los compatíveis e acessáveis pelos novos
aplicativos adotados. Durante a migração, deve ser permanentemente observada a
integridade dos dados e informações armazenados.
 Configurar o suporte técnico a ser prestado durante o processo de migração.
 Sempre desenvolver o plano com alternativas de retorno à situação anterior,
caso a implementação de um serviço não obtenha sucesso. Isso evita o desgaste
da parada dos serviços, que pode ser alvo de críticas, gerar transtornos e trabalho
dobrado.
 Comunicar sempre as paradas de serviços e as atividades com a devida
antecedência, para que todos acompanhem a evolução do processo de migração.
 Criar canais de comunicação na Intranet e na Internet, com os documentos
passo a passo de cada novo software disponível. Ampliar o acervo da biblioteca
sobre os softwares escolhidos e incentivar uma pesquisa continuada.
 Realizar todas as mudanças possíveis fora do horário do serviço dos usuários,
para minimizar os impactos da atividade fim da organização.
Na ocasião da obtenção de todo e qualquer software, devem ser observados
atentamente os termos da sua licença de uso, cláusulas de contratação, modelo de
licenciamento, etc., a fim de evitar constrangimentos futuros em relação à duração do
licenciamento, permissões de uso, critérios de atualização do software ou versões,
distribuição de pacotes de serviço ou correções (service packs).

Podemos dizer que um caso de migração foi bem sucedido quando não apenas é feita a
substituição de uma plataforma por outra, mas sim quando esta traz consigo melhorias
no ambiente, tais como novas funcionalidades, mais segurança, estabilidade, aumento
de produtividade, redução de paradas para manutenção, redução de custos e o
principal: tornar a vida do usuário mais simples.

É fundamental que, durante a implementação, cada fase seja detalhadamente


documentada. Ao término do projeto, devem ser escritos documentos com referências
explicando como o ambiente funciona. Essa documentação será utilizada por aqueles
que irão manter o novo ambiente e deve ser mantida e atualizada sempre que uma
nova mudança seja feita no futuro.
Assim, no momento de implementar a migração, seja o mais detalhista possível durante
o levantamento de informações. Tome muito cuidado com dimensionamentos de
hardware e serviços, utilize apenas soluções homologadas durante a migração e
acompanhe o trabalho dos usuários para entender sua realidade. Elabore e siga seu
projeto, obedeça uma metodologia de implementação de projetos e consulte a opinião
de outras pessoas em caso de decisões difíceis. Desta forma, você terá sucesso no seu
plano de migração e mitigará os riscos envolvidos com o processo. Você e sua empresa
só têm a ganhar! Boa sorte!

Para Saber Mais


Leia o Guia Livre, que é uma referência interessante de migração para software livre do
Governo Federal, elaborado pelo Serpro.

Recapitulando...
Nesta aula você pôde compreender a necessidade de construir um cenário, obter
investimentos e contar com pessoal capacitado para implementar um plano eficaz de
migração para Software Livre. Além disso, você percebeu que os fatores culturais são os
mais complexos de se lidar quando existe esse tipo de mudança na organização. Você
também obteve informações sobre uma série de fatores cruciais que podem causar
problemas durante um plano de migração e conheceu estratégias para mitigação de
riscos, desde a fase de concepção/planejamento do projeto até a sua fase de execução.

Aplicando o Conhecimento
1. Elabore um levantamento detalhado sobre a gestão de TI, implementada em uma
empresa de sua preferência (incluindo estrutura física, parque tecnológico, modelo de
gestão, hierarquia, serviços prestados, arquitetura cliente-servidor, tipos de softwares
adotados, etc.). Após o levantamento e o catálogo dessas informações, elabore um
projeto de implementação de Software Livre, detalhando todas as etapas necessárias,
além de um plano de contingências e mitigação de riscos para a empresa.

Referências
ANUNCIAÇÃO, Heverton. Linux total e software livre. Editora Ciência Moderna, 2007.
COSTA, Simone A. Desenvolvimento em software livre. Editora Unisinos, 2004.
LAMAS, Murillo.  Software livre ao seu alcance. Editora Letras e Letras, 2004.
MELO, Sandro P.; TRIGO Clodonil H. Projeto de segurança em software livre: teoria
e prática. Editora Alta Books, 2003.
PRIKLADNICKI, Rafael. Desenvolvimento distribuído de software: desenvolvimento de
software com equipes distribuídas. Campus: Editora Elsevier, 2007.
SILVEIRA, Sérgio Amadeu da. Software livre: a luta pela liberdade do conhecimento.
Editora Fundação Perseu Abramo, 2004.
SILVEIRA, Sérgio Amadeu da. Software livre e inclusão digital. Editora CONRAD, 2003.
TAURION, Cezar. Software Livre: potencialidade e modelos de negócio.
Editora BRASPORT, 2004.
Glossário
A
Antitruste
Lei que se destina a punir práticas anticompetitivas que usam o poder de
mercado para restringir a produção e aumentar preços, de modo a não atrair
novos competidores ou eliminar a concorrência.

C
CIOs
(Chief Information Officer). Título de cargo dado ao diretor de informática, o
responsável pela informática de uma empresa.
Código-fonte
Conjunto de palavras ou símbolos escritos de forma ordenada, contendo
instruções em uma das linguagens de programação existentes, de maneira
lógica. Considerado a versão humanamente legível do software.
Commodities
Mercadoria. O termo é utilizado nas transações comerciais de produtos de
origem primária.
Compiladores
Programa de que, a partir de um código fonte escrito em uma linguagem
compilada, cria um programa semanticamente equivalente, porém escrito em
outra linguagem, código objeto. Portanto, traduzem o código de fonte de uma
linguagem de programação de alto nível para uma linguagem de programação
de baixo nível (por exemplo, linguagem de montagem assembly ou código de
máquina).
Contratos de arrendamento
No contrato de arrendamento (ou de locação), o agente financiador adquire o
produto, mediante a transferência do numerário para o fornecedor do bem,
disponibilizando  sua utilização ao arrendatário.
Copyright
Refere-se a uma obra protegida. Basicamente, significa a proibição do direito à
cópia ou mesmo reprodução. É o direito de restringir ou impedir a cópia de um
bem artístico ou intelectual.

D
Direitos autorais
Rol de direitos reservados aos autores de suas obras intelectuais, que podem ser
literárias, artísticas ou científicas. Neste rol, encontram-se dispostos direitos
morais que são os direitos de natureza pessoal e os direitos patrimoniais.
G
GNU – FDL
(GNU Free Documentation License). Em português: Licença GNU de
Documentação Livre. É uma licença para documentos e textos livres publicada
pela Free Software Foundation. É inspirada na GNU General Public License, da
mesma entidade. A GNU FDL permite que textos, apresentações e conteúdo de
páginas na internet sejam distribuídos e reaproveitados, mantendo, porém,
alguns direitos autorais e sem permitir que essa informação seja usada de
maneira indevida. A licença não permite, por exemplo, que o texto seja
transformado em propriedade de outra pessoa, além do autor ou que sofra
restrições a ser distribuído da mesma maneira que foi adquirido. Uma das
exigências da FDL é que o material publicado seja liberado também em um
formato transparente para melhor se poder exercer os direitos que a licença
garante.
GNU AGPL
(GNU Affero General Public License – Licença Pública Geral Affero GNU), ou
simplesmente GNU Affero GPL. Esta é uma licença de software livre publicada
pela Free Software Foundation. A GNU AGPL tem o propósito de ser uma licença
minimamente modificada da GNU GPL e atender as necessidades de fornecer
liberdade em softwares como serviços (SaaS, Software as a Service), ou seja,
aqueles os quais você não tem acesso direto ao binário/código-objeto.

H
Hacker
Indivíduos que elaboram e/ou modificam software e hardware de computadores,
seja desenvolvendo funcionalidades novas, seja adaptando as antigas.

L
Licença
A licença de software serve para definir um conjunto de ações que podem ser
autorizadas ou não, com relação a um software e o que os direitos que o usuário
deste software poderá ter, inclusive quanto à distribuição do seu código fonte.
Licença Pública Geral do GNU (GPL)
Ou simplesmente GPL. É a designação da licença para software livre idealizada
por Richard Matthew Stallman em 1989, no âmbito do projeto GNU da Free
Software Foundation (FSF). É a licença com maior utilização por parte de
projetos de software livre, em grande parte devido à sua adoção para o projeto
GNU e o sistema operacional GNU/Linux.

M
Montadores
Programa de computador que efetua a montagem (tradução) de uma linguagem
de montagem para código de máquina.

O
OPL
Os trabalhos protegidos pela Licença de Livre Publicação (Open Publication
License) podem ser reproduzidos e distribuídos no todo ou em parte, em
qualquer meio físico ou eletrônico, desde que os termos desta licença estejam
incluídos, e que esta licença ou uma incorporação dela por referência (com
quaisquer das opções escolhidas pelo autor ou editor) estejam presentes na
reprodução.

P
PHP
Hypertext Preprocessor, originalmente Personal Home Page. É uma linguagem
interpretada livre e utilizada para gerar conteúdo dinâmico na World Wide Web.

R
Registro de marcas
Pode-se registrar uma marca para evitar que alguém tente impedi-lo de usá-la
(caso das pequenas empresas) ou para evitar que os outros usem essa marca
(geralmente estratégia de empresas médias e grandes). Só uma marca
registrada pode gerar receita por meio de licenciamento, franquia ou venda.
Royalties
Valor pago ao detentor de uma marca, patente industrial, processo de produção,
produto ou obra original, inclusive software, pelos direitos de sua exploração
comercial.

S
SGBD
Um Sistema de Gerenciamento de Banco de Dados (SGBD). Do inglês DBMS
(Data Base Management System). É o conjunto de programas de computador 
responsáveis pelo gerenciamento de uma base de dados. Seu principal objetivo
é retirar da aplicação do cliente a responsabilidade de gerenciar o acesso,
manipulação e organização dos dados.
Shell
O Shell de comando é um software independente que oferece comunicação
direta entre o usuário e o sistema operacional.
Sistema de empacotamento
O empacotamento é um quesito que pode servir para diferenciar as
distribuições. Como o próprio nome diz, empacotamento é a maneira como algo
é entregue. Nesse caso, é a maneira como programas são enviados, recebidos e
instalados dentro de uma distribuição.
Sistema gerenciador de banco de dados objeto relacional (SGBDOR)
É um sistema de gerenciamento de banco de dados (SGBD) semelhante a um
banco de dados relacional, porém com um modelo de banco de dados orientado
a objetos. Assim, objetos, classes e herança são suportados diretamente nos
esquemas do banco de dados e na linguagem de consulta adotada.
Software legado
Pode ser informalmente definido como aquele que executa tarefas úteis para a
organização, mas que foi desenvolvido utilizando-se técnicas atualmente
consideradas obsoletas.
SQL
Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é
uma linguagem de pesquisa declarativa para banco de dados relacional. A
linguagem SQL é um grande padrão de banco de dados.

Você também pode gostar