O que é software livre? Tem diferença entre software livre e open source? Como devo iniciar um projeto de software livre em PHP? Qual licença devo utilizar em meu projeto? Como garantir a qualidade do meu código?
Desenvolvedor PHP desde 2003
Amante de opensource
Evangelista PHP
PHP Zend Certified Engineer ( ZEND024235 )
PHPRio ( https://telegram.me/phprio )
Redes sociais: ( procure por vitormattos )
Quem sou eu?
Ide, e anunciai que o
@PHPeste está próximo.
Deixai o PHP falar por tua
boca, e alertai aos nativos do
Rio de Janeiro que a chegada
de Rasmus Lerdorf é
esperada, e fale ao povo de
Java que ainda é tempo de
conversão. Fazei isso em
memória da comunidade.
Alessandro Feitoza
Evangelista PHP
Cronograma
Tentarei ser breve :-D
● Definições sobre software livre e
opensource
● Porque devo usar software livre?
● Porque e quando devo contribuir
com software livre?
● Quais os primeiros passos?
● Como garantir a qualidade do meu
código?
● Qual licença devo usar?
● Como interagir com outros
profissionais?
● Comunidades, para que servem?
Definições sobre software livre e opensource
software
'sɔftwɛəɹ/
substantivo masculino
INF
1. conjunto de componentes lógicos de um computador ou sistema de
processamento de dados; programa, rotina ou conjunto de instruções que
controlam o funcionamento de um computador; suporte lógico.
2. p.met. todo programa armazenado em discos ou circuitos integrados de
computador, esp. destinado a uso com equipamento audiovisual.
Definições sobre software livre e opensource
Código-fonte
1. (source code em inglês) é o conjunto de palavras ou símbolos escritos de
forma ordenada, contendo instruções em uma das linguagens de
programação existentes, de maneira lógica.
Definições sobre software livre e opensource
Free software
1. Free software (software livre) é uma expressão utilizada para designar
qualquer programa de computador que pode ser executado, copiado,
modificado e redistribuído pelos usuários gratuitamente. Os usuários
possuem livre acesso ao código-fonte do software e fazem alterações
conforme as suas necessidades.
Definições sobre software livre e opensource
Free Software Foundation
1. A FSF (1995 - Richard Stallman) mantém artigos históricos que abrange a
filosofia do software livre e mantém a definição do termo Software Livre,
deixando claro quais são as características necessárias para que seja
considerado livre.
Definições sobre software livre e opensource
As quatro liberdades do software livre:
Liberdade nº 0: A liberdade para executar o programa, para qualquer propósito;
Liberdade nº 1: A liberdade de estudar como o programa funciona, e adaptá-lo
para as suas necessidades. Acesso ao código-fonte é um pré-requisito para esta
liberdade;
Liberdade nº 2: A liberdade de redistribuir de forma que você possa ajudar o seu
próximo;
Liberdade nº 3: A liberdade de modificar o programa, e liberar estas
modificações, de modo que toda a comunidade se beneficie. Acesso ao
código-fonte é um pré-requisito para esta liberdade;
Definições sobre software livre e opensource
Open source
1. Open source é um termo em inglês que significa código aberto. Isso diz
respeito ao código-fonte de um software, que pode ser adaptado para
diferentes fins. O termo foi criado pela OSI (Open Source Initiative) em
1998 e o utiliza sob um ponto de vista essencialmente técnico.
Definições sobre software livre e opensource
Resumindo:
O Software Livre implica em não propriedade do software, o Open Source pode
ter um dono.
Open Source quer dizer apenas que o código fonte é aberto e dependendo do
criador, pode ter restrições de uso.
Porque devo usar software livre?
Segurança, possibilitando auditoria do software;
Democratização do acesso à informação;
Evitar de se tornar refém de uma tecnologia proprietária;
Ter uma comunidade mundial para auxiliar;
Liberdade para usar, copiar, estudar, alterar e distribuir como desejar;
Fomenta o trabalho colaborativo;
Sustentabilidade econômica;
Apresentar para qualquer pessoa o que fizemos;
Quais os primeiros passos?
Perfeccionismo pode ser uma desculpa para a procrastinação
Perfeição:
substantivo feminino
1. o mais alto nível numa escala de valores.
2. excelência no mais alto grau.
O padrão de beleza e perfeição é uma percepção, cada um tem a sua e sempre
terá alguém que dirá que não ficou bom, nunca se terá um ponto conclusivo.
A busca pelo perfeito é uma busca sem fim.
Quais os primeiros passos?
Feito e bem feito é melhor do que perfeito.
O trabalho se expande de modo a preencher o tempo disponível para a sua
realização
Lei de Parkinson
Defina metas, defina prazos, se possível curtos e cuidado com prazos.
Uma sprint de 2 semanas que contém x tarefas, será concluída com no máximo x
tarefas.
Quais os primeiros passos?
Pense livre,
Pense simples.
Comece identificando as partes de um projeto que podem ser livres.
Empacote as menores partes em projetos livres (composer)
Quais os primeiros passos?
Pense livre,
Participe das decisões técnicas de um projeto, influencie.
Quais os primeiros passos?
Pense simples.
O que já existe de software livre para atender a minha necessidade?
Quais os primeiros passos?
Identifique as partes de um projeto que podem ser livres.
Empacote as menores partes em projetos livres (composer)
Quais os primeiros passos?
Pense simples.
Não complique, outras pessoas podem utilizar o seu código.
Use PSR - PHP Standards Recommendations - PHP-FIG
Como garantir a qualidade do meu código?
Documente minimamente
Crie um README.md
Implemente badges
● Build Status
● Coverage Status
● Total Downloads
● Latest Stable Version
● Latest Unstable Version
● License
Comunidades, para que servem?
Software livre cresce por conta de comunidades que:
Produzem, consomem e debatem
Avaliam implicações sociais, técnicas e políticas
Interação social de alguma forma