Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Collaboration in open source - examples from MariaDB

535 views

Published on

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

Published in: Government & Nonprofit
  • Login to see the comments

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

×