Você está na página 1de 115

Fundamentos de Software Livre

Prof. M.Sc. Jansen Sena

Last revision: 2007, 25 th Nov

Sobre o professor

Formaçã o acad êmica

Gradua çã o

Universidade Federal do Amazonas (Manaus, AM)

Mestrado Acad ê mico

Instituto de Computa ção / Unicamp (Campinas, SP)

Seguran ç a de redes e administra çã o de sistemas Unix

Revista PC&CIA

Colaborador desde 2001

Coluna Seguran ç a High­tech

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

2

Sobre o professor

Certificaçã o LPI

Linux Professional Institute (http://www.lpi.org)

Comunidade SOL Software Livre

ONG sem fins lucrativos para promoçã o do software livre na Regiã o Norte

Encontro de Software Livre do Amazonas

Outras informa çõ es

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

3

Conteú do Programático

Hist ó rico do software livre

Contexto geral da é poca

O que é um hacker?

A hist ó ria da impressora

Free Software Foundation e Projeto GNU

Conceitos b á sicos de software livre

O surgimento do Linux

Porque GNU/Linux?

Software livre versus open source

O que NÃO é software livre?

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

4

Conteú do Programático

Tipos de software

Licen ç as de software

Distribui ções GNU/Linux

Distribuiçõ es majorit á rias

Caracter í sticas principais

Exemplos de outros softwares livres

Custo Total de Propriedade (TCO)

Casos de sucesso

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

5

Conteú do Programático

Contexto do software livre no Brasil

Governo e iniciativa privada

Como se ganha dinheiro com software livre?

Produzindo software livre

Considera çõ es iniciais

Infra­estrutura té cnica

Recursos financeiros

Comunica çã o

Gerenciamento de volunt á rios

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

6

Hist órico do Software Livre

1945–1960: quem fazia computa ção?

Fí sicos, engenheiros, matemá ticos,

1960–1980: consolida ção da área

PDP serie da Digital Corporation

Populariza çã o do hardware

Várias universidades adquiriram

MIT

Laborat ório de IA destaca­se no mundo

Foco estava no hardware

Software nã o tinha valor de neg ó cio

hardware – Software n ã o tinha valor de neg ó cio Copyleft (2007) Prof. M.Sc.

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

7

Hist órico do Software Livre

Comunidade de desenvolvedores

rico do Software Livre ● Comunidade de desenvolvedores – Colaborativa – Participativa – Surgimento do

Colaborativa

Participativa

Surgimento do conceito hacker

Aus ê ncia de licenciamentos de software

Hacker

Considerado um elogio

Utilizado para os melhores programadores de Standford, Carnigie Mellon, MIT,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

8

Hist órico do Software Livre

Cultura Hacker

Coleçã o de subculturas conectadas

New Hacker Dictionary (1983, Eric S. Raymond)

Mais de 1200 pá ginas

Hackers (1984, Steven Levy)

Formalizou ética hacker

Linguagem hacker

Termos pr óprios para conv í vio social

Regras impl í citas de comportamento

í vio social – Regras impl í citas de comportamento Copyleft (2007) Prof. M.Sc. Jansen Sena

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

9

Hist órico do Software Livre

O que é, ent ão, um hacker?

There is a community, a shared culture, of expert programmers and networking wizards that traces its history back through decades to the first time­sharing minicomputers and the earliest ARPAnet experiments. The members of this culture originated the term ‘hacker’. Hackers built the Internet. Hackers made the Unix operating system what it is today. Hackers run Usenet. Hackers make the World Wide Web work. If you are part of this culture, if you have contributed to it and other people in it know who you are and call you a hacker, you're a hacker.

(Eric S. Raymond)

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

10

Hist órico do Software Livre

O que N Ã O é um hacker?

Pessoa que

invade

rouba

danifica

computadores

informações

sistemas

Termo utilizado e popularizado de maneira errada pela imprensa mundial

Utilização err ônea atingiu os grandes meios de comunicação incluindo os n ão especializados

Outros termos para classificar “falsos hackers”

Crackers, Black hats, Script kiddies,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

11

Hist órico do Software Livre

A hist ória da impressora

Richard Stallman, pesquisador do MIT, enfrentou problemas com uma impressora

Equipamento “engolia” papé is

Provocava perda de tempo

Jobs acumulados na fila de impress ão

Qual foi a solu ção (workaround) ?

impress ã o – Qual foi a solu çã o ( workaround ) ? ● Modificou

Modificou o software da impressora

Notificar o usuário sobre situações de printer jammed

“The printer is jammed, please fix it.”

Somente usuário com impress ã o parada, levantava­se para resolver o problema

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

12

Hist órico do Software Livre

A hist ória da impressora

(continua çã o)

MIT recebeu nova impressora

Doada pela Xerox

Adapta çã o de uma fotocopiadora

Equipamento mais r á pido que os anteriores, mas tinha o mesmo problema: paper jammed !!!

Stallman descobriu pesquisador da Universidade de Carnigie Mellon que trabalhava no c ó digo­fonte

Robert Sproull nã o repassou o c ódigo­fonte

NDA (Nondisclousure agreement) com Xerox

Quebra da Cultura Hacker !!!

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

13

Hist órico do Software Livre

A hist ória da impressora

(continua çã o)

Novo contexto: NDA com os desenvolvedores

Desarticula çã o da comunidade colaborativa

1984: Stallman deixa seu trabalho no MIT

Objetivo: criar e manter uma comunidade de software livre que pudesse continuar compartilhando conhecimento

Foi concecida a possibilidade de continuar utilizando as estruturas do MIT

Computadores, recursos,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

14

Hist órico do Software Livre

Projeto GNU: GNU's Not Unix (1984)

Manifesto GNU (“Free as in Freedom”)

Cria çã o de um sistema operacional livre (Alix/Hurd)

Programas livres como alternativas aos propriet á rios licenciados recentemente

Primeiro desafio: n ã o existia compilador C livre

Stallman cria o GCC (GNU C Compiler)

Grande proje çã o do Projeto GNU

1984: GNU Emacs

1985: Primeira versã o est á vel

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

15

Hist órico do Software Livre

Programadores solicitavam softwares desenvolvidos pelo Projeto GNU

Fontes dispon í veis e aquisi çã o sem custos provocou euforia entre desenvolvedores

Internet nã o estava consolidada mundialmente

Stallman divulgava softwares do Projeto GNU enviando­os aos interessados

U$ 150,00 pelas fitas e manuais

Estabelecidos os prim órdios do modelo de neg ócios de software livre

Demandas pelos softwares aumentaram significativamente conforme sua populariza ção

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

16

Hist órico do Software Livre

Criaçã o da Free Software Foundation (FSF)

Fundada em 1985 por Richard Stallman

Organiza ção sem fins lucrativos cujo objetivo é gerenciar o movimento de software livre

Principal patrocinadora do Projeto GNU

Recebe doa çõ es de empresas e indiví duos

GNU – Recebe doa çõ es de empresas e indiv í duos ● Venda de manuais

Venda de manuais

Camisetas e outros “gifts

Membros e s ócios

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

17

Hist órico do Software Livre

Quais s ã o as liberdades de um software livre?

Executar o software para qualquer propó sito

Modificar o software conforme suas necessidades

Garantia de acesso ao c ódigo­fonte

Distribuir o software para terceiros

Redistribuir as versõ es modificadas do software

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

18

Hist órico do Software Livre

Copyleft

Copyright ® All Rights Reserved

Copyleft (L) All Rights Reversed – Don Hopkins :­)

Em outras palavras

software gerado a partir de software livre tamb é m dever á ser de licenciamento livre!

Utiliza as leis de copyright para garantir as liberdades ao software

Copyright: criado para restringir acesso e utiliza ção

Conceito fundamental para garantir “carga gené tica” do software livre

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

19

Hist órico do Software Livre

GNU GPL (GNU General Public License)

Era necessá rio criar os mecanismos legais para dar subsí dio aos softwares livres

Primeiro e principal mecanismo de licenciamento de softwares livres

Outras licen ç as copyleft foram criadas pela Free Software Foundation para fins espec í ficos

GNU LGPL (GNU Lesser General Public License)

Viabiliza o uso de bibliotecas de software livre em outros tipos de software que n ão sejam livres

GNU GFDL (GNU Free Documentation License)

Implementa caracter í sticas de software livre para documentos

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

20

Hist órico do Software Livre

Surgimento do Linux

Minix = Minimal + Unix

Sistema operacional concebido por Andrew S. Tanembaum

Objetivo: exemplificar conceitos apresentados em seu livro “Operating Systems: Design and Implementation” (1987)

Aproximadamente, 12.000 linhas de c ódigo

Kernel

Gerenciador de mem ória

File system

Autor era constantemente solicitado a incorporar novos recursos e mecanismos

Unix exigia o pagamento de licen ç as de uso

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

21

Hist órico do Software Livre

Surgimento do Linux

Linux = Linus + Unix

Linus Torvalds, aluno de gradua ção na época, implementou uma vers ã o do Minix

Just for fun!”

uma vers ã o do Minix ● “ Just for fun !” – Linus liberou o

Linus liberou o c ó digo­fonte na Internet para mostrar trabalho e angariar colaboradores voluntá rios

25 de agosto de 1991: post em comp.os.minix

Implementado sobre plataforma 80386

Nú mero elevado de colaboradores fez o sistema ganhar “vida pr ó pria”

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

22

Hist órico do Software Livre

Hist ó rico do Software Livre ● 1991: surge o ping ü im – Setembro/1991: vers

1991: surge o pingü im

Setembro/1991: vers ã o 0.01 é liberada

10.239 linhas de c ódigo

Outubro/1991: versã o 0.02 é liberada

Dezembro/1991: vers ã o 0.11 é liberada

Linus licenciou Linux sob os termos da GNU GPL

Caracter í sticas té cnicas

Não possu í a suporte à rede e à muitos perif éricos

Sistema “conceitual”, acad ê mico e muito restrito

Mecanismo de mem ória virtual era limitado

Minix file system era a única alternativa

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

23

Hist órico do Software Livre

1992: vers ã o 0.95

Primeira versã o a suportar ambiente X

1994: lan ç ada a vers ã o 1.0 (14 de mar ç o)

Maior release desde o lan ç amento do sistema

Sistema estava com, 165.000 linhas de có digo

Outras novidades

Novo sistema de arquivos/arquivos mapeados em mem ória

Suporte à rede (pilha TCP/IP baseada nos sistemas BSD)

Muitos programas Unix foram traduzidos para Linux

Utiliza ção do GCC

Linus Torvalds passou a coordenar as colabora ções

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

24

Hist órico do Software Livre

1996: liberada a vers ão 2.0

Sistema passou a ter 470.000 linhas de có digo em C e, aproximadamente, 8000 linhas em assembly

Caracter í sticas

Suporte a arquitetura de 64 bits

Multiprocessamento sim étrico (SMP)

Novos protocolos de rede: AppleTalk, AX.25, ISDN

Montagem remota de Netware e SMB (Samba)

Manipula ção de depend ências nos m ódulos de kernel

Threads de kernel

Suporte à v ários dispositivos

Grande parte do c ó digo dedicada a device drivers

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

25

Hist órico do Software Livre

Caracter í sticas gerais do Linux

Multi­usu á rio

Multi­tarefa

Time sharing

Gen é rico

Conjunto simplificado de idé ias

Objetivos

Simplicidade

Generalidade / Versatilidade

Portabilidade / Adaptabilidade

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

26

Hist órico do Software Livre

Versionamento do kernel

Vers õ es terminadas em n ú mero

í mpar: inst á veis

N ã o devem ser colocadas em ambientes de produ çã o

Adequada para testes de funcionalidades rec é m­implementadas

Exemplo: 2.5

par: est áveis

Testadas e prontas para ambientes de produçã o

Exemplo: 2.6

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

27

Hist órico do Software Livre

Por que GNU/Linux?

No in í cio da d é cada de 1990, o kernel do GNU/Hurd n ã o estava pronto e está vel

Linux (kernel) foi licenciado sob GNU GPL

Sistema passou a utilizar ferramentas do projeto GNU

Maior contribuiçã o em c ó digo vem

do projeto GNU

Imprensa convencionou chamar

o sistema somente por Linux

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

28

Hist órico do Software Livre

Open source

Movimento fundado por Eric S. Raymond em 1998

Open Source Initiative (OSI): http://www.opensource.org

Prev ê a possibilidade de utilizar um programa cujo licenciamento prov ê acesso ao c ó digo­fonte para torn á ­lo software proprietá rio

Não incorpora necessariamente o conceito de copyleft

Permite distribui çã o em conjunto

de softwares de diferentes naturezas

çã o em conjunto de softwares de diferentes naturezas Copyleft (2007) Prof. M.Sc. Jansen Sena ­

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

29

Hist órico do Software Livre

Software livre versus open source

OSI é muito mais focado no processo de desenvolvimento distribu í do

Recebeu incentivos da ind ú stria por ajudar a compartilhar solu ções de interesse comum

Visto como mais atrativo para a ind ústria

OSI desconsidera questõ es é ticas da FSF quanto à s liberdades inerentes aos softwares livres

Comum encontrar confusã o entre os termos

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

30

Hist órico do Software Livre

O que NÃ O é software livre?

Free as in freedom, not like free beer” (RMS)

Imprensa mistura conceitos facilmente

Exemplos:

Microsoft Internet Explorer

Winzip

Acrobat Reader

Skype

MSN

AVG

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

31

Tipos de Software

Software propriet ário

Aquele que n ã o é livre e n ão possui liberdades

Seu uso, modificaçã o (???), distribui çã o e redistribui çã o s ã o proibidas ou requerem autoriza çã o

Microsoft EULA (End User License Agreement)

Algumas proí bem co­exist ência com FOSS (Free and Open Source Software) na mesma plataforma

Exemplos:

Microsoft Windows, Oracle, MS SQL Server, Delphi, Corel Draw, Adobe Premier, Adobe Photoshop, Skype,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

32

Tipos de Software

Software comercial

Software desenvolvido com objetivo de lucro por meio de sua utiliza çã o por terceiros

Software comercial NÃO é software proprietá rio

Lucro n ã o significa somente a venda de licenç as de uso como no modelo propriet á rio

Serviç os podem ser uma alternativa

Software livre pode ser com finalidade comercial

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

33

Tipos de Software

Software semi­livre

Nã o é livre, mas possui permissõ es para utiliza ção, modificaçã o e distribuiçã o desde que NÃO seja para fins lucrativos

Nã o é possí vel distribuiçã o comercial

Nã o é possí vel incluir software semi­livre em um sistema operacional livre, por exemplo

Exemplo: PGP

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

34

Tipos de Software

Software de domí nio pú blico

Software nã o é protegido por copyright

Termo legal significa “sem copyright”

Nã o possui, portanto, restri çõ es à sua manipula çã o

Modificaçã o n ã o requer libera çã o do có digo­fonte

Livre??? Dispon í vel para utiliza çã o???

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

35

Tipos de Software

Freeware

Viabilizam distribui çã o e redistribuiçã o

Modificaçã o n ã o é permitida

Có digo­fonte nã o dispon í vel

Estrat é gia, algumas vezes, utilizada para popularizar o software perante usuá rios

Exemplo: StarOffice

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

36

Tipos de Software

Shareware

Utiliza çã o por tempo determinado

Redu çã o dos recursos totais do aplicativo

Na pr á tica, pessoas desrespeitam licen ç as

Bla­bla­blaware (???)

Tipos de licenciamento variados se confundem

Licen ç as restritivas com caracterí sticas particulares

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

37

Licen ç as de software

Copyright

Software, como toda produ çã o intelectual, é protegido por copyright que determina o seu dono

Propriet á rio do copyright determina suas formas de utiliza çã o e distribui çã o por meio de uma licen ç a

Software livre utilizar modelo de copyright, criado para restringir acesso, para garantir liberdades

Existem muitas licen ç as dispon í veis

Detalhes jur í dicos complexos e muito discutidos

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

38

Licen ç as de software

GNU General Public License (GNU GPL)

Mais popular licen ç a para software livre

Utiliza çã o do copyleft é mandat ó ria

Primeira licen ç a a implementar o conceito do copyleft

Garante que a “cadeia de liberdade” seja preservada

Licen ç a utilizada pelo Linux e pelos aplicativos desenvolvidos pelo Projeto GNU (e.g. Emacs)

O que é necessá rio para utilizar?

Incluir refer ência no c ó digo­fonte

Adicionar c ópia do texto da licen ç a ao pacote

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

39

Licen ç as de software

GNU General Public License (GNU GPL)

GNU GPL Source Code

GNU General Public License (GNU GPL) GNU GPL Source Code N ã o pode misturar­se com
GNU General Public License (GNU GPL) GNU GPL Source Code N ã o pode misturar­se com

N ão pode misturar­se com c ódigo proprietário a menos que haja a concordância de todos os responsáveis e colaboradores do software

Proprietary Source Code

á veis e colaboradores do software Proprietary Source Code C ó digo propriet á rio pode

C ódigo proprietário pode ser relicenciado sob os termos da GNU GPL

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

40

Licen ç as de software

GNU Lesser General Public License (GNU LGPL)

Criada para resolver o problema de utiliza çã o de bibliotecas de software livre em aplicativos propriet á rios

GNU GPL obriga que todo aplicativo comercial que utilize bibliotecas licenciadas sob seus termos tamb ém seja licenciado com a mesma licenç a

Também conhecida como Library General Public License

Pemite que software proprietá rio utilize os recursos implementados pelo software GNU LGPL

Desde que n ão haja modificaçõ es no c ódigo da pr ópria bilbioteca

nesse

caso, valem as mesmas condi ções da GNU GPL

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

41

Licen ç as de software

GNU Lesser General Public License (GNU LGPL)

Termos da licen ç a t ê m provocado confusã o

Richard Stallman aconselha a n ã o utiliza çã o da GNU LGPL, sugerindo, ao inv é s, o uso de uma clá usula especial da GNU GPL

As a special exception, if you link this library with other files to produce an executable, this library does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception dos not however invalidate any other reasons why th executable file might be covered by the GNU General Public License

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

42

Licen ç as de software

GNU Lesser General Public License (GNU LGPL)

GNU GPL Source Code Proprietary Source Code Aplica çã o completa (funcional)
GNU GPL
Source Code
Proprietary
Source Code
Aplica çã o completa
(funcional)

Qualquer modifica ção no có digo deve ser tornada pú blica pelos termos da GNU GPL

Qualquer modifica ção pode permanecer privada e proprietária

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

43

Licen ç as de software

GNU Free Documentation License (GNU GFDL)

Aplicar as liberdades de software livre à documentos

Nã o assume responsabilidade por modifica çõ es feitas por terceiros ao documento

Permite a classificaçã o de se çõ es ou partes que sejam “invariantes”

Tipos de distribui çã o

Cópia opaca: produzidas por softwares que geram formatos propriet ários

Cópia transparente: formato é de conhecimento p úblico

A cada 100 c ópias do tipo opaca, uma c ópia transparente deve ser disponibilizada (online, por exemplo)

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

44

Licen ç as de software

Apache Software License

Criada para o licenciamento do Apache Web Server

Soluçã o mais utilizada para servidores Web no mundo

Similar as licen ç as do MIT e BSD

Maior particularidade é o fato de que a marca registrada “Apache” n ão foi licenciada com o software

Se mudanç as s ão feitas ao Apache por terceiros, o resultado não pode ser chamado de “Apache”

Nã o utiliza o copyleft

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

45

Licen ç as de software

Artistic License

Criada para o licenciamento da linguagem Perl

Licen ç a considera muito confusa e repleta de contradi çõ es entre seus termos e especificaçõ es

Novos softwares com c ó digo aberto (livres ou n ã o), evitam o uso dessa licen ç a

Altenativas

GNU GPL

MIT

Nã o utiliza copyleft

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

46

Licen ç as de software

BSD License

Acesso ao c ó digo­fonte, distribuiçã o e redistribuiçã o de vers õ es modificadas sã o permitidas

Có digo das modifica çõ es n ã o precisa ser publicado

Não possui copyleft

Versões modificadas podem ser distribu í das sob os termos de uma licenç a propriet ária

Nã o segue princ í pios da GNU GPL que favorecem o desenvolvimento em comunidade

Vers õ es antigas requeriam cr é dito à Universidade da Calif ó rnia pelo uso da licen ç a

Cláusula foi removida

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

47

Licen ç as de software

Mozilla Public License (MPL)

Criada para o licenciamento da versã o open source do browser Netscape Navigator

Removeu algumas das restrições da NPL (Netscape Public License)

Utiliza copyleft

Deu origem a muitas outras licen ç as comerciais para open source

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

48

Licen ç as de software

IBM Public License

IBM vem investindo h á anos em iniciativas em software livre e open source

Licen ç a copyleft comercial baseada na MPL

Colaboradores do software original ou de suas deriva çõ es n ã o podem ser responsabilizados pelos “claims” feitos por terceiros

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

49

Licen ç as de software

MIT License

Licen ç a muito simples que nã o imp õ e muitas restriçõ es a respeito da utilizaçã o do có digo­fonte

Requisito: o texto da licenç a deve estar incluso em todas as có pias ou “porçõ es substanciais” do software licenciado sob a MIT License

Usada, geralmente, quando a ú nica inten çã o é manter a propriedade sobre o có digo sem importar­se muito com a forma de utiliza çã o do software

Nã o utiliza copyleft

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

50

Licen ç as de software

Dual­licensing

O detentor do copyright pode selecionar mais de uma licen ç a para seu software

Permite que o licenciado escolha a licen ç a que melhor que convir

Dual­licensing é uma estrat é gia para atender clientes que n ã o desejam participar da reciprocidade das licen ç as de software livre/open source e estã o dispostos a pagar para revogar essa caracterí stica

Exemplos

Sistema de arquivos ReiserFS

KnowledgeTree (DMS)

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

51

Licen ç as de software

Dual­licensing

Controle do dual­licensing requer que colaboradores repassem direitos autorais para o controle dos mantenedores

Atividade complicada para gerenciar

Não acontece no caso do Linux

FSF aceita receber o controle do copyright

Gerenciar direitos autorais é uma das atividades mais complexas de projetos de software livre e open source

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

52

Distribui ções GNU/Linux

Liberdades do software livre viabilizam cria çã o de diferentes “sabores” do sistema operacional

Quem pode fazer uma distribui çã o?

Uma empresa, uma institui çã o de ensino, uma comunidade de desenvolvedores, um indiv í duo,

Kernel oficial é mantido por uma organiza çã o ú nica centralizada

O mesmo acontece com outros softwares livres

Mozilla Firefox, Apache,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

53

Distribui ções GNU/Linux

O que é uma distribui ção GNU/Linux?

Encapsulamento do kernel e aplicativos

Mecanismo de instala çã o

Gerenciador de pacotes

Serviç os de suporte

Estrutura interna (arquivos, recursos,

Processo de desenvolvimento pr ó prio

Regras de conduta

)

Finalidades espec í ficas

Desktop, servidor, seguranç a, desenvolvimento,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

54

Distribui ções GNU/Linux

Red Hat Linux

Distribui çõ es GNU/Linux ● Red Hat Linux – Nacionalidade norte­americaca – Primeira grande distribui çã

Nacionalidade norte­americaca

Primeira grande distribuiçã o comercial

Suporte profissional da empresa mantenedora

Desenvolvimento de pacotes e “add­ons”

Criadora de um dos principais mecanismos de empacotamento: RPM (Red Hat Packet Manager)

Por ser norte­americana, está sujeita a restri çõ es para exportaçã o de solu çõ es criptográ ficas

Adotado por muitas outras distribui ções

Mandriva, YellowDog, Fedora, OpenSUSE,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

55

Distribui ções GNU/Linux

Red Hat Linux (continua ção)

çõ es GNU/Linux ● Red Hat Linux (continua çã o) – Utilizado para certifica çã o

Utilizado para certifica çã o de produtos profisionais

SGDB Oracle

Possui processo de certificaçã o pr ó prio promovido pela empresa respons á vel

Abandonou o mercado desktop e concentra­se no ambiente servidor

Bem suportado por fabricantes de hardware

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

56

Distribui ções GNU/Linux

Fedora

Red Hat descontinou a versã o voltada para a comunidade e concentrou­se no mundo corporativo

Red Hat Enterprise

Primeira versã o do projeto sucedeu o Red Hat 9.0

Manuten çã o: Fedora Project / Patrocí nio: Red Hat

Julho de 2003: primeira vers ã o de testes

Mar ç o de 2004: primeira vers ã o est á vel

Distribuiçã o amig á vel

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

57

Distribui ções GNU/Linux

Debian GNU/Linux

Distribui çõ es GNU/Linux ● Debian GNU/Linux – Criada por Ian Murdock – Uma das mais
Distribui çõ es GNU/Linux ● Debian GNU/Linux – Criada por Ian Murdock – Uma das mais

Criada por Ian Murdock

Uma das mais comprometidas com software livre

Preserva a nomenclatura “GNU/Linux” no nome

Ampla comunidade de desenvolvimento

Reposit ó rios oficiais possuem somente software livre

Suporte para, aproximadamente, 10 plataformas

i386, amd64, alpha, sparc, powerpc, arm, mips, hppa,

Mais de 290GB de software disponí veis

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

58

Distribui ções GNU/Linux

Debian GNU/Linux

Distribui çõ es GNU/Linux ● Debian GNU/Linux – Boa quantidade de documenta çã o (livre) –
Distribui çõ es GNU/Linux ● Debian GNU/Linux – Boa quantidade de documenta çã o (livre) –

Boa quantidade de documenta çã o (livre)

Vers õ es do Debian

Stable: estrutura amplamente testada e est ável

Testing: pr óxima versã o a ser classificada como stable

Unstable: pacotes mais recentes, poucos testes

Releases mais lentas

Muitos pacotes dispon í veis

Rigor dos testes e da qualidade das vers ões est á veis

Comunidade de usu á rios cresceu ainda mais depois do abandono da versã o Red Hat para comunidade

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

59

Distribui ções GNU/Linux

Debian GNU/Linux

Debian CDD

çõ es GNU/Linux ● Debian GNU/Linux – Debian CDD ● Custom Debian Distribution ● Incentivo a
çõ es GNU/Linux ● Debian GNU/Linux – Debian CDD ● Custom Debian Distribution ● Incentivo a

Custom Debian Distribution

Incentivo a geração de distros baseadas no Debian

Exemplos: Knoppix, Kurumin, Debian CDD­BR, Ubuntu(?)

Apt­get: poderoso gerenciador de pacotes

Manipula depend ências

Deu origem a outros gerenciadores semlhantes (e.g. yum)

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

60

Distribui ções GNU/Linux

Ubuntu Linux

Distribui çõ es GNU/Linux ● Ubuntu Linux – Baseada no Debian GNU/Linux ● Testing/unstable – Patrocinado

Baseada no Debian GNU/Linux

Testing/unstable

Patrocinado pela Canonical Ltd. / Ubuntu Foundation

Uma das distribuiçõ es mais populares para desktop

Comunidade de usu ários cresceu rapidamente

Alternativa para utilizar estrutura Debian em desktop

Mais rapidez no processo de desenvolvimento

Somente tr ês plataformas suportadas

Estrat é gia de populariza çã o

Envio de CDs gratuitamente para v ários locais no mundo

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

61

Distribui ções GNU/Linux

Ubuntu Linux

Distribui çõ es GNU/Linux ● Ubuntu Linux – Aproveitou desenvolvedores volunt á rios do Debian –

Aproveitou desenvolvedores volunt á rios do Debian

Incorporaçã o de drivers propriet á rios em repositó rio de pacotes especí fico

Reposit ó rios oficiais

main: softwares livres suportados oficialmente pela distro

restricted: softwares fundamentais (drivers) propriet ários

universe: restante dos pacotes livres do Debian

multiverse: softwares propriet ários “não­fundamentais”

partners: softwares de parceiros da Canonical

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

62

Distribui ções GNU/Linux

Ubuntu Linux

Distribui çõ es GNU/Linux ● Ubuntu Linux – Deu origem a outras distribui çõ es “irm

Deu origem a outras distribuições “irmã s”

Edubuntu: voltado para ensino e educa çã o

Kubuntu: ambiente grá fico KDE (ao inv é s do Gnome)

Xubuntu: ambiente gr á fico “leve” (XFCE)

Gobuntu: somente software livre

fico “leve” (XFCE) – Gobuntu: somente software livre Copyleft (2007) Prof. M.Sc. Jansen Sena ­ Fundamentos
fico “leve” (XFCE) – Gobuntu: somente software livre Copyleft (2007) Prof. M.Sc. Jansen Sena ­ Fundamentos
fico “leve” (XFCE) – Gobuntu: somente software livre Copyleft (2007) Prof. M.Sc. Jansen Sena ­ Fundamentos
fico “leve” (XFCE) – Gobuntu: somente software livre Copyleft (2007) Prof. M.Sc. Jansen Sena ­ Fundamentos

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

63

Distribui ções GNU/Linux

Slackware

Distribui çõ es GNU/Linux ● Slackware – Criado por Patrick J. Volkerding – Uma das primeiras

Criado por Patrick J. Volkerding

Uma das primeiras distribui çõ es criadas

“Todo mundo um dia usou Slackware”

Primeira release foi em 16 de julho de 1993

Mant é m simplicidade e originalidade do sistema

Nã o era uma distribui çã o voltada para usu á rios finais

Projeto oficial suporta somente plataforma i386

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

64

Distribui ções GNU/Linux

Mandriva

Mandriva = Mandrake Linux + Conectiva Linux

Headquarter em Paris (Fran ça) e Centro de Desenvolvimento em Curitiba (Brasil)

Nome Mandrake foi trocado por lit í gio judicial

Distribuiçã o voltada para usu á rios finais

Instala çã o em ambiente gr á fico

Pacotes no formato RPM

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

65

Distribui ções GNU/Linux

Suse / OpenSuse

Empresa Suse foi adquirida pela Novell

Nacionalidade original: alem ã

Distribuição bastante popular na Europa

Suse Linux mais voltado para mercado corporativo

OpenSuse: distribuiçã o voltada pra comunidade

Baseada inicialmente no Suse Linux 10.0

Primeira release est ável lanç ada em 06/outubro/2005

Pacotes de software utilizam formato RPM

Desenvolvimento focado em facilitar utiliza çã o

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

66

Distribui ções GNU/Linux

Gentoo Linux

Criado por Daniel Robbins

GNU/Linux ● Gentoo Linux – Criado por Daniel Robbins ● Batizado inicialmente por Enoch Linux (v.

Batizado inicialmente por Enoch Linux (v. 0.75 , Dez/99)

Objetivo

Criar uma distro compilada a partir do seu c ódigo­fonte

Contendo apenas os componentes b á sicos

Extrair bom resultados do hardware

31/03/2002: Gentoo Linux 1.0

Copyrigths transferidos para Gentoo Foundation

Daniel trabalhou pra Microsoft por quase 2 anos

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

67

Distribui ções GNU/Linux

Gentoo Linux (continua ção)

Portage: sistema gerenciador de pacotes

çã o) – Portage: sistema gerenciador de pacotes ● Baseado no BSD Ports Collections (FreeBSD) ●

Baseado no BSD Ports Collections (FreeBSD)

Uma das principais distin ções do Gentoo das outras distribuições GNU/Linux

Portabilidade

Gentoo/FreeBSD, Gentoo/NetBSD, Gentoo/OpenBSD,

Plataformas: x86, x86­64, IA­64, PA­RISC; PowerPC, PowerPC 970, SPARC64, MIPS, DEC Alpha, ARM, System Z/s390, PS3 Cell Processor

Instala çã o baseada em est á gios

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

68

Distribui ções GNU/Linux

Dawn Small Linux

Distribuiçã o que cabe em 50MB

Disponibilizada em forma de um Live CD

Pode ser instalado no disco rí digo

Tamb é m permite sua instalaçã o em um USB key

Possui ambiente gr á fico

Navegador, MP3 player, PDF Reader, Office suite,

Utilit ários de linha de comando

Servidor HTTP, SSH e FTP

Pode ser utilizado até com 16MB de RAM

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

69

Distribui ções GNU/Linux

Tom's Root Disk Boot Disk (Tom's RTBT)

● Tom's Root Disk Boot Disk (Tom's RTBT) – Distribui çã o GNU/Linux em um ú

Distribuiçã o GNU/Linux em um ú nico disquete

Kernel e utilitá rios bá sicos

Pode ser utilizada para fazer manuten çã o em sistemas danificados

Possui ferramentas para transferê ncia de dados, montagem de partiçõ es, diagn ó stico de discos

Toda documenta ção é simples (formato ASCII)

Útil em situaçõ es crí ticas

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

70

Distribui ções GNU/Linux

Para conhecer mais distribui ções

Distrowatch (http://www.distrowatch.com)

Site mant é m um ranking por distribuições mais requisitadas no site

Apresenta p á gina com resumo da distro e informa çõ es gerais

Link para download

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

71

Copyleft (2007) Prof. M.Sc. Jansen Sena ­ Fundamentos de Software Livre ­ http://www.jsena.info 72

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

72

Softwares Livres

OpenOffice.org

Softwares Livres ● OpenOffice.org – Criado em outubro de 2000 com objetivo de criar um pacote

Criado em outubro de 2000 com objetivo de criar um pacote livre de software para escritó rio

Baseado no StartOffice

Escrito em C++

Licenciamento LGPL, SISSL

Mais de 20 milh õ es de downloads registrados

Roda em vá rias plataformas

GNU/Linux, FreeBSD, Mac OS, Microsoft Windows

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

73

Softwares Livres

Samba

Softwares Livres ● Samba – Permitiu grande populariza çã o do GNU/Linux em ambientes corporativos ●

Permitiu grande populariza çã o do GNU/Linux em ambientes corporativos

Substituição dos servidores de arquivos SMB/CIFS

Recurso para tornar­se PDC (Primary Domain Controller)

Integra­se com LDAP

Transparente para os usu ários finais

Criado por Andrew Tridgell

Licenciado sob GNU GPL

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

74

Softwares Livres

Gnome

Ambiente gr á fico desktop

Também funciona em FreeBSD e outros Unixes

Possui aplicativos pr ó prios

Browser, gerenciador de arquivos e configura ções

Um dos ambientes gr á ficos majoritá rios junto com o projeto KDE

Licenciado sob GNU GPL

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

75

Softwares Livres

KDE

Ambiente gr á fico para desktops Linux

Também funciona em FreeBSD e outros Unixes

1996: An ú ncio oficial do projeto

Tamb é m possui conjunto de aplicativos pr ó prios

Interface mais popular para desktops GNU/Linux

Boa quantidade de aplicativos integrados

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

76

Softwares Livres

Projeto Mozilla

Softwares Livres ● Projeto Mozilla – Miss ã o: preservar a escolha e a inova çã

Miss ã o: preservar a escolha e a inovaçã o na Internet

Licenciamento: MPL (Mozilla Public License)

Derivado de solu çõ es criadas pela Netscape

Produtos

Mozilla Firebird

Mozilla Thunderbird

Bugzilla

Camino

Sunbird

Thunderbird ● Bugzilla ● Camino ● Sunbird Copyleft (2007) Prof. M.Sc. Jansen Sena ­ Fundamentos de

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

77

Softwares Livres

MySQL

Servidor de banco de dados

Versátil, á gil e livre!

de banco de dados ● Vers á til, á gil e livre! – Financiado pela empresa

Financiado pela empresa MySQLAB

Empresa sediada na Su é cia

Dual­licensed: GNU GPL e MySQLAB license

Faz parte da arquitetura LAMP

Linux, Apache. MySQL e PHP/Python

Mais de 4 milh õ es de instala çõ es

Yahoo, MP3.com, Motorola, NASA, Silicon Graphics, Finance, Texas Instrument,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

78

Softwares Livres

PostgreSQL

Softwares Livres ● PostgreSQL – Outra alternativa livre de servidor de banco de dados – Licenciamento

Outra alternativa livre de servidor de banco de dados

Licenciamento BSD (com modifica çõ es)

In í cio do projeto: 1986 na Universidade de Berkeley

Portabilidade para Linux, FreeBSD e mais 34 versõ es diferentes de Unix e Microsoft Windows (por meio da utiliza çã o do Cygwin)

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

79

Softwares Livres

Apache

Softwares Livres ● Apache – Servidor Web mais utilizado em todo o mundo – Um dos

Servidor Web mais utilizado em todo o mundo

Um dos grandes exemplos de software livre de sucesso no mundo corporativo

Disponibiliza çã o de novos mó dulos e recursos

Interface com linguagens como PHP

Hist ó rico de seguran ç a muito superior ao seu principal concorrente (Microsoft IIS)

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

80

Softwares Livres

Outros projetos

Free Software Directory

SourceForge

Google code

Savanahh

Freshmeat.net

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

81

TCO

Total Cost of Ownership

Custo Total de Proriedade

Trocando em miú dos

Mecanismo para mensurar custos do setor de TI

Software, hardware, humanware, capacita çã o/treinamento, suporte té cnico, infra­ estrutura de comunicaçã o

Ajuda a detalhar a eficiê ncia e distribuiçã o dos investimentos em tecnologia

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

82

TCO

TCO deve ser objeto de aná lises constantes

Estudo chave para sa ú de corporativa

Quem n ã o quer reduzir o TCO?

Redu çã o responsá vel e planejada

Reduçã o de custos é uma das maiores motiva çõ es para utilizaçã o de software livre sob a perspectiva gerencial

Entretanto, o valor do software livre está na liberdade

Portanto, software livre pode reduzir TCO

Parte significativa do TCO adv é m das licen ç as de uso

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

83

TCO

Um exemplo de redu çã o de TCO

Migra çã o de MS­Windows para GNU/Linux

Empresa Cybersource divulgou seu estudo

Primeiro estudo foi divulgado em 2002

GNU/Linux é 34% mais barato

Estudo foi atualizado em 2004

GNU/Linux é 36% mais barato

Documento é voltado para an á lise gerencial

Visão t écnica n ão convence gerentes e diretores!

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

84

TCO

O que foi considerado no estudo?

Ambiente de uma empresa de mé dio porte

250 computadores

Servidores e estações de trabalho

Conectividade à Internet

Sistema de e­bussiness

Cabeamento de rede

Softwares

Salários dos profissionais

Treinamentos

Consultoria externa

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

85

TCO

Microsoft Windows x GNU/Linux (standard)

TCO ● Microsoft Windows x GNU/Linux (standard) Copyleft (2007) Prof. M.Sc. Jansen Sena ­ Fundamentos de

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

86

TCO

Microsoft Windows x Red Hat Linux

TCO ● Microsoft Windows x Red Hat Linux Copyleft (2007) Prof. M.Sc. Jansen Sena ­ Fundamentos

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

87

Produzindo software livre

Consideraçõ es iniciais

Every good work of software starts by scratching a developer's personal itch” (Eric S. Raymond)

Em outras palavras, Interesse pessoal em ver o problema resolvido é um ponto chave para iniciar um bom software

A qualidade de um software livre é proporcional ao interesse dos usuá rios sobre ele e do compromisso de sua comunidade de desenvolvimento

Bons softwares sobrevivem necessidades e requisitos

e se adaptam as novas

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

88

Produzindo software livre

Como iniciar um projeto de software livre?

Etapas iniciais

Look Around

Primeiros passos

Modelo de licenciamento

Anunciando o projeto à comunidade

Infra­estrutura t é cnica

Recursos financeiros

Gerenciamento de volunt á rios

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

89

Produzindo software livre

Etapas iniciais (“Look Around”)

Procure por projetos livres com a mesma finalidade

Reposit órios de software livre conhecidos

SourceForge, Freshmeat, Savannah, Google code,

Inicialmente, n ã o procure “reinventar a roda”

Exce ção: projetos de car áter acadêmico / educacional

Mesmo quando nã o existe uma soluçã o que tenha exatamente a mesma finalidade, considere a possibilidade de colaborar incluindo novas features

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

90

Produzindo software livre

Etapas iniciais (Primeiros Passos)

Troque visibilidade privada pela visibilidade p ública

Ou seja, não basta somente sua empresa ou institui ção tomarem conhecimento do projeto e de seus objetivos

Defina os objetivos espec íficos do projeto junto com os seus outros fundadores

Identifique suas limitaçõ es

Quem ir á fazer e quem nã o irá fazer cada atividade

Ajuda a detectar poss í veis desentendimentos da natureza do projeto e de seus objetivos

Pode revelar considera ções err ôneas

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

91

Produzindo software livre

Etapas iniciais (Primeiros Passos)

Novos colaboradores precisam de subs í dios para iniciar suas atividades no projeto

Cen á rio ideal para novos colaboradores

Documentação do design

Manual de usu ários completo e atualizado

Incluindo demandas futuras a serem implementadas

Código apto para trabalhar em v árias plataformas

Realidade

Preparar toda documenta ção requer muito tempo

O m í nimo para prover informa çõ es necess árias iniciais para o engajamento com o projeto

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

92

Produzindo software livre

Etapas iniciais (Primeiros Passos)

Selecionando um bom nome para o projeto

Criatividade pode ser um fator decisivo

Um bom nome é suficiente para um bom projeto, mas um nome ruim não ir á colaborar

Deve representar, de alguma maneira, o que o projeto faz

Fácil de memorizar

Easy for somebody who can read English” (Karl Fogel)

Evite regionalismos exagerados

Não possui o mesmo nome de outros projetos

Não infringe marcas registradas

Se poss í vel, com nome de dom í nio nos top level domains

gnu.org, openoffice.org, samba.org,

Copyleft (2007) Prof. M.Sc. Jansen Sena

­

Fundamentos de Software Livre ­ http://www.jsena.info

93

Produzindo software livre

Etapas iniciais (Primeiros Passos)

Compartilhe publicamente a miss ã o do projeto

Deixe explí cita a condição de software livre

Divulgue as features e a lista de requisitos

Classifique itens futuros como “planned”, “in progress”

Indique o status do desenvolvimento

Evita frustrações entre o que se pretende e o que tem

Alpha: primeira release com maior parte das features

Possui bugs conhecidos e limita çõ es a serem resolvidas

Beta: faltam testes para tornar­se est á vel