Estado actual del Open Source, situación individual como desarrolladores. Cómo empezar a ser contribuidor, cómo empezar siendo project owner. Experiencias personales y ventajas de formar parte de la comunidad.
1. 25 de noviembre de 2017Tech Day Rosario
Open Source for the win!
Nicolas Milcoff
COO / Mobile Lead Developer
DGenix
2. 25 de noviembre de 2017Tech Day Rosario
Sobre mí
•Comencé mi camino en el Open Source hace dos años
•Contribuidor de más de 20 proyectos en GitHub
•Host de algunas librerías Open Source
•Maintainer de MvvmCross
3. 25 de noviembre de 2017Tech Day Rosario
MvvmCross
•MVVM Framework para Xamarin
•Usado por más de 5000 compañías alrededor del mundo
•Más de 200 contribuidores
•Soportado por la .NET Foundation
4. 25 de noviembre de 2017Tech Day Rosario
Agenda
•La era Open Source
•¿Por qué contribuir a proyectos OS?
•Comenzando como contribuidor / project owner
•La vida de un maintainer
•¡Los mejores momentos!
12. 25 de noviembre de 2017Tech Day Rosario
La era del Open Source
•78% de las empresas usan OSS internamente
•66% de las empresas venden soluciones que utilizan OSS
•64% de las empresas consideran OSS como primera opción
•93% de las empresas creen que aumentarán su uso de OSS
Fuente: Black Duck Software – “Future of Open Source Survey” - 2016
14. 25 de noviembre de 2017Tech Day Rosario
¿Dónde estamos nosotros?
•Todas las compañías usan Open Source
•Pocos desarrolladores contribuyen
•Las compañías no motivan a sus trabajadores a contribuir
•Mucha carga de trabajo se reparte entre pocas personas
15. 25 de noviembre de 2017Tech Day Rosario
¡Podes tener un gran
impacto en tu
comunidad!
16. 25 de noviembre de 2017Tech Day Rosario
¿Por qué contribuir?
•Cada vez que instalas un paquete estas ahorrándote
tiempo y esfuerzo
•El código open source nunca es gratuito. ¡Alguien ya lo
pagó!
•Sólo los contribuidores mantienen con vida a los proyectos
18. 25 de noviembre de 2017Tech Day Rosario
¿Cuáles son los beneficios?
•Te desafías a vos mismo y aprendes nuevas tecnologías
•Te convertís en el experto
•Construís y sos parte de una red global de contactos
•Obtenés code reviews gratuitos
•¡Podes llegar a compartir unas cervezas con tus ídolos!
19. 25 de noviembre de 2017Tech Day Rosario
Por sobre todo…
¡Podés escribir tu
propia historia!
20. 25 de noviembre de 2017Tech Day Rosario
Contribuir no se trata sólo de código
•¿Encontraste un bug? ¡Reportalo!
•¿Necesitás una funcionalidad? ¡Pedila!
•¿Sos bueno en diseño? ¡Crea un logo, o un sitio web!
•¿Estas usando el proyecto? ¡Blogueá tus experiencias!
•¿Estas en un canal de Slack? ¡Ayudá a otros!
21. 25 de noviembre de 2017Tech Day Rosario
https://opensource.guide/
22. 25 de noviembre de 2017Tech Day Rosario
Comenzando como contribuidor
•Buscá algo que te emocione y motive
•Usá tecnologías con las que estes familiarizado
•Comenzá de a poco: De a un commit por vez
•Asegurate de que el proyecto esté vivo y activo
•Prestá atención a la licencia
24. 25 de noviembre de 2017Tech Day Rosario
Trabajando en mi primer issue
•Issue <> Bug
•Si no existe un issue para lo que harás, ¡crea uno!
•Cuando elegís un issue, dejá un comentario preguntando
por novedades sobre el tema
25. 25 de noviembre de 2017Tech Day Rosario
¡Comunicate con los maintainers!
26. 25 de noviembre de 2017Tech Day Rosario
Seguí el Git Workflow
27. 25 de noviembre de 2017Tech Day Rosario
No olvides
•Preguntar por guidelines y estandares de código
•No hagas demasiados commits
•No hagas muy pocos commits
•¡Es posible que tu Pull Request sea rechazado!
29. 25 de noviembre de 2017Tech Day Rosario
Comenzando como project owner
•La primer versión tiene que ser vergonzosa para vos
•Toma SemVer de forma seria: ¡Evitá romper el código de
tus usuarios tanto como puedas!
•Crea documentación, buena documentación
•Se abierto con otros contribuidores
30. 25 de noviembre de 2017Tech Day Rosario
Ni host ni contribuidor: Supporter
https://opencollective.com
31. 25 de noviembre de 2017Tech Day Rosario
Convirtiéndote en maintainer
•El momento en que te otorgan write access a tu repositorio
favorito…
32. 25 de noviembre de 2017Tech Day Rosario
Un gran poder conlleva una gran responsabilidad…
33. 25 de noviembre de 2017Tech Day Rosario
Siendo el maintainer
•Comenzás a revisar y mergear Pull Requests
•Trabajás en temas administrativos
•Tenés una voz en el diseño y roadmap del producto
•Tenés que escribir las release notes / blog posts
34. 25 de noviembre de 2017Tech Day Rosario
Siendo el maintainer
•Sos contactado por empresas que utilizan el proyecto
•Haces pair coding con otros contribuidores
•En algún momento rompés la base de código
•Inmediatamente después arreglás la base de código
•¡Conocés a los gurús!
35. 25 de noviembre de 2017Tech Day Rosario
La parte no tan buena de ser un maintainer
•Tenés que escribir documentación
•La gente tiene expectativas muy altas
•Es a veces difícil no sentirse sobrecargado
•Tenés que tratar con usuarios “especiales”
36. 25 de noviembre de 2017Tech Day Rosario
Comenzás a pensar en cuan fácil sería la vida si sólo
hubiera más contribuidores
37. 25 de noviembre de 2017Tech Day Rosario
Balanceando tu tiempo personal…
38. 25 de noviembre de 2017Tech Day Rosario
¡Los mejores momentos!
https://www.visualstudio.com/vs/visual-studio-mac/
39. 25 de noviembre de 2017Tech Day Rosario
Participando en eventos globales
42. 25 de noviembre de 2017Tech Day Rosario
Resumen
•No planifiques: Empezá reportando bugs
•Podes lograr un impacto real en tu comunidad
•Mientras contribuís construis una red de contactos
•¡Tu conocimiento y experiencia crecen exponencialmente!
•No te van a pagar por hacerlo, o no directamente ;)
43. 25 de noviembre de 2017Tech Day Rosario
¡Muchas gracias!
http://nmilcoff.com
@nmilcoff
nicolas.milcoff@d-genix.com
Nico Milcoff