-
Notifications
You must be signed in to change notification settings - Fork 22
/
Frederik.tex
131 lines (119 loc) · 8.68 KB
/
Frederik.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
\chapterwithauthor{Frederik Gladhorn}{KDE and Qt}
\authorbio{Frederik Gladhorn started his KDE journey with a small
fix to KVocTrain (which he renamed to Parley shortly after)
while in Spain in 2005. When he finds some KDE time nowadays,
he improves accessibility in Plasma and other KDE software since he values
diversity and inclusiveness. Since 2010 he lives in Oslo, Norway to work on
Qt for The Qt Company. Recently he worked on the continuous integration
infrastructure for Qt. Right now his focus is on improving input handling
in Qt Quick. That is when he is not marveling at contemporary art,
board gaming or outside, surfing, skiing, climbing or doing acrobatics.}
\noindent{}Qt is a framework that makes it easy to create applications,
especially graphical user interfaces. It is used as the basis for most of
the KDE applications and Plasma desktop. Qt provides a wealth of libraries
and makes programmers' lives easier. Over time new technologies in Qt were
first adapted by KDE and KDE pushed many parts of Qt forward. KDE and Qt
always had a strong connection and influenced each other over the years. In
this essay I'd like to look back at a bit of shared history.
In 1997 Trolltech started receiving weird bug reports from a certain Matthias
Ettrich in Germany. The first Trolltech employee, Arnt, started to get
exasperated and said something along the lines of: “These bugs would only matter
if you were writing your own window manager”. Trolltech at that time consisted
of four people, sitting in an otherwise empty building, listening to loud techno
and metal music. When they realized, what he was trying to do, there was a hint
of doubt, since many projects had recently started with similarly ambitious
goals, usually leading nowhere but a small website looking for people to
implement the project. Luckily KDE started with a more “show me the code”
approach and became a real product not so long after. And it would not take very
much longer, before all of Trolltech was running KDE as their desktop of choice.
Trolltech as a company had to keep a strong hold on Qt; it was their product and
business after all. But over time KDE influenced the history of Qt in many ways.
By the time KDE got started – this was approximately the stone age of free
software – Qt was available, under the Qt public license. The QPL was considered
not to be compatible with the GPL, but thanks to primarily KDE’s interest and
dependency on Qt, the license was eventually changed to GPL.
All of this enabled great projects and great cooperation. Did you know that KDE
and Trolltech hackers got together in 1998, after Netscape Navigator (yes,
that’s the browser your parents used which turned into Firefox) got open
sourced? They ported the browser to use Qt for the UI, with seven people in an
amazing sprint of five days, creating "QtScape" as a proof of concept.
On the people front, over time many a KDE developer started to work on Qt. Yours
truly is an example of that, but also Lars Knoll who now holds the CTO position
of The Qt Company, but also is the chief maintainer of the Qt Project. Wait,
what is a chief maintainer? And the Qt Project, what’s that? Let’s take a
step back; reciting a bit of history is due here.
In June 2008 Nokia acquired Trolltech, leading to a series of changes. All of
this time, things could have gone terribly wrong for KDE – after all there is no
certainty for anything when big businesses are involved after all. Or is there?
Long before the acquisition, a plan was devised to make sure, Qt would be
available to KDE, no matter what the future holds. The KDE Free Qt Foundation
was conceived as a "poison pill", should any company, current rights owner or
future, try to take the freedoms away from Qt. In case of no free and open
source release for twelve months, KDE would get the rights to the source code
under a permissive license. Long cooperation between individuals inside the
commercial Qt business and the KDE Community and the foundation lead to trust
and respect from both sides. Over time KDE (represented by the non profit
organization KDE e.V.) and the Qt rights holders have worked to refine
and improve the terms regulating the foundation together.
Nokia changed things, aiming for as wide distribution of Qt as possible, on
desktop and for their phones. The license was changed from GPL to the more
permissive LGPL. For the free software world, Qt became a better project in many
ways: a proper public bug tracker became finally available. For the first time a
system to allow external contributions was put in place: with the help of
Gitorious (now defunct) changes to improve Qt could be accepted. For me this is
the time of big adventure, moving from Germany to Norway to find out why it
wasn't very smooth getting changes accepted into Qt. From the outside it looked
deceivingly simple: push the desired change to Gitorious, wait for someone to
click the magic button and all was good. The process had some minor and a few
major flaws. At first each contribution was checked by a rather large legal
department. Assuming it got a green flag, eventually there was no button to
click, but a lot of work to do. Running a few scripts, reviewing the change,
testing it and then taking full responsibility for it was roughly the
process. The amount of work to get anything contributed was often not worth
the trouble, which is of course not a sustainable process. The fix for this
brings us to another historical development under the reign of Nokia – the
Open Governance project for Qt. One thing which was pretty clear was that
having two work flows, one for "internal" people and one for contributors on
the "outside" was not going to cut it. The open source Qt Project was born
to be steered by the community. Making changes to Qt is the same for
everyone, reviewing changes is also shared by the entire community. Lead by
Thiago Macieira, the development process of Qt was re-shaped and strongly
inspired by KDE’s. For example the very flat hierarchy of letting any
contributor access all repositories works well. The process is merit based,
and just like in KDE, where people with more experience often have greater
influence and respect get to weigh in on decisions, at the same time sound
technical arguments will be listened to, no matter who voices them. Qt
started to have a layered system, where it’s easy for anyone to contribute
changes. Those more involved in the project eventually become approvers,
having the right to accept other’s changes. Here Qt diverges a little from
KDE: each change has to be reviewed. I'm happy to see that in KDE reviews
have become the norm in many areas as well. For each area in both KDE and
Qt, there are designated maintainers. Many parts of Qt have their maintainer
inside The Qt Company, but also quite some are maintained by KDE
contributors, holding these important positions, influencing the direction
of Qt strongly. To get back to the earlier thread, you guessed, it, at the
top of the maintainers for Qt is Lars Knoll, another old time KDE
contributor and now maintainer responsible for all of Qt.
Another great story is the Android port of Qt, which was started by BogDan
Vatra. Nokia did not want to host the work for Android, but KDE stepped up and
hosted the port. Now that Qt is independent again, the port found its proper
home inside of Qt itself and KDE applications are being ported to Android.
Eventually in 2012 Digia acquired Qt and the focus shifted from Nokia phones to
all of Qt's users. This year, The Qt Company was spun out of Digia and we are
independent, shaping the future of Qt with all of you. While The Qt Company
takes a big role in making sure the testing and releasing infrastructure is in
place, a lot of development of Qt comes from other parties, a significant chunk
from many KDE contributors, for that, we'd like to say thank you KDE! There are
also events such as Akademy which has been co-located with the Qt Contributors'
summit for two times by now. I cannot wait to attend this year's QtCon, bringing
together even more and greater communities, among them KDE and Qt contributors.
For me personally, KDE and Qt mean a big group of friends, people I see at work,
but also when traveling. People I look forward to meeting all around the
globe. KDE has lead me to travel to Nigeria and India, certainly the most
memorable and impressive trips in my life. I really wouldn't want to miss
that, ever. Special thanks to to all the friendly people that hosted me,
taught me, shared flats and went on crazy trips with me. I hope I'll
continue to have the chance to learn from you all.
Twenty years have passed, but some things never change: we still get weird bug
reports from KDE. And all we can say is: “Keep them coming!” Congratulations to
being twenty years young, KDE!