Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Collaboration in open source - examples from MariaDB

537 visualizaciones

Publicado el

Presentation held in Tampere on April 22th 2016 by Otto Kekäläinen

  • Inicia sesión para ver los comentarios

Collaboration in open source - examples from MariaDB

  1. 1. © 2015 MariaDB Foundation1 * * Collaboration in open source Examples from MariaDB Otto Kekäläinen 22.4.2016 Tampere, Finland
  2. 2. © 2015 MariaDB Foundation2 * * What competitive advantage do the human species possess that made us able to conqueror the planet?
  3. 3. © 2015 MariaDB Foundation3 * * Symbols that can transfer complex information across any distance or time with great accuracy
  4. 4. © 2015 MariaDB Foundation4 * * Symbols extend our memory beyond our brain. Code extends our thinking process beyond our brain.
  5. 5. © 2015 MariaDB Foundation5 * * Towards the best solution in the world Open source software development is exciting
  6. 6. © 2015 MariaDB Foundation6 * * Funded by MariaDB.com, Booking.com, Visma, Automattic (WordPress.com), Odin/Parallels, Verkkokauppa.com...
  7. 7. © 2015 MariaDB Foundation7 * * Ensuring continuity and open collaboration
  8. 8. © 2015 MariaDB Foundation8 * * Continuity ● The Foundation has the relevant technical assets and tools (website mariadb.org, version control repository, build and release systems). ● The Foundation has copyright via staff work and contributor work (CLA). For the rest (some copyrights, trademark etc) the Foundation has irrevocable licenses to use (e.g. GPL, BSD).
  9. 9. © 2015 MariaDB Foundation9 * * Foundation staff ● 6 persons, including ”Monty” Widenius ● Makes MariaDB available to as many users as possible (porting, packaging) ● Single contact point for collaboration and contributions – The Foundation makes sure all pull requests and patches are reviewed
  10. 10. © 2015 MariaDB Foundation10 Open collaboration The Foundation is open, inclusive and enables everybody to contribute and collaborate on equal basis.
  11. 11. © 2015 MariaDB Foundation11 * * Open source is an opportunity ● Freedom to use ● Freedom to study ● Freedom to improve ● Freedom to redistribute Freedoms, not obligations
  12. 12. © 2015 MariaDB Foundation12 Open source vs. closed source is like democracy vs. totalitarism Even the best strategy does not guarantee successful execution
  13. 13. © 2015 MariaDB Foundation13 Collaboration Give and get
  14. 14. © 2015 MariaDB Foundation14 * * All contributions are valuable ● code ● testing ● translations ● documentation ● graphics, design ● packaging and distribution ● marketing, advocacy ● good bug report, feedback, ideas
  15. 15. © 2015 MariaDB Foundation15 * * Who are the contributors? ● codership.com ● freesa.org ● galeracluster.com ● gmail.com ● google.com ● hotmail.com ● iki.fi ● mariadb.com ● mariadb.org git log | grep Author See https://mariadb.com/kb/en/mariadb/log-of-mariadb-contributions/ for details ● mongosearch.org ● openquery.com ● oracle.com ● primebase.org ● skysql.com ● suse.com ● tokutek.com ● twitter.com ● xiphis.org ● yahoo.com
  16. 16. © 2015 MariaDB Foundation16 Reasons to contribute Scratch your own itch!
  17. 17. © 2015 MariaDB Foundation17 Reasons to contribute
  18. 18. © 2015 MariaDB Foundation18 Reasons to contribute
  19. 19. © 2015 MariaDB Foundation19 Reasons to contribute
  20. 20. © 2015 MariaDB Foundation20 Also for the fun of it!
  21. 21. © 2015 MariaDB Foundation21 Cost vs benefit in contributions Keep it simple (but not too simple)
  22. 22. © 2015 MariaDB Foundation22
  23. 23. © 2015 MariaDB Foundation23 * * Facilitate collaboration, be inclusive ● Publish code in real time, not just at release time ● Discuss and plan on public mailing list ● Chat in the public (e.g. IRC online, meetings offline) ● Public bug tracker, transparent progress and priorities ● Respond quickly to pull requests on Github and to bug reports that have patches attached ● Keep documentation up-to-date, develop documentation alongside code and allow also contributions in documentation
  24. 24. © 2015 MariaDB Foundation24 How does one manage a big project with millions of lines of code? You don't.
  25. 25. © 2015 MariaDB Foundation25 Interfaces and APIs ● Divide and conqueror: modularize everything ● Split long files into separate files. – Easier to read and grasp, easier to merge in git. ● Define clear interfaces between components so that anybody using the interface does not have to care what happens “behind the wall”. ● Use semantic version numbers (1.0, 1.0.1, 1.1, 2.0., 2.2...) and other common conventions. ● Contracts and promises that the interfaces will continue to work in the future too.
  26. 26. © 2015 MariaDB Foundation26 * * Be inclusive
  27. 27. © 2015 MariaDB Foundation27 * * Be inclusive
  28. 28. © 2015 MariaDB Foundation28 * * Be inclusive
  29. 29. © 2015 MariaDB Foundation29 Collaboration problems? Support requests and random ideas vs Real contributions and talent
  30. 30. © 2015 MariaDB Foundation30 Collaboration problems? Automatic testing to help review contributions and focus human time on best contributions
  31. 31. © 2015 MariaDB Foundation31 Collaboration opportunities? ”Given enough eyeballs all bugs are shallow” – Linus law
  32. 32. © 2015 MariaDB Foundation32 * * How to contribute to the MariaDB project?
  33. 33. © 2015 MariaDB Foundation33 Read the docs!
  34. 34. © 2015 MariaDB Foundation34 Read the source!
  35. 35. © 2015 MariaDB Foundation35 Technical requirements ● Clearly defined problem with an unarguable solution ● No regressions or draw-backs ● The code might have been difficult to write, but it should not be difficult to read ● Running code and test cases makes the best evidence (example mysql-test/suite/encryption/t/create_or_replace.test) ● File issue at jira.mariadb.org – attach patch or – link to git branch
  36. 36. © 2015 MariaDB Foundation36 Legal requirements ● Signed MariaDB Contributor Agreement (MCA) sent to foundation@mariadb.org
  37. 37. © 2015 MariaDB Foundation37 Quality ● Quality of submission – the benefit must be big enough to spark interest ● Quality of submitter – clear and active communication – resilience – reputation from previous submissions
  38. 38. © 2015 MariaDB Foundation38 Big or small – everything counts
  39. 39. © 2015 MariaDB Foundation39 Big or small – everything counts
  40. 40. © 2015 MariaDB Foundation40 * * Your contributions are welcome!
  41. 41. © 2015 MariaDB Foundation41 Thanks! mariadb.org @ottokekalainen otto@mariadb.org

×