Economia de Software Livre
UFCG / CCT / DSC
© J. Antão B. Moura
[email protected]
Alguns dados de mercado
• Projeções da IDC:
– A taxa de crescimento do Linux tem sido maior
que a somas das taxas dos outros S.Os.
– Apache (webserver desenvolvido por grupo de
webmasters na Internet) tem 61% do mercado
Alguns pacotes de SL populares
• Para o servidor
–
–
–
–
–
Linux
Apache
Samba
Sendmail
MySQL
• Para o desktop
– KDE
– Gnome
• Outras ferramentas (principalmente AE – como
OpenOffice) continuam pouco acessíveis para
leigos em Informática
Características naturais de software
• Software
– Bem durável (não se desgasta) e
– de uso concorrente (uso por um usuário não
impede uso por outro, simultaneamente – ao
contrário do hardware, um PC desktop, por
exemplo).
• Software proprietário (como MS-Office)
não tem respeitado estas características
Software Livre (SL)
•
•
Software Livre ou (de Código) Fonte-Aberto respeita
características naturais do software
3 liberdades no licenciamento de SL
1. Adquirir o software gratuitamente para uso próprio;
2. Fazer cópias e distribuir estas cópias à vontade
internamente ou para terceiros, desde que grátis e
informando sobre os direitos autorais dos seus
desenvolvedores (iniciais e contribuintes de
aperfeiçoamentos);
3. Ter acesso ao código fonte do software para estudá-lo ou
modificá-lo, com vistas à correção ou aperfeiçoamento
funcional ou de desempenho e (re)distribuir o código
modificado para quem estiver interessado, gratuitamente
(Debian Free Software Guidelines, 1997 – www.opensource.org).
“Costumes” de SL
• Regras não escritas para “posse”
– Definem quem pode modificar um software, em quais
condições e quem tem o direito de re-distribuição
– Dono é que tem direito de distribuir versões modificadas
• Tabu contra “forking” de projetos (só em casos de
necessidade extrema, com explicações públicas e
transferência de posse)
• Tabu contra menosprezar trabalhos dos outros
• Violadores dos costumes são acusados e condenados
em público e passam a ser recusados para
cooperação
Desenvolvimento de SL
• Grande número de voluntários
• Internet como veículo de comunicação /
sincronização
• Qualidade atingida por releases e testes e
feedback freqüentes, na rede
– Ex: Linux de Linus Torvalds (Finlândia)
Processo distribuído de
desenvolvimento de SL
“I’m basically a very lazy person who likes to
get credit for things other people actually do”
Linus Torvalds
“Too lazy to fail”
Robert Heinlein, escritor
Engenharia de Software Livre
• Existência de gerente (coordenador) – responsável pela
seleção / adoção de contribuições de design, código,
detecção de bugs, para oficialização de release(s)
– “Dono” do projeto (quem o iniciou)
• “Sem” prazo – apenas pressão / concorrência dos pares
– Linux experimental: lista de funcionalidades desejadas
implementadas eventualmente (prazo: quando acabar)
– Linux estável: releases em intervalos regulares, mas sem
prazo para consertar bugs ou quais funcionalidades serão
incorporadas do experimental
• “Sem” orçamento – tempo (recurso econômico) dos
“hackers”
Engenharia de Software Livre
• Competência + “Lei dos Grandes Números”
• Boas práticas ao “extremo”
– Especificação, codificação e testes por usuários-especialistas
(software básico, ferramentas, ...)
– Modularização (interesse em módulo particular)
– Múltiplas implementações de um módulo
– Vários processos de desenvolvimento individuais
• Programadores fazem o que gostam (e bem!)
– Releases freeqüentes
• Release vira “protótipo” para depurar inclusive, especificação
– Revisão e escolha descentralizadas por pares (gerente e
outros “hackers”)
– Testes por “milhares de usuários” (mundo todo)
Testes em ESL
• Grande número de usuários detecta defeitos mais
rapidamente, mesmo os mais “estranhos”
– Efeito Delfi em Sociologia: a opinião média de uma massa
de especialistas (ou ignorantes) é um previsor mais confiável
do que a opinião de um observador escolhido
aleatoriamente.
– Duplicação de trabalho não é “custosa” (tempo de
voluntários que terão benefício do uso do software)
– LGN aumenta probabilidade de localização de defeitos
– Testador de SL (com fontes) é “mais especialista” do que
usuário típico de SP
Pré-condições para o sucesso
E. Raymond em “The Cathedral & The Bazaar”
• Promessa plausível: Programa inicial pode ter
bugs, incompleto e mal documentado; mas,
deve rodar e convencer seus potenciais
colaboradores que ele evoluirá para algo
arrumado e útil em futuro próximo.
• Coordenador deve ser capaz de reconhecer
“boas idéias de design dos outros”
SL X SP
• SL aloca mais recursos a um problema do que SP
• Recursos de SL mais motivados – são voluntários
(gerente tem que motivar pessoal de SP)
• SP com prazos e consumo de orçamento críticos
• Comunidade SL prospera na glória / reputação (gift
culture)
– Não se menospreza contribuição; escolhe-se a melhor
• Contraste com academia onde a fama é alcançada às vezes, com
“exposição de deficiências em trabalhos dos outros”
• Você alcança reputação através de reconhecimento dos outros
• Comunidade SP prospera na grana (cultura comercial)
Evolução dos tipos de projetos SL
• Década de 70: demos, jogos
• Década 80: Ferramentas para Internet
• Década 90: S.O. (atualmente com atividades de
desenvolvimento para drivers de dispositivos e extensões)
• Agora + futuro: Aplicações para não-técnicos em
Informática
– Ex: GIMP (gimp.org), um pacote tipo Photoshop com GUI
amigável
• Medida de intensidade de interesse
– Número de submissões / anúncios de novas releases em
www.freshmeat.net
– Preocupação da Microsoft: Documentos Halloween
(opensource.org/halloween/)
Negócios com Software
• Decisão de compra influenciada pela percepção
futura de (continuidade de) prestação de serviços
– Ex: Conversão para GNV (no único fornecedor em
Campina Grande) no posto Dallas
• Serviços em SL: instalação, treinamento,
melhorias (upgrades), suporte técnico e projetos
complementares
– Ex: Linux
• A indústria de software é de serviços (e não
“fábrica”)
– Pagamento de ISS
Tendências nos negócios com SW
• Desenvolver tecnologia é lento e caro
• Fluxo contínuo de valores / serviços e
receita entre fornecedor e cliente
– Crescimento do setor “serviços” com custo de
aquisição baixando (maior base instalada)
– Continuação de tendência de preços de software
(contrato -> pacote -> aluguel -> gratuito)
• Aumento de demanda por especialistas em
desenvolvimento
Economia de SL
• Maioria dos artigos sobre SL destaca o “bem” (ou
“mal”) de SL – P&B.
• Do ponto de vista econômico – Cinza
– SL pode ser bom para certas coisas e menos bom para
outras
• Empresas estão de alguma forma, envolvidas com
SL (muitas vezes como fornecedoras de pacotes)
– Dependendo da origem, pessoas evitam falar bem ou
mal
– Ter gente que entenda de licenças de SL para evitar
problemas legais na comercialização
Como ganhar $ com SL?
• No final da década de 90, algumas
fornecedoras de GNU/Linux
– Red Hat, VA Linux, Slackware, ...
– Apesar de vendas de ações bem sucedidas,
maioria fechou por falta de receitas suficientes
para suportar operações (exceto RedHat)
• Linux é bom no servidor, para
desenvolvimento Web, mas não tão bom no
dsktop
Software Livre no / como negócio
1. Quais as principais diferenças de Software
Comercial (proprietário)
2. Como usar SL para montar um negócio
(agregação de valor + prestação de
serviços)
Características SL
• Download e (re-)instalação de múltiplas cópias gratuitas
– Atrativo de baixo custo de aquisição
– Considerar porém, o custo de posse
• Treinamento
• Perda de produtividade
• Suporte
• Características do desenvolvimento já discutidas...
– Inicialmente desenvolvido por um único programador ou
pequeno grupo de programadores
– Sucesso atrai outros desenvolvedores
• Criação e funcionamento de “comunidade”
Características SL
• Equipe trabalha de forma distribuída, com as mais
diversas filiações
– Tempo cedido voluntariamente ou pago
– Funcionalidade evolui em função dos interesses dos
desenvolvedores (e não, dos “usuários”)
• Evolução direcionada por quem tem mais tempo a dedicar (a
desenvolvimento, discussões nas listas, ...)
• Possíveis desvios da “arquitetura” definida por autor(es)
• Perigo de inserir código com © de terceiros
– “SAC” pode ser demorado ou até, inexistir
Características SP
• Desenvolvido de forma centralizada, sob controle
de uma empresa, facilitando:
–
–
–
–
–
definir e seguir roadmap para evolução
aderência à arquitetura
pressão para cumprir prazos e orçamento
documentação / help / usabilidade (para aliviar suporte)
distribuição por cópias binárias
• evita compilação
• simplifica configuração, integração, testes
Diferença importante: Licenciamento
• “Software Livre” ≠ “Software Grátis”
• Cuidado!
– Consulte advogado / empresa que já adota SL
• Para informações sobre várias formas de
licenças de SL
– www.opensource.org
Tipos de Licenças
• SL no domínio público: não há restrições de uso
• GNU General Public License (GPL)
– Richard Stallman da Free Software Foundation
– Permite (re-)distribuição e qualquer alteração / evolução desde que
novo código-fonte seja disponibilizado sem restrições caso cópias
binárias sejam liberadas ou vendidas
– OBS: Apesar de GPL não restringir modificações para uso próprio,
pode ser complicado vender software que inclua ou que seja derivado
de software GPL.
• Bibliotecas com licença GNU Lesser General Public License (LGPL)
• Licença BSD
– © por (organização) autor(a) do código-fonte
– Permite modificações e redistribuição fonte / binário
– Algumas limitações (sem nenhuma garantia, ...)
Tipos de Licenças
• “Pílula de veneno” (poisson pill)
– Licença mista
– Fornecedor disponibiliza software (um BD, p.ex) sob
um tipo de licença (GPL, ...)
– Programa (p.ex., aplicação) desenvolvido a partir do
software (ou que use o software de alguma maneira)
deve:
• [disponibilizar todo código-fonte E ceder os direitos para
o fornecedor] OU então,
• [pagar pela licença], caso contrário
– Ex.: Berkeley BD (GPL) da Sleepy Cat Software
– Possível se autor detém direitos sobre o software ou se
software é uma evolução de SL sem GPL
Tipos de Licenças
• Netscape Public License (NPL)
– Aplicada ao browser Mozilla contra a Microsoft
– Distingue entre modificações e novo código
• Modificações, consertos de bugs e melhorias em código já
existente devem distribuir os fontes livremente
• Código novo pode ser (ou não) reservado como proprietário
• IBM PL
– Semelhante à NPL
Negócios com $L
• Clientes corporativos acostumados com
“facilidades” características de SP (vs. $)
• Modelos de negócios com SL oferecem
conveniência e/ou agregam valor esperados
pelo mercado para geração de (fluxos de)
receitas
Negócios possíveis com SL
• Distribuição (cópias binárias, já compiladas para
certas plataformas)
– Walnut Creek: CD-ROM com binários de SL em domínio
público ou “freeware”
– Downloads da Web reduziu interesse no CD
• Integração
– Software: Núcleo SO + drivers + utilitários
interessantes + BD + ...
• CD é atraente para guardar backup, re-instalar, etc
• Red Hat, Sleepy Cat Software (Berkeley DB)
– Hardware: SO + BD + Aplicações já no servidor
• IBM com Linux em toda a sua linha de hardware (U$1.5B em
2002)
Negócios possíveis com SL
• Suporte
– Suporte de linha-de-frente é suportado por suporte
de retaguarda (Engenharia)
– Se fornecedor não controlar software que suporta
pode não ter como consertar defeitos (inexistência
de Engenharia)
• Documentação
– Livros, manuais, tutoriais
– Ex.: O´Reilly Associates
• Treinamento
– Cursos presenciais, EaD, Conferências
Negócios possíveis com SL
• Outsourcing
– Contratos de desenvolvimento de software (com SL como
base)
– Contratos podem ser exclusivos ou permitir contribuição para
o código-fonte do SL base ou (re-)distribuição
• Base com GPL e se produto contrato for para venda, fontes devem ser
disponibilizados
• Venda de pacotes (bundling)
– Linux (que continua livre) + Aplicações pagas
• Ex: Red Hat
• Venda de Extensões de SL
– Extensões em termos de desempenho, capacidade, segurança,
...
– OBS: Fornecedor deve ter © sobre o SL base
– Open Office da Sun
Oportunidades ...
• SL pode acelerar criação do negócio
– Perfil técnico de autores polarizam ofertas SL para
software básico (SO, BD, ferramentas, ...)
• Ex: Linux, PostgreSQL, Jakarta Tomcat (Web/app
server)
• Oportunidades em substituição de máquinas Unix-RISC
por Linux-Intel
• Oportunidades em serviços de migração WINTEL para
LINTEL
– Oportunidades em aplicações
... e ameaças
• SL torna a barreira de entrada (concorrência)
no novo negócio criado, mais baixa
• Restrições legais / contratuais da licença
– Cuidado para código protegido por propriedade
intelectual não acabar dentro do código-fonte do
SL
• SCO x Linux (2003)
O Valor de SL
• Tema de investigação
– Ex: Projeto Free ROI (UFCG/DSC – CHESF)
• Medida freqüente é TCO (Total Cost of Ownership)
– Levantamento de TCO depende da situação e de vários
fatores
– Cuidado com interesses nos “estudos”
• Estudo da IDC em 2002 encomendado pela Microsoft deu
vantagem ao Windows (x Linux)
– Valor dos profissionais Windows treinados pela Microsoft mais
“baratos” e podendo cuidar de “mais servidores”
– Estudos independentes posteriores demonstraram o contrário!
O Valor de SL
• Fatores que afetam TCO:
–
–
–
–
–
–
–
–
–
–
Tamanho da rede corporativa e número servidores
Mix de aplicações
Tipos de processadores
Necessidades de upgrade
Treinamento
Custo de administração
Custo de Licenças
Suporte
(Perda de) produtividade
Sistemas e arquivos herdados
Comparação Linux, Windows
• Cybersource (2002): TCO (US$)
SO
Ano1
Ano2
Ano3
Linux
49.931
62.203
74.475
Windows
91.724
141.193
190.662
Bibliografia
• Eric. S. Raymond - “The Cathedral & The Bazaar
– Musings on Linux and Open Source by na
Accidental Revolutionary”, O’Reilly, 2001, 241
pp.
• ACM Queue Magazine – “The business of Open
Source – When two worlds collide”, Vol. 1 No. 5,
July / August 2005
• Cutter Information LLC – “Open Source – Moving
into the Enterprise”, Special Report, Cutter
Consortium (www.cutter.com), 2003, 96 pp.
Download

ETI-11SoftLivre