1
00:00:00,017 --> 00:00:06,677
Which is the report from the working groups, of which there are several in multitude. So, Aleix.

2
00:00:07,797 --> 00:00:08,277
Yep.

3
00:00:10,417 --> 00:00:16,017
So kind of by omission, I ended up doing this slide deck talking about the advisory board.

4
00:00:16,177 --> 00:00:21,897
We called it a working group because it fit nicely on our organization,

5
00:00:22,237 --> 00:00:27,517
but it's not like, yeah, there's a whole group working on it.

6
00:00:27,617 --> 00:00:32,117
It's been mostly Anika. So if Anika is here, Thank you very much for helping us there.

7
00:00:33,257 --> 00:00:39,957
So let's see what we've been doing. So the advisory board, what we do is we

8
00:00:39,957 --> 00:00:45,557
have a number of organizations that are part of it. Some of them are patrons.

9
00:00:45,717 --> 00:00:49,117
It's one of the perks you get as a patron to be part of this advisory board.

10
00:00:49,397 --> 00:00:51,957
And we have some other sister organizations.

11
00:00:52,577 --> 00:00:57,057
We went through them before. And the idea is to keep them up to date with the

12
00:00:57,057 --> 00:00:58,257
different things that we can do.

13
00:00:59,137 --> 00:01:03,317
With the idea of, let's see if we can collaborate at any level.

14
00:01:03,717 --> 00:01:09,357
So we've been having meetings every four to six months.

15
00:01:09,537 --> 00:01:14,057
We had one in October, for example. We were talking about the events,

16
00:01:14,277 --> 00:01:16,517
the things that were happening in KDE.

17
00:01:16,777 --> 00:01:20,677
Another one in April. April was after the sixth release, right?

18
00:01:20,897 --> 00:01:23,517
So we were talking about how it all happened.

19
00:01:24,277 --> 00:01:27,977
Some of the people on the advisory board are from the distro,

20
00:01:27,977 --> 00:01:34,897
So they were talking about how they were adopting it and so on and so forth, et cetera.

21
00:01:35,017 --> 00:01:38,437
We also had updates from Kiriaco. Something we do, for example,

22
00:01:38,437 --> 00:01:41,557
is when there's something interesting happening in our project,

23
00:01:41,717 --> 00:01:43,917
then we'll invite somebody.

24
00:01:44,157 --> 00:01:50,977
We had Joseph this year. We had Kai at some point also and talked about what they were working on.

25
00:01:51,057 --> 00:01:55,557
So the different partners are also aware of these things happening.

26
00:01:55,557 --> 00:01:58,337
Like, this is very important, right, because otherwise, like,

27
00:01:58,417 --> 00:02:01,717
it's very hard for all of these organizations to follow what we do,

28
00:02:01,777 --> 00:02:08,037
but it's a good way to, like, put that forward, and if they have something to latch on, then we can do.

29
00:02:08,197 --> 00:02:12,757
We had another one in July, we talked about Krita, we talked about the different conferences.

30
00:02:13,117 --> 00:02:17,037
Kai Uwe, for example, he joined and talked about the amazing things we were

31
00:02:17,037 --> 00:02:20,537
doing in Plasma 6. At this point, it was already all released and ready, right?

32
00:02:21,277 --> 00:02:25,517
And we're going to have another one in a few weeks.

33
00:02:28,018 --> 00:02:31,498
And yeah, thank you very much, Anika, for putting that together.

34
00:02:32,958 --> 00:02:37,758
How can you help? One thing that we do as advisory board besides these meetings

35
00:02:37,758 --> 00:02:40,038
is we assign each of these partners

36
00:02:40,038 --> 00:02:44,418
with a person from the KDE who is knowledgeable about everything we do.

37
00:02:44,518 --> 00:02:49,058
The idea is that these organizations don't need to reach out to the board or

38
00:02:49,058 --> 00:02:53,838
something like that whenever they have some kind of question or doubt or idea.

39
00:02:53,838 --> 00:03:00,238
So if you are their partner, you can say, have regular conversations with them

40
00:03:00,238 --> 00:03:01,918
if you're familiar with what they do, et cetera.

41
00:03:03,458 --> 00:03:06,378
And if you know an organization that should be part of the board,

42
00:03:06,578 --> 00:03:10,378
then convince them, tell us, and we can see to it.

43
00:03:12,018 --> 00:03:15,918
For next year, the idea is to continue doing more or less the same things,

44
00:03:15,938 --> 00:03:21,198
to continue meeting, make sure that things that we discuss matter to them.

45
00:03:21,198 --> 00:03:24,058
Like it's especially interesting and important in this

46
00:03:24,058 --> 00:03:26,998
kind of meetings to make sure that they care about what we're talking

47
00:03:26,998 --> 00:03:29,878
about so that they like

48
00:03:29,878 --> 00:03:32,778
keep continuing during the meetings because obviously it's a

49
00:03:32,778 --> 00:03:37,478
good opportunity for all of us so yeah and yeah

50
00:03:37,478 --> 00:03:40,618
you can reach out to us you can reach out to the board about different

51
00:03:40,618 --> 00:03:44,218
topics the advisory board contacts KD.org mailing

52
00:03:44,218 --> 00:03:47,578
list this one is for the KD side of things so if

53
00:03:47,578 --> 00:03:51,058
you have an idea and you want to discuss it with the advisory board but obviously

54
00:03:51,058 --> 00:03:57,718
only our people you can do it over there um do so don't hesitate now the community

55
00:03:57,718 --> 00:04:08,918
working group who is going to do that presentation are you from the community working group.

56
00:04:14,785 --> 00:04:17,625
Yes, like I say, I'm the community working group today anyway.

57
00:04:21,405 --> 00:04:25,465
So the community working group takes care of KDE's community members,

58
00:04:26,165 --> 00:04:30,785
enables the KDE community to work effectively and efficiently by helping community

59
00:04:30,785 --> 00:04:34,185
members maintain healthy interactions and resolving conflicts.

60
00:04:35,665 --> 00:04:38,665
We have two new active members this year.

61
00:04:39,545 --> 00:04:46,105
Kai Potter, who is from Australia. He's not here probably because he's very far away. Me.

62
00:04:47,785 --> 00:04:52,645
We have two existing members, Andy Betts. I haven't seen him here yet,

63
00:04:52,665 --> 00:04:53,845
but I think he's going to be here.

64
00:04:54,245 --> 00:04:57,185
And Neofitos. He's right there.

65
00:04:59,565 --> 00:05:03,625
David Edmondson stepped down. He was here last year.

66
00:05:07,245 --> 00:05:12,865
Year. Some of our work in the past year was we created internal guidelines for

67
00:05:12,865 --> 00:05:14,165
reaching out to people on Matrix.

68
00:05:15,865 --> 00:05:23,145
We received a total of 41 requests since AGM 2023, which is 10 times more than the previous year.

69
00:05:24,605 --> 00:05:30,845
37 of those were complaints. Five community members had had more than one complaint.

70
00:05:31,505 --> 00:05:36,005
One was a bogus complaint from someone outside of our community against a community

71
00:05:36,005 --> 00:05:39,145
member, and we unbanned one community member.

72
00:05:41,885 --> 00:05:46,405
We are one person shy of a full community working group.

73
00:05:46,665 --> 00:05:51,785
Having another member would enable us to respond and work on our goals more quickly.

74
00:05:52,885 --> 00:05:55,665
It's the kind of work that a lot of of people don't really want

75
00:05:55,665 --> 00:06:02,045
to do but kind of needs to get done um some

76
00:06:02,045 --> 00:06:06,305
of our goals and plans for the coming year are to standardize the onboarding

77
00:06:06,305 --> 00:06:12,225
process for new cwg members it was a bit chaotic being having like two new members

78
00:06:12,225 --> 00:06:16,085
with like not a lot of you know senior people,

79
00:06:18,485 --> 00:06:25,305
um define requirements for uh joining the cwg mainly just like you know make

80
00:06:25,305 --> 00:06:30,785
sure you don't have someone insane on the board or something or on the on the working group,

81
00:06:33,345 --> 00:06:39,305
uh define guidelines for moving community members if they do something like really bad or something.

82
00:06:42,225 --> 00:06:47,145
Define a policy for giving updates for requests, so when people send a request

83
00:06:47,145 --> 00:06:51,025
we have to say oh, this is the situation.

84
00:06:53,825 --> 00:06:57,925
Promote the CWG within KDE so people know about it.

85
00:06:59,405 --> 00:07:03,785
Chain the mailing list to avoid confusion with community at KDE.org.

86
00:07:03,785 --> 00:07:08,345
We had someone make that mistake and make a public complaint.

87
00:07:10,545 --> 00:07:11,465
All right.

88
00:07:14,065 --> 00:07:15,765
And if you want to talk to us, you

89
00:07:15,765 --> 00:07:20,865
can send us an email address at that suspiciously similar email address.

90
00:07:22,185 --> 00:07:23,945
Or talk to us during Academy.

91
00:07:26,445 --> 00:07:28,485
And that's not my report there.

92
00:07:30,865 --> 00:07:34,885
All right, let's see. Okay, the financial working group.

93
00:07:34,985 --> 00:07:39,865
So the financial working group exists to assist KDEV in its financial matters.

94
00:07:39,865 --> 00:07:45,105
It acts as a sounding board for the board and the treasurer in particular.

95
00:07:46,285 --> 00:07:50,645
We review important documents. Sometimes we write them, including this report

96
00:07:50,645 --> 00:07:56,045
or, for example, the financial information that is published in KDEV's annual report.

97
00:07:57,065 --> 00:08:02,125
We also do some software development. We develop the web-based dashboard application

98
00:08:02,125 --> 00:08:06,245
that KDEV uses to track its finances.

99
00:08:06,245 --> 00:08:12,585
The current members of the Financial Working Group are myself as the treasurer

100
00:08:12,585 --> 00:08:15,865
of KDEV, who is always included in the Financial Working Group,

101
00:08:16,005 --> 00:08:20,025
as well as Marta, who was the previous treasurer of KDEV.

102
00:08:20,145 --> 00:08:24,565
And it's really great that she's still around and we have a lot of continuity

103
00:08:24,565 --> 00:08:30,325
when it comes to the financial side of the organization, as well as Till,

104
00:08:30,425 --> 00:08:34,465
who, of course, has also been involved with KDEV for many decades.

105
00:08:34,465 --> 00:08:38,805
And is very experienced in business and financial matters.

106
00:08:40,065 --> 00:08:46,825
Looking back at the past year, and you fortunately hear me say this often or

107
00:08:46,825 --> 00:08:54,085
others who speak to you in this occasion, it's been a stable year with no major negative surprises.

108
00:08:54,185 --> 00:08:58,965
Sometimes we also say uneventful. And what we mean with that is that nothing

109
00:08:58,965 --> 00:09:04,505
happened that we were not able to predict, at least nothing that put any undue

110
00:09:04,505 --> 00:09:06,545
strain on the organization.

111
00:09:06,845 --> 00:09:11,925
This is very important given our current financial operational strategy,

112
00:09:12,285 --> 00:09:16,485
which is that we intentionally operate at a deficit.

113
00:09:16,605 --> 00:09:21,505
We outspend our income because we have very high financial reserves from past

114
00:09:21,505 --> 00:09:26,245
donations that under non-profit law we are not allowed to keep.

115
00:09:26,925 --> 00:09:33,645
So that means that we are intentionally outspending and we want to of course

116
00:09:33,645 --> 00:09:38,605
track this very, very well so that we don't accidentally end up with a burn

117
00:09:38,605 --> 00:09:40,505
rate that becomes unsustainable.

118
00:09:40,645 --> 00:09:47,425
So it is great to hear maybe that our income in the past year was just within

119
00:09:47,425 --> 00:09:48,985
500 euro of our projection.

120
00:09:49,645 --> 00:09:52,725
For the second year in a row, it was very close to the prediction.

121
00:09:52,725 --> 00:09:56,125
That means that we have a really good handle.

122
00:09:56,853 --> 00:10:00,793
On that side of our finances, we know what will happen.

123
00:10:01,033 --> 00:10:05,413
Our expenses tend to be below what we actually put into our budget plan because

124
00:10:05,413 --> 00:10:08,133
we budget plan with sort of a high watermark approach.

125
00:10:08,753 --> 00:10:13,293
We assume that allocated money will be spent completely, even though particular

126
00:10:13,293 --> 00:10:17,473
projects might not actually manage to do this. So we prepare for the worst.

127
00:10:17,953 --> 00:10:22,093
And then we have sort of a min and a max there.

128
00:10:22,273 --> 00:10:26,433
And again, our expenses were entirely within the range of our expectations.

129
00:10:26,853 --> 00:10:29,613
Even though they did not actually hit that high watermark.

130
00:10:30,113 --> 00:10:35,293
We mentioned already in the board report that fundraising has been going great,

131
00:10:35,373 --> 00:10:37,773
particularly our supporting membership program.

132
00:10:38,413 --> 00:10:41,893
Our income increased significantly due to that.

133
00:10:42,453 --> 00:10:47,653
So did our expenses. Again, as planned, they are mainly personnel expenses where

134
00:10:47,653 --> 00:10:50,313
we have many tuning screws due to the way that we contract.

135
00:10:50,893 --> 00:10:56,113
If things should one day not work out, we can scale there fairly easily.

136
00:10:56,113 --> 00:10:59,053
Easily, of course, we don't want to do that, but we can.

137
00:10:59,713 --> 00:11:04,093
The reason this keeps climbing is that we are traveling again,

138
00:11:04,193 --> 00:11:08,013
but also many positions that we've created in past years have now for the first

139
00:11:08,013 --> 00:11:10,293
time been filled for an entire year.

140
00:11:10,393 --> 00:11:12,853
So, of course, those expenses accumulate.

141
00:11:13,833 --> 00:11:19,653
Academy 2023 set a new sponsorship record by some margin. It was really great.

142
00:11:19,773 --> 00:11:22,353
Thanks so much to the sponsors of last year's conference.

143
00:11:22,973 --> 00:11:25,753
That said, organizing it was also very expensive.

144
00:11:26,413 --> 00:11:28,733
So it was largely offset.

145
00:11:29,793 --> 00:11:34,293
This is a big change from Academy in the past when we used to use Academy as

146
00:11:34,293 --> 00:11:37,213
a source of income. We used to make quite a bit of money with the conference.

147
00:11:37,953 --> 00:11:40,573
Now our goal is mostly to break even.

148
00:11:41,801 --> 00:11:45,621
You could say open source or free software, we are now so established that nobody

149
00:11:45,621 --> 00:11:49,621
gives us stuff for free anymore, which used to be more the case with Academy.

150
00:11:49,781 --> 00:11:52,201
But these days, for example, venue costs are much higher.

151
00:11:54,021 --> 00:12:00,301
As you can see, broadly speaking, our income is growing year by year.

152
00:12:00,781 --> 00:12:06,381
This reflects the overall growth of the organization and also its sort of activity profile.

153
00:12:06,881 --> 00:12:09,881
As you know, we have many contractors now that we didn't have in the past.

154
00:12:09,881 --> 00:12:15,961
They have more things to fund and fortunately our income trajectory is generally going well.

155
00:12:16,101 --> 00:12:19,081
The same on the expenses side, obviously with more activities,

156
00:12:19,181 --> 00:12:21,001
things are expensive, contractors are expensive.

157
00:12:21,201 --> 00:12:23,661
So that is also going up.

158
00:12:24,881 --> 00:12:28,441
You can see here the ratio between income and expenses.

159
00:12:28,641 --> 00:12:32,121
You can see here the strategy that I talked about that intentionally in the

160
00:12:32,121 --> 00:12:37,361
past two years we have outspent our income to deaccumulate our financial reserve. serve.

161
00:12:38,081 --> 00:12:44,481
Our goal now for the running year is to make that gap smaller.

162
00:12:44,701 --> 00:12:50,281
We are now taking the first steps to limit our expense growth and to lower our

163
00:12:50,281 --> 00:12:54,901
burn rate so that hopefully by 2026-27 with an increase in fundraising,

164
00:12:55,281 --> 00:13:00,341
we end up breaking even again and then we can take aim at further growth of the organization.

165
00:13:01,241 --> 00:13:06,961
In pie chart form, you see things are not that complicated, really Really,

166
00:13:07,001 --> 00:13:08,961
most of our expenses are personnel.

167
00:13:10,361 --> 00:13:14,161
The income pie chart is the one that has more significantly changed.

168
00:13:14,341 --> 00:13:19,201
If you look in years past, there used to be an almost even 50-50 split between

169
00:13:19,201 --> 00:13:23,321
donations from organizations such as our corporate patrons and individuals.

170
00:13:23,721 --> 00:13:30,101
And now the patronage side is dwarfed by the individual donations because the

171
00:13:30,101 --> 00:13:33,121
supporting membership program has been going so well.

172
00:13:33,121 --> 00:13:39,481
But you've also heard that the board plans to change the way that our patron program works a bit.

173
00:13:39,601 --> 00:13:43,661
So maybe there will be some more changes to this pie chart going forward.

174
00:13:44,101 --> 00:13:47,901
The budget plan has been done by the treasurer and the financial working group.

175
00:13:47,941 --> 00:13:52,581
And we expect to grow our income significantly with the fundraising.

176
00:13:52,861 --> 00:13:57,541
We now have new tools. Our dashboard can project the income channels that we

177
00:13:57,541 --> 00:14:02,121
have on the donation side. and also there we have sort of a min-max and even

178
00:14:02,121 --> 00:14:05,521
with conservative projections we should be growing our income quite a bit.

179
00:14:06,321 --> 00:14:11,221
This again allows us to lower our burn rate in addition with some steps to limit

180
00:14:11,221 --> 00:14:17,021
our expense growth and the ultimate goal is that in the 26-27 time frame we're even again.

181
00:14:18,201 --> 00:14:23,441
Things are on track with regard to that. So far the year is looking great.

182
00:14:23,881 --> 00:14:28,741
Sponsorship continues well, um, academy sponsorship is not as high as last year,

183
00:14:28,821 --> 00:14:33,341
but we expected this, it's a tough year for conferences and we've heard the

184
00:14:33,341 --> 00:14:36,981
same from other conference teams, almost done. Um.

185
00:14:39,092 --> 00:14:42,292
It's kind of dying, you know, I try to, but it's been lowering in volume over

186
00:14:42,292 --> 00:14:43,552
time. So at some point I gave up.

187
00:14:45,112 --> 00:14:50,332
You've heard for many years that we would like to dissolve our US-based KDE

188
00:14:50,332 --> 00:14:54,092
satellite organization, the KDE League, and that we expect also its remaining

189
00:14:54,092 --> 00:14:58,472
money then to be disseminated to us. The dissolution has finally passed.

190
00:14:58,772 --> 00:15:02,772
We don't have the money yet, but we expect it sort of any minute now.

191
00:15:03,192 --> 00:15:07,092
We're in the pace that it's going at, it will probably be next year,

192
00:15:07,172 --> 00:15:09,212
but it's It's good news all the same.

193
00:15:10,852 --> 00:15:15,972
All right. Tools, I already talked about it. Our dashboard is doing great and

194
00:15:15,972 --> 00:15:19,492
it's now doing better things with donations that allows us to forecast things

195
00:15:19,492 --> 00:15:23,612
and keep an even closer eye on how our income is developing.

196
00:15:24,372 --> 00:15:29,172
So thanks for the people who work on that tool. All right. And then handing

197
00:15:29,172 --> 00:15:30,392
off to the fundraising working group.

198
00:15:32,332 --> 00:15:33,532
Maybe it works better for you.

199
00:15:36,592 --> 00:15:42,892
Yeah. Yeah, so fundraising working group. Yeah, so where we are and what we

200
00:15:42,892 --> 00:15:45,692
do, like you can say, currently alone.

201
00:15:46,172 --> 00:15:49,792
We had a few members leaving the working group this year.

202
00:15:50,092 --> 00:15:55,812
So I'm now looking for new volunteers to join the working group and help fundraising.

203
00:15:57,732 --> 00:16:01,852
What we do is coordinate the execution of the fundraising campaigns.

204
00:16:02,432 --> 00:16:06,112
We had a lot of help from the promo team, Paul and Annika.

205
00:16:07,683 --> 00:16:12,043
Yeah, and we maintain and improve the technical infrastructure,

206
00:16:12,323 --> 00:16:18,303
which was CVCM, past years, not anymore. Yeah.

207
00:16:20,003 --> 00:16:25,563
So now there's a bit less work on the technical infrastructure and just editing the websites.

208
00:16:27,103 --> 00:16:29,803
But nothing much more.

209
00:16:34,043 --> 00:16:41,403
Last year, we had the Plasma 6 fundraising campaign, which was a success,

210
00:16:41,603 --> 00:16:43,623
as you can see by the financial report.

211
00:16:45,023 --> 00:16:52,683
We also shut down CVCRM, which was a bit of a pain, and it's good that we are done with that.

212
00:16:55,023 --> 00:16:57,943
Yeah, I mean, I think Ben is quite happy about that.

213
00:17:00,783 --> 00:17:06,703
Yeah, and yeah, success stories, like we increased the number of frequent donations,

214
00:17:08,503 --> 00:17:11,323
other one-time donations, thanks to DonorBox.

215
00:17:13,543 --> 00:17:19,503
I mean, the Plasma 6 campaign was like a really We had a plan at the beginning

216
00:17:19,503 --> 00:17:26,143
to have like 500 or 250 new members and we managed to go a lot higher.

217
00:17:27,043 --> 00:17:31,043
Yeah. And that's what we learned is that posting often about the fundraising

218
00:17:31,043 --> 00:17:36,083
and campaigns and asking people often to do donations actually work.

219
00:17:36,303 --> 00:17:42,283
Like if you ask people to donate, many of them will do that. Yeah. Yeah.

220
00:17:44,003 --> 00:17:48,163
Yeah, like I said, join the working group, we need help.

221
00:17:48,963 --> 00:17:53,123
And yeah, and if you do blog posts, don't forget to mention what we are.

222
00:17:54,972 --> 00:17:59,772
You can do the donation to KDE for, yeah, I think that's it.

223
00:18:00,772 --> 00:18:06,812
Yeah. And at least my plan would be like to do a fundraising campaign again in December.

224
00:18:07,412 --> 00:18:13,912
We already had like with Plasma, there's a notification which will appear in December.

225
00:18:14,152 --> 00:18:19,292
We should recommend you to do a donation and let's try to do that in social

226
00:18:19,292 --> 00:18:22,112
media and other places to see.

227
00:18:24,132 --> 00:18:29,652
Yeah. If you want to talk to us, you can either talk to me, or there's a matrix

228
00:18:29,652 --> 00:18:36,532
room, which is public, and an email address for many of us. Yeah, that's it.

229
00:18:44,812 --> 00:18:47,792
Hello. Yeah. OK, so yeah.

230
00:18:49,152 --> 00:18:55,192
I'm Albert, and I'm here to report on the Katie Free Qt Foundation Working Group

231
00:18:55,192 --> 00:18:57,412
and on the Freddie Qt Foundation.

232
00:18:57,992 --> 00:19:00,012
Two things very similar, not the same.

233
00:19:02,492 --> 00:19:03,872
So what do we do?

234
00:19:05,912 --> 00:19:10,712
It's a working group with a lot of people.

235
00:19:10,972 --> 00:19:16,552
So there's me and Olaf, which are the actual people, which which are part of

236
00:19:16,552 --> 00:19:21,572
the FreeQt KD Foundation, together with other two folks from the Qt group.

237
00:19:22,112 --> 00:19:28,832
And then there is Chris, David, AK, Frederick, Martin, and Victoria, which help us,

238
00:19:31,126 --> 00:19:35,546
Shape our communications with with the foundation right it's like we are good

239
00:19:35,546 --> 00:19:39,346
friends with the cute group But it's always when you're doing things at a more

240
00:19:39,346 --> 00:19:41,586
official level It's always a

241
00:19:41,586 --> 00:19:44,466
good thing to have your message not be hey dude. How are you doing right?

242
00:19:45,226 --> 00:19:47,606
It's it's better if you come across a bit more professional.

243
00:19:50,546 --> 00:19:56,186
So what did we do last year? We have a work a group in in matrix,

244
00:19:56,486 --> 00:20:01,286
and we had a few discussions there Nothing super important.

245
00:20:01,406 --> 00:20:04,886
We have a few live calls on meetkd.org.

246
00:20:06,406 --> 00:20:10,146
I think we didn't have many this year. That's a good thing. Not many things

247
00:20:10,146 --> 00:20:13,046
happened. So we didn't have to do many calls.

248
00:20:15,346 --> 00:20:22,646
We have not met yet formally with the foundation. So with the Qt group people,

249
00:20:22,846 --> 00:20:28,946
the four of us haven't met yet at the time of writing and not at the time of today either.

250
00:20:29,386 --> 00:20:33,606
So this is something we're going to do this year at some point.

251
00:20:33,666 --> 00:20:40,406
We have to meet and approve the taxes and all those boring things that foundations do.

252
00:20:41,186 --> 00:20:46,006
We had an informal talk on the Qt Code Editor Summit last year and also this year.

253
00:20:46,086 --> 00:20:49,546
But this was like two days ago, so it didn't make it.

254
00:20:49,886 --> 00:20:51,826
Into the slides.

255
00:20:54,426 --> 00:20:58,266
Lessons learned. So yeah, we're in good relations with them.

256
00:21:00,506 --> 00:21:03,926
No news is good news, right? So the foundation, like the Free KDE Qt foundation

257
00:21:03,926 --> 00:21:07,846
is a foundation that exists for when bad shit happens.

258
00:21:08,026 --> 00:21:10,346
So no bad shit has been happening, so that's good.

259
00:21:12,406 --> 00:21:16,766
The working group continues to be a great help for both me and Olaf,

260
00:21:16,926 --> 00:21:20,486
which are the official people on the foundation.

261
00:21:21,126 --> 00:21:23,626
So yeah, it's great that we have this working group.

262
00:21:24,546 --> 00:21:30,306
We have increased collaboration at the technical level between KDE and Qt group.

263
00:21:30,526 --> 00:21:35,666
So not something we do at all, but there's more people from KDE contributing,

264
00:21:36,186 --> 00:21:42,706
to Qt, which is a good thing, because the more communication, the less bad blood.

265
00:21:42,946 --> 00:21:46,486
So no, they did that. No, yeah. OK. Done. If you talk to people,

266
00:21:46,626 --> 00:21:50,006
you realize we're all friends. So yeah, that's good.

267
00:21:52,186 --> 00:21:57,586
Obstacles during the year. We had a very big obstacle, which is we lost access to our bank account.

268
00:21:58,146 --> 00:22:03,446
The foundation has a bank account. It got blocked because of reasons.

269
00:22:04,966 --> 00:22:08,786
If you want to pay me a beer, I will explain you what happened.

270
00:22:09,006 --> 00:22:12,606
But it's like, well, there was churn in the foundation. There was churn in the bank.

271
00:22:12,726 --> 00:22:18,346
There was churn in the company people. and some of the messages that the bank

272
00:22:18,346 --> 00:22:20,846
sent, we didn't see them, and blah, blah, blah.

273
00:22:21,719 --> 00:22:27,359
So yeah, we're working on getting access back. That was what we wrote in July.

274
00:22:28,639 --> 00:22:34,959
An update is that the bank account is not blocked anymore, which is a good thing.

275
00:22:35,459 --> 00:22:39,759
We don't have access to it yet, which is not a great thing. But we're halfway

276
00:22:39,759 --> 00:22:42,779
in the middle of resolving the thing.

277
00:22:43,459 --> 00:22:46,519
I mean, the main problem is the foundation is set up in Norway,

278
00:22:46,759 --> 00:22:50,279
but none of the people from the foundation live in Norway nowadays.

279
00:22:50,279 --> 00:22:56,539
I'm in Barcelona, the cute people are in Finland, and Olaf is somewhere in Germany, I think.

280
00:22:56,659 --> 00:23:00,039
So when you have to go physically somewhere and it's far away,

281
00:23:00,239 --> 00:23:02,399
not so easy. But we'll get it fixed.

282
00:23:04,899 --> 00:23:09,419
Where we need help. I mean, if you could live in Norway, that would be amazing.

283
00:23:11,299 --> 00:23:15,319
But you're not going to change your place of living just to help us.

284
00:23:15,459 --> 00:23:17,159
So yeah, we didn't add that to the slides.

285
00:23:18,139 --> 00:23:21,739
But yeah, just continue being what you're doing, right?

286
00:23:21,859 --> 00:23:27,959
Continue building good relationships with, yeah, it's not the kid company anymore. It's the kid group.

287
00:23:28,899 --> 00:23:34,899
But yeah, talk to them. You don't have to even pretend you're part of the working group or not.

288
00:23:35,039 --> 00:23:39,099
Just be nice people and say, hey, I'm ComKD, and I want to help.

289
00:23:40,399 --> 00:23:43,599
Do that. You're doing it. It's great. So yeah, keep doing that.

290
00:23:44,119 --> 00:23:46,739
And I think that was my, no, there's more slides. Right, OK.

291
00:23:47,979 --> 00:23:52,739
Key goals for the next year, yeah, just basically what I said, right?

292
00:23:53,339 --> 00:23:57,079
Keep doing what you're doing and fixing the bank account. This is really important.

293
00:23:58,059 --> 00:24:01,039
I'm the chairman of the foundation. I don't want to go to jail just because

294
00:24:01,039 --> 00:24:06,199
we didn't present the taxes on time. So eventually, this needs to be fixed.

295
00:24:07,839 --> 00:24:13,479
And yeah, talk to us. What do we do? So if you're interested in Qt licensing, talk to us.

296
00:24:13,539 --> 00:24:17,259
If you're basically anything related to Qt, right? So talk to us.

297
00:24:19,972 --> 00:24:22,512
Who's here. It's basically only me and David Redondo, I think.

298
00:24:23,152 --> 00:24:26,692
But otherwise, we have a mailing list and there's a matrix IRC.

299
00:24:26,872 --> 00:24:31,912
Just, yeah, you find the name of the people here and talk to us,

300
00:24:32,012 --> 00:24:34,092
right? Oh, Victoria's here. Sorry, forgot about you.

301
00:24:35,332 --> 00:24:38,752
So, yeah, talk to us. And then this is.

302
00:24:47,952 --> 00:24:52,632
Thank you. Hopefully I didn't get this too long, but we'll see how we go.

303
00:24:54,672 --> 00:25:01,052
So what have we been doing? Well, continuous integration basically being the rock star of this year.

304
00:25:01,872 --> 00:25:08,192
Lots going on. Previously we had some issues where if you did a craft build, it would hit WebEngine.

305
00:25:08,752 --> 00:25:11,672
Web engine likes memory likes lots of memory

306
00:25:11,672 --> 00:25:14,912
and it would cause an out of memory era would

307
00:25:14,912 --> 00:25:18,832
crash vms cause lots of issues so we introduced some new high memory workers

308
00:25:18,832 --> 00:25:25,792
they have 128 gigs of ram so web engine build issues no more windows and vbc

309
00:25:25,792 --> 00:25:30,452
builds don't crash anymore and life is good we also introduced the notary service

310
00:25:30,452 --> 00:25:34,152
which the board was kind enough to fund that's what ingo we've spent this time on.

311
00:25:34,392 --> 00:25:39,312
So we now have all of our signing stuff for Windows, for Mac,

312
00:25:39,592 --> 00:25:45,132
for flat packs, the website deployments, all that other fun stuff is done using the notary service.

313
00:25:45,652 --> 00:25:50,592
It keeps the signing keys away from your CI jobs, but still lets the CI jobs

314
00:25:50,592 --> 00:25:53,832
have things done that need signing or privilege.

315
00:25:54,472 --> 00:26:00,472
Really good way of separating secure stuff you need to keep private from general

316
00:26:00,472 --> 00:26:02,392
CI stuff because the builders can't be trusted.

317
00:26:02,712 --> 00:26:04,752
Those builders run everyone's jobs.

318
00:26:05,212 --> 00:26:09,552
Anyone random can register an account, log in, essentially start running CI

319
00:26:09,552 --> 00:26:12,952
builds on them. They can't be trusted. The keys can never go anywhere near them.

320
00:26:14,571 --> 00:26:19,471
Which is one of the big problems with the binary factory. Those signing keys were on the builders.

321
00:26:20,311 --> 00:26:26,231
No more. The binary factory is now gone, dead, finished, shut down and gone.

322
00:26:26,551 --> 00:26:30,931
Very happy about that. Jenkins was a bit of a nightmare, but it's gone now.

323
00:26:31,911 --> 00:26:35,791
FreeBSD builds. They transitioned to running as Podman containers.

324
00:26:36,391 --> 00:26:42,451
That involved doing a bit of work with upstream. Patches went into two different

325
00:26:42,451 --> 00:26:43,811
bits of FreeBSD, I believe.

326
00:26:43,811 --> 00:26:46,531
I can't remember how many I had to do I think it was two or three

327
00:26:46,531 --> 00:26:50,091
yes GitLab and it was Podman itself so

328
00:26:50,091 --> 00:26:52,891
now all the free BSD builds you've noticed don't fall

329
00:26:52,891 --> 00:26:55,871
over anywhere near as much as they used to they now just

330
00:26:55,871 --> 00:26:58,931
run and work reliably although it

331
00:26:58,931 --> 00:27:01,691
wasn't perfect KDevelop does some

332
00:27:01,691 --> 00:27:04,631
really weird things in their tests and they still manage to

333
00:27:04,631 --> 00:27:09,731
hang the processes with what HTOP shows as a T and eventually means you have

334
00:27:09,731 --> 00:27:14,171
to rebuild reboot the worker apparently even containerization can't save us

335
00:27:14,171 --> 00:27:18,571
from everything and we also had some first steps towards adding support for

336
00:27:18,571 --> 00:27:23,531
alpine or musel based builds which i understand helps with a bunch of embedded stuff,

337
00:27:24,311 --> 00:27:28,531
and there was a huge amount of planning and research towards planning towards vm based builds,

338
00:27:29,191 --> 00:27:32,091
which we essentially need for snaps you can't build

339
00:27:32,091 --> 00:27:37,131
snaps in anything other than a vm if you try and put any kind of container around

340
00:27:37,131 --> 00:27:41,391
the snap build process it just doesn't work it blows up horribly and the same

341
00:27:41,391 --> 00:27:45,731
thing happens with flat pack you can sort of hack around it but it doesn't work

342
00:27:45,731 --> 00:27:50,471
very well and you certainly can't run the resulting flat pack so we're getting closer towards that.

343
00:27:51,291 --> 00:27:55,731
You might think it's easy but it's not all the kind of existing stuff that sits

344
00:27:55,731 --> 00:28:01,031
out there is designed around public cloud usage so your google cloud your aws your digital ocean.

345
00:28:02,391 --> 00:28:07,991
Or your google one we don't have that and of course there was also a lot of

346
00:28:07,991 --> 00:28:10,931
queries from and various developers around CI jobs.

347
00:28:11,851 --> 00:28:15,051
And then we had a whole bunch of other stuff regarding the general infrastructure.

348
00:28:15,511 --> 00:28:19,531
We replaced our GitLab server. Previously, it was a container running on one

349
00:28:19,531 --> 00:28:24,191
of our servers, but GitLab kind of outgrew that. It's now sitting on its own iron.

350
00:28:24,751 --> 00:28:28,131
It's been working pretty well. We've been seeing some overload issues lately.

351
00:28:28,211 --> 00:28:29,471
I've seen people complaining about it.

352
00:28:29,751 --> 00:28:32,911
I'm keeping an eye on it. It looks like we've got a bunch of bots that are like

353
00:28:32,911 --> 00:28:35,011
spidering it, probably for AI stuff.

354
00:28:36,011 --> 00:28:39,491
I've been blocking them. I whacked a Google IP range the other day.

355
00:28:39,591 --> 00:28:41,751
It was Google themselves indexing us, interestingly.

356
00:28:42,591 --> 00:28:47,231
We migrated to DNS control along with CloudNS managed DNSSEC.

357
00:28:47,771 --> 00:28:52,371
Previously, we had an awful setup with Bind and DNSSEC and occasionally Bind

358
00:28:52,371 --> 00:28:56,131
would get confused and I'd have to update the DNSSEC keys by hand.

359
00:28:56,491 --> 00:28:59,991
It was all kind of awful and fiddly and setting new domains was a real pain.

360
00:29:00,431 --> 00:29:05,251
DNS control and CloudNS makes it an absolute breeze. It means we don't have

361
00:29:05,251 --> 00:29:10,591
to have a DNS set keys sitting on one of our servers that was getting old and

362
00:29:10,591 --> 00:29:13,691
unmaintained and was an out of date release of Debian anyway.

363
00:29:15,310 --> 00:29:19,350
We rolled out a release keyring, which means now for those of you who are distributions

364
00:29:19,350 --> 00:29:22,810
going, where do I find a contributor's GPG key?

365
00:29:23,290 --> 00:29:25,690
There's a Git repository you can go to. They should all be in there.

366
00:29:26,470 --> 00:29:29,610
If you are someone who independently releases your own software,

367
00:29:29,870 --> 00:29:31,670
please make sure your key is in there.

368
00:29:31,910 --> 00:29:35,850
It's at sysadmin slash release dash keyring on GitLab.

369
00:29:36,270 --> 00:29:41,870
We retired Civi's ERM. And there's a bunch of other CMS instances that are in

370
00:29:41,870 --> 00:29:43,270
the process of being retired as well.

371
00:29:43,850 --> 00:29:47,430
Crit has moved towards being a Hugo-based site now, and I believe Kdenlive is

372
00:29:47,430 --> 00:29:49,950
starting to move slowly but surely down that road.

373
00:29:50,170 --> 00:29:52,610
So even WordPress is going to be extinct soon.

374
00:29:52,970 --> 00:29:58,070
I think we've only got two Drupal 7 instances left. I'll be happy to see the back of those.

375
00:29:58,750 --> 00:30:03,930
And we also went through the process of registering with Microsoft to be able

376
00:30:03,930 --> 00:30:05,870
to do a bunch of Office 365 integration.

377
00:30:06,530 --> 00:30:10,030
They are so much easier to deal with than all of the other lot.

378
00:30:11,410 --> 00:30:14,470
Hats out to the people at Microsoft software make that life easy because the

379
00:30:14,470 --> 00:30:17,590
others are a nightmare and there's been a quite a bit of significant

380
00:30:17,590 --> 00:30:21,830
work put into planning for a new infrastructure we're looking at moving away

381
00:30:21,830 --> 00:30:28,970
from LXC based containers on bare metal that we do now towards using uh Proxmox

382
00:30:28,970 --> 00:30:34,250
hypervisors and a cluster to make lives a bit easier because a lot of software

383
00:30:34,250 --> 00:30:36,390
these days demands being docker,

384
00:30:37,190 --> 00:30:41,210
essentially demands being its own VM even the likes of discourse you think you

385
00:30:41,210 --> 00:30:45,650
can have multiple discourse instances on the same server? Nah, it's not compatible.

386
00:30:48,060 --> 00:30:52,720
Key goals and plans for the coming year. Got quite a bit on.

387
00:30:53,120 --> 00:30:57,260
I do want to finally retire Fabricator. The only thing left in there now is tasks.

388
00:30:58,200 --> 00:31:02,480
Get that over to GitLab, then we can get rid of that. For the curious fact for

389
00:31:02,480 --> 00:31:05,600
the people who aren't aware of it, the Fabricator database is a couple hundred

390
00:31:05,600 --> 00:31:08,280
gigabytes because it's got a copy of ESPN in it.

391
00:31:08,540 --> 00:31:10,840
And I'd really like to get rid of it because if something happens,

392
00:31:11,100 --> 00:31:14,800
restoring from backups will be near and impossible.

393
00:31:15,100 --> 00:31:17,800
I don't want to even think about it. i want to start

394
00:31:17,800 --> 00:31:20,560
provisioning the new infrastructure and starting to migrate all our

395
00:31:20,560 --> 00:31:23,240
services over to it consolidating a bunch

396
00:31:23,240 --> 00:31:26,500
of stuff getting rid of the old servers moving towards current

397
00:31:26,500 --> 00:31:29,840
and update lts versions we've got a mixture of

398
00:31:29,840 --> 00:31:33,040
various 2204 2004 i think there's some 1804 out

399
00:31:33,040 --> 00:31:35,640
there as well unless you're talking about fabricator which is on

400
00:31:35,640 --> 00:31:38,660
1604 and moving continuous

401
00:31:38,660 --> 00:31:41,980
integration over to being vm based which is

402
00:31:41,980 --> 00:31:44,780
easier said than done i can give a whole talk on that one

403
00:31:44,780 --> 00:31:48,060
that will be we'll see how we go with that and

404
00:31:48,060 --> 00:31:51,760
we'll also be looking to migrate away from digital ocean our

405
00:31:51,760 --> 00:31:54,920
cluster will take over the duties of hosting the stuff that's currently there

406
00:31:54,920 --> 00:31:58,400
there's not a huge amount of stuff there thankfully but we'll see how we go

407
00:31:58,400 --> 00:32:02,540
oh and there's also the email infrastructure that is quite old and decrepit

408
00:32:02,540 --> 00:32:07,100
at this point we're on mailman 2 still which is basically unsupported likely

409
00:32:07,100 --> 00:32:11,100
looking to move to mailman 3 there and changing for other bits and pieces.

410
00:32:13,800 --> 00:32:17,980
The contact us like kind of speaks for itself you know where to find us and

411
00:32:17,980 --> 00:32:21,700
you can certainly know where to find me because i'll be around this week but uh any questions.