Weitere ähnliche Inhalte
Ähnlich wie Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindtrek 2016 (20)
Kürzlich hochgeladen (20)
Otto Kekäläinen - Forking in Open Source: Case Study of MySQL/MariaDB - Mindtrek 2016
- 1. © 2016 MariaDB Foundation1 * *
Forking in Open Source:
Case Study of MySQL/MariaDB
Otto Kekäläinen
October 17th 2016
Mindtrek
Tampere, Finland
- 2. © 2016 MariaDB Foundation2 * *
The MariaDB Foundation
Ensuring continuity and open collaboration
in the MariaDB ecosystem
Funded by Booking.com, MariaDB.com,
Visma, DBS and many others.
- 3. © 2016 MariaDB Foundation3 * *
Definition of open source
1.Freedom to use
2.Freedom to study
3.Freedom to improve
4.Freedom to redistribute
Freedoms, not obligations nor warranties
- 4. © 2016 MariaDB Foundation4 * *
Definition of open source
Open source
=
Free (as in freedom) software
- 5. © 2016 MariaDB Foundation5 * *
Definition of open source
Open source ≠ closed source
Commercial ≠ non-commercial
- 7. © 2016 MariaDB Foundation7 * *
Definition of open source
Longer definition at
https://opensource.org/osd
List of licenses at
https://opensource.org/licenses
- 9. © 2016 MariaDB Foundation9 * *
Forking
FreeBSD
MacOS X (Darwin)
NetBSD
OpenBSD
- 11. © 2016 MariaDB Foundation11 * *
Permissive license = forks can become closed source
Copyleft license = forks must stay open
Credits:
David A.
Wheeler
(2007)
- 12. © 2016 MariaDB Foundation12 * *
Forks do happen
●
EGCC → GCC
●
OpenOffice → LibreOffice
●
Hudson → Jenkins
●
NCSA HTTPd → Apache HTTP Server
●
ownCloud → Nextcloud
●
Debian → Ubuntu, RHEL → CentOS ?
- 13. © 2016 MariaDB Foundation13 * *
Open source
governance
=
Behave, or get forked!
- 14. © 2016 MariaDB Foundation14
Benefits of widely used
open source software
● Quality: The bigger the community is, the faster the
software evolves.
● No lock-in: Software stays open source, ecosystem
has multiple vendors.
● No dead-end: Big user base guarantees availability of
software and people.
- 15. © 2016 MariaDB Foundation15
”Given enough eyeballs all
bugs are shallow” – Linus's law
- 16. © 2016 MariaDB Foundation16 * *
Two types of forks
●
Competitive fork
– Users become alienated, turn to the rescuer
●
Non-competitive fork
– Needs diverge, users split into two groups
- 18. © 2016 MariaDB Foundation18 * *
Definition of fork
●
Linus Nyman, 2015:
Any instance in which
the code of a program
is copied, modified,
and reused to start or
develop another
program.
- 19. © 2016 MariaDB Foundation19 * *
Definition of fork
●
Melwin Conway 1963: fork()
- 20. © 2016 MariaDB Foundation20 * *
Definition of fork
●
Melwin Conway 1963: fork()
●
Linus Torvalds, 2005: git clone
- 21. © 2016 MariaDB Foundation21 * *
Definition of fork
●
Melwin Conway 1963: fork()
●
Linus Torvalds, 2005: git clone
●
Tom Preston-Werner, 2008:
- 22. © 2016 MariaDB Foundation22 * *
Definition of fork
●
Does forking require that the fork is
incompatible with the original program?
●
How much incompatible, 1% or 99%?
●
What if the fork is temporary and later merges
with the main branch again?
- 24. © 2016 MariaDB Foundation24 * *
MySQL history
●
Development started in 1994, release 1995
●
MySQL AB founded by David Axmark, Allan
Larsson and Michael "Monty" Widenius 1995
●
Named after Monty's daughter My
●
General Public License v2 (GPL) since 2000
●
Mårten Mickos elected CEO 2001
●
The M in LAMP
- 25. © 2016 MariaDB Foundation25 * *
MySQL hugely popular since year ~2000
- 26. © 2016 MariaDB Foundation26 * *
MySQL AB history
●
Acquired by Sun Microsystems for
approximately $1 billion in 2008
●
Sun Microsystems acquired by Oracle for $6
billion (net Sun's cash and debt) in 2009
●
MySQL was the disruption on a market
dominated by Oracle's database
- 27. © 2016 MariaDB Foundation27 * *
”Save MySQL”
●
Public pledge by Monty
●
European Commission investigation on the
implications of Oracle's control of MySQL
- 28. © 2016 MariaDB Foundation28 * *
”Save MySQL”
●
EU Competition Commissioner Neelie Kroes
announced approval of the deal in 2010
- 29. © 2016 MariaDB Foundation29 * *
MariaDB history
●
Anticipating the ill fate of MySQL it was forked
●
Goal to keep the open source project going
●
Named after Monty's youngest daughter
●
MariaDB 5.1 released in October 2009
●
And indeed, Oracle did close down many
aspects of the open source project MySQL
- 30. © 2016 MariaDB Foundation30 * *
The power of the fork?
●
...but Oracle didn't kill MySQL
– MySQL 5.5 in 2010
– MySQL 5.6 in 2013
– MySQL 5.7 in 2015
– MySQL 8.0 in 2016?
- 31. © 2016 MariaDB Foundation31 * *
Open source principles at MariaDB
●
Publish code in real time, not just at release time.
●
Discuss and plan on public mailing list and IRC.
●
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.
●
Regular, free-to-attend developer meetups.
●
True open source, not just code dumps
- 32. © 2016 MariaDB Foundation32 * *
Other MySQL forks
●
Drizzle (MySQL 6.0 branch)
●
WebScaleSQL by Facebook, Google etc
●
MySQL Galera Cluster
●
Percona Server, XtraDB and Cluster
●
AliSQL by Alibaba
●
TMySQL by Tencent
- 33. © 2016 MariaDB Foundation33 * *
MariaDB success
●
Steady cadence in releases: 5.5, 10.0, 10.1..
●
Ported to ARM, AIX, System Z, Power 8 etc
●
10.2 to be released in late 2016
- 34. © 2016 MariaDB Foundation34 * *
MariaDB success
Steadily increasing LOC
(10.1 branch / Ohloh.net)
DB-Engines.com
ranking of MariaDB
0
10
20
30
40
- 35. © 2016 MariaDB Foundation35 * *
MariaDB success
●
Large community and adoption
– Wikipedia
– WordPress.com
– Debian: from an option to the default
- 39. © 2016 MariaDB Foundation39 * *
Towards the best solution in the world
Using the open source software development model
- 40. © 2016 MariaDB Foundation40
Thanks!
mariadb.org
@ottokekalainen
otto@mariadb.org