Contribuindo e criando software livre

51
Contribuindo e criando software livre Vitor Mattos

Transcript of Contribuindo e criando software livre

Contribuindo e criando software livre

Vitor Mattos

Fotografem, comentem, Twittem!

@VitorMattosRJ

https://t.me/ElePHPants

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 FeitozaEvangelista PHP

CronogramaTentarei 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

Definições sobre software livre e opensourcesoftware'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 opensourceCó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 opensourceFree 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 opensourceFree 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 opensourceAs 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 opensourceOpen 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 opensourceResumindo:

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?

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;

Porque e quando devo contribuir com software livre?

Porque e quando devo contribuir com software livre?Sempre!

Este é o nosso currículo que pode ser apresentado a qualquer pessoa

Quais os primeiros passos?

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?

Como garantir a qualidade do meu código?Faça testes!

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

Qual licença devo usar?

Qual licença devo usar?

Qual licença devo usar?

Como interagir com outros profissionais?

Como interagir com outros profissionais?Fork and Pull request

Como interagir com outros profissionais?CONTRIBUTING

Comunidades, para que servem?

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

Comunidades, para que servem?Agrupamento de pessoas em prol de um objetivo comum.

Comunidades, para que servem?Agrupamento de pessoas em prol de um objetivo comum.

Comunidades, para que servem?Agrupamento de pessoas em prol de um objetivo comum.

Comunidades, para que servem?Quando a intenção é ajudar...

Comunidades, para que servem?Quando quer aprender...

Comunidades, para que servem?Codando e testando

Comunidades, para que servem?Conteúdo, Documentação, Tradução...

Comunidades, para que servem?Criando coisas novas

Comunidades, para que servem?Espalhando seu sentimento

Comunidades, para que servem?Desafio: Faça a comunidade parte de você.

Concluindo...Juntos somos mais fortes

Perguntas

Redes sociais ( vitormattos )