O objetivo dessa palestra é apresentar a organização do desenvolvimento do core do WordPress visando estimular a participação de novos desenvolvedores brasileiros nesse processo.
Serão discutidas as ferramentas básicas que alguém que está começando precisa conhecer para enviar seu primeiro patch. Em especial o Trac, o Slack, o repositório wordpress-develop, o grunt patch e o make.wordpress.org.
Boas práticas de programação com Object Calisthenics
Rodrigo Primo - Como contribuir com o desenvolvimento do core do WordPress
1. Como contribuir com o
desenvolvimento do core do
WordPress
Rodrigo Primo
WordCamp Florianópolis 2018
2. ● Desenvolvedor na Automattic
● Parte da equipe do WooCommerce
● Trabalha com WordPress desde 2009
● Contribuições esporádicas ao core do WP e já fez parte
do desenvolvimento do WP-CLI
● Defensor do software livre
Quem sou eu
3. Muitas maneiras de contribuir
● Documentação
● Tradução
● Organização de WordCamps
● Criação de temas e plugins
● Suporte
● Desenvolvimento do core
● Tudo começa no make.wordpress.org
4. “Everything you see here, from the
documentation to the code itself, was created
by and for the community. WordPress is an
Open Source project, which means there are
hundreds of people all over the world working
on it.”
(https://wordpress.org/about/)
5. All over the world?
● Dados coletados do repositório de código
em abril de 2016
● 53 desenvolvedores com acesso de escrita
ao repositório de código e 1876
desenvolvedores que contribuíram com
código através do Trac
6. All over the world?
● 83% dos core developers tem o inglês como
primeiro idioma e mais da metade reside
nos EUA
● Quase 70% dos desenvolvedores que já
contribuíram com o core do WordPress pelo
Trac tem o inglês como primeiro idioma e
43% reside nos EUA
● 0,82% dos desenvolvedores que já
contribuíram com o core do WordPress
residem no Brasil
7. Participação da comunidade
● Os desenvolvedores core realizaram 24.251
(73%) commits enquanto os
desenvolvedores da comunidade realizaram
9.057 (27%) commits
● A maioria das contribuições de código da
comunidade são correções de bugs
11. Trac
● Utilizado para bugs e também para desenvolvimento de
novas funcionalidades
● Tickets organizados por componentes e foco
● Muitas mudanças nos últimos anos visando facilitar a
entrada de novos contribuidores
● https://core.trac.wordpress.org
12. Por onde começar?
● Testando patches e bugs
(https://core.trac.wordpress.org/tickets/needs-testing)
● Criando testes unitários
(https://core.trac.wordpress.org/tickets/needs-unit-tests)
● Tickets sem patch
(https://core.trac.wordpress.org/tickets/no-patch)
● Tickets para iniciantes
(https://core.trac.wordpress.org/tickets/good-first-bugs)
● Ajudar a manter um componente
(https://make.wordpress.org/core/components/)
13. Slack
● Comunicação em tempo real
● Substituto do IRC
● Onde a maioria das reuniões acontece
● #core no wordpress.slack.com (e muitos
outros canais mais específicos)
● Reunião periódica para novos contribuitores
(https://make.wordpress.org/core/2018/02/13
/new-contributor-meetings-return/)
14. Repositório de código
● Baixar o código:
git clone git://develop.git.wordpress.org/
● O wordpress-develop é a junção do repositório do
WordPress com o repositório de testes
● Estrutura do repositório:
○ Gruntfile.js
○ src/
○ tests/
○ (...)
15. Grunt
● Aplicar um patch de um ticket:
grunt patch:1234
● Rodar os testes do PHPUnit e qUnit
grunt test
16. Core Contributor Handbook
● https://make.wordpress.org/core/handbook/
● Descreve a organização e a filosofia do projeto
● Como criar um patch:
https://make.wordpress.org/core/handbook/working-with
-trac/submitting-a-patch/
● Estilo de código:
https://make.wordpress.org/core/handbook/coding-stan
dards/
17. Algumas dicas
● Nem todas as suas contribuições serão aprovadas
● Trabalhe em mais de um ticket
● Se quiser criar um novo recurso considere trabalhar
em equipe e começar criando um plugin
● Com o tempo fica mais fácil
● Acompanhe o make.wordpress.org/core
● Não deixe a preocupação com o inglês te bloquear