Projeto de Software Livre Osvaldo Santana Neto [email_address]
Um pouco de 'legalês' Propriedade Intelectual Direito Autoral Licenciamento Propriedade Industrial Patentes Royalties Software Protegido pela propriedade intelectual e lei de software Patente de Software Fazer com que o software obedeça às leis de propriedade industrial EUA permitem patente de software
O que é Software Livre As 4 liberdades básicas:  Liberdade para executar o software para qualquer propósito Liberdade para estudar o software, adaptá-lo às suas necessidades. (O  código fonte é necessário para garantir essa liberdade)  Liberdade para redistribuir cópias  Liberdade para aperfeiçoar o programa e liberar os seus aperfeiçoamentos  Licenças de Software Livre  GPL, LGPL, FDL
Software Livre não é Grátis Free as in “Free Speech”, not as in “Free Beer” “ Free ” como em “Liberdade de expressão”, não como “Cerveja grátis”  Independência de fornecedor  Você só atualiza se precisar  Você pode dar continuidade ao software  Software Livre no Brasil  Autonomia Tecnológica  Desenvolvimento tecnológico nacional  Inclusão Digital
Vida de um Projeto  Necessidade  Surge a necessidade da criação de um software que execute uma determinada tarefa e o mesmo ainda não existe  Projeto  Inicia-se o projeto do software. Como o software irá funcionar, o que deverá fazer (com prioridades)  Implementação / Documentação  Desenvolvimento e documentação do software. Lembre-se que o seu software pode ser usado por pessoas do mundo todo e não apenas no Brasil
Vida de um Projeto  Liberação  Publica-se e divulga-se para “o grande público” o lançamento do seu software.  Libere o seu projeto depois que ele tenha atingido um estágio funcional. Nunca antes disso.  Existem sites especializados na divulgação de novos softwares: www.freshmeat.net  www.sourceforge.net  www.br-linux.org  (no Brasil)
Vida de um Projeto Correção de bugs, novos desenvolvimentos, ...  “Libere cedo e libere sempre” - Libere sempre novos releases do seu software, mesmo que você não tenha feito muitos testes. Deixe bem claro que o software é experimental e não deve ser usado em produção. Rápidas correções de bugs (muitas vezes enviados pelos próprios usuários do software) garantem o sucesso do projeto e estimula a participação de mais pessoas no desenvolvimento do mesmo.  Cuidar do “filho” que você colocou no mundo Desenvolver software livre é uma responsabilidade. Lembre-se bem disso antes de iniciar o desenvolvimento de um  Ver o seu software sendo usado por várias pessoas vai te deixar orgulhoso :)
Como começar?  Já existe algum software que faça algo parecido com o que você precisa? Sim! - Ótimo, entre em contato com o desenvolvedor e tente ajudá-lo. “Reinventar a Roda” não é uma coisa boa no mundo do Software Livre Não! - Ótimo também. Aí está a chance de você começar o seu próprio projeto Escolha as ferramentas necessárias para o desenvolvimento do seu software Dê preferência a ferramentas livres. Lembre-se que a pessoa que gostaria de te ajudar pode não ter dinheiro para comprar a última versão do Visual Studio .NET
Como começar? Crie um ambiente para o desenvolvimento do seu software (ou utilize um pré-existente)  Controle de versão, bug, compiladores, editores, ...  Comece a desenvolver  Lembre-se que antes de liberar o seu programa você deve ter uma documentação sobre o funcionamento do mesmo  Nunca  libere o seu projeto para o público antes dele estar funcional.
O que é necessário  Todo projeto de Software Livre bem sucedido precisa:  Código (é claro :))  Documentação (para que usuários e desenvolvedores saibam como colaborar com o projeto) Cases (quem está usando e para que? É você quem usa?)  Apelo / Utilidade (o software precisa ser útil para alguém ou ter um apelo forte para um grupo de pessoas)
Gerenciando Projeto Comunicação eficiente entre desenvolvedores Um dos ítens mais importantes  Listas de discussão, fórum, mensagens instantâneas (IRC, ICQ, MSN, ...) Comunicação eficiente com usuários Necessário para se obter o feedback dos usuários. Importante separar lista de desenvolvimento e de usuários. Listas de discussão, página web, Wiki, IRC, ... Ferramentas de gerência Controle de bugs, controle de versão, controle de novas features
Gerenciando Projeto Metodologias Leves / Informalidade Metodologias pesadas aumentam a barreira para as contribuições Quanto mais próximo da informalidade melhor Software Livre não se encaixa com linha de produção Ao adotar uma metodologia lembre-se que a ajuda que você receberá é, em sua maioria, voluntária
Interagindo com a comunidade Interagindo com desenvolvedores Egos! Não esquecer que quase sempre os desenvolvedores são usuários Assumir compromissos com os desenvolvedores: Prazos, disponibilidade de horários, comunicar e debater decisões de projeto. Respeitar o desenvolvedor Interagindo com usuários Egos! Assumir compromissos com os usuários: Prazos, disponibilidade de horários, comunicar e debater decisões de projeto. Respeitar o usuário
Ganhando Dinheiro com SL Tornando-se uma 'Celebridade' Ao se tornar uma celebridade você sempre é cogitado para os mais diversos tipos de 'empreitadas' Prestando serviço de consultoria Sempre que uma super-mega-giga-compania iniciar um projeto de uso de software livre que utiliza o seu software você certamente terá prioridade na contratação da empresa Treinamentos Dependendo da visibilidade que o seu projeto e/ou você atingir você sempre será chamado para ministrar cursos
Ganhando Dinheiro com SL Usando seu software no seu trabalho Isso aumentará sua produtividade e percebendo isso seu chefe até te dará um aumento (sei... :)) Virando palestrante O que essa opção está fazendo num slide que fala sobre “Ganhar Dinheiro”? :)

Projeto de Software Livre

  • 1.
    Projeto de SoftwareLivre Osvaldo Santana Neto [email_address]
  • 2.
    Um pouco de'legalês' Propriedade Intelectual Direito Autoral Licenciamento Propriedade Industrial Patentes Royalties Software Protegido pela propriedade intelectual e lei de software Patente de Software Fazer com que o software obedeça às leis de propriedade industrial EUA permitem patente de software
  • 3.
    O que éSoftware Livre As 4 liberdades básicas: Liberdade para executar o software para qualquer propósito Liberdade para estudar o software, adaptá-lo às suas necessidades. (O código fonte é necessário para garantir essa liberdade) Liberdade para redistribuir cópias Liberdade para aperfeiçoar o programa e liberar os seus aperfeiçoamentos Licenças de Software Livre GPL, LGPL, FDL
  • 4.
    Software Livre nãoé Grátis Free as in “Free Speech”, not as in “Free Beer” “ Free ” como em “Liberdade de expressão”, não como “Cerveja grátis” Independência de fornecedor Você só atualiza se precisar Você pode dar continuidade ao software Software Livre no Brasil Autonomia Tecnológica Desenvolvimento tecnológico nacional Inclusão Digital
  • 5.
    Vida de umProjeto Necessidade Surge a necessidade da criação de um software que execute uma determinada tarefa e o mesmo ainda não existe Projeto Inicia-se o projeto do software. Como o software irá funcionar, o que deverá fazer (com prioridades) Implementação / Documentação Desenvolvimento e documentação do software. Lembre-se que o seu software pode ser usado por pessoas do mundo todo e não apenas no Brasil
  • 6.
    Vida de umProjeto Liberação Publica-se e divulga-se para “o grande público” o lançamento do seu software. Libere o seu projeto depois que ele tenha atingido um estágio funcional. Nunca antes disso. Existem sites especializados na divulgação de novos softwares: www.freshmeat.net www.sourceforge.net www.br-linux.org (no Brasil)
  • 7.
    Vida de umProjeto Correção de bugs, novos desenvolvimentos, ... “Libere cedo e libere sempre” - Libere sempre novos releases do seu software, mesmo que você não tenha feito muitos testes. Deixe bem claro que o software é experimental e não deve ser usado em produção. Rápidas correções de bugs (muitas vezes enviados pelos próprios usuários do software) garantem o sucesso do projeto e estimula a participação de mais pessoas no desenvolvimento do mesmo. Cuidar do “filho” que você colocou no mundo Desenvolver software livre é uma responsabilidade. Lembre-se bem disso antes de iniciar o desenvolvimento de um Ver o seu software sendo usado por várias pessoas vai te deixar orgulhoso :)
  • 8.
    Como começar? Já existe algum software que faça algo parecido com o que você precisa? Sim! - Ótimo, entre em contato com o desenvolvedor e tente ajudá-lo. “Reinventar a Roda” não é uma coisa boa no mundo do Software Livre Não! - Ótimo também. Aí está a chance de você começar o seu próprio projeto Escolha as ferramentas necessárias para o desenvolvimento do seu software Dê preferência a ferramentas livres. Lembre-se que a pessoa que gostaria de te ajudar pode não ter dinheiro para comprar a última versão do Visual Studio .NET
  • 9.
    Como começar? Crieum ambiente para o desenvolvimento do seu software (ou utilize um pré-existente) Controle de versão, bug, compiladores, editores, ... Comece a desenvolver Lembre-se que antes de liberar o seu programa você deve ter uma documentação sobre o funcionamento do mesmo Nunca libere o seu projeto para o público antes dele estar funcional.
  • 10.
    O que énecessário Todo projeto de Software Livre bem sucedido precisa: Código (é claro :)) Documentação (para que usuários e desenvolvedores saibam como colaborar com o projeto) Cases (quem está usando e para que? É você quem usa?) Apelo / Utilidade (o software precisa ser útil para alguém ou ter um apelo forte para um grupo de pessoas)
  • 11.
    Gerenciando Projeto Comunicaçãoeficiente entre desenvolvedores Um dos ítens mais importantes Listas de discussão, fórum, mensagens instantâneas (IRC, ICQ, MSN, ...) Comunicação eficiente com usuários Necessário para se obter o feedback dos usuários. Importante separar lista de desenvolvimento e de usuários. Listas de discussão, página web, Wiki, IRC, ... Ferramentas de gerência Controle de bugs, controle de versão, controle de novas features
  • 12.
    Gerenciando Projeto MetodologiasLeves / Informalidade Metodologias pesadas aumentam a barreira para as contribuições Quanto mais próximo da informalidade melhor Software Livre não se encaixa com linha de produção Ao adotar uma metodologia lembre-se que a ajuda que você receberá é, em sua maioria, voluntária
  • 13.
    Interagindo com acomunidade Interagindo com desenvolvedores Egos! Não esquecer que quase sempre os desenvolvedores são usuários Assumir compromissos com os desenvolvedores: Prazos, disponibilidade de horários, comunicar e debater decisões de projeto. Respeitar o desenvolvedor Interagindo com usuários Egos! Assumir compromissos com os usuários: Prazos, disponibilidade de horários, comunicar e debater decisões de projeto. Respeitar o usuário
  • 14.
    Ganhando Dinheiro comSL Tornando-se uma 'Celebridade' Ao se tornar uma celebridade você sempre é cogitado para os mais diversos tipos de 'empreitadas' Prestando serviço de consultoria Sempre que uma super-mega-giga-compania iniciar um projeto de uso de software livre que utiliza o seu software você certamente terá prioridade na contratação da empresa Treinamentos Dependendo da visibilidade que o seu projeto e/ou você atingir você sempre será chamado para ministrar cursos
  • 15.
    Ganhando Dinheiro comSL Usando seu software no seu trabalho Isso aumentará sua produtividade e percebendo isso seu chefe até te dará um aumento (sei... :)) Virando palestrante O que essa opção está fazendo num slide que fala sobre “Ganhar Dinheiro”? :)