SlideShare a Scribd company logo
© 2015 MariaDB Foundation1
* *
Collaboration in open source
Examples from MariaDB
Otto Kekäläinen
22.4.2016
Tampere, Finland
© 2015 MariaDB Foundation2
* *
What competitive advantage do the human species
possess that made us able to conqueror the planet?
© 2015 MariaDB Foundation3
* *
Symbols that can transfer complex information
across any distance or time with great accuracy
© 2015 MariaDB Foundation4
* *
Symbols extend our memory beyond
our brain.
Code extends our thinking process
beyond our brain.
© 2015 MariaDB Foundation5
* *
Towards the best solution in the world
Open source software development is exciting
© 2015 MariaDB Foundation6
* *
Funded by MariaDB.com, Booking.com,
Visma, Automattic (WordPress.com),
Odin/Parallels, Verkkokauppa.com...
© 2015 MariaDB Foundation7
* *
Ensuring continuity and
open collaboration
© 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).
© 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
© 2015 MariaDB Foundation10
Open collaboration
The Foundation is open, inclusive and
enables everybody to contribute and
collaborate on equal basis.
© 2015 MariaDB Foundation11
* *
Open source is an opportunity
● Freedom to use
● Freedom to study
● Freedom to improve
● Freedom to redistribute
Freedoms, not obligations
© 2015 MariaDB Foundation12
Open source vs. closed source
is like democracy vs. totalitarism
Even the best strategy
does not guarantee
successful execution
© 2015 MariaDB Foundation13
Collaboration
Give and get
© 2015 MariaDB Foundation14
* *
All contributions are valuable
● code
● testing
● translations
● documentation
● graphics, design
● packaging and distribution
● marketing, advocacy
● good bug report, feedback, ideas
© 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
© 2015 MariaDB Foundation16
Reasons to contribute
Scratch your own itch!
© 2015 MariaDB Foundation17
Reasons to contribute
© 2015 MariaDB Foundation18
Reasons to contribute
© 2015 MariaDB Foundation19
Reasons to contribute
© 2015 MariaDB Foundation20
Also for the fun of it!
© 2015 MariaDB Foundation21
Cost vs benefit in contributions
Keep it simple
(but not too simple)
© 2015 MariaDB Foundation22
© 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
© 2015 MariaDB Foundation24
How does one manage a big project
with millions of lines of code?
You don't.
© 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.
© 2015 MariaDB Foundation26
* *
Be inclusive
© 2015 MariaDB Foundation27
* *
Be inclusive
© 2015 MariaDB Foundation28
* *
Be inclusive
© 2015 MariaDB Foundation29
Collaboration problems?
Support requests and random ideas
vs
Real contributions and talent
© 2015 MariaDB Foundation30
Collaboration problems?
Automatic testing to help review contributions and focus human time on best contributions
© 2015 MariaDB Foundation31
Collaboration opportunities?
”Given enough eyeballs all
bugs are shallow” – Linus law
© 2015 MariaDB Foundation32
* *
How to contribute to
the MariaDB project?
© 2015 MariaDB Foundation33
Read the docs!
© 2015 MariaDB Foundation34
Read the source!
© 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
© 2015 MariaDB Foundation36
Legal requirements
● Signed MariaDB Contributor Agreement (MCA)
sent to foundation@mariadb.org
© 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
© 2015 MariaDB Foundation38
Big or small – everything counts
© 2015 MariaDB Foundation39
Big or small – everything counts
© 2015 MariaDB Foundation40
* *
Your contributions are welcome!
© 2015 MariaDB Foundation41
Thanks!
mariadb.org
@ottokekalainen
otto@mariadb.org

More Related Content

Viewers also liked

WordPress ja markkinointiautomaatio (DigitalTre-esitys)
WordPress ja markkinointiautomaatio (DigitalTre-esitys)WordPress ja markkinointiautomaatio (DigitalTre-esitys)
WordPress ja markkinointiautomaatio (DigitalTre-esitys)
Otto Kekäläinen
 
MariaDB Developers Meetup 2016 welcome words
MariaDB Developers Meetup 2016 welcome wordsMariaDB Developers Meetup 2016 welcome words
MariaDB Developers Meetup 2016 welcome words
Otto Kekäläinen
 
Git essentials
Git essentialsGit essentials
Git essentials
Otto Kekäläinen
 
MariaDB in Debian and Ubuntu: The next million users
MariaDB in Debian and Ubuntu: The next million usersMariaDB in Debian and Ubuntu: The next million users
MariaDB in Debian and Ubuntu: The next million users
Otto Kekäläinen
 
Koodikerho: ohjelmointia alakouluissa
Koodikerho: ohjelmointia alakouluissaKoodikerho: ohjelmointia alakouluissa
Koodikerho: ohjelmointia alakouluissa
Otto Kekäläinen
 
Koodikerho PEPE Pajapäivä 6.9.2016
Koodikerho PEPE Pajapäivä 6.9.2016Koodikerho PEPE Pajapäivä 6.9.2016
Koodikerho PEPE Pajapäivä 6.9.2016
Otto Kekäläinen
 
WordPress security 101 - WP Turku Meetup 2.2.2017
WordPress security 101 - WP Turku Meetup 2.2.2017WordPress security 101 - WP Turku Meetup 2.2.2017
WordPress security 101 - WP Turku Meetup 2.2.2017
Otto Kekäläinen
 
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
Otto Kekäläinen
 
Find WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profilingFind WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profiling
Otto Kekäläinen
 
Testing and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressionsTesting and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressions
Otto Kekäläinen
 
Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...
Otto Kekäläinen
 
Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
Otto Kekäläinen
 
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
Otto Kekäläinen
 
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Otto Kekäläinen
 

Viewers also liked (14)

WordPress ja markkinointiautomaatio (DigitalTre-esitys)
WordPress ja markkinointiautomaatio (DigitalTre-esitys)WordPress ja markkinointiautomaatio (DigitalTre-esitys)
WordPress ja markkinointiautomaatio (DigitalTre-esitys)
 
MariaDB Developers Meetup 2016 welcome words
MariaDB Developers Meetup 2016 welcome wordsMariaDB Developers Meetup 2016 welcome words
MariaDB Developers Meetup 2016 welcome words
 
Git essentials
Git essentialsGit essentials
Git essentials
 
MariaDB in Debian and Ubuntu: The next million users
MariaDB in Debian and Ubuntu: The next million usersMariaDB in Debian and Ubuntu: The next million users
MariaDB in Debian and Ubuntu: The next million users
 
Koodikerho: ohjelmointia alakouluissa
Koodikerho: ohjelmointia alakouluissaKoodikerho: ohjelmointia alakouluissa
Koodikerho: ohjelmointia alakouluissa
 
Koodikerho PEPE Pajapäivä 6.9.2016
Koodikerho PEPE Pajapäivä 6.9.2016Koodikerho PEPE Pajapäivä 6.9.2016
Koodikerho PEPE Pajapäivä 6.9.2016
 
WordPress security 101 - WP Turku Meetup 2.2.2017
WordPress security 101 - WP Turku Meetup 2.2.2017WordPress security 101 - WP Turku Meetup 2.2.2017
WordPress security 101 - WP Turku Meetup 2.2.2017
 
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
 
Find WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profilingFind WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profiling
 
Testing and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressionsTesting and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressions
 
Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...
 
Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
 
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
 

Similar to Collaboration in open source - examples from MariaDB

MariaDB and open source collaboration
MariaDB and open source collaborationMariaDB and open source collaboration
MariaDB and open source collaboration
Otto Kekäläinen
 
MariaDB Foundation Membership
MariaDB Foundation MembershipMariaDB Foundation Membership
MariaDB Foundation Membership
KatriTuunanen
 
MariaDB foundation membership
MariaDB foundation membershipMariaDB foundation membership
MariaDB foundation membership
KatriTuunanen
 
MariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environmentsMariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environments
Otto Kekäläinen
 
Sponsoring the MariaDB Foundation
Sponsoring the MariaDB FoundationSponsoring the MariaDB Foundation
Sponsoring the MariaDB Foundation
Zak Greant
 
Mariadb.org sponsorship
Mariadb.org sponsorshipMariadb.org sponsorship
Mariadb.org sponsorship
Ian Gilfillan
 
Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite  Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite
Sylvain Leroy
 
Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite  Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite
Sylvain Leroy
 
MariaDB Foundation Sponsorship
MariaDB Foundation SponsorshipMariaDB Foundation Sponsorship
MariaDB Foundation Sponsorship
MariaDBorg
 
Vaadin Jump Start
Vaadin Jump StartVaadin Jump Start
Vaadin Jump Start
Haim Michael
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Phase2
 
Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindt...
Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindt...Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindt...
Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindt...
Mindtrek
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
WSO2
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
CollabNet
 
Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker
ManageIQ
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Perforce
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
Rodrigo Stefani Domingues
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
Christian Heilmann
 
Do WordPress developers write code?
Do WordPress developers write code?Do WordPress developers write code?
Do WordPress developers write code?
Stanko Metodiev
 

Similar to Collaboration in open source - examples from MariaDB (20)

MariaDB and open source collaboration
MariaDB and open source collaborationMariaDB and open source collaboration
MariaDB and open source collaboration
 
MariaDB Foundation Membership
MariaDB Foundation MembershipMariaDB Foundation Membership
MariaDB Foundation Membership
 
MariaDB foundation membership
MariaDB foundation membershipMariaDB foundation membership
MariaDB foundation membership
 
MariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environmentsMariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environments
 
Sponsoring the MariaDB Foundation
Sponsoring the MariaDB FoundationSponsoring the MariaDB Foundation
Sponsoring the MariaDB Foundation
 
Mariadb.org sponsorship
Mariadb.org sponsorshipMariadb.org sponsorship
Mariadb.org sponsorship
 
Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite  Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite
 
Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite  Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite
 
MariaDB Foundation Sponsorship
MariaDB Foundation SponsorshipMariaDB Foundation Sponsorship
MariaDB Foundation Sponsorship
 
Vaadin Jump Start
Vaadin Jump StartVaadin Jump Start
Vaadin Jump Start
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
 
Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindt...
Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindt...Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindt...
Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindt...
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Do WordPress developers write code?
Do WordPress developers write code?Do WordPress developers write code?
Do WordPress developers write code?
 

More from Otto Kekäläinen

FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuFOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
Otto Kekäläinen
 
Search in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize itSearch in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize it
Otto Kekäläinen
 
MariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and UbuntuMariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and Ubuntu
Otto Kekäläinen
 
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
Otto Kekäläinen
 
Technical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 editionTechnical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 edition
Otto Kekäläinen
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
Otto Kekäläinen
 
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
Otto Kekäläinen
 
DebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoFDebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoF
Otto Kekäläinen
 
The 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix themThe 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix them
Otto Kekäläinen
 
How to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressHow to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPress
Otto Kekäläinen
 
Technical SEO for WordPress
Technical SEO for WordPressTechnical SEO for WordPress
Technical SEO for WordPress
Otto Kekäläinen
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themes
Otto Kekäläinen
 
10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...
Otto Kekäläinen
 
Automatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress pluginsAutomatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress plugins
Otto Kekäläinen
 
Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)
Otto Kekäläinen
 
WordPress-tietoturvan perusteet
WordPress-tietoturvan perusteetWordPress-tietoturvan perusteet
WordPress-tietoturvan perusteet
Otto Kekäläinen
 
Technical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionTechnical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 edition
Otto Kekäläinen
 
Improving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingImproving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP Profiling
Otto Kekäläinen
 
DebConf16 BoF on MariaDB/MySQL packaging
DebConf16 BoF on MariaDB/MySQL packagingDebConf16 BoF on MariaDB/MySQL packaging
DebConf16 BoF on MariaDB/MySQL packaging
Otto Kekäläinen
 

More from Otto Kekäläinen (19)

FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuFOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
 
Search in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize itSearch in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize it
 
MariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and UbuntuMariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and Ubuntu
 
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
 
Technical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 editionTechnical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 edition
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
 
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
 
DebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoFDebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoF
 
The 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix themThe 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix them
 
How to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressHow to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPress
 
Technical SEO for WordPress
Technical SEO for WordPressTechnical SEO for WordPress
Technical SEO for WordPress
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themes
 
10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...
 
Automatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress pluginsAutomatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress plugins
 
Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)
 
WordPress-tietoturvan perusteet
WordPress-tietoturvan perusteetWordPress-tietoturvan perusteet
WordPress-tietoturvan perusteet
 
Technical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionTechnical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 edition
 
Improving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingImproving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP Profiling
 
DebConf16 BoF on MariaDB/MySQL packaging
DebConf16 BoF on MariaDB/MySQL packagingDebConf16 BoF on MariaDB/MySQL packaging
DebConf16 BoF on MariaDB/MySQL packaging
 

Recently uploaded

一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
ehbuaw
 
Get Government Grants and Assistance Program
Get Government Grants and Assistance ProgramGet Government Grants and Assistance Program
Get Government Grants and Assistance Program
Get Government Grants
 
The Role of a Process Server in real estate
The Role of a Process Server in real estateThe Role of a Process Server in real estate
The Role of a Process Server in real estate
oklahomajudicialproc1
 
PPT Item # 8 - Tuxedo Columbine 3way Stop
PPT Item # 8 - Tuxedo Columbine 3way StopPPT Item # 8 - Tuxedo Columbine 3way Stop
PPT Item # 8 - Tuxedo Columbine 3way Stop
ahcitycouncil
 
PPT Item # 5 - 5330 Broadway ARB Case # 930F
PPT Item # 5 - 5330 Broadway ARB Case # 930FPPT Item # 5 - 5330 Broadway ARB Case # 930F
PPT Item # 5 - 5330 Broadway ARB Case # 930F
ahcitycouncil
 
Opinions on EVs: Metro Atlanta Speaks 2023
Opinions on EVs: Metro Atlanta Speaks 2023Opinions on EVs: Metro Atlanta Speaks 2023
Opinions on EVs: Metro Atlanta Speaks 2023
ARCResearch
 
Uniform Guidance 3.0 - The New 2 CFR 200
Uniform Guidance 3.0 - The New 2 CFR 200Uniform Guidance 3.0 - The New 2 CFR 200
Uniform Guidance 3.0 - The New 2 CFR 200
GrantManagementInsti
 
一比一原版(ANU毕业证)澳大利亚国立大学毕业证成绩单
一比一原版(ANU毕业证)澳大利亚国立大学毕业证成绩单一比一原版(ANU毕业证)澳大利亚国立大学毕业证成绩单
一比一原版(ANU毕业证)澳大利亚国立大学毕业证成绩单
ehbuaw
 
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptxPD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
RIDPRO11
 
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
ehbuaw
 
2024: The FAR - Federal Acquisition Regulations, Part 36
2024: The FAR - Federal Acquisition Regulations, Part 362024: The FAR - Federal Acquisition Regulations, Part 36
2024: The FAR - Federal Acquisition Regulations, Part 36
JSchaus & Associates
 
MHM Roundtable Slide Deck WHA Side-event May 28 2024.pptx
MHM Roundtable Slide Deck WHA Side-event May 28 2024.pptxMHM Roundtable Slide Deck WHA Side-event May 28 2024.pptx
MHM Roundtable Slide Deck WHA Side-event May 28 2024.pptx
ILC- UK
 
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdfPNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
ClaudioTebaldi2
 
Many ways to support street children.pptx
Many ways to support street children.pptxMany ways to support street children.pptx
Many ways to support street children.pptx
SERUDS INDIA
 
PACT launching workshop presentation-Final.pdf
PACT launching workshop presentation-Final.pdfPACT launching workshop presentation-Final.pdf
PACT launching workshop presentation-Final.pdf
Mohammed325561
 
Effects of Extreme Temperatures From Climate Change on the Medicare Populatio...
Effects of Extreme Temperatures From Climate Change on the Medicare Populatio...Effects of Extreme Temperatures From Climate Change on the Medicare Populatio...
Effects of Extreme Temperatures From Climate Change on the Medicare Populatio...
Congressional Budget Office
 
ZGB - The Role of Generative AI in Government transformation.pdf
ZGB - The Role of Generative AI in Government transformation.pdfZGB - The Role of Generative AI in Government transformation.pdf
ZGB - The Role of Generative AI in Government transformation.pdf
Saeed Al Dhaheri
 
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
ehbuaw
 
Understanding the Challenges of Street Children
Understanding the Challenges of Street ChildrenUnderstanding the Challenges of Street Children
Understanding the Challenges of Street Children
SERUDS INDIA
 
2024: The FAR - Federal Acquisition Regulations, Part 37
2024: The FAR - Federal Acquisition Regulations, Part 372024: The FAR - Federal Acquisition Regulations, Part 37
2024: The FAR - Federal Acquisition Regulations, Part 37
JSchaus & Associates
 

Recently uploaded (20)

一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
 
Get Government Grants and Assistance Program
Get Government Grants and Assistance ProgramGet Government Grants and Assistance Program
Get Government Grants and Assistance Program
 
The Role of a Process Server in real estate
The Role of a Process Server in real estateThe Role of a Process Server in real estate
The Role of a Process Server in real estate
 
PPT Item # 8 - Tuxedo Columbine 3way Stop
PPT Item # 8 - Tuxedo Columbine 3way StopPPT Item # 8 - Tuxedo Columbine 3way Stop
PPT Item # 8 - Tuxedo Columbine 3way Stop
 
PPT Item # 5 - 5330 Broadway ARB Case # 930F
PPT Item # 5 - 5330 Broadway ARB Case # 930FPPT Item # 5 - 5330 Broadway ARB Case # 930F
PPT Item # 5 - 5330 Broadway ARB Case # 930F
 
Opinions on EVs: Metro Atlanta Speaks 2023
Opinions on EVs: Metro Atlanta Speaks 2023Opinions on EVs: Metro Atlanta Speaks 2023
Opinions on EVs: Metro Atlanta Speaks 2023
 
Uniform Guidance 3.0 - The New 2 CFR 200
Uniform Guidance 3.0 - The New 2 CFR 200Uniform Guidance 3.0 - The New 2 CFR 200
Uniform Guidance 3.0 - The New 2 CFR 200
 
一比一原版(ANU毕业证)澳大利亚国立大学毕业证成绩单
一比一原版(ANU毕业证)澳大利亚国立大学毕业证成绩单一比一原版(ANU毕业证)澳大利亚国立大学毕业证成绩单
一比一原版(ANU毕业证)澳大利亚国立大学毕业证成绩单
 
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptxPD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
 
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
 
2024: The FAR - Federal Acquisition Regulations, Part 36
2024: The FAR - Federal Acquisition Regulations, Part 362024: The FAR - Federal Acquisition Regulations, Part 36
2024: The FAR - Federal Acquisition Regulations, Part 36
 
MHM Roundtable Slide Deck WHA Side-event May 28 2024.pptx
MHM Roundtable Slide Deck WHA Side-event May 28 2024.pptxMHM Roundtable Slide Deck WHA Side-event May 28 2024.pptx
MHM Roundtable Slide Deck WHA Side-event May 28 2024.pptx
 
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdfPNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
 
Many ways to support street children.pptx
Many ways to support street children.pptxMany ways to support street children.pptx
Many ways to support street children.pptx
 
PACT launching workshop presentation-Final.pdf
PACT launching workshop presentation-Final.pdfPACT launching workshop presentation-Final.pdf
PACT launching workshop presentation-Final.pdf
 
Effects of Extreme Temperatures From Climate Change on the Medicare Populatio...
Effects of Extreme Temperatures From Climate Change on the Medicare Populatio...Effects of Extreme Temperatures From Climate Change on the Medicare Populatio...
Effects of Extreme Temperatures From Climate Change on the Medicare Populatio...
 
ZGB - The Role of Generative AI in Government transformation.pdf
ZGB - The Role of Generative AI in Government transformation.pdfZGB - The Role of Generative AI in Government transformation.pdf
ZGB - The Role of Generative AI in Government transformation.pdf
 
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
 
Understanding the Challenges of Street Children
Understanding the Challenges of Street ChildrenUnderstanding the Challenges of Street Children
Understanding the Challenges of Street Children
 
2024: The FAR - Federal Acquisition Regulations, Part 37
2024: The FAR - Federal Acquisition Regulations, Part 372024: The FAR - Federal Acquisition Regulations, Part 37
2024: The FAR - Federal Acquisition Regulations, Part 37
 

Collaboration in open source - examples from MariaDB

  • 1. © 2015 MariaDB Foundation1 * * Collaboration in open source Examples from MariaDB Otto Kekäläinen 22.4.2016 Tampere, Finland
  • 2. © 2015 MariaDB Foundation2 * * What competitive advantage do the human species possess that made us able to conqueror the planet?
  • 3. © 2015 MariaDB Foundation3 * * Symbols that can transfer complex information across any distance or time with great accuracy
  • 4. © 2015 MariaDB Foundation4 * * Symbols extend our memory beyond our brain. Code extends our thinking process beyond our brain.
  • 5. © 2015 MariaDB Foundation5 * * Towards the best solution in the world Open source software development is exciting
  • 6. © 2015 MariaDB Foundation6 * * Funded by MariaDB.com, Booking.com, Visma, Automattic (WordPress.com), Odin/Parallels, Verkkokauppa.com...
  • 7. © 2015 MariaDB Foundation7 * * Ensuring continuity and open collaboration
  • 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. © 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. © 2015 MariaDB Foundation10 Open collaboration The Foundation is open, inclusive and enables everybody to contribute and collaborate on equal basis.
  • 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. © 2015 MariaDB Foundation12 Open source vs. closed source is like democracy vs. totalitarism Even the best strategy does not guarantee successful execution
  • 13. © 2015 MariaDB Foundation13 Collaboration Give and get
  • 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. © 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. © 2015 MariaDB Foundation16 Reasons to contribute Scratch your own itch!
  • 17. © 2015 MariaDB Foundation17 Reasons to contribute
  • 18. © 2015 MariaDB Foundation18 Reasons to contribute
  • 19. © 2015 MariaDB Foundation19 Reasons to contribute
  • 20. © 2015 MariaDB Foundation20 Also for the fun of it!
  • 21. © 2015 MariaDB Foundation21 Cost vs benefit in contributions Keep it simple (but not too simple)
  • 22. © 2015 MariaDB Foundation22
  • 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. © 2015 MariaDB Foundation24 How does one manage a big project with millions of lines of code? You don't.
  • 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. © 2015 MariaDB Foundation26 * * Be inclusive
  • 27. © 2015 MariaDB Foundation27 * * Be inclusive
  • 28. © 2015 MariaDB Foundation28 * * Be inclusive
  • 29. © 2015 MariaDB Foundation29 Collaboration problems? Support requests and random ideas vs Real contributions and talent
  • 30. © 2015 MariaDB Foundation30 Collaboration problems? Automatic testing to help review contributions and focus human time on best contributions
  • 31. © 2015 MariaDB Foundation31 Collaboration opportunities? ”Given enough eyeballs all bugs are shallow” – Linus law
  • 32. © 2015 MariaDB Foundation32 * * How to contribute to the MariaDB project?
  • 33. © 2015 MariaDB Foundation33 Read the docs!
  • 34. © 2015 MariaDB Foundation34 Read the source!
  • 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. © 2015 MariaDB Foundation36 Legal requirements ● Signed MariaDB Contributor Agreement (MCA) sent to foundation@mariadb.org
  • 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. © 2015 MariaDB Foundation38 Big or small – everything counts
  • 39. © 2015 MariaDB Foundation39 Big or small – everything counts
  • 40. © 2015 MariaDB Foundation40 * * Your contributions are welcome!
  • 41. © 2015 MariaDB Foundation41 Thanks! mariadb.org @ottokekalainen otto@mariadb.org