• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Software Livre - Trajetoria, potencialidades e modelo de negocios
 

Software Livre - Trajetoria, potencialidades e modelo de negocios

on

  • 7,733 views

Uma história do Software Livre, suas potencialidades e os modelos de negócio associados.

Uma história do Software Livre, suas potencialidades e os modelos de negócio associados.

Statistics

Views

Total Views
7,733
Views on SlideShare
7,109
Embed Views
624

Actions

Likes
4
Downloads
259
Comments
1

10 Embeds 624

http://betarrabios.blogspot.com 313
http://betarrabios.blogspot.com.br 262
http://www.slideshare.net 21
http://betarrabios.blogspot.pt 9
http://leiturasdiversas-amfrc.blogspot.com 6
http://betarrabios.blogspot.ru 4
http://www.betarrabios.blogspot.com.br 3
http://www.linkedin.com 3
http://www.slideee.com 2
http://betarrabios.blogspot.mx 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Software Livre - Trajetoria, potencialidades e modelo de negocios Software Livre - Trajetoria, potencialidades e modelo de negocios Presentation Transcript

    • Software Livre: Trajetória, Potencialidades e Modelos Negócio Marcelo Sávio http://www.linkedin.com/in/msavio http://msavio.myplaxo.com http://www.slideshare.net/msavio/slideshows http://www.scribd.com/msavio http://betarrabios.blogspot.com 1
    • Agenda  Uma história do Software Livre  Software livre como Inovação – Modelos de Desenvolvimento – Modelos de Negócio  Aceitação do mercado  A IBM e o software livre 2
    • O que é software? “Hardware é tudo aquilo que você chuta. Software é tudo aquilo que você xinga…” 3
    • O valor do software • Até a década de 70, o valor de um computador (basicamente mainframes e minicomputadores) estava contido essencialmente no hardware. A maioria dos fabricantes fornecia o código fonte de seus sistemas operacionais e aplicativos e, embora as licenças não explicitassem claramente a liberdade, a redistribuição do software era comum e vista como ação positiva. IBM System 360 Burroughs Datatron 220 DEC PDP 8 4
    • Compartilhamento de software • Havia um grande compartilhamento de software entre os participantes dos grupos de usuários de computadores, exemplos: – SHARE (sistemas IBM) – DECUS (sistemas DEC) – CUBE (sistemas Burroughs) – Etc. Grupo de Usuários IBM (Fundado em 1955) • Os fabricantes até estimulavam o compartilhamento de informações e melhorias de software produzidas entre seus usuários como forma de diminuir os custos de suporte. Assim o software era, em geral, desenvolvido de forma cooperativa e aberta. • Ou seja, ainda que não houvesse esse termo, o software era livre... 5
    • A indústria de Software A partir da década de 70 o cenário começou a mudar: ● Surgiram mais fabricantes de hardware (minicomputadores e microcomputadores); ● O software começou a ser comercializado em separado do hardware; ● O software deixou de ser específico de cada fabricante de hardware; ● Surgiram as empresas especializadas em desenvolver e comercializar software; ● Surgiram novos modelos de licenciamento, uso e propriedade intelectual dos códigos (programas). 6
    • O (re) surgimento do Software Livre • Como “ressurgiu” o movimento do software livre? • Quem iniciou? Como? E por qual motivo? • Software livre tem licenciamento? Como funciona? • Software livre = software aberto? • Onde entra o Linux nessa história? Essas e outras respostas a seguir... 7
    • O último hacker (“do bem” )  Richard Stallman era um hacker que trabalhava no laboratório de Inteligência Artificial do MIT (AI Lab), desde 1971, como analista de suporte e desenvolvimento. OBS: O termo hacker havia sido criado no próprio MIT, na década anterior e designava as pessoas que buscavam incansavelmente conhecer cada vez mais dos computadores e que acreditavam no livre intercâmbio de informações. 8
    • Stallman e o início do movimento do software livre  Em 1974, o AILab do MIT iniciou o projeto LispMachine, um sistema operacional monousuário especializado para rodar programas em Lisp, linguagem de programação voltada para a Inteligência Artificial  Esse projeto, no início da década de 80, deu origem a duas empresas (Symbolics e Lisp Machines Inc.), que acabaram por contratar todos os outros hackers do AI Lab e comercializar versões dos programas que ali haviam sido criados, impondo restrições de uso e de acesso ao código fonte.  Em 1982 também chegaram ao AILab os novos computadores DEC VAX, com sistema operacional sem código fonte.  Esses fatos ( principalmente) motivaram Stallman a lançar o Manifesto GNU e criar o movimento do Software Livre... 9
    • O Manifesto GNU Em 1983, Stallman divulgou o Manifesto GNU, que anunciava a intenção da criação de um novo sistema operacional completo, utilizando-se única e exclusivamente programas livres (Free Software). Nesse manifesto Stallman convocava pessoas e empresas a investirem nessa idéia contribuindo com dinheiro, máquinas e/ou tempo. As doações serviriam para desenvolver software totalmente livre. 10
    • A Free Software Foundation Em 1984, Stallman deixou seu emprego no MIT e deu início a criação dos programas do Projeto GNU. Em 1985, como mais pessoas já estavam envolvidas no projeto, era hora de buscar mais investimentos a fim de poder manter um grupo permanente de desenvolvimento. Foi então criada a Free Software Foundation (FSF). 11
    • Definição de Software Livre (segundo a FSF) “Software Livre é uma questão de liberdade”  Liberdade de executar um programa, para qualquer propósito;  Liberdade de estudar como um programa funciona, e adaptá-lo para as suas necessidades;  Liberdade de redistribuir cópias de modo que você possa ajudar aos demais;  Liberdade de aperfeiçoar um programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade também se beneficie; 12
    • GPL (General Public License) – Em 1989 a FSF criou a licença GPL; – Em 1991 a GPL evoluiu para a segunda versão; – Em Junho de 2007 foi lançada a GPL v3. Se Software proprietário Não GPL contiver Se Software livre GPL então Não distribuir Remover Distribuir código Sob GPL GPL 13
    • Mas o que significa GNU? GNU significa “Gnu is Not Unix”. É o nome de um sistema operacional completo, compatível com o UNIX. Esse projeto representa a concretização da filosofia Software Livre. 14
    • E por que o GNU não poderia ser o UNIX?... Marcelo Sávio Uma história do UNIX... Arquiteto de Software IBM Brasil msavio@br.ibm.com 15
    • Uma pequena história da Informática “moderna”… As raízes frias da informática 16
    • No início houve uma grande explosão... Deserto em Alamogordo, Novo México, EUA (1945) 17
    • Seguida de outras duas... Bomba em Hiroshima, Bomba em Nagasaki, Japão (1945) Japão (1945) .. que terminaram um conflito (II Guerra Mundial) 18
    • E desencadearam outro... A Guerra Fria 19
    • Teste de Bomba Atômica Teste de Bomba Atômica no Atol de Bikini, em Semipalatinsk Ilhas Marshall, EUA Cazaquistão, URSS (1946) (1948) Bombas nucleares Teste da Bomba-H Teste da Bomba-H, em Semipalatinsk no Atol de Enewetak, Cazaquistão, URSS Ilhas Marshall, EUA (1955) (1952) As bombas eram lançadas por aviões especiais... 20
    • TU-4 B-29 B-36 TU-16 Aviões Bombardeiros TU-20 B-52 Como se proteger de ataques aéreos?... 21
    • Semi-Automated Ground Environment (SAGE) Ameaça Nos Estados Unidos.... 22
    • • 24 Centros • Cada um com cerca de 100 operadores • Ambiente funcionava em modo 24 x 7 23
    • 24
    • 25
    • Avanços tecnológicos Apesar de ter se tornado obsoleto no momento em que ficou totalmente pronto – em 1962 as principais ameaças já não eram mais os aviões, mas sim os mísseis balísticos intercontinentais, contra os quais o sistema era inútil – o SAGE trouxe uma série de inovações que, em forma de idéias ou tecnologias, abasteceram a nascente indústria de informática: • Multiprocessamento • Sistema de tempo compartilhado (timesharing) • Processamento distribuído • Memória de núcleos magnéticos • Modem (conversão Analogico/Digital) • Gerenciamento de banco de dados em tempo real • Terminais gráficos interativos e Light pen • Redes • Correção automática de erros • I/O “bufferizado” • Engenharia de Software (500 mil linhas de código) • Alta disponibilidade 26
    • 1957 A largada da corrida espacial A União Soviética lançou os satélites Sputnik 1 e 2 e saiu na frente na corrida espacial. 27
    • 1957 Acelerando as pesquisas Os EUA criaram em seguida, dentro do Departamento de Defesa, a agência ARPA (Advanced Research Project Agency) para reconduzir o país à liderança tecnológica. Bitmap5 • No ano seguinte criou a NASA (National Aeronautics and Space Administration) para coordenar a cuidar especificamente da corrida espacial. • A ARPA quase foi desfeita, mas se reposicionou como fomentadora de diversas tecnologias de longo prazo, sem necessariamente ter um objetivo militar específico. 28
    • 1962 As pesquisas em computação  Na ARPA foi criada a divisão IPTO (Information Processing Techniques Office).  O objetivo original do IPTO era incentivar a pesquisa em tecnologias de computadores – redes, sistemas multiusuário (timesharing), interfaces homem-máquina, etc., estendendo a experiência feita no SAGE.  As Instituições inicialmente agraciadas:  MIT (Massachussets Institute of Technology)  Carnegie-Mellon University  RAND Corporation  Stanford Research Institute (SRI)  System Development Corporation  University of California at Berkeley (UCB)  University of California at Santa Barbara (UCSB)  University of California at Los Angeles (UCLA)  University of South Carolina  University of Utah 29
    • O projeto mais famoso do IPTO SDS 940 IMP Stanford (SRI) IMP DEC PDP 10 1º Out 1º Dez Utah (UU) 1969 IMP IBM S/360-75 1º Set Santa Barbara (UCSB) IMP 1º Nov SDS Sygma 7 Los Angeles (UCLA) 30
    • 1968 Outro projeto bancado pelo IPTO: NLS (On-Line System) Stanford Research Institute NLS Mouse Douglas Engelbart 31
    • 1963 O Projeto MAC Massassuchetts Institute of Technology  O IPTO patrocinou o Projeto MAC (Multiple Access Computers que visava desenvolver sistemas de uso compartilhado (time sharing)  Este projeto inicialmente criou o sistema operacional CTSS (Compatible Time Sharing System) para o computador IBM 7094 que suportava 30 usuários on-line simultaneamente. . 32
    • 1964 O Sistema Operacional MULTICS  No Projeto MAC, o MIT começou o desenvolvimento de um novo sistema operacional multiusuário que fosse capaz de suportar mais de 300 usuários simultâneos on-line.  Este sistema chamava-se MULTICS (Multiplexed Information and Computing Service)  A General Electric e a Bell Laboratories se juntaram ao MIT neste projeto e cada um tinha um objetivo:  O MIT queria desenvolver pesquisas em sistemas operacionais (time sharing);  A GE queria vender computadores com o novo Sistema Operacional;  A Bell Labs queria um bom sistema para usar no ambiente administrativo. 33
    • O Sistema Operacional MULTICS Rodou inicialmente no computador GE-645 34
    • A Reação da IBM  A IBM estava perdendo prestígio em dois clientes impostrantes: MIT e Bell  Apesar de nova no mercado, a GE estava se tornando uma ameaça  Os sistemas timesharing estavam começando a se tornar uma necessidade do mercado. A IBM reagiu, desenvolvendo sistemas que perduraram até hoje. “Task force na IBM”  1965 • Sistema operacional TSS, para o computador IBM System 360 Modelo 67  1967 • Sistema operacional CP/67 (CP/CMS) • CP/CMS --> VM/370 --> VM/XA --> VM/ESA --> VM/390 --> z/VM • DOS/360 --> DOS/VS --> DOS/VSE --> VSE/ESA --> z/VSE • OS/360 MVT --> OS/VS2 --> MVS/370 --> MVS/XA --> MVS/ESA -->OS/390 --> z/OS 35
    • E o projeto MULTICS?  No final de 1969 a Bell Labs deixou o Projeto, que continuou com o apoio do Honeywell (que comprou a divisão de computadores da GE).  O MIT saiu parcialmente do Projeto em 1970 e totalmente em 1975.  Em 1974 a Honeywell lançou sua primeira versão comercial.  A última máquina com o MULTICS foi desligada em Outubro de 2000 (no Depto. de Defesa Nacional do Canadá) Principais contribuições do MULTICS:  Sistema de arquivos hierárqiuco  Memória virtual  Implementação em linguagem de alto nível  Multiprocessamento  Suporte a múltiplas linguagens  Segurança  Reconfiguração on-line  Engenharia de Software 36
    • 1969 Continuando as pesquisas em sistemas operacionais  Kenneth Thompson e Dennis Ritchie (ambos da AT&T Bell Labs) trabalhavam no desenvolvimento do sistema de arquivos do sistema operacional MULTICS no Projeto MAC.  Quando a Bell abandonou o Projeto MULTICS, resolveram continuar as pesquisas dentro da AT&T.  Também quiseram preservar um jogo simulador chamado Space Travel que haviam desenvolvido durante o Projeto MULTICS e quiseram portá-lo para outro computador que houvesse disponível na Bell. 37
    • O Sistema Operacional UNIX Conseguiram um minicomputador DEC PDP-7 emprestado de outro departamento interno e começaram a desenvolver um sistema operacional para rodar o Space Travel.  Escreveram o sistema operacional, uma interface shell, um editor de textos, um assembler e o sistema de arquivos. Este novo sistema foi inicialmente chamado de “UNICS” (UNIplexed Information and Computing Service), que depois virou UNIX  Em 1970 o Depto. de Patentes da Bell comprou um DEC PDP-11/45, para onde o UNIX foi foi logo portado. A própria Bell passou a utilizar o sistema. 38
    • 1973 O anúncio do UNIX  Ritchie e Thompson apresentaram pela primeira vez o UNIX em um simpósio sobre sistemas operacionais promovido pela IBM em um dos seus Centros de Pesquisas.  Após esse simpósio começaram a receber pedidos para fornecerem uma cópia do sistema. IBM Watson Research Center Yorktown, New York (EUA) 39
    • 1974 A disseminação do UNIX  Ritchie e Thompson publicaram um artigo da Communications of the Association for Computing Machinery (CACM), o que aumentou ainda mais a visibilidade do sistema. 40
    • As universidades e a disseminação do UNIX • A partir de 1974, várias Universidades (Harvard, Berkeley, Stanford, etc.) se interessaram pelo sistema e o adquiriram por um preço simbólico do custo da fita e manuais (e sem direito a suporte). • A AT&T estava proibida por lei (desde 1956) de comercializar produtos fora do mercado de telefonia e telegrafia. Esta lei valeu até 1982. 41
    • A portabilidade do UNIX  Até 1975, para se rodar o UNIX era necessário possuir um computador DEC PDP 11, até que, na Versão 4 ,o sistema foi completamente reescrito na linguagem de programação C, o que facilitou sua futura portabilidade para outras máquinas.  A primeira versão do UNIX em máquina não- DEC rodou (em 1976) em um computador IBM System 360 Modelo 91 na Universidade de Princeton.  Posteriormente, nos Laboratórios da Bell o UNIX rodou em máquinas Interdata 8/32 42
    • Falando do C...  Linguagem de programação criada por Dennis Ritchie, baseada na Linguagem B.  A Linguagem B era uma adaptação (simplificação) da linguagem BCPL (Basic CPL) criada por Martin Richards em 1967, no Projeto MAC, que por sua vez era um adaptação da linguagem CPL.  A linguagem CPL (Combined Program Language) foi desenvolvida na Inglaterra em 1963, nas Universidades de Cambridge e Londres e era baseada na linguagem ALGOL  A linguagem ALGOL (Algorithmic Oriented Language) foi criada em 1958 por um grupo internacional de especialistas. Era uma linguagem estruturada de alto nível, voltada para aplicações científicas. A primeira especificação formal da Linguagem C aconteceu somente em 1978 com o lançamento do livro “The C Programming Language”, escrito por Brian Kernighan e Dennis Ritchie 43
    • Berkeley e a disseminação do UNIX • Em 1975 Thompson foi convidado a dar aulas sobre sistemas operacionais na Universidade de Berkeley. • A partir do ano seguinte o CSRG (Computer Sciences Research Group) dessa universidade criou e começou a distribuir fitas com versões de UNIX com uma série de extensões e complementos desenvolvidos localmente. Essa distribuição ficou conhecida como BSD (Berkeley Software Distribution) • Uma das extensões mais importantes foi a implementação do protocolo TCP/IP de forma nativa, que transformou o UNIX no sistema padrão da ARPANET (e posteriormente da Internet). 44
    • O UNIX no Brasil • Algumas universidades brasileiras tentaram licenciar o UNIX, sem sucesso. Assim partiram para desenvolver um sistema próprio, compatível com UNIX, mas sem usar código da AT&T. • Em 1982 o Núcleo de Computação Eletrônica da UFRJ criou o Projeto PLURIX. Outras universidades também o fizeram, como a UFMG (DCC-IX) e USP (Real). • Algumas empresas nacionais também desenvolveram seus próprios sistemas, como a COBRA (SOX ), EDISA (Edix), DigiRede (Digix) e Softec (Analix). • Depois chegaram os sistems UNIX licenciados e hoje, nenhum desses sistemas nacionais existe mais, com exceção do Plurix, que se transformou no TROPIX em 1994, e ainda existe na UFRJ. 45
    • O produto comercial UNIX  A partir 1983 (System III, versão 7), a AT&T passou a tratar o UNIX como um produto comercial e a não liberar mais o código fonte... e a acionar judicialmente quem usasse o nome ou código do UNIX sem licença.  Algumas empresas licenciaram o UNIX para poderem lançar suas “versões”:  DEC Ultrix  HP UX  Sun OS  Microsoft Xenix  IBM AIX  Vertucom Venix  Unisoft UNIPLUS  Etc. Primeira propaganda do UNIX 46
    • Os BSD UNIXes • As fitas que a BSD distribuía continham código original da AT&T, por isso também necessitavam licenças. • No início dos Anos 90 surgiram projetos de se escrever um sistema BSD sem código da AT&T, como foram os casos do 386BSD e da BSDi. Mesmo assim as distribuições BSD foram alvo de batalhas judiciais (que hoje já estão encerradas). • Em 1993 o 386BSD deu origem aos sistemas NetBSD e FreeBSD. • Em 1996 surgiu o OpenBSD, derivado do NetBSD. • Em 2003 surgiu o DragonFlyBSD, derivado do FreeBSD. 47
    • Os UNIX “acadêmicos” (e sem código da AT&T) XINU (Xinu Is Not Unix) MINIX Douglas Comer Andrew Tanenbaum 1979 1987 48
    • O Linux • Kernel de sistema operacional baseado no MINIX, desenvolvido originalmente por Linus Torvalds, aluno da Universidade de Helsinki (Finlândia) em meados de 1991. 49
    • O Linux • Em duas semanas após o anúncio de Torvalds em 1991, 30 pessoas tinham contribuído com cerca de 200 informes de erros, contribuições de utilitários, drivers e melhorias para serem adicionadas ao kernel • Em Julho de 1995, mais de 15.000 pessoas de 90 países em 5 continentes tinham contribuído com comentários, informes de erro, correções, alterações, reparos e melhorias. 50
    • GNU + Linux:  No início dos anos 90 o sistema GNU estava praticamente completo faltando um último (e importante) componente: o kernel do sistema.  Foi decidido então pela implementação do HURD, baseado no Mach (um microkernel desenvolvido na Universidade Carnegie Mellon).  Mas como:  O HURD ainda levaria muito tempo…  Os sistemas BSD estavam sob batalhas judiciais…  O Linux já estava por aí rodando e dando bons resultados...  Então foi só uma questão de tempo unir o kernel Linux ao sistema GNU, daí o nome GNU/Linux.  O licenciamento através da GPL e a utilização da Internet como o canal principal de comunicação e desenvolvimento transformaram o Linux no mais importante exemplo de software livre desenvolvido de forma aberta e descentralizada. 51
    • A Lenda… x “ Linus and I are not quot;enemiesquot; or anything like that. I met him once and he seemed like a nice friendly, smart guy. My only regret is that he didn't develop Linux based on the microkernel technology of MINIX “ I REALLY am not angry with Linus. HONEST. He's not angry with me either. 52
    • A distribuições Linux  O Linux é normalmente usado como parte de um distribuição (“distro”).  As distros são criadas por indivíduos, grupos ou empresas.  Apesar de possuírem um kernel comum (Linux versão x.y.z), as distros divergem quanto às ferramenta de instalação, qualidade/quantidade de documentação, programas aplicativos adicionais (de diversos tipos), suporte, preço, etc.  Existem centenas de distribuições. As mais usadas são: 53
    • A árvore genealógica (parcial) do sistema operacional UNIX 54
    • EUA ALGOL URSS IBM Linguagem CPL Sputnik DARPA IPTO MIT Linguagem BCPL RAND Project MAC Linguagem B AI Lab CTSS Redes de LCS Bell MULTICS Pacotes GNU BBN Linguagem C X-Window UCLA UNIX Arpanet Berkeley UCSB TCP/IP Minix Utah Linux Internet Mozilla WWW Netscape Mosaic Apache 55
    • Sugestões de leitura da história da Informática 56
    • Software Livre = Inovação Modelo de desenvolvimento Software Livre Modelo de negócios 57
    • Software Livre: Modelo de Desenvolvimento Marcelo Sávio Arquiteto de Software IBM Brasil msavio@br.ibm.com 58
    • Projeto de software livre: Definição Embora não exista uma definição precisa do que seja um projeto de software livre, existe um consenso informal que abrange: • Código fonte, que é o software propriamente dito, mas que existe em forma de inúmeras cópias entre todos seus usuários e repositórios de dados. • Um grupo de desenvolvedores, que trabalha para codificar e corrigir o software. Trabalham cooperativamente através da Internet e podem ter status diferenciados dentro do projeto. • Os usuários do software. Apesar de todo software ter usuários, sua participação em projetos de software livre é essencial, pois discutem inovações e apresentam erros encontrados com freqüência. • Os repositórios de documentos e códigos. Normalmente todo projeto tem algum site central que é uma referência para desenvolvedores e usuários buscarem códigos e informações atualizadas. 59
    • A Catedral e o Bazar • Eric Raymond rotulou os modelos de desenvolvimento de software: – Chamou de “Bazar” o modelo descentralizado e cooperativo do Linux, em contraposição ao “Catedral”, modelo tradicional no qual o desenvolvimento é realizado de forma fechada e pouco cooperativa. • Reforçou esta perspectiva através da afirmação de que o Linux é um contra-exemplo da “Lei de Brooks”, uma lei clássica da Engenharia de Software, que dizia o seguinte: “...o tempo de um programador não é acumulativo, pois ao adicionar desenvolvedores em um projeto atrasado de software faz com que ele se torne mais atrasado ainda e que a complexidade e os custos de comunicação de um projeto crescem com o quadrado do número de desenvolvedores, enquanto o trabalho feito cresce somente linearmente” (Frederick Brooks, 1975). 60
    • Catedral x Bazar  Time estruturado (hierarquia) x Rede Social (comunidades)  Liderança formal x Liderança baseada em meritocracia  Tarefas e prazos bem definidos x Tarefas e prazos informais  Roadmap definido (influência do marketing) x Roadmap adaptável  Documentação (parte do produto) x Documentação (tarefa necessária )  Testes estruturados x “Se exposto a um número suficiente de olhos, todos os bugs são superficiais”  Construção (top down) x Evolução (“Release early, release often”)  Perfeição x Melhorias Contínuas  Redundância (seletividade) x assinalamento de tarefas 61
    • Ciclo de Vida de um Projeto de Software Livre Gênese Primeiros contribuidores Primeira versão Cria-se comunidade Governança formal Processos de revisão Versão estável Mais contribuidores Divergências de direcionamento Liderança reconhecida Novas Versão Split off para novo Variantes projeto funções terminal (ex: Emacs e Xemacs) Comunidade desiste de Variantes podem evoluir o software continuar evoluindo (FreeS/Wan) (Openswan/Strongswan) 62
    • Comunidade envolvida no desenvolvimento de um Software Livre Desenvolvedores principais Principais Contribuidores esporádicos Usuários Meritocracia tende a concentrar as colaborações: 10% dos colaboradores escrevem mais de 70% do código. 63
    • Qualidade de código  Densidade de defeitos de software: Segundo o Software Engineering Institute, um programador experiente produz aproximadamente 1 defeito por 10 LOC (Lines of Code). Se, durante o processo de desenvolvimento, 99% desses defeitos forem descobertos e corrigidos, existirão mil defeitos por cada 1 milhão de LOC ou 1 defeito por KLOC.  Uma distribuição Red Hat Linux possui aproximadamente 30 milhões de LOC;  Estudo da Reasoning (2003)  Código TCP/IP no Linux (v2.4.19) : 0,1 bugs/KLOC  Apache (v2.1): 0,51 bugs/KLOC  Estudo da Coverity (Jul 2005) mostrou que entre Dez/2004 e Jul/2005 a densidade de defeitos do kernel Linux baixou de 0,17 para 0,16 bugs/KLOC.  A densidade de defeitos reduziu em 2,2%, ainda o kernel tenha crescido de 5,76 para 6,03 milhões de LOC, o que representa um aumento de 4,7% 64
    • Código aberto é mais seguro?  A disponibilidade do código fonte é um benefício ou malefício?  Confiabilidade = segurança  Transparência vs. “Segurança pela obscuridade”  Diversos estudos independentes mostram o Linux mais seguro, e mais rápido do que outros sistemas na identificação e aplicação de correções (Bloor Research, Mitre, Evans, etc.)  Não há consenso... 65
    • Alguns projetos famosos – As linguagens de programação Perl, Python e PHP; – O serviço de diretório OpenLDAP; – Os ambientes gráficos GNOME e KDE; – O browser Mozilla; – O compilador GCC; – O kit de aplicativos de escritório OpenOffice; – O servidor de aplicativos Zope; Sendmai – Os servidores de aplicativos Java Gluecode e JBoss; l – O servidor HTTP Apache; – O servidor de Proxy Squid; – Os servidores de correio Sendmail, QMail e PostFix; – O sistema de ERP GNUe; – Os sistemas bancos de dados MySQL e PostgreSQL; – O sistema de integração com redes Windows Samba; – O ambiente de desenvolvimento Eclipse; – Os sistemas operacionais FreeBSD e Linux. 66
    • Alguns desafios ao modelo de desenvolvimento de software livre (em geral) • Redundância de esforços (muitas alternativas e variantes…) • Problemas de comunicação (inglês, emails) • Senso de prioridade (Agilidade no processo decisório) • Proliferação de “grupos fechados” (“panelinhas”) • Falta de foco • Dependência de pessoas-chave • Escassez de lideranças competentes • Problemas legais (propriedade intelectual) 67
    • A “seleção natural” aplicada ao software livre Existem milhares de projetos de Software Livre ( Exemplo: Projetos em andamento no Sourceforge - Agosto de 2005) Estágio do Quantidade Percentual Projeto de Projetos Planejamento 16.121 21,60 % Pré-Alfa 12.652 16,95 % Alfa 12.788 17,13 % Beta 16.493 22,09 % Estável 13.883 18,60 % Maduro 1.223 1,64 % Inativo 1.487 1,99 % 68
    • Atual estrutura de desenvolvimento do Linux Andrew Morton (staff LF) Mantenedor do kernel em produção Código fonte Código fonte Mercado Contribuidores Mantenedores dos Staff da LF também subsistemas Mantenedor do kernel contribui com código Mantenedores dos em desenvolvimento Linux User Advisory Council Subsistemas Linus Torvalds (LF) no staff LF (staff LF) 69
    • Estrutura de desenvolvimento do Linux Papel da LF e do ecossistema Patrocinadores da indústria IBM, HP, Cisco, CA, EMC, Fujitsu, Hitachi, Intel, Nokia, Novell, Sun, Toshia, Unisys, etc. Data Center Linux for the Enterprise Expertise e $$ Carrier Grade Linux for Telecom Internet Linux Kernel Expertise e Pessoas Comunidade e Arquitetos e coordenadores da Linux Foundation Fonte: LF 70
    • A evolução do modelo de desenvolvimento de Software Livre (caso Linux) ✔ Desenvolvedores 100% voluntários ✔ 90% dos desenvolvedores principais trabalham em fundações mantidas pela ✔ Desenvolvimento anárquico indústria (ex. ASF/LF) ou em empresas ✔ Não existe roadmap claro (visão ✔ Organização mais hierárquica (ex: Linux pessoal do criador) Foundation como ponto focal para o Linux) ✔ Inexiste scheduling para deployment ✔ Roadmap mais claro (influência da industria) (desenvolvedores escrevem código para rotinas que querem e gostam/ e ✔ Scheduling mais organizado com novos para quando querem) códigos sendo gerados como projeto por organizações (ex. O LTC da IBM) ✔ Qualidade do código é variável (teste baseado na filosofia de “massively ✔ Melhoria da qualidade do código (mantém parallel debugging”) depuração maciça, mas implementa testes sistemáticos no código gerado por profissionais ✔ Código instável (desenvolvedores de empresas de TI) submetendo contribuições “bleeding edge”) ✔ Maior controle das versões ✔ “ideologia”/romantismo ✔ Ecossistema de negócios ✔ Percepção de que os fundamentos ✔ Percepção da sustentabilidade dos modelos econômicos eram intangíveis (gift de negócio economy) 71
    • Software Livre: Modelo de Negócios Marcelo Sávio Arquiteto de Software IBM Brasil msavio@br.ibm.com 72
    • Software livre e/ou aberto? • Muitas vezes o termo software livre (free software) se confunde com software aberto (open source). Isso passou a acontecer principalmente após a criação da Open Source Initiative (OSI), em 1988. • Diferentemente da FSF, a OSI não tem licenças próprias, mas certifica todas as dezenas licenças atualmente existentes no mercado (inclusive as da própria FSF) dentro de seus próprios parâmetros de software aberto. • A OSI é uma entidade conciliadora, que garante às empresas que praticam o modelo comercial de desenvolvimento de software, uma porta de entrada no movimento de software aberto sem necessariamente adotar as licenças da FSF, representando assim uma espécie de alternativa intermediária. • Todo software livre é, por definição, aberto, porém nem todo software aberto é livre. 73
    • Tipos de licenças de Software Não há Tipo de licença licença Código fonte aberto Domínio Não Público “virótica” “Virótica” (ex. GPL) Proprietária (ex.TCP/IP) (ex. BSD) Existem mais de 40 tipos de licenças cadastrados na OSI.... Acadêmica: BSD, Bind, Sendmail... Comunidade: Apache... Corporativa: OSD, CPL, SPL... 74
    • Licenças de Software Forte Licenças (amigável) Duais Licenças comerciais Licenças estilo BSD Viés (ex. IBM CPL) empresarial (potencial de LGPL lucratividade) GPL Fraco (não amigável) Fraco Forte Incentivo para a comunidade 75
    • O Ecossistema do Negócio Software Desenvol Documen Empacota Marketing Consul Implemen Treina Suporte Gerencia vimento tação mento Vendas toria tação mento mento Produção/Programação (Onde modelo do software livre Serviços interfere diretamente) • É um bem imaterial • Apenas cerca de 30% de todo software escrito é vendido ao mercado. A maioria é desenvolvida internamente ou feita por encomenda. • Indústria de software não é homogênea em seus modelos de negócio (software de massa, sob encomenda, embarcado, games…). 76
    • O que é um Sistema Embarcado  Um sistema embarcado é qualquer sistema baseado em computador mas que não é um computador...  Infra-estrutura de comunicações (ERB, roteadores,PABXs...)  Eletrônica de consumo (celulares, cameras digitais, MP3 …)  Sistemas militares e aeroespacial (aviônicos)  Automação industrial (robótica, controle de processos...)  Equipamentos médicos (defibriladores, marca passo...)  Automóveis...(Freios ABS...) 77
    • Impacto do Software Livre na indústria de software Obsolescência do produto Disponibilidade do produto Surge equivalente Software Aberto Receita sem Software Aberto Receita Receita com Software Aberto Custos/investimentos Pesquisa Desenvolvimento Reação da indústria Testes alfa/beta • Redução e novas políticas de preços Produção, Manutenção atualizações • Offload de produtos/componentes vendas, marketing comoditizados para o modelo de SW livre/aberto e suporte • Disponibilizar softwares que não conseguiram Acionistas estão mais interessados no market-share/tendem a obsolescência potencial futuro que nas receitas atuais ... • Maiores investimentos em P&D (inovação) • Diferenciação em serviços 78
    • Algumas outras lições aprendidas • Difícil contabilizar base instalada de software livre! • Alguns produtos, como o IBM Rational, embutem software livre (Eclipse), que os usuários não refletem nas respostas das pesquisas; • Movimento do software livre começou pelas áreas técnicas; • Pesquisas com CIOs/gestores ainda tendem a mostrar % pequeno; • Pesquisas com técnicos mostram % bem maior; • Alguns executivos tendem a subestimar uso de software livre por: • Proteção do orçamento • Evitar explicações de porque adquiriram software proprietário. 79
    • Algumas lições aprendidas Softwares de infra-estrutura ainda são os mais adequados para modelo de Software Livre  Aplicações Diferencial Estreita competitivo verticalizadas  ERP/SCM/CRM Amplitude de  Ferramentas de Utilização desenvolvimento Interesse da comunidade  Desktop suites  Middleware  Compiladores  Sistema Operacional (Linux) Ampla Baixo Comoditização Alto Nível de comoditização 80
    • Perspectiva dos analistas e da imprensa “People thought this wouldn't work. There are just too many people and companies to hang together. But now it's clear it does work,” says Mark Blowers, an analyst at market researcher Butler Group. (BusinessWeek) “More and more you will hear about free software, Linux, principally in the government and corporate environments, and less about Windows,” Oscar Clarke, head of Intel in Brazil, said at a press conference. “It's an inexorable trend.” (Reuters) “Linux is the first natural business ecosystem,” says James F. Moore, a senior fellow at the Berkman Center for Internet & Society at Harvard Law School. (BusinessWeek) 81
    • Linux e os benefícios da redução de TCO Linux é 40% mais barato se comparado com Windows Baseado em um período de 3 anos de propriedade de um sistema que suporte 100 mil operações por segundo no benchmark SPECjbb 82
    • A IBM, o Linux eo Software Livre 83
    • Envolvimento/Comprometimento da IBM com Software Livre  Como e quando começou?  Jikes (1998)  Relatório apresentado ao Corporate Technology Council, março de 1999  Linux World 2001 (anunciou investimento de US$ 1 bilhão)  Iniciativas importantes: Jikes, Eclipse, Apache, Gluecode, Globus, GCC...  IBM + Zend Technologies (PHP)  Doação de 500 patentes de software  Linux: Essencial na estratégia on demand  +150 projetos (sourceforge.net, developerWorks, etc.)  Intenso uso interno (servidores e posteriormente estações de trabalho – rich client)  +700 profissionais envolvidos diretamente com projetos Linux/Apache Foundations…  OSSC (Open Source Steering Committee) e OSPG (Open Source Participation Guidelines) 84
    • Linux: Transformando a TI interna da IBM  Quase 4 mil servidores em produção – 25 mil clientes  Internet e Intranet – A Intranet suporta mais de 350 mil funcionários em todo o mundo  Ambiente do serviço de Application Hosting (HTTP workload) – Blade servers  Infra-estrutura de Eventos Especiais – Wimbledon, The Ryder Cup, The US Open – Linux clusters  Serviços de Segurança (Internet Vulnerability Security Scanning) – Scanning de mais de 30 mil endereços IP por semana  Instalações industriais de produção de chips – Aumento de confiabilidade com a utilização de servidores Linux em produção 85
    • Padrões abertos são a base da arquitetura On-Demand da IBM Padrões Tecnológicos Modelagem Valor para o UML/BPEL Negócio Eclipse Flexibilidade JEE Agilidade Aplicações e Middleware de Padrões de Indústria Integração Escolha Linux Web Services Recursos dos Sistemas TCP/IP OGSI (Grid) Skills Hardware Sistema Open Power Operacional Open Blade Storage Rede Requisito-chave Padrões abertos 86
    • IBM Linux Integration Centers (LIC) Missão  Apoio aos ISVs (Independent Software Vendors)  Migração de aplicações  Suporte e desenvolvimento  Projetos Pilotos para clientes  Documentação de melhores práticas  Homologação e certificação de produtos 87
    • IBM Linux Technology Centers (LTC) Produtos IBM  Linux em servidores Power  Linux em Mainframes (zSeries) Otimizar produtos  Linux em Intel (xSeries) IBM em Linux  Software IBM para Linux Áreas de Desenvolvimento  Escalabilidade  RAS  Redes  Gerenciamento Tornar o Linux Expandir o alcance  Segurança cada vez do Linux  Desempenho melhor  Padronização Novas Áreas  Testes  Carrier Grade Linux  Qualidade  Data Center Linux  Interoperabilidade com Windows  Linux em notebooks Mais de 600 pessoas  Linux embarcado Mais de 40 Localidades (inclusive Brasil) Mais de 150 Projetos Open Source 88
    • 89
    • 90 SOFTWARE HARDWARE xSeries pSeries zSeries iSeries Linux na IBM BladeCenter OpenPower IBM Global Services SERVIÇOS
    • Linux em Mainframes (Z series) L L L L L L L LL L L L L L L L L V z/ z/ z/ z/ z/ ii V z/ z/ z/ z/ i ii ii ii ii i ii i ii L S O O O O O n S O O O O n n n n n n nn n n n n n n n n i E S S S S S u E S S S S S u u u u u u uu u u u u u u u u n x x x x x x x xx x x x x x x x x u z/VM V4 V5 z/OS z/VM V4 V5 x LPAR LPAR LPAR LPAR LPAR CP0 CP1 CP2 CP3 CP4 CP5 LN0 LN1 LN2 Standard Processor Engines IFL Engines zSeries Server 91
    • OpenPower Project The OpenPower Project intends to give Linux developers an opportunity to try out the latest POWER5 processor-based OpenPower™ servers, comment on them and share their experiences. This project will demonstrate that OpenPower is not only viable, but a supremely capable and stable platform for running mission-critical business applications in a true 64-bit environment. Two leading universities host the servers, so you have a choice of different builds and geographic entry points from which you can start. 92
    • Exemplo de algumas contribuições da IBM ao kernel 2.6... Area Contribution Description Management Extended File Atributes Greater control for file sharing Performance 8-way SMP scalability Benchmark TPC – demonstrate scalability Performance 16-way scalability Benchmark TPC Scalability Semaphore improvements Light weight user level semaphores Serviceability Multi-threaded dump Debug multi-threaded applications Scalability IPC locking Faster IPC locking I/O Large file system Support for huge block devices Scalability Ddcache Directory cache read-copy update Scalability Resource affinity Resource affinity for NUMA Serviceability Online diagnostics Common framework for diagnostics Scalability NUMA scheduler Enhancement to scheduler Serviceability System trace Trace package to allow diagnose Availability CPU hot plug enablers CPUs can be onlined or offlined Availability Fast reboot Bypassing firmware on a rebbot Serviceability Crash data collection Crash dump and analyzer 93
    • Obrigado pelo interesse e atenção Marcelo Sávio http://www.linkedin.com/in/msavio http://msavio.myplaxo.com http://www.slideshare.net/msavio/slideshows http://www.scribd.com/msavio http://betarrabios.blogspot.com 94