O documento fornece instruções em 5 passos para contribuir com o framework Django de forma aberta, começando com encontrar um bug ou melhoria existente, preparando o ambiente de desenvolvimento, escrevendo o código, fazendo um pull request e lidando com feedback. O objetivo é encorajar contribuições ao projeto removendo medos comuns sobre onde começar e se o código será aceito.
Contribuir com o django é mais simples do que voce imagina!
1. Contribuir com o Django é mais
simples do que você imagina!
Anderson Resende
2. Quem sou eu
● Anderson Resende
○ Recife
○ Trabalho na Vinta
○ ~4 anos de experiência Python/Django
@AndersonRe86
github.com/andersonresende
3. Um pouco mais sobre mim...
● Algumas contribuições
○ edx/edx-documentation A primeira vez, nunca
esquecemos...)
○ allisson/django-pagseguro2 (Checkout
transparente)
○ fixmydjango/fixmydjango
○ vintasoftware/django-role-permissions
○ vintasoftware/django-templated-email
○ django/django
4. Framework Python mais usado!
+ 24k commits
https://github.com/django/django
https://www.djangoproject.com/
5. Por que fazer Open Source?
● Aprendizado
● Melhoramento profissional
● Visibilidade no mercado de trabalho
● Boas práticas de programação
● Retribuição a comunidade
● Lazer
7. Por que eu escolhi falar sobre esse assunto...
● Um pouco da minha trajetória...
8. Um pouco dos meus (nossos) medos!
“Não sei por onde começar…”
“Será que vão gostar do meu código?”
“Isso deve ser muito difícil…”
“Contribuir com uma lib que todo mundo usa, deve ser bem complicado”
“Como eu faço pra contribuir com essas libs?”
“Será que alguém vai me ajudar?”
“Quais libs eu devo contribuir?”
12. Analizando o ticket...
Vamos a partir de agora fazer o passo a passo com bug que ja foi resolvido
anteriormente por mim.
https://code.djangoproject.com/ticket/26026
24. Entendendo o problema
"isinstance check on any instance, that is not QuerySet
(actually anything without .query attribute) and
django.db.models.query.EmptyQuerySet
throws AttributeError."
28. Contribuindo com o projeto (Django guidelines)
● Commitando seu codigo
○ git commit -am [1.9.x] Fixed #26026 -- Checked if the
QuerySet is empty
○ git push origin ticket_26026
https://docs.djangoproject.com/en/dev/internals/contributing/writin
g-code/working-with-git/#working-on-a-ticket
29. Contribuindo com o projeto
● Criando um Pull Request
https://help.github.com/articles/creating-a-pull-request/
“Uma série de testes automatizados
vão ser executados.
Se os testes passarem seu codigo será revisado”