qt project – 2 years later · 21 qt 5.2 main features: ‒ new v4 engine in qml 2 ‒ even faster...

Post on 09-Jun-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Qt Project –2 years later

Thiago Macieira, Qt Core MaintainerEdinburgh, Oct 2013

2

Who am I?

● Software Architect at Intel’s Open Source Technology Center (OTC) since 2011

‒ Living in Portland, Oregon

● Maintainer of two modules in the Qt Project

‒ QtCore and QtDBus

● MBA and double degree in Engineering

● Previously, led the “Qt Open Governance” project

‒ Ended with the creation of the Qt Project

The Qt Project celebrated 2 years on October 22

http://qt-project.org

4

A little bit of history

1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 2013Tro

lltech

founded

Qt 1.0

Qt 2.0

Qt 3.0

Qt 4.0

Qt 5.0Qt 2

.2.0 – GPLv2

Qt 4.3.4 – G

PLv3

Qt 4.5.0 – LGPLv2

Daily tarballsCopyright assignment

Git repositoryLicensing

Access to development version:Contributions:

Thiago starts

worki

ng on Qt

5

Motivations

● Desire to really be an open project

‒ MeeGo

● Fix problems with the 2009 Contribution Model

● Fix problems with the development workflow

6

Fixing the earlier problems

● Continuous Integration was slow and cumbersome

● Bad commits stayed on forever

● Review system was ad-hoc

‒ Using pastebins

● Some rights were reserved to Nokia engineers

● Legal IP scanning was in the way

7

Desire / goals

● One workflow for everyone, regardless of employer

‒ Merit-based open project

● Fast, reliable CI that stopped bad commits

● Co-exist with the commercial businesses

8

The Qt Project is born

● Independent foundation owns the servers

● CI-controlled branches in Git

● Review system using Gerrit

● Meritocratic approval of contributions

● Decisions on mailing lists

9

Principles

Fair Transparent

Inclusive Meritocratic

10

Qt Project CIQt ProjectApproverWho: Contributors

How it works

Code

Review

Improve

Approve Test

Done

11

Branching model

12

The good: what we’ve achieved

● First major Qt release in 7 years*

● Two feature releases – Qt 4.8 (Dec/2011) and Qt 5.1 (June/2013)

● 5 feature releases of Qt Creator (2.4 through 2.8)

● A lot of patch releases, alphas, betas, release candidates and other “Qt Labs” projects

*: Qt 5.0 beat E17 and the end of the world by two days!

13

The good: the community

● Live, vibrant community

● Active IRC channels and mailing lists

● Three Qt Contributor Summit events

Last in July 2013, with 200 participants

● Qt Developer Days for Qt users sold out in the past 2 years

14

Some other numbers

48900 commits approved ● 68900 commits submitted

Average: 656.2 / week

● By 592 different email addresses

● Some 120 different companies

Qt 570%

Qt 45%

Qt Creator22%

Other3%

Average: 465.7 commits / week

15

Qt Project* top employers – 2011-10-24 to 2013-10-20

*: Qt 5 and Qt Creator only

16

Qt Project* top authors – 2011-10-24 to 2013-10-20

*: Qt 5 and Qt Creator only

ChristmasChristmasEaster

Easter

Qt 5.0 feature freeze

Nokia strategychange Summer

17

The bad: what we had to survive

● Loss of the main project sponsor in May 2012

● Loss of 25% of the contributors in Aug 2012

● Loss of marketing team

● Delay of Qt 5.0 until the end of 2012

‒ Some modules abandoned

● WebKit / Blink split

18

The ugly: oops...

● We added a new JavaScript engine in Qt 5.0

● We had three different engines for 5.0

● We added a very efficient scene graph for 5.0

● We replaced that JavaScript engine in Qt 5.2

● We now have four JavaScript engines

● We replaced the scene graph with a better one in 5.2

19

Addons

● New area for modules with specific uses

‒ Experimental technology

‒ Restricted use-cases

● Hosted by the Qt Project

‒ Great way to attract new contributors!

20

Reasons for success of the project

● Everyone treated fairly, based on merit only

● Decisions based on technical quality of the code

‒ Hierarchy only for breaking stalemates

● Yearly contributor summits for face-to-face discussions

‒ Breaks the ice!

21

Qt 5.2

● Main features:

‒ New V4 engine in QML 2‒ Even faster scene graph in Qt Quick 2‒ Full support* for Android and iOS

And working very well on Android without Dalvik too‒ Qt Quick Controls‒ New modules: Bluetooth, NFC, Positioning, platform-specific extras‒ And a lot more (command line parser FTW!)

*: excluding QtWebKitl

Beta released today!

Thiago Macieirathiago.macieira@intel.com

http://qt-project.org

top related