Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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”.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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!
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:
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.
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.
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.
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).
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.
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.
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.
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.
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 digite:
ou
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.
mysql -u root -p
Execute o comando:
show databases;
Assim, você estará vendo todos os bancos de dados que você possui.
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
Iniciando 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.
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.
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:
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.
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:
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.
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.
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/.
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:
4. Para criar uma tabela, clique no banco criado e posteriormente em Create Table.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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?
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.
É 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.
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).
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:
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.
Compara
tivo de aquisição de software em abril de 2004 – valores de
mercado. Fonte: http://www.softwarelivre.gov.br/arquivos/MDA.pdf.
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).
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
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)
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.
Fonte: http://pm4up.files.wor
dpress.com/2008/09/gerenciamento-de-risco.jpg?w=500&h=337
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:
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.
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.
Fonte: http://4.bp.blogspot.com/-
2IOOV2wqXfY/TgnyR1ElfRI/AAAAAAAABRM/HV2PNOnm1dg/s1600/software_livre.png .
B. FASE DE EXECUÇÃO
B.5) Realizar Backup
Confeccionar um inventário para cada aplicativo usado, requisição de dados e requisitos
de segurança.
A seguir, seguem mais algumas orientações gerais para que o processo de migração
ocorra sem percalços.
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.
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.