Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Abra seu código!

Abra seu código!

Nem todas as empresas de tecnologia tem seu algorítmo como segredo de negócio, mas mesmo assim, todos tratam seu código como algo a ser guardado a 7 chaves. Nessa palestra, uma conversa a respeito das vantagens e cuidados ao se abrir o código fonte do software de sua empresa, como isso pode fomentar a comunidade, além de motivar seus desenvolvedores a buscarem qualidade, visto que o código se tornará parte de seu portfólio.

Pedro Cavalheiro

May 12, 2016
Tweet

More Decks by Pedro Cavalheiro

Other Decks in Programming

Transcript

  1. ABRA SEU
    CÓDIGO!
    INCORPORANDO A CULTURA
    OPEN SOURCE NA SUA VIDA E EQUIPE
    PEDRO CAVALHEIRO
    DIGITAL TRANSFORMATION @TDC2016

    View Slide

  2. PEDRO CAVALHEIRO
    Desenvolvedor web há 6 anos, entusiasta por
    tecnologia como um todo, adora estudar novas
    ferramentas, linguagens e metodologias. Perfil
    startup-developer-problem-solver, atualmente
    tentando se acostumar com Vim.
    ABOUT.ME/PEDROCAVALHEIRO
    LINKEDIN.COM/IN/PECAVALHEIRO
    @PECAVALHEIRO
    SLIDESHARE.NET/PEDROCAVALHEIRO

    View Slide

  3. SOFTWARE BUILT
    ON PRIDE AND LOVE
    OF SUBJECT IS
    SUPERIOR TO
    SOFTWARE BUILT
    FOR PROFIT.
    RAVI SIMHAMBHATLA


    View Slide

  4. https://www.blackducksoftware.com/2016-future-of-open-source
    Empresas entrevistadas:
    65% contribuem em projetos open source
    67% incentivam seus desenvolvedores a contribuir com
    projetos open source
    90% afirmam que a cultura open source aumenta a
    eficiência, interoperabilidade e inovação

    View Slide

  5. Open source?

    View Slide

  6. View Slide

  7. #cultura
    #padroes&modelos
    #inovacao
    #colaboracao
    #transparencia

    View Slide

  8. Being part of an
    open source
    organization isn’t
    always about
    making money, but
    rather encouraging
    people to find
    meaning.


    MICHAEL CANNON

    View Slide

  9. Por que?

    View Slide

  10. Fazer algo significante
    para outras pessoas e para si.

    View Slide

  11. Possibilita uma revolução
    nos processos e conceitos
    internos e externos.

    View Slide

  12. Retribuir.

    View Slide

  13. View Slide

  14. Comunidade = Multiplicador de forças

    View Slide

  15. Mais qualidade!

    View Slide

  16. Mais segurança!

    View Slide

  17. Given
    enough
    eyeballs, all
    bugs are
    shallow
    ERIC S. RAYMOND


    View Slide

  18. Visibilidade e publicidade =
    “engineering brand”

    View Slide

  19. Fonte de profissionais para
    recrutamento.

    View Slide

  20. Reputação e retenção.

    View Slide

  21. Smart people like
    to hang out with
    other smart
    people. Smart
    developers like to
    hang out with
    smart code.


    When you open
    source useful
    code, you attract
    talent.
    TOM PRESTON-WERNER

    View Slide

  22. Quantos?

    View Slide

  23. ~80
    Linkedin
    Apache Kafka, Azkaban, Voldemort...

    View Slide

  24. ~110
    Netflix
    Simian Army, Asgard, Scumblr...

    View Slide

  25. ~130
    Github
    HuBot, Jekyll, Gollum...

    View Slide

  26. ~170
    Facebook
    React, Cassandra, HHVM...

    View Slide

  27. ~900
    Google
    MapReduce, Kubernetes, TensorFlow...

    View Slide

  28. View Slide

  29. Como começar?
    ● Questões legais
    ○ Clareza e transparência
    ● Escolher licensa (apenas uma!)
    ○ GPL
    ○ Apache
    ○ MIT
    ○ WTFPL
    ○ Beerware
    ○ http://choosealicense.com/
    ● Revisão do projeto
    ○ Legal
    ○ Segurança
    ○ Executiva
    ● CLA

    View Slide

  30. Como começar?
    ~ou~

    View Slide

  31. Como começar?

    View Slide

  32. Boas práticas

    View Slide

  33. Sumário

    View Slide

  34. Wiki
    ● Cloning
    ● Estrutura de código
    ● Build Config/Run
    ● Rodando testes
    ● Como contribuir

    View Slide

  35. Automatize!
    ● Testes
    ● Submissão de código
    ● Review de código
    ● Integração contínua

    View Slide

  36. Comunicação
    ● Blog
    ● Lista de E-mails
    ● IRC
    ● Slack

    View Slide

  37. Versões

    View Slide

  38. Ferramentas

    View Slide

  39. CI
    ● Travis CI
    ● CloudBees
    ● TeamCity
    ● Snap CI

    View Slide

  40. Coverage ● Coveralls
    ● Codecov

    View Slide

  41. Qualidade
    ● Code Climate
    ● Hound
    ● Codacy
    ● Scrutinizer
    ● SensioLabs (PHP)
    ● PullReview (Rails)

    View Slide

  42. Hosting
    ● Heroku
    ● AWS
    ● OpenShift
    ● AppHarbor (.net)
    ● Azure (.net)

    View Slide

  43. Testes ● SauceLabs
    ● BrowserStack

    View Slide

  44. SSL ● GoDaddy
    ● StartSSL
    ● Let’s Encrypt

    View Slide

  45. Tradução ● Crowdin

    View Slide

  46. Importante!

    View Slide

  47. OSS abandonado é ruim para você!
    (e para sua empresa!)

    View Slide

  48. Nenhum OSS é melhor do que OSS
    medíocre.

    View Slide

  49. OSS exige dedicação.

    View Slide

  50. Seja paciente.

    View Slide

  51. Seja responsável.

    View Slide

  52. Seja maduro.

    View Slide

  53. Tenha orgulho do seu projeto.

    View Slide

  54. MUITO
    OBRIGADO
    LINKEDIN.COM/IN/PECAVALHEIRO
    @PECAVALHEIRO
    ABOUT.ME/PEDROCAVALHEIRO
    SLIDESHARE.NET/PEDROCAVALHEIRO

    View Slide