forking and branching - percona...© 2018 percona. 1 peter zaitsev, ceo, percona forking and...
TRANSCRIPT
![Page 1: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/1.jpg)
© 2018 Percona. 1
Peter Zaitsev, CEO, Percona
Forking and BranchingLessons from MySQL Community
August 28, 2018
Percona Technical Webinars
![Page 2: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/2.jpg)
© 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
![Page 3: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/3.jpg)
© 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
![Page 4: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/4.jpg)
© 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
![Page 5: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/5.jpg)
© 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
![Page 6: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/6.jpg)
© 2018 Percona. 6
“Upstream”
The Software, from which changed software version originates
![Page 7: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/7.jpg)
© 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
![Page 8: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/8.jpg)
© 2018 Percona. 8
First Third party MySQL Variant
![Page 9: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/9.jpg)
© 2018 Percona. 9
Early Days
Single MySQL Tree with unified community
Small patches applied by Linux Distributions for their Builds
![Page 10: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/10.jpg)
© 2018 Percona. 10
2005 - Oracle Acquires Innobase
![Page 11: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/11.jpg)
© 2018 Percona. 11
2008 – Sun Acquires MySQL AB
![Page 12: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/12.jpg)
© 2018 Percona. 12
2008
Percona XtraDB - Variant of Innodb Storage Engine with better performance
![Page 13: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/13.jpg)
© 2018 Percona. 13
• MySQL fork my Brian Acker• Focus on Clean Design • Pluggable Architecture • For Web and Cloud• Not focused on
Compatibility
2008
![Page 14: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/14.jpg)
© 2018 Percona. 14
• MySQL Fork started by Michael “Monthy” Widenius, one of
• Started as MySQL with Minor Improvements
• Very Different Database Now
2009
![Page 15: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/15.jpg)
© 2018 Percona. 15
2009-2010 Oracle Acquires Sun
![Page 16: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/16.jpg)
© 2018 Percona. 16
• MySQL Variant by Percona• MySQL Re-Base on every
release• Full MySQL Compatibility• Performance, Observability,
Enterprise Features
2010
![Page 17: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/17.jpg)
© 2018 Percona. 17
More MySQL Builds and Patches
Proven Scaling (Jeremy Cole) patches
Google Patches for MySQL
OurDelta (Arjen Lentz)
![Page 18: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/18.jpg)
© 2018 Percona. 18
MySQL forks for Analytics
![Page 19: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/19.jpg)
© 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)
![Page 20: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/20.jpg)
© 2018 Percona. 20
Reasons
You can move a lot faster if yourself is the only one you need to think about
![Page 21: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/21.jpg)
© 2018 Percona. 21
Attempt to Unify MySQL PatchesFacebook, Google, LinkedIn, Twitter, Alibaba Group
![Page 22: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/22.jpg)
© 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 ?
![Page 23: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/23.jpg)
© 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
![Page 24: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/24.jpg)
© 2018 Percona. 24
Cloud Variants
![Page 25: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/25.jpg)
© 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!
![Page 26: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/26.jpg)
© 2018 Percona. 26
Open Source Variants in 2018
![Page 27: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/27.jpg)
© 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
![Page 28: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/28.jpg)
© 2018 Percona. 28
MariaDB - Separate Database
https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3
![Page 29: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/29.jpg)
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 >
![Page 30: Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and Branching Lessons from MySQL Community August 28, 2018 Percona Technical Webinars](https://reader034.vdocument.in/reader034/viewer/2022051608/603d5a04994cab35684b4e7a/html5/thumbnails/30.jpg)
© 2018 Percona. 30
Thank You!