Post on 22-May-2020
© 2018 Percona. 1
Peter Zaitsev, CEO, Percona
Forking and BranchingLessons from MySQL Community
August 28, 2018
Percona Technical Webinars
© 2018 Percona. 2
I am not a Lawyer
This is my general understanding, do not expect 100% correctness of every legal detail. Also laws are different worldwide
© 2018 Percona. 3
How Open Source Software is Different
Proprietary Software
•One or few tightly controlled software builds exist
Open Source Software
•Many Variants Possible•Anyone can change a
code and do your own change
© 2018 Percona. 4
Source Available Licenses
Not every license where you see the source is Open Source License
Microsoft Shared Source License in 2001
Business Source License (BSL)
Apache 2.0 License with Commons Clause
© 2018 Percona. 5
License and Trademark
Open Source Gives you right to modify and re-distribute software
Does not give you the right to do it under the original name
© 2018 Percona. 6
“Upstream”
The Software, from which changed software version originates
© 2018 Percona. 7
Types of Changes (Variants)
Fork
• Software takes on its own path
• Does not merge changes from Upstream
Branch
• Merges Changes from Upstream
• May be merging changes to Upstream
Patch
• Minor changes often applied for security or compatibility
• May be performed as special part of build process
© 2018 Percona. 8
First Third party MySQL Variant
© 2018 Percona. 9
Early Days
Single MySQL Tree with unified community
Small patches applied by Linux Distributions for their Builds
© 2018 Percona. 10
2005 - Oracle Acquires Innobase
© 2018 Percona. 11
2008 – Sun Acquires MySQL AB
© 2018 Percona. 12
2008
Percona XtraDB - Variant of Innodb Storage Engine with better performance
© 2018 Percona. 13
• MySQL fork my Brian Acker• Focus on Clean Design • Pluggable Architecture • For Web and Cloud• Not focused on
Compatibility
2008
© 2018 Percona. 14
• MySQL Fork started by Michael “Monthy” Widenius, one of
• Started as MySQL with Minor Improvements
• Very Different Database Now
2009
© 2018 Percona. 15
2009-2010 Oracle Acquires Sun
© 2018 Percona. 16
• MySQL Variant by Percona• MySQL Re-Base on every
release• Full MySQL Compatibility• Performance, Observability,
Enterprise Features
2010
© 2018 Percona. 17
More MySQL Builds and Patches
Proven Scaling (Jeremy Cole) patches
Google Patches for MySQL
OurDelta (Arjen Lentz)
© 2018 Percona. 18
MySQL forks for Analytics
© 2018 Percona. 19
Private MySQL Variants for their own use
Google Patches for MySQL
Facebook’s MySQL
Twitter MySQL
Yahoo MySQL
LinkedIn MySQL
Ebay MySQL
“AliSQL” – MySQL by Alibaba
Tencent (PhxSQL)
© 2018 Percona. 20
Reasons
You can move a lot faster if yourself is the only one you need to think about
© 2018 Percona. 21
Attempt to Unify MySQL PatchesFacebook, Google, LinkedIn, Twitter, Alibaba Group
© 2018 Percona. 22
Maintenance
Its “easy” to create your minor features
It is very expensive to keep them up to date with upstream
Can we contribute them to upstream ?
© 2018 Percona. 23
Upstream Contribution
MySQL
•Oracle CLA Required•Reported 2,565
signatures•Considered “toxic” by
Some Companies
MariaDB
•MariaDB Contributor Agreement
•BSD-new License code is another option
© 2018 Percona. 24
Cloud Variants
© 2018 Percona. 25
Amazon Aurora MySQL
Serious Changes compared to baseline MySQL
MySQL 5.7 Compatibility Released Feb 6, 2018
More than 2 Years after MySQL 5.7 was released as GA
Porting Changes is Hard!
© 2018 Percona. 26
Open Source Variants in 2018
© 2018 Percona. 27
MySQL
• Most widely used• Enterprise Edition with
Advanced Features
MariaDB
• “Community Focus”• Some advanced SQL
Features • Less and Less MySQL
Compatibility with Every Release
• Additional Storage Engines Available
Percona Server
• Focus on Complete MySQL Compatibility
• Small and highly valuable improvements
• Performance and Observability
• Equivalents to MySQL Enterprise Features
• TokuDB and MyRocks storage engines
© 2018 Percona. 28
MariaDB - Separate Database
https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3
Buy Now and Save up to €75 With the Early Bird Rate, But Hurry
Connect. Accelerate. Innovate.Percona Live Europe
Frankfurt 5-7 November 2018
PRICES GO UP SEPTEMBER 9TH
Buy Your Tickets >
© 2018 Percona. 30
Thank You!