Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and...

Post on 09-Oct-2020

8 views 0 download

Transcript of Forking and Branching - Percona...© 2018 Percona. 1 Peter Zaitsev, CEO, Percona Forking and...

© 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!