Forking and Branching

MySQL社区提供了各种分支的一个很好的例子,其中Mariadb是最著名的分支,像Percona、Facebook和阿里巴巴这样的公司维护自己的分支。
在本演示中,我们将使用MySQL生态系统中的特定示例,查看MySQL的历史、导致MySQL分叉和分支的原因,并讨论这两种方法的优点和缺点。

展开查看详情

1. Forking and Branching Lessons from MySQL Community Peter Zaitsev, CEO, Percona August 28, 2018 Percona Technical Webinars © 2018 Percona. 1

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. 2

3.How Open Source Software is Different Proprietary Software Open Source Software •One or few tightly •Many Variants Possible controlled software •Anyone can change a builds exist code and do your own change © 2018 Percona. 3

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. 4

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. 5

6.“Upstream” The Software, from which changed software version originates © 2018 Percona. 6

7.Types of Changes (Variants) Fork Branch Patch • Software takes on • Merges Changes • Minor changes its own path from Upstream often applied for • Does not merge • May be merging security or changes from changes to compatibility Upstream Upstream • May be performed as special part of build process © 2018 Percona. 7

8.First Third party MySQL Variant © 2018 Percona. 8

9.Early Days Single MySQL Tree with unified community Small patches applied by Linux Distributions for their Builds © 2018 Percona. 9

10.2005 - Oracle Acquires Innobase © 2018 Percona. 10

11.2008 – Sun Acquires MySQL AB © 2018 Percona. 11

12.2008 Percona XtraDB - Variant of Innodb Storage Engine with better performance © 2018 Percona. 12

13.2008 • MySQL fork my Brian Acker • Focus on Clean Design • Pluggable Architecture • For Web and Cloud • Not focused on Compatibility © 2018 Percona. 13

14.2009 • MySQL Fork started by Michael “Monthy” Widenius, one of • Started as MySQL with Minor Improvements • Very Different Database Now © 2018 Percona. 14

15.2009-2010 Oracle Acquires Sun © 2018 Percona. 15

16.2010 • MySQL Variant by Percona • MySQL Re-Base on every release • Full MySQL Compatibility • Performance, Observability, Enterprise Features © 2018 Percona. 16

17.More MySQL Builds and Patches Proven Scaling (Jeremy Cole) patches Google Patches for MySQL OurDelta (Arjen Lentz) © 2018 Percona. 17

18.MySQL forks for Analytics © 2018 Percona. 18

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. 19

20.Reasons You can move a lot faster if yourself is the only one you need to think about © 2018 Percona. 20

21.Attempt to Unify MySQL Patches Facebook, Google, LinkedIn, Twitter, Alibaba Group © 2018 Percona. 21

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. 22

23.Upstream Contribution MySQL MariaDB • Oracle CLA Required • MariaDB Contributor • Reported 2,565 Agreement signatures • BSD-new License code • Considered “toxic” by is another option Some Companies © 2018 Percona. 23

24.Cloud Variants © 2018 Percona. 24

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. 25

26.Open Source Variants in 2018 © 2018 Percona. 26

27. MySQL MariaDB Percona Server • Most widely used • “Community Focus” • Focus on Complete • Enterprise Edition with • Some advanced SQL MySQL Compatibility Advanced Features Features • Small and highly • Less and Less MySQL valuable improvements Compatibility with Every • Performance and Release Observability • Additional Storage • Equivalents to MySQL Engines Available Enterprise Features • TokuDB and MyRocks storage engines © 2018 Percona. 27

28.MariaDB - Separate Database https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3 © 2018 Percona. 28

29.Percona Live Europe Connect. Accelerate. Innovate. Buy Now and Save up to €75 With the Early Bird Rate, But Hurry PRICES GO UP SEPTEMBER 9TH Frankfurt 5-7 November 2018 Buy Your Tickets >