Tech Over Tea - The Era Of KDE Plasma 6 Is Here | Nate Graham

Episode Date: May 3, 2024

Today we have Nate Graham back on the show again, this time to talk about of course KDE Plasma 6, my experience with it and everything else surrounding the launch of the desktop. ==========Support The... Channel========== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson ==========Guest Links========== KDE Website: https://kde.org/ KDE Fundraiser: https://kde.org/fundraisers/ Blog: https://pointieststick.com/ KDE Twitter: https://twitter.com/kdecommunity/ ==========Support The Show========== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson =========Video Platforms========== 🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg =========Audio Release========= 🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss 🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953 🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM 🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw== 🎵 Anchor: https://anchor.fm/tech-over-tea ==========Social Media========== 🎤 Discord:https://discord.gg/PkMRVn9 🐦 Twitter: https://twitter.com/TechOverTeaShow 📷 Instagram: https://www.instagram.com/techovertea/ 🌐 Mastodon:https://mastodon.social/web/accounts/1093345 ==========Credits========== 🎨 Channel Art: All my art has was created by Supercozman https://twitter.com/Supercozman https://www.instagram.com/supercozman_draws/ DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.

Transcript
Discussion (0)
Starting point is 00:00:00 One. Good morning, good day, and good evening. I'm as always your host, Brody Robertson. And today we have a returning guest. You may not have seen his face before. I don't know. You've probably seen the blog that he runs. Welcome to the show, Nate Graham.
Starting point is 00:00:17 How's it going? Hi, nice to see you again. Great to be here. Thanks for inviting me. Absolute pleasure. Just for anyone who isn't aware of who you are, just give a brief introduction. My name is Nate Graham. I work on a whole bunch of KDE things. I am a volunteer developer and QA person. I'm on the board of directors of the KDE EV Foundation, which sees to administrative
Starting point is 00:00:42 things regarding KDE. I work for Blue Systems, which is a consultancy in KDE's orbit, where I am fortunate enough to be paid to work on KDE stuff full time, which is pretty cool. And as a result, KDE is a very significant fraction of my life. And so I appear in many places as a result. And of course, you have the blog as well, which is also important for a lot of people. Yeah. So I do this weekly blog, which started out as a sort of weekly progress report for the usability and productivity initiative, which I championed several years ago. And then after that initiative finished,
Starting point is 00:01:21 it seemed pretty popular. And so I just kind of kept going with it. Yeah, it is a, I don't know how to link open for a really old post. I had the one from like May last year. I check in every so often just to see what's going on in KDE land. Like even when I wasn't using the project myself, it's always nice to see like, oh, hey, HDR is being worked on or modifier only shortcuts or all of these like little neat things, which obviously all of this stuff is publicly available in the project. And you can see it if you're like digging through the hundred different repos that are involved in the project. in the project, but easily putting that together, I think has like a lot of value for people,
Starting point is 00:02:11 because it's hard to see from the outside, like what's actually happening in the project, obviously, like the really big changes, like the explicit sync stuff being worked on, I don't know, like Plasma 6 self-launching, all of that stuff, you know, makes its way out, and there'll be people that talk about it regardless. But a lot of the little things where it's like, we made a slight change to the label for opening up the widget edit menu, things like that, most people just are not going to see until maybe they come across it. But especially when it comes to the more underlying things like bug fixes, like performance improvements, that sort of stuff is hard to really notice without someone really just directly pointing out to you. Yeah.
Starting point is 00:02:54 And I see that kind of as the role of the blog, because as you pointed out, there's a lot of stuff going on. KDE is quite vast in scope and even people who are involved in the project are often not subscribed to more than a small fraction of what's going on. And so the role of this blog is kind of internal as much as it is external, right? Because people who maybe don't follow Plasma so closely can get a sense of what's going on with the project by reading. As time, the blog has kind of become a little bit more Plasma-centric. I do still talk about apps, but by far the vast majority of things that I report on right now are either directly about Plasma or about frameworks
Starting point is 00:03:38 in a way that kind of connects to Plasma in some way. So yeah, but I think it has value because Plasma is a big project and people want to know what's going on and so I try to make it easy and accessible so people can find that information. Yeah, it's... Big project is certainly one way to describe it. I think if anyone looks at like Bugzilla for example, and I do want to talk about the Bugzilla a bit later, but if anyone just looks at the Bugzilla and then looks at all the different categories, it is very clear the project is very, very big. Now, there's some improvements that could be done to the Bugzilla to maybe make it easier to search. I know there have been improvements over the years, but listing out each individual thing, it becomes very clear that there's a lot of things that go into this machine. Yeah. This is one of the topics that comes up a lot is how difficult it is to find anything on Bozilla. And people often say you should switch to GitLab issues
Starting point is 00:04:35 instead. But the problem with GitLab issues is that it is exactly no better in this way because GitLab issues ties issues to project repos on a one-to-one basis. And we have, you know, 500 project repos. So if you have trouble finding something on a giant flat list in Bugzilla that you can at least control F to search on the page, you're going to have an even bigger problem finding things among 500 Git repos that are namespaced across various different things. But talking about how KDE is big is kind of an important topic, I think, because KDE is so big that it kind of gives us big project problems, right?
Starting point is 00:05:19 Like when you have a small project, a lot of things are easy or at least doable. And once you have a big project, you start to run into these issues of internal coordination, how to find anything, preserving institutional memory, making sure people know who's doing what, making sure small projects within the umbrella project don't get forgotten or abandoned. It's really pretty, pretty huge. And one of the things that I think you can see in this is how KDE software is becoming used more widely across the industry. There's the
Starting point is 00:05:53 obvious thing that we can all think of, which is the Steam Deck, of course, which is a phenomenal success. But there are other things too, like the German company Tuxedo Computers, which is a whole company. And I've visited their headquarters. They have a whole floor and an office building. They have lots of people. Their whole company sells devices that run plasma. So, you know, we're important to them too. And there's a whole bunch of other people who are using KDE software in institutional
Starting point is 00:06:22 contexts for making money, for doing real work. And so as big as KDE is, it's equally important in world affairs. If KDE vanished tomorrow, there are a lot of people out there who would be scrambling for what to replace that software with. And I think it's a good problem to have, but it is a problem in some ways because KDE is still very much a volunteer directed project, even though there are a lot of people who are sponsored to work on it. It's still mostly volunteers. And so we're kind of in a transitional phase right now where the project started as a fairly loose-knit thing that was made by individual people. And now our work is being consumed by hundreds of thousands, millions of people out there who maybe don't have that much familiarity with open source,
Starting point is 00:07:18 right? And who come at the project with a product mindset where they say, well, this isn't working. What's wrong with you? Why didn't that work properly? And on one hand, we they say, well, this isn't working. What's wrong with you? Why didn't that work properly? And on one hand, we can say, well, just look at the warranty, right? You know, every file in the Git repo says there's no warranty implied or otherwise. Provided as is. Well, whatever. Provided as is, right?
Starting point is 00:07:38 And technically and legally, that is true. But it's also not what people are expecting. And I think we do sort of a bad job of setting expectations there, right? When you go to a Linux distro's website and you download it, it's going to give you the fancy glossy marketing copy. And it's going to tell you about how great the distro is and this and that. You're not going to see a giant red disclaimer that says, by the way, there's no warranty. You know, if you're not paying for this, there's no expectation of what you should receive in return. And so be prepared for things to break terribly.
Starting point is 00:08:13 People like you and I, we know that. We know that implicitly. And when our friends and relatives tell us, I'm really tired of Windows or Mac OS, I think I want to move to Linux. We're going to give them that little speech. Right. Yeah. But a lot of regular people out there are not having this information communicated to them. And so so then the problem becomes, do we want to communicate this information to them so that we're setting expectations? Or do we want to try to make it irrelevant
Starting point is 00:08:41 so that they don't get frustrated by issues in the first place, right? A little bit of both, you know, you want to set expectations, but you also don't want to pull a bait and switch where you're saying, oh, this project is so great, you should use it, it's so much better than the competition. Then when people run into problems, you say, well, not my problem, you know, whatever, it's all volunteers. Yeah, I was speaking to Christian Scheller, I think that's what his name is, from Red Hat. And he was saying the other day that
Starting point is 00:09:14 he doesn't like that a lot of the time when we have issues on the Linux desktop, the solution is either... I don't think he said this, but he said... He did definitely bring up, usually, it's try a different desktop, or use a different project, a lot of the, a lot of other times, it's, well, you can commit code upstream, you can fix the problem yourself, and both these are great if we're talking purely the developer mindset, the developer community. And in the very early days of Linux, when that was the people using Linux, and that was the people using open source, that made a lot of
Starting point is 00:09:54 sense. When we're talking back in like 1999, for example, nobody is using Debian unless they're a developer or have a developer adjacent position like you weren't having regular normal people who were just like working a nine to five they're a plumber running debian back then but right now it's a very different position especially with people who are you know in still they're replacing the windows 7 on their parents computer with something that's actually supported yep it's a very tough problem and obviously the really big projects like kd like gnome like uh i don't know this actually is not that i mean the linux cam um there's really few projects that fit this camp that can afford to really do some sort of like proper product like support but when you start doing that then you
Starting point is 00:10:49 you possibly start setting expectations for things outside of just the desktop and that's that's where it gets really difficult right because you can set expectations for what is going to come from plasma but if somebody installs a application as a flat pack, for example, and it's just some random application, one dude maintains it, you can't have that same level of expectation, but especially in the case of a product, like you're buying a computer, if maybe something
Starting point is 00:11:16 is pre-installed, that's going to have that same sort of expectation placed on it as well, and I don't know how you address this problem. It's very challenging for sure. I think the only way that you can actually address this is with vertical integration, which is very much beyond our capacity to do right now. But you're absolutely right that it's a problem because a normal person is accustomed to
Starting point is 00:11:41 a product being self-contained right and computers violate this expectation a little bit because when you get a computer you get it from your local retailer and you would power it up let's say it's a windows computer right uh you know that the company that made the computer is probably not microsoft although maybe it is but it has the company's name and logo on it and then you boot it up and it's got windows and you know that Windows comes from Microsoft. And then it comes with a whole bunch of other random software on it. And people like you and I often forget, but in the Windows world, a lot of random software is prominently branded with the company name on it so that people know who it came from, because otherwise this is not very obvious. But even then
Starting point is 00:12:24 people have trouble, right? People have trouble distinguishing third-party apps versus first-party apps. And even in the Windows world, right, there are people who are going to not understand the difference between an Asus and a Microsoft. The fact that even then that this is a product that is composed of components from multiple vendors is a little challenging. In the Mac world, that's not the case, right? Because Apple makes the hardware and Apple makes the software and Apple doesn't bundle any third-party software on their machines, I think. So it's a clearer, simpler story there. And I think as a result, there's sort of an easier user experience. And that's the thing that we have to shoot for if you ask me i think it's a good example right now uh and maybe at some
Starting point is 00:13:12 point in the future we will be but i think this is why you see kde has a distro kde neon and much hay has been made of kde neon and uh you, after the release of Plasma 6, there were some problems and we've been discussing internally how to fix those. But I think it's a good thing that we have our own distribution channel somehow. And whether we can improve that over time is something that we're going to be looking at. But it's good because it means that we can't pass the buck as much, right? When you have a problem with the packaging on, let's say, Ubuntu or Fedora, we can say, well, it's an upstream issue. Talk to them.
Starting point is 00:13:49 Right, right. But if you have a packaging problem on Neon, we can say, oops, we messed up. We can fix it. And that is a more satisfying response to hear if you are in the role of a customer and you feel like you're having a problem and you're seeking a solution i think a good example of people being confused about like what in the stack is like owned by who um i don't know if people say this around where you are but i often hear people compare samsung versus iphone like they don't even know that android exists
Starting point is 00:14:23 it's just samsung or i don't know if that's still like the big brand right they don't even know that Android exists. It's just Samsung or... I don't know if that's still, like, the big brand right now. I don't care about, like, smartphones. But, like, a couple of years back, that's the way people describe it. Because this whole concept of there being a separate operating system and there being these separate applications, it's just not the
Starting point is 00:14:39 way that most... Like, maybe they'll think of something like, I don't know, some game they installed as, like, a separate thing that's from a different company but the idea that samsung doesn't make the thing that runs their phone like that's just not even something that goes into their heads yeah and this makes sense too right because who are you buying your phone from you're buying it from samsung and let's say you buy your phone from sam and you have a problem with it. And that problem happens to be in a layer of the stack provided by Google in the form of Android. And you go to Samsung for support. You're expecting Samsung to support you. If somebody in Samsung
Starting point is 00:15:17 says, well, we just ship Google software. So you'll have to talk to Google. Like that's not going to fly. Right? And this is the expectation that we do have in our community. You file a bug report on KDE, if it happens to be an issue in a third-party library, we're going to pawn you off on that library. We're not going to take responsibility for it. And that's because we can't. But if you're an integrator, if you're a distro or you're a hardware vendor, you can take responsibility for it. And so I think in a lot of ways, in an ideal scenario, most of the bug reports that come to KDE would not actually be filed by users. They would be filed by distro maintainers.
Starting point is 00:16:00 They would be filed by QA people working for hardware vendors because they would be the people who get the issues reported to them first. Because as the integrators, as the ones who sell the products, they're the ones who are ultimately in the best position to figure out what exactly the issue it is and what can be done about it. Because after all, money has changed hands, right? Let's say you buy a computer from tuxedo right i brought them up earlier um you spend your you know thousand euros on a nice computer and you find that it doesn't work in a particular way well if you contact the tuxedo people then they're going to have like a warranty system they're going to have a customer service department who can talk to you they're going to have people who can figure it They're going to have a customer service department who
Starting point is 00:16:45 can talk to you. They're going to have people who can figure it out, who are at least ostensibly being paid by the money that's changed hands. Whereas if you buy a laptop from, let's say, Lenovo, and then you wipe windows and you put KDE, let's say, I don't know, Fedora 39 KDE on it. Well, no money has changed hands there, right? So when you go and you talk to KDE, implicitly, everything that you're asking for is free support. And even among the Fedora people who are happy that you're using their distro, if you ask for support from them, it's going again, be free support, right? None of this is paid support. And so whatever you get from that is kind of on a best effort basis. So I think when people come at
Starting point is 00:17:34 issues that they're experiencing from the perspective of a customer, it really needs to be that they're talking to somebody who they've given money to, because then there is an explicit expectation of support for money, right? The model wouldn't work nowadays, I don't think, but imagine that Ubuntu never happened and Ubuntu never just demolished the whole concept of a regular user commercial distro. Because if you go back to the early 2000s,
Starting point is 00:18:04 just before Ubuntu, that's what you go back to the early 2000s, just before Ubuntu, that's what existed. There were a couple of them, and that was just a normal thing. You would buy a CD, and that's how you would get it. There were obviously things like Debian, yeah, sure, and there was Slackware, but there were also these forming commercial distros as well. Assuming that model was possible today, do you think that would potentially solve some of
Starting point is 00:18:27 the issue or do you think it's sort of... Yes, I do. I do. I do absolutely think that it would solve some of the issues because with the revenue stream that these companies could achieve by selling their work, they could pay people to offer support. They could pay people to do QA. They could pay people to do bug triage. They could pay people to talk to upstream. And then the bug reports that we got in KDE would all be 100% good actionable bug reports because they would be submitted by technical engineers who knew what they were talking about, right? You know, in other words, there would be a filter right between users and us. I know I'm sounding a little bit down on bug reports right now, because I've been beating this drum for many years of please report bugs, tell us what the problems are. And I think, if anything, we've
Starting point is 00:19:17 maybe been a victim of our own success here, because we get a lot of bug reports. And some of these are really good. And they tell us when there are problems. But we have an absolutely enormous number of bug reports that frankly are not very good. KDE crashed. How do I fix it? Exactly. Yeah. And then you have to, that takes so much time to sort out whose fault, if any, you know, is involved there. We get tons and tons of those. And it takes a lot of time to sort through. And all of this time, these are resources being spent. Everybody who works on this is not somebody who's working on actually fixing those bugs or writing new features or any activities like that, because resources are extremely limited in not only this world, but in all worlds relating to open source.
Starting point is 00:20:07 I think it's very tempting for people to imagine that there's like a big company behind a project, that there are vast unlimited resources. But the truth is, even in a large open source community like KDE, if you look at any individual product that KDE makes, big ones that you've heard of like Plasma or Credo or Ocular or Console, right? There's going to be maybe five people max doing 80% of the work in these projects. Like all of them, I guarantee it's something like that.
Starting point is 00:20:40 And some fewer than five, might be two or even three people. So the resources available are extremely limited. And what people manage to get done with these resources is, in my opinion, nothing short of miraculous. It's not sustainable. As I think we saw with the XZ hack recently, is that relying on volunteers who are always a week away from burnout to provide amazing service to the world for free this is amazing but it is not a sustainable model right and it turns out it may not even be a safe model this whole thing is like not everything is well supported this isn't just a kde thing as a
Starting point is 00:21:20 good example um in the gnome project the gnome calendar is maintained by one person yeah like a very important part of gnome that people expect that would you know be well supported but pretty much it's only developed by george's devra because they'll be like passing commits from other people yeah most projects will have a couple of commits here and there from random people and it will look like oh this is actually one of the things i don't like about how github does i don't know if gitlab does gitlab show the number of contributors yes gitlab has a really great contributor graph the graph is useful yes but i mean just like a raw number uh i don't know if it has a raw number because on github contributors by number of contributions right so it's very obvious if the repo is 99% maintained by one person.
Starting point is 00:22:08 But on GitHub, there is like, until you go to the graph, there is just the number and then the list of people. So it can look like most projects it'll look like, oh, there's like 20 contributors. But if you look at the actual graph itself, it's like, okay, there's a thousand commits from one person five commits from the next person and then go down from there basically very common extremely common and you see this pattern everywhere i think if you dig into almost any project it's going to be something like that and it's just not sustainable frankly in some cases that one person is going to be somebody who's who's paid and that's a little
Starting point is 00:22:46 bit more sustainable but in a lot of cases it's not and even when there is one person who's paid there's some fragility there an example i can think of is lib input which is maintained by the indomitable peter hutterer who's been around forever and he is paid by red hat to single-handedly develop and maintain lib input. And for years, he has been asking for people to help him out. And who's going to do that if there's no money, right? So it's just him. What happens when he retires? What happens when he gets reassigned to another team within Red Hat? What happens when there's a reorg? You know, what happens when he decides, okay, I've worked on lib input enough of my life. I want to move on. I mean, we're all screwed because that's
Starting point is 00:23:30 the proverbial one library in Minnesota, one person in Minnesota who maintains the library, right? So I think we all kind of need to be thinking about this problem of key components that are maintained paid or not by an extremely small number of people we've all gotten used to getting everything for free but the downside of free is free is unstable frankly yeah there is this issue that people have already heard before but this is a great example of it the the uh bus factor or the whatever term you want to use for it, where if this one person dies or they retire or whatever, however bad you want it
Starting point is 00:24:12 to sound, if this one person leaves, they take a lot of this legacy knowledge, a lot of core knowledge of how the codebase works. For a small project, that's not that big of a deal. If a code how the code base works and for a small project that's not that big of a deal like if a code base is a thousand two thousand lines long you can get
Starting point is 00:24:31 your head around it pretty quickly but when you're talking about like ten thousand twenty thousand thirty thousand even more lines of code you can get back up to speed but that project is going to take a long long time to do so, and finding someone who wants to spend, I don't know, a month, maybe even more, trying to understand a code base before they can even make a single meaningful commit, that's like, that's a massive, massive endeavour. Like, a good example of this is the Yuzu emulator. After they got taken down by Nintendo, there have been like all these splits off into these other projects to try and take it over,
Starting point is 00:25:08 but it's a massive code base and emulation is a difficult problem, so trying to find people who can not only understand the code but meaningfully change the code? That's gonna take a long time if ever possible. Oh, your audio's gone. Whoops, I had myself muted and I wanted to unmute. I'm always doing this. I'm not very bright. Anyway, I was going to say you're absolutely right, and when you look at a very large project like Plasma or Krita, these are projects that have millions of lines of code. And there's a tremendous amount of institutional knowledge
Starting point is 00:25:50 in people. And this maybe is a good segue to the KDE goal that I'm championing right now, which is called automation and systematization. And the goal of this goal... Do you have a link I can go to? If you go to kde.org slash goals, you will see it there.
Starting point is 00:26:09 This is a goal that was chosen by the community in the last round of voting. And the idea here basically was to externalize people's knowledge and put it into the Git repo, into the documentation system, so that the project would become more resilient to any individual person leaving.
Starting point is 00:26:25 Because it does happen, right? If you look at Plasma in particular, we have lost a number of senior engineers over the last couple of years, and they've been replaced by other junior engineers, some of whom have later graduated to become new senior engineers. But that process inevitably involves the loss of knowledge. It happens every time somebody leaves. And so the goal here is to get that knowledge into the form of automated tests, into the form of readme's and tutorials and internally facing developer documentation so that it's not so hard for people to get up to speed again so that those things that everybody knows how to do are actually
Starting point is 00:27:08 documented properly and I think that'll that'll really help when it comes to things like actually getting people to join the project as well because it's not just for the people that are in it right now when people say things like oh just
Starting point is 00:27:24 submit a patch for it like that's that's not an easy the people that are in it right now. When people say things like, oh, just submit a patch for it. Like that's not an easy thing to do. Like, yeah, if someone's demanding work, it's a fun way to tell them to basically piss off. But I mean, there's a bit of privilege involved in that, right? When you say patches, patches welcome. What you're basically saying is you can't contribute unless you're at a sufficiently high technical level that you know more about computers and this project than 99.999% of all humanity.
Starting point is 00:27:53 And maybe you do. Maybe that matches you. But if that doesn't, or more importantly, if you don't feel like that describes you, you're going to feel like that's an exclusionary statement, even if it wasn't intended as such. Right. No, I get that. Yeah, no, that definitely makes sense. And so there's this kind of this meta challenge here, which is that people want to help.
Starting point is 00:28:18 People want to help in open source, but being able to meaningfully help in open source, let's call a spade a spade. It does often require that you are a highly competent programmer. And if you're not a highly competent programmer, there are more limited ways that you can help. But that's not to say that those ways don't exist. The most obvious one is donating with your money
Starting point is 00:28:39 because then you can essentially, in the aggregate, pay other people to help. There's another drum that I like to beat, which is bug triage. Yeah, I was going to mention that. Yeah. I feel like bug triage is the perfect entry point for somebody who is passionate about a project and has a certain amount of technical knowledge, but not necessarily programming knowledge.
Starting point is 00:29:01 Because all you have to do to triage bugs is be reasonably familiar with the system whose bugs you're triaging. Because then somebody will submit a report and you will already in your head have some knowledge about, oh, I thought I saw that issue last Sunday, or wait a minute, that issue that this person is talking about doesn't seem like it's actually possible to happen.
Starting point is 00:29:22 Let me see what's going on. Or, oh, that issue this person is talking about is clearly affecting a different project because they're confused and they don't understand the structure of this community the way I do. So I feel like bug triage is a super empowering way for people to get started.
Starting point is 00:29:39 If you just look at something like the bugs opened in the last 24 hours, there is a ton of, it's just, it's showing 50 bugs. I don't know if that's like the the bugs opened in the last 24 hours there is a ton of it's just it's showing 50 bugs i don't know if that's like the limit it shows in the past 24 hours or how this system works that's about accurate okay okay um yeah and that's every day obviously it's more when there's you know around the launch obviously uh or i don't know if you guys ship a giant regression or something like that but that takes a lot of time to get through and tell me about it yeah it sure does yeah and it's also it's not necessary necessarily that all of them are new things they might be existing bugs
Starting point is 00:30:20 that maybe this is a new condition it happens in, or maybe it's someone... This is a big problem that I don't know how bug reporting systems can deal with. How you properly link together duplicates. Because the way that Bugzilla does it, from my understanding, is when you type in a title, it'll show you similar sounding
Starting point is 00:30:39 titles, but there's a lot of people who just don't know how to write titles. So, you might have written a good title, So you might have written a good title or they might've written a good title and yours is terrible. And it's just not showing up in that list. So you think it's a completely unique bug. And I know a lot of projects will say like search for bugs before you report. And yeah, that makes sense. You're not going to do that. Nobody does that.
Starting point is 00:31:00 On a small project. It's easy, right? Like if it's like a single repo and there's easy, right? Like, if it's, like, a single repo, and there's, like, one set of issues, maybe there's, like, 30 issues. Like, you can easily go through that. It's going to take a bit of time, but you can go through that. But when we're talking KDE, and there are bugs that get reported on the wrong list,
Starting point is 00:31:19 or they get... Maybe they are... There's some... Issues, for example, where maybe it's something where it could affect multiple pieces down the stack, where it might be a Plasma issue, or it might be one of the officially supported add-ons, or it might be an application.
Starting point is 00:31:36 It's like, you're not really sure where it is, so you might have all of these different reports across these different things with very, very different sounding descriptions, or they might be, be again they might be bugs where the conditions that's occurring in are different but it's the same underlying problem like uh for example the wire plumber issue i had when i reported that one to you guys and to that one to why yeah i did see the reply on that um because i yeah i didn't know where the where it was breaking because
Starting point is 00:32:05 it said k win wrapper or whatever in the the pipe wire logs like could it be your portal it was only happening when the kd portal was open so maybe turns out it was actually wire plumber doing something they haven't actually fixed it yet but there was another bug with a completely different set of situations for it to occur but it's the same underlying problem when they saw the stack trace of it, and I had no idea that bug existed. I had no way of knowing that because it didn't even sound like the same bug.
Starting point is 00:32:35 But, yeah, it's a very tough problem. Someone's going to suggest AI or something to fix this problem, but I don't know how you feel. So I'm not the biggest fan of AI, but it's something that I have thought about a lot myself is that we could, I think, actually benefit
Starting point is 00:32:52 from a basic automatic bug triaging AI because an AI is never going to be able to actually troubleshoot issues and identify root causes but what an ai can do is it can help make really bad unactionable bugs actionable or else filtered out so developers don't see them so when somebody does submit a bug report like what you said earlier where it says kde crashes fix it you know a human shouldn't need to look at that. An AI or even a less smart, just a bot of some sort, some kind of pattern matching keyword bot could say, hello, it looks like this bug report is crap. Could you please do a better job, but with more gentle language, of course.
Starting point is 00:33:40 Sure. And that's something that is on my long-term wish list for Bugzilla is that the bug reports that are not very good get hidden from developers whose time is more valuable than to look at those. But I am a defender of Bugzilla in many cases. I'm going to acknowledge that it's not perfect, but I think it's pretty pretty good when it comes to searching for duplicates this is a place where i will not defend it because it is not amazing here i think the the way that that searching works is very unintuitive precisely because closed bugs are filtered out by default so if there's an issue like the classic situation is you're using an old version of Debian and you encounter a bug and you want to do your part and look for duplicates. Well, you're not going to find it because the report for this is already closed because it was fixed months or years ago.
Starting point is 00:34:37 So you're going to file a new one and then somebody, me or Nicolas Fela or somebody else will need to go manually market as a duplicate of that one and and that's that's a pain in the butt definitely a pain in the butt i am going to pre-warn you about this because i i when i talked to david he didn't know this was happening um kubuntu 24.04 is going to be shipping 5.27. So there's going to be users who are reporting 5.27 bugs as Plasma 6 bugs, and they won't know the difference. So I had some discussions with the Kubuntu people about
Starting point is 00:35:13 this, and I told them this. I said, you are going to be shipping a version of your distro that has software that's already out of maintenance. And then it's 3-year OTS, I believe the flavors do. Yeah.
Starting point is 00:35:29 Yeah. And, you know, if you're using the KDE version, maybe you're more of an enthusiast and you might want to upgrade, but still, it's going to be years. There's going to be frustration. The thing is, this is nothing new as well. We deal with this every cycle with Debian because Debian has a roughly two, sometimes two plus year release cycle.
Starting point is 00:35:51 So by the end of that cycle, we are regularly receiving bug reports that were fixed two years ago. Right. By Debian users. And it's gotten to the point where I have a little snippet of text in my canned answers git repo that I use for bug triaging where I just copy and paste in there and I say, hello, you're a Debian user, please submit bug reports to Debian first because they are responsible for providing support for out of support versions and this isn't because i'm
Starting point is 00:36:26 trying to be mean to debian debian's own guidelines recommend this they recommend to their own users that users submit bug reports to debian first and not upstream so you know my butt's covered there i'm i'm not upsetting anybody yeah it goes back to the problem where it's just difficult to find where this information is and like people will hear i have to report bugs right but they won't know all of this context around it like should i report to upstream should i report to downstream depending on what i'm on well if i'm a neon user yeah i should definitely report upstream because they're the only people that are going to deal with that problem but if you're on something like Arch
Starting point is 00:37:08 should I report to the distro? should I go upstream? if you're using Kabutin 2 or actually, let's go Fedora 40 because they're going to be on Plasma 6 if you're on Fedora 40 should you report your bug to Fedora or should you report it to Plasma?
Starting point is 00:37:23 it's really hard to work this problem out and I've discussed like general guidelines but there's no clear-cut answer. It's really hard for sure and I think there are different audiences for this message too that you have to tailor your communication to because the kinds of people who actually do go to bugs.kde.org and fill in a bug report are almost by definition fairly technical people. Right. So I think it's at least in theory feasible to disseminate the message among them that you should try to put a little bit of effort into figuring out where the bug might be.
Starting point is 00:38:02 Is this an upstream issue? Is this actually a KDE issue? Is this a distro packaging issue? For regular users, there's no hope and we need to do a better job for them. Um, I, over the course of about a year and a half, I was responsible for helping to refine a particular error message in Discover that illustrates this principle. Because in general, nerds, they like to use their package manager on the command line to update, but regular people use Discover.
Starting point is 00:38:34 Sometimes nerds do too. And when regular people use Discover, every once in a while, it spits out an error because the distro has messed up their packaging somehow. It depends on the distro. Some are better than others. But we had this classic problem where people would see this error message and they would take a screenshot of it
Starting point is 00:38:52 or they would copy and paste it and they would put it into a bug report in bugs.kd.org. And the message even says something somewhat technical that indicates that it's not our fault. The message would be like, oops, overlapping files between these two packages. Contact your distributor for assistance. Yeah, that's a weird one. Things like that. And so we refined this, the presentation in Discover. And where we've ended up with is a place where the error message first says, oops, there was an issue performing the update.
Starting point is 00:39:26 error message first says, oops, there was an issue performing the update. Please try again later. Because most update issues are resolved when mirrors sync or the repos sync with each other or the network connection gets better, right? So that weeds out a ton of things. Then there's a button on the bottom that says, click here to see nerdy technical details. And then nerdy technical details is in a box. And it says, here is the message from your distributor's package manager. And it doesn't say your distributor, it says the name of the distributor. So it'll say, here's the message from Ubuntu,
Starting point is 00:39:56 right here in this little box. And then there's a button under it that says, report this bug to Ubuntu. And then you click on that button and it takes you straight to Ubuntu's bug tracker. Oh, okay. Yeah, because we know what that URL is. It's in the release data.
Starting point is 00:40:12 That is a standard cross-distribute thing. So basically what we tried to do here was make it as easy as possible to report a bug in the right place and more difficult to report a bug in the wrong place. And as a result, most people don't file bugs on this and discover anymore. I would say once a quarter, we get a bug report where somebody has literally taken a screenshot of the error message that says, please report this to Ubuntu.
Starting point is 00:40:37 My favorite is when they take a picture of their screen with a phone. Yeah. I like those. That's that's great. But you know, the message will explicitly say what they should do instead. In that case, we can close it. But we went down to, I would say, at least one bug report per week with this kind of issue to no more than three or four per year. So it is possible. It is possible to direct people to the right place, but it takes a lot of effort. It really does. And this was a
Starting point is 00:41:06 clear-cut case where the error message is unequivocally coming from the distro. And it took us a while to figure out a user interface that guided people in the right direction. So it's that times a thousand that is needed to help people to get their reports into the right place. I think one of the things Katie does that does help out with the bug reporting as well is is needed to help people to get their reports into the right place. I think one of the things KD does that does help out with the bug reporting as well is having the reporting a bug in a lot of KD applications where you can just like go to like a help menu or something and they'll just be report bug there that I think it doesn't solve every problem because obviously not everything has it and sometimes something might be breaking outside of the app and it looks like it because you've got the app open it looks
Starting point is 00:41:49 like the app itself is breaking so it's not going to solve every problem but what sort of effect actually how long has kd been doing that and as that's been introduced um what sort of effect has that had so kd has been doing that for at least 10 or 15 years. That menu item has been present in the menu structure of every single Qt Widgets-based KDE application for a very long time. We don't get those automatically in QML-based apps, but for most apps we do add it in there manually because it seems useful. I don't know if I can quantify the exact effect that has. Sure, if it's been that long, then it's hard to say, yeah. Yeah, that's the thing. And the thing is that this also contributes to the bad bug
Starting point is 00:42:31 report effect too. Because let's say... Right, makes it too easy. It makes it too easy, right? Let's say you're using an NVIDIA GPU and you experience some kind of weird tearing or graphical glitching on your app and you're like oh the app is broken i'm gonna report this well the app is broken but it's not the app's fault right and it maybe it's not even the compositor's fault maybe it's your gpu driver's fault so this is this is a very challenging thing to uh to figure out how to how to present you got a you got a noise going on on your side?
Starting point is 00:43:07 It should be gone now. Yeah, it's the perils of working from home, right? Yeah, if only the connection was working in the other room, we'd be fine. I know, I got to get that sorted out. Do you know what could be the issue there, or is it just like... I'm so bad at network things.
Starting point is 00:43:27 Yeah, I know the feeling. We were trying to record in my office earlier, but the connection kept dropping every couple of minutes. And I mean, it's a super janky setup right now where I actually have my computer plugged into an external Wi-Fi receiver so that it picks up the Wi-Fi signal from my router, which is in the house.
Starting point is 00:43:48 And this generally works. Yeah, I guess it's a little bit janky, so I need to try some other things. Ultimately, I'll probably just end up trenching from the house to the office and laying an Ethernet cable and that'll fix it. That's the easiest way to do it. I'm just lazy. I'm so lazy.
Starting point is 00:44:04 So that's why I haven't done it yet. Yeah. Instead I've just dicked around with fancy cool tech to try to get the wireless thing working, which obviously was not the right approach to take. Yeah. I tried to do wifi in my house. Um, then I gave up and now I've got an ethernet cable, uh, like hooked along the wall and just, it goes all the way to the the modem and it it works you know and then i've got a switch under my bed and that plugs into everything in here perfect imagine that imagine if you just wire everything up it just works perfectly well the wi-fi works fine within the house but it seems like going from one one building to another one is kind of the problem
Starting point is 00:44:41 imagine that it's strange so this is going to be a weird tangent, but I'm going to mention this here because probably a lot of people don't know it because I didn't know this. One source of the problem is that the window in my office contains a low E coating on the glass that blocks Wi-Fi signals, but not all low E windows have the same chemical composition of the coating. And so the coating on the window in my house does not block Wi-Fi signals, but the coating on the window in my office does block Wi-Fi signals. So right now, the antenna that I have
Starting point is 00:45:12 is literally pointed directly at a solid wall because the signal propagation is better through the wall than through the window. It's extremely strange. I didn't know. So all of this, I think, is definitely leading to the conclusion that it's just time to go Ethernet. I had no idea that was a thing.
Starting point is 00:45:32 Yeah, me neither. Yeah. It's not one of those things you would ever look into unless you suddenly have an issue with it. You're like, why? What is going on here? Yep. So, what was the launch of Plasma 6 like? How was that experience?
Starting point is 00:45:50 It was a really cool experience. It was my first major Plasma release because I was not around for the beginning of Plasma 5. To a certain extent, the launch of Plasma 6 went very similarly to the launch of any minor release where in the beginning, there's a big splash and everybody gets excited. And for about one week, you think, oh man, this is going great. We did such a good job. And then after the first week, you start to get the really weird bug reports coming in where people with very strange custom systems are having things get broken. strange custom systems are having things get broken. So given how much was changed under the hood for Plasma 6, I think we did a pretty good job. There were a number of regressions that frankly we should have caught. And there's an open discussion about how to do that better. And this gets into the issue of size and complexity, which we talked about before,
Starting point is 00:46:45 because the bigger a project is, the more difficult it is to get adequate coverage for every individual thing it can do. And this is what counterbalances the desire to add options everywhere, right? And the GNOME people are super extreme about this. They have a culture of like, no options anywhere, which in some ways is easy because that's just, that's the party line. It becomes defensible in KDE. We don't have that party line. And so we need to draw a line somewhere and it becomes very challenging to determine where it's appropriate to add an option, where it's not. One of the most obvious examples is just X11 versus Wayland session, right? When the Wayland session got made the default, by that point, most devs were already using Wayland and some of the remaining
Starting point is 00:47:34 holdouts started using Wayland to do more testing on it. And very few people were actually testing on X11 inside the KDE developer community. And we have beta testers, right? We decided for this release, we were going to do three months of beta testing instead of one, like we were really going to pull out all the stops and we got tons of bug reports. Our beta testers were amazing, but most of our beta testers didn't change the default. So they were testing on Wayland 2. testers didn't change the default. So they were testing on Wayland 2. And so once the release came out,
Starting point is 00:48:08 there were all these little X11 specific glitches that just nobody had noticed because nobody was using it anymore. And most of those got fixed pretty quickly. But it was something that shouldn't have happened. We should have had people testing it, but it's also understandable why it happened too. And I'll just say that's the peril of options and choice, right? This was why one of the things I really wanted to do in Plasma 6 was
Starting point is 00:48:35 get rid of stupid options. Not like options that people use, but like stupid options that nobody should use or that we have evidence that are only misused. My biggest example is the multiple ways to scale the system. If you wanted to make everything on your system bigger or smaller because you have a high DPI monitor or not even a high DPI monitor, maybe a moderate DPI monitor, and your hardware vendor chose a stupid DPI that makes everything slightly too big or too small. There used to be like four ways to do this. Like we had the, so we have the way that we want everybody to use, which is the standard scale slider in the display and monitor KCM, that page.
Starting point is 00:49:21 That's what we want everybody to do. But in addition to that, in the fonts page, we had a font DPI control that also did some things. Then on the icons page, we also had an icon size chooser. And that allowed you to make all the icons bigger or smaller. icons bigger or smaller. Then also back on the fonts page, we have the font size chooser and lots of elements in the user interface scaled with the font size. So there were so many different ways to make your system things on your system bigger or smaller. And we would get all these weird bug reports from people saying, oh, this is miss size. This is too big. This is too small. And then we would dig into it and we would find that they were using like three of these
Starting point is 00:50:06 settings in strange interlocking ways that couldn't possibly work. And so for Plasma 6, we got rid of several of those. We got rid of the semi-global font size chooser and we got rid of the font DPI spin box, at least on Wayland. So now on Wayland, the only supported accepted way to scale your system is using the scale slider. And once this started happening, we got bug reports from people who said, hey, the scaling system doesn't work all that well. You guys really messed up and you should fix it. But this is good because now we're getting people filing bug reports on things that
Starting point is 00:50:39 are actually bugs instead of filing bug reports on their own workarounds and saying, will you please add an option to better support my workaround? And when we're getting bug reports on the bugs, we can fix the bugs. And the scaling system has gotten a lot better as a result of it. So this is the path forward is to try to unify the experience that people have on one thing that works well instead of three things that don't work well. And this is not saying that we're going to get rid of all the options, but we want to get rid of the stupid options that are primarily being used as workarounds for our own bugs. Because we do have a standing policy of we do not support working around our own bugs. So if you file a bug report and you're like, hey,
Starting point is 00:51:25 your software doesn't work well when I use this environment variable and force these things in a strange position, we're like, sorry, don't do that. And then they'll say, well, I have to do that because there's this other bug that I'm working around. And then we'll say, file that bug report so that we can actually fix that i think this wasn't where you were going with that but i think there is something important to be said in there and this is very true with the the beta testing was done the people that were doing the beta testing those were not regular linux users they were not regular kde users even they were very hardcore kde people that have a deep understanding of the system and this is why i wanted to use plasma myself because i don't have
Starting point is 00:52:13 experience with it and a lot of people didn't like some of the things i said and that's understandable but i think a big problem with when you're a developer on a project for, I don't know, five years, ten years, or you've been using Plasma since KDE 3, when it was still called KDE. You build a lot of these, they might not necessarily be workarounds per set, like workarounds for bugs, but you've got a workflow. per set like workarounds for bugs but you've got a workflow like you have a system that you understand how plasma works and it inherently makes sense to you so any like weird ux things about it just it's invisible yeah they people were very angry when i said like when i got confused about opening up the um the widget edit or the the bar edit for example, because there was like a distinction between edit mode on the desktop and edit mode on the panel.
Starting point is 00:53:09 And people were like, no, this is really obvious. Like, no, it's actually not. If you've been using- No, that one was totally legit. And that one was kind of like a five minute fix for Marco, who's already made it much easier. Well, minus any, it had been discussed before in the past as well.
Starting point is 00:53:23 It's just no one had implemented it. Yeah, a lot of things are like that. That was totally a legit one. I think deliberately not installing a ton of critical packages just to see what breaks was a little bit more of a enough rope to hang yourself in the foot situation. The reason why I do that is, I, I, look, I'm actually, I am going to blame part of this on KDE itself. I think you're just a masochist. No, I am. Yes, true. But I don't like... So with the KDE packaging guidelines,
Starting point is 00:53:54 I don't like the fact that there are this minimal subset of packages that distros should install, but a lot of things still expect other things to be installed, even though they are optional. That's my main thing. And I've talked to a couple of people about this that well and that's that's a bug on our side but there's like a what is optional right like let's take case green for example which i recall you had issues i don't know why that's the step i know now why it's a separate package i it'd be there's a whole like legacy reasons Dave was like yeah there was like competing things it's not just legacy reasons either because let's say
Starting point is 00:54:26 you're installing plasma on a system where there's always guaranteed to be only one screen sure and you want it to be as minimal as possible like I don't know an embedded system with a raspberry pi or something like that
Starting point is 00:54:41 or a car a car that is not the Mercedes EQS that has three screens. If there's only ever going to be one screen and you want your package that gets delivered to users to be as small as possible so that OTA updates are really fast, you don't want K-Screen in there, right? So it's not a mirror to not have K-Screen. I will disagree with you you specifically because things like game controller configuration are part of just just part of plasma yeah it's valid um that's
Starting point is 00:55:13 totally valid if all of these settings are different modules understandable but like random things are not modules like case screens one of those ones or like about this system like that's in a separate module like i don't like i get it from that perspective sure in like a situation where you want something super minimal and like it the user is never going to get to the system settings anyway like that's understandable but i think being in like this weird middle state makes it confusing it's totally valid um that we do have some things that could be totally irrelevant that are bundled inside workspace or desktop. And that's another conversation because there, as you've seen, there are multiple schools of thought within KDE. One is separate everything as much as possible and do tiny little packages so you can have only what you need. And then there are other schools of thought in KDE that say,
Starting point is 00:56:05 make it easy for people to get like a good usable system without having to know the details. And KDE is a big org. There isn't necessarily a consensus on this yet. You'll see, for example, with KDE frameworks, which are like 80 packages. Back in the KDE 4 days, that was one package. It was called KDE Libs. And it was huge. And it was like 500 megabytes. And people complained. They said,
Starting point is 00:56:30 oh, KDE is so bloated. I tried to install Dolphin. And it wants to pull in this KDE Libs nonsense. That's half a gig. What's wrong with KDE? So we took that to heart. And we split everything up for Plasma 5, for the version 5. And we split it into KDE frameworks. Now, when people go and they do, you know, sudo apt-get dolphin, they say, oh, wow, it wants to pull in 40 new packages. KDE is so bloated. So you kind of can't win no matter which way you go with this. And to a certain extent, there's no getting around the fact that it's just big. Like KDE stuff is big. Plasma is big. The workspace is big. There's a lot of stuff going on here.
Starting point is 00:57:14 And so we rely on distros. We rely on distros to do a good job of packaging this. And that gets back to an earlier topic I discussed, which was vertical integration. And it's why I think it's so important for us to have a distro, not because we want it to be the only distro that people use, but because we want to showcase what we think a well-packaged KDE distro looks like. Again, not to say that everybody else is wrong, but we want to show what we think is right. Again, not to say that everybody else is wrong, but we want to show what we think is right. Because sometimes it's an understandable thing. Like another example, a thing that happened right after the launch of Plasma 6 was we heavily advertised that the desktop cube was going to be back.
Starting point is 00:58:10 And people on Arch started using the desktop cube and it didn't work. And it didn't work because of an Arch packaging decision to make a key dependency optional rather than mandatory. When I talked to David about this, he was saying it's because KDE add-ons is a... It shouldn't be one thing. It really shouldn't be. There are so many different things. I discussed this with a prominent art packager and his opinion wasn't invalid because it is a giant, stupid grab bag repo with a lot of random stuff in it. And because of that, it does pull in a lot of dependencies. But on the other hand, it doesn't really make sense, in in my opinion to make any of those dependencies
Starting point is 00:58:46 optional because that's something that's just broken and you won't know why. So it's a situation where nobody is really right or wrong. It needs to be redone. Like what we need to do is split up that repo, but let's say we did, right? Let's say we split up KDE Plasma add-ons, which has something like 15 widgets in it. Should we make 15 new packages? If we did that, wouldn't that make life harder for people like you who are trying to install things package by package and wondering why things are missing? I think that would... So there's a lot of things I don't care about in Plasma-ons like most of it actually pretty much all of it there's like one little thing um i don't recall uh there was yeah i don't remember there was one thing i wanted from it regardless um i so i think if you have some prominent ones are like the
Starting point is 00:59:38 weather widget which is in plasma add-on yeah sure let's say there's also the large icons task switcher which is very popular and people like that. Right, right, right. There's the timer widget that's also in there. So, you know, if each one of these was a separate package, then wouldn't that just be more error prone for people wanting a complete system? Or maybe what we should do is put those in core
Starting point is 01:00:01 and have those in like Plasma desktop and everything else should just be distributed via store.kde.org or something there are a lot of things we could do here um because frankly the approach of having a giant meta repo that has everything stuck in it is pretty lazy and it also doesn't scale because the more things we put in it the more it you're eventually going to get into a 500 megabyte package this is way too big yeah so so you know yeah there's there's something that's that's definitely going to need to be going to need to be done there at some point and and that's that's going to be a discussion because it will reignite
Starting point is 01:00:34 this debate over should we split everything up into tiny pieces or should we make it easier for people to get a complete system and I don't think there is a right or wrong answer there. And so that's why I think when you do decide to kind of build your system from pieces, you have to expect that there's going to be a little bit of friction there because it's like getting DIY furniture, right? When you get DIY furniture, you got to put it together. And it comes with instructions, but let's say you don't read those instructions. Well, if you don't read the instructions, you're going to have a hard time putting the furniture together and whose fault is that? It's yours. And the equivalent of the instructions that we provide are that distro packaging recommendations page. Those are effectively the instructions for how to get a good complete plasma
Starting point is 01:01:26 setup over there. So I think you got to read the instructions or you got to get an out-of-the-box pre-built product or else you're in for an adventure. That's my new favorite word to describe the experience of using one of these DIY or less stable systems. I don't know how you feel about this, but I feel like in these cases where... Let's say with the cube, for example. I don't know if this is something you would say is worth fixing or if it's something that's just on the distros to make sure it doesn't happen but I didn't like that it silently
Starting point is 01:02:10 errors out so if you don't have a quick whatever it's called the dependency the 3D one if you try to open up the cube it just doesn't work it doesn't tell you anything there's no error from Plasma it's not like missing library up the cube, it just doesn't work. Yeah, it doesn't tell you anything. There's no error from Plasma.
Starting point is 01:02:25 It's not like missing library or anything like that. It just does nothing. I don't know whether that, and there are a couple of places where that happens across Plasma that you could argue are entirely the fault of me or entirely the fault of Arch for the way they package. And maybe you could argue that the whole idea
Starting point is 01:02:42 of there being a Plasma desktop package that can be installed by itself shouldn't be possible. And maybe distros shouldn't even allow that. There should be these things that are hard dependencies. Like the basic package list, like the meta package, should be the only thing that exists. Maybe that's fair. I don't know what your thought on this is, but just give me your general thoughts. So it's a complicated situation.
Starting point is 01:03:03 I don't think there is necessarily a right or a wrong answer because it depends on your perspective here. Like you could very easily make the point that, oh, distros have mispackaged our software and it's up to them to get it right. We shouldn't have to show error messages for their problems. And I think that's a valid perspective. But then there's also the perspective that says, one moment. So good, so good. Busy house.
Starting point is 01:03:35 So there's also the perspective that says, well, the fact that it's possible for distros to miss package this means that it's up to us to provide some sort of blame shifting so that the user at least Forgetting forgetting about whose fault it is the user knows what they can do Um, I tend to be in this camp personally because I think that you can't rely on people To understand all of that stuff themselves all of that stuff themselves.
Starting point is 01:04:07 Sorry. As you can tell, my life is very busy. But that's okay, because better busy than not busy enough. So I tend to fall on the side of when there's an error of some sort, we need to show it to the user so that they at least can know what to troubleshoot. And better yet, we need to tell the user whose fault it is so that they know who to file a bug report on. This gets back to what I was saying with Discover, where we worked very hard to make it clear whose problem it was and who they could go to for help. And in fact, for the cube effect, I believe we did just that.
Starting point is 01:04:39 So we now have a visible error message that appears on the screen when the cube couldn't be loaded. So if you're missing that cute, quick 3D dependency that we've been talking about for the last 15 minutes, it will say, blah, here's an ugly QML error, missing dependency, blah, blah, blah. And it's written in technical gibberish, but at least you can Google it, right? If you're typically knowledgeable enough, you'll say, oh, I'm missing that package. I'm going to go install it. Oh, why didn't my distro pre-install it? I'm going to go tell them to pre-install it and so on. So I think, personally, if there are cases where it is possible for something to be mispackaged,
Starting point is 01:05:20 we should make it easy for people to see that error without having to crack open the journal log of course that's more work it's a lot more work and error effort is finite and there are limited resources so it's it's all about increasing those resources so that more of this stuff that we all want to happen can happen so when it comes to distros like Arch, I think the much simpler problem is the way... I'll get back to the packaging guidelines. There's one line in the guidelines where it says recommended packages to pre-install.
Starting point is 01:05:56 For anyone... I don't know if you know the exact line. They probably don't know the packaging guidelines off the top of your head. I actually wrote that. Unless you do. You know it fairly well. Okay.
Starting point is 01:06:04 For anyone who doesn't know it, it says these are packages that we recommend you pre-install by default or install when the user installs your KDE Plasma Desktop meta package. This implies that the existence of a Plasma Desktop that is not a meta package is like a valid way for it to be installed.
Starting point is 01:06:23 Like a valid package to exist i think i think if i i think that if the idea of not wanting to support the idea of a solo plasma desktop by itself that should probably change to something like these are packages that we require be pre-installed um because this is why arch does, very strictly to the letter, most of the time, there's a couple of cases where they don't, but very strictly follows what Upstream says. So if Upstream says you can have a meta package and then you can also not have a meta package,
Starting point is 01:06:55 that's going to exist. And whether that's something that Plasma wants to support, that's understandable. They don't want to support it. But I think the simplest solution is changing the guidelines. It's not up to us to require a meta package we can't really do that because we don't offer the packaging sure sure um we can we can tell packagers please offer a meta package and i think to my knowledge all of them do in these distros but we can't require that people use it, right? And I think not using... No, you couldn't have the desktop
Starting point is 01:07:28 not build without the dependencies installed. You could hard do it in the code base. Which dependencies? Well, the basic guidelines for the meta package outlines as what Plasma needs to contain. That's what I would say. Not the entire framework but you know the the list where it's like breeze gtk that's not even possible either
Starting point is 01:07:50 because uh plasma desktop is indeed just plasma desktop as distinct from plasma mobile and plasma big screen right so we do have to have these separated out um and i i think in KDE we try to be nice. And so the experience of not installing the meta package and building it from pieces is valid. I don't think there's anything wrong with this. But I think when you do this, you kind of have to realize that you're on your own. Sure. That you're assembling IKEA furniture without an instruction manual. And maybe we could make that clearer on the wiki page as well, because we want to make sure that people know what
Starting point is 01:08:29 they're getting into, right? Because there are a lot of packages here. And installing a meta package is easy, but we also can't put specific distro recommendations on here because every distro packages things differently. I know in Fedora, for example, they do basically what you say, where they make lots and lots of things, hard dependencies on Plasma Desktop, and they don't
Starting point is 01:08:51 even let you remove any packages that will cause Plasma Desktop to be removed, which I think was done after the Linus thing where he blew up his system by trying to install Steam or something like that. So they make it like a hard dependency there. And that makes sense because Fedora is kind of more of a, you know, everything included distro, but Arch is by definition a DIY distro. And when you choose to use a DIY distro, I think you have to enjoy the DIY process, right?
Starting point is 01:09:20 You have to be the kind of person who encounters an issue and sees it as a fun challenge that you can overcome um and if you're the kind of person who sees those challenges and gets annoyed at them maybe it's a sign that it's not quite the right distro for you no that's that this is the general you french no that's that's understandable i i get what you're saying here yeah yeah no that's fair um That's the only reason that I talk about this, because of the way the guidelines are written. If the guidelines weren't written like this,
Starting point is 01:09:50 then I wouldn't install Plasma like this. I would have all of these different things installed. But I like to push... I do like to push the bounds, right? If this is going to be a supported way... Maybe not supported by Upstreet, like explicitly, but if this is not going to be something disallowed or i know like as you said it's hard to do that but i think even if it's not making hard dependencies i think updating the guidelines to make it explicitly clear what is and is not supported by the upstream project, I think is going to go a
Starting point is 01:10:25 long way to making it clear what should be done. It's an interesting point. You know, right after this recording, I can go think about that and update it. It's a wiki that's nice and easy. But I think it's not really about what's supported and what's not because we we support using the system in any way that makes it work it's kind of about what you're expecting right like if you're expecting for thumbnails to work out of the box um then you've gotta install the meta package or you've gotta know what that package is and know that you have to go install it or use a distro that does all this stuff for you. And if you aren't doing any of those things, then you're not going to get thumbnails out of the box.
Starting point is 01:11:11 And maybe the problem here is that we're not making it clear enough what you risk losing if you don't use a meta package. And perhaps that's the avenue of improvement we can investigate. Yeah, no, I think that's definitely fair because it's, again, this goes back to the thing where like K-Screen is like a separate module. It's not entirely clear like what is and is not separate. That, yeah, I think it's a tough problem because there's going to be a lot of different things
Starting point is 01:11:38 that would need to be mentioned then because there is a lot of different packages and it's obviously easier than rewriting a bunch of code. Yeah, for sure. Like updating a wiki is a lot of different packages and it's obviously easier than rewriting a bunch of code. Yeah, for sure. Like updating a wiki is a lot easier, but that's not to say it's like a trivial thing to do. And I do get that like.
Starting point is 01:11:52 Oh, that stuff's easy. Text is easy. I went to a liberal arts school. I know how to write English text. The only thing I know how to do, I can pretend to code sometimes, but I can write a decent English sentence. But yeah, the reason why I bring this up is because I watched your stream and it didn't seem to me like you were having any fun. To be fair, when I'm streaming, I'm drinking and also I'm, it's intentionally being extravagant. Sure, I get it.
Starting point is 01:12:22 That's the YouTube. It was also my biggest story. I had 500 people in my chat. People are constantly talking at me. And it's hard to shift focus and, you know, yeah. I'm sure you've done talks in public before.
Starting point is 01:12:38 Having people ask, try to get your attention with different things, it's difficult. Well, mostly when I'm doing a talk in public the audience is nice and respectful and they're not interrupting me yeah that's fair so i can see how streaming would be a little bit more nerve-wracking there they're just but then you get the top questions people are yelling questions at you constantly and people telling you how you're doing something wrong because they've been using plasma for 10 years and know exactly how to do it
Starting point is 01:13:01 and then the people who pretend like they've been using it for 10 years who are completely wrong and are just sending you down the complete wrong path. That's always great. Yeah, yeah. I get it. I get it. That does sound stressful. At least when you're public speaking,
Starting point is 01:13:15 usually people save the criticism for the very end where they'll ask a question where they'll say, well, thank you very much for that talk, but don't you think that everything that you said is totally wrong and what I'm about to say is actually right? Right. Also, it's not necessarily people that are wrong. There are people also, as you're saying, options that were removed in Plasma 6. Like, they tell me about an option to fix something, like some issue I was having, but it exists in 5.27, but it doesn't exist now. So it's, yeah.
Starting point is 01:13:45 Yeah, exactly. Yeah. So anyway, you were saying about the stream, didn't look like I was having fun. Yeah, and I was feeling sad because, you know, the process of discovery and learning something new, I think can be fun. I figured there was a little bit of extravagance
Starting point is 01:14:02 and flamboyance for the audience there. But yeah, my general hope is that people who are putting together a Lego set without the instructions would be enjoying the process. Otherwise, they would be using the instructions. I think the main... I take your meaning that maybe the instructions themselves were not as clear as they could be. So totally going to change that right after this most of that stuff like i i off the stream i was like checking reddit posts and stuff like oh here's a dependency i'm missing install that why why can't i configure my monitors okay screen needs to be needs to be installed i needed to report a bug i was like it said go to about
Starting point is 01:14:41 this system i was like why is about this system missing? Oh, it's a missing module. All of this stuff is fine. The main issues I had, and I did talk to David about this, were my stuttering issues. And there were stuttering issues that got addressed in 5.27. And this might be a different issue or something. Or it might be an AMD driver issue i i don't know what it is but um yeah there's just like anim sometimes animations lock up i i have no idea what the
Starting point is 01:15:15 problem could be and i'm not an nvidia user that's which is the big problem i'll try not to turn this into a live bug triaging session but uh is it fixed now or are you still experiencing it? Let's find out. No. To me it sounds like it probably is a graphics driver issue. Yeah. Well, this goes back to the wire plumber thing, right? Like it could just-
Starting point is 01:15:38 It's a thing, how do you know, right? For graphics drivers issues in particular, there's almost no way to avoid first filing a bug on KWin and then Xaver or Vlad shows up and they say, oh, it's this exact bug on the Mesa issue tracker. That's kind of what David was saying, where it was like, there's animation, you need to like request a number of like a delay from the GPU or something. I don't remember. It was like, go technical GPU stuff.
Starting point is 01:16:04 I didn't really know. These guys are way smarter than me. I can't pretend to know what they're saying most of the time, but I always just. Basically GPU hard. That's pretty much where we got. It's very hard. It's very hard.
Starting point is 01:16:15 Very hard indeed. But the reason why it might sound like I'm so critical about Plasma is because most of it is good. Like, most of it... Like, I don't need to talk about the way that, um, like, window snapping works or the way... Like, basic things like resizing windows, window closing, the way shortcuts work.
Starting point is 01:16:35 Like, all of this stuff's great. Like, this is why... Like, it might seem like I'm more critical than I should be, but it's because there are these very few issues that I have that, like, that... Why is OVS
Starting point is 01:16:53 lagging? Oh, no, maybe the whole browser was lagging. I don't know. Whatever. Chromium. We'll fix it. I don't know what it was. I will check in the recording afterwards. But there are so few issues
Starting point is 01:17:09 I have in Plasma. Like, the way tiling works is one and it's not a bug with tiling. It's just... Have you tried Polonium? I'm waiting for them to get 1.0 out. And I think they're waiting on Plasma to fix a bug. So I think the bug's going to be fixed in... I think the bug has been and I think they're waiting on Plasma to fix a bug so I think the bug's going to be fixed in I think the bug has been fixed but they're waiting on.04 is that the next version
Starting point is 01:17:30 or is.03 whatever the next version is to come out..04 is the next one yeah but yeah when when you look at the tiling system the tiling system was not designed to be like a full window manager alternative it doesn't offer auto tiling The idea was to offer enough API hooks for third-party scripts like Polonium to add that content themselves. And so I don't use this stuff myself, but I think they've largely done that. So if that's your preferred workflow, I would definitely recommend using one of those tools above and beyond what's built in. There are things even in the context of the way it currently works that i do think could be improved like um the quick tiling interacting with your tiling layout that would be a massive improvement
Starting point is 01:18:13 sure that's that's an open target yeah i wish listed in there like currently working on that okay for six point yeah okay okay that's awesome it was something that got flagged during the development of this feature as like an awkward interaction but we didn't have time to sort it out because it's kind of a conceptual problem because we're we're we're adding a new system that does the same thing as the old system but more and better yeah but the old system has been refined to perfection over 15 years. And so we don't want to make the new system worse than the old system in a million tiny little ways. Because then that's a way that we frustrate the heck out of people. But on the other hand, if you do what we did, which is add a new system on top of the old system, then you have code duplication. And then you have multiple paths to achieve the same thing.
Starting point is 01:19:04 And people get confused. And you have code duplication and then you have multiple paths to achieve the same thing and people get confused and you have a maintenance burden. So it's just one of those software development is hard things, especially software development in the context of keeping an existing user base happy is hard. I also, I haven't reported the problem yet. I need to do that. But I also noticed a weird issue where under some like very odd conditions, if you resize a floating tile,
Starting point is 01:19:30 you can get it to start overlapping with other tiles. It's a very weird one. I think it showed up. I thought we fixed that one. Oh, okay. Maybe it. Let me try that. Yeah, we fixed that.
Starting point is 01:19:42 That's fixed in 6.1 already. Oh, okay. Awesome. Yeah. I remember that. That's fixed in 6.1 already. Oh, okay. Awesome. Yeah. I remember that one. That was a 15-minute bug. Because I... So I...
Starting point is 01:19:51 I electrocuted somebody into fixing it. Because I was messing around with the floating tiles, and I had... I think I had, like, two floating tiles sitting there, and I resized one of them, and it suddenly turned back into, like, a regular tile, and it suddenly... And it was, was like because it was
Starting point is 01:20:05 it was overlapping so the buttons were behind another tile so i had to like delete a tile to get to it obviously it was a bug um yeah definitely a bug got fixed already yeah maybe even 604 it's at least fixed and fixed in 6.1 okay so i'm trying it out right now and it's it's not happening again because i know exactly what bug you're talking about yeah yeah it's it's one of those bugs where you have to like really be trying to do something stupid to get it to happen um i mean frankly you know the awkward truth is a lot of bugs are like that um my wife has been using kitty plasma for years now, she experiences no bugs. Because, I mean, not to be insulting to anybody, but she uses the system like a normal person. And when she does have a bug, it's like a very obvious bug that like everybody will hit. And it's the kind of thing that gets fixed quickly. But if you look
Starting point is 01:21:02 at the kind of bugs that get reported on the bug tracker, overwhelmingly, they're bugs that are caused by like technical nerds doing very interesting, creative things. And that's great. I love, I love the fact that people use our stuff in really creative ways. But the more creative you are, the more you're likely to experience paper cuts sometimes, right? It's just the nature of it. Like a common you're likely to experience paper cuts sometimes, right? It's just the nature of it. A common one these days is people who are saying, well, I have three panels on the top of my screen, one on the left, one on the right, and one on the middle. And now they don't interact quite right. It's like, that's true.
Starting point is 01:21:38 That's a bug. We know that's a bug. But also, like, do you really need to do that? Like, it's's supported and we will fix the bug but like still yeah nobody's forcing you to do that like let's let's face it let's face it this is not a showstopper when you decide to do that yeah i think but again it's a bug and we will fix it right but that's just the downside of offering a very flexible system right is that people people will use it flexibly
Starting point is 01:22:06 and they'll stress test the heck out of it and they'll find all these issues and then they will report all those issues. And then we will get disappointed and depressed because we don't have the resources to fix all of them, all the resources that we wish we had, which gets me back to how, you know, every project is like five people
Starting point is 01:22:23 doing 80 or 90% of the work. And this is probably the point at which I'm going to launch into a mini fundraising spiel, because this is something that I believe very strongly is needed throughout the open source world to make this work sustainable. And I think it's in everybody's interest that maintainers of open source projects be paid a living wage, a decent salary, right? Like you shouldn't have to make a sacrifice. You shouldn't have to sacrifice your nights and weekends. You shouldn't have to live like a pauper and be poor compared to your peers
Starting point is 01:22:58 if you want to do this amazing work that benefits humanity. And I'm already so happy and gratified that there are companies out there who sponsor work on this companies like my employer, Blue Systems, companies like Red Hat, companies like Valve, companies like Tuxedo, all the other companies that you've heard of. But it's never enough, because there's an infinite variety of bugs out there. And it's also never enough because these companies are quite understandably sponsoring work that they care about.
Starting point is 01:23:31 So one of these companies says, we're going to pay you to work on this feature that's important to our clients or this feature that's important to our users or this bug that's affecting our users. They are absolutely not going to have a free floating engineer put on general random bug fixes. They're not going to have a full-time QA person stress testing the system and writing tests and triaging bugs. And frankly, nobody else is going to do that stuff on a volunteer basis because it isn't any fun. I've spent like the last seven years trying to interest people in bug triage. Every time I do any kind of public speaking or public communication, I tell people
Starting point is 01:24:13 bug triage, bug triage, please help with bug triage. It's the easiest way to get involved. You can make a big difference. And I've had this experience now multiple times where a person shows up and they volunteer to start doing bug triage. And some of them will even say, hey, please mentor me personally. Help me. Help me get up to speed and let's do this together. And those people will do a great job for about four months. Then they disappear because it isn't any fun. Because to actually do a good job on bug triage, you have to treat it like a job. and it doesn't feel like a hobby anymore. And so to a certain extent, we rely on either professional bug triagers who are doing it as a part of their regular KDE job or volunteers rotating through the system. So my dream is to
Starting point is 01:24:57 have KDE EV, the nonprofit behind KDE, hire a small QA team to do bug triage and to do random bug fixes of miscellaneous problems that they find and small miscellaneous system hardening. We already have one person in KDE, Evie's employee who does do this, Nicholas Fellow, who is KDE's software platform engineer. He does an unbelievably amazing job, but he's one person. And we need seven of him. You know, we need six of them. And then we need one person who's like a manager who can direct the team, maybe him.
Starting point is 01:25:39 And then we need them to be able to report to the developers and to have a working relationship with them. And in order for that relationship to work, we need for there to be able to report to the developers and have a working relationship with them. And in order for that relationship to work, we need for there to be an org within KDEV of developers working on stuff with their own manager who can talk. And now we're looking at like 10 full time people. on a full-time basis in a way that's competitive in the marketplace, salary plus benefits plus taxes and cost to hire them, you're looking at $100,000 a year, 80, 90,000 euros to be competitive. And that is not an insignificant amount of money. The number that I like to throw out is that up until very recently, KDE EV's entire yearly budget was like 284,000 euros a year. It's like nothing. Right. And that was used to cover server hosting, development sprints, the annual academy conference of taxes, because we do pay taxes. People don't realize that even though we're a nonprofit,
Starting point is 01:26:45 we have to pay taxes. There's all these expenses. And so what KDE is able to do with the limited resources it has, either volunteers or sponsored developers or the very small number of people who KDE EV is able to pay is astonishing. It's miraculous, frankly. And I want that to be increased tenfold. I think it is very important that KDE EV have enough money to pay its own internal developers a living wage, a market competitive wage to work on this product so can its independence can be assured so that it doesn't need to be so dependent on fickle volunteer labor or on corporate contributions that could disappear at any time you know we're all beneficiaries of this but i think if we're honest with ourselves there's a serious fragility here and i would like to get ahead of that and help KDE EV support KDE even more in a technical sense.
Starting point is 01:27:49 And that requires a lot more money. So if it's something you want to see, KDE.org slash donations is the best way to make it happen. We just did a fundraiser for Plasma 6. And when we started this fundraiser we had 52 supporting members once a supporting member is somebody who says that they're going to pledge 100 euros a year so that's 5200 euros a year there's nothing right uh pizza sorry oh sorry i was confused that's right so 100 euros a year for 50 people. Yeah, okay, no, I might...
Starting point is 01:28:26 It's like Starbucks. No, my brain was falling apart there. I thought the numbers weren't making sense. No worries. That makes sense. 100 euros per person. It's just as likely that I got it wrong. No, no, it's fine.
Starting point is 01:28:38 I never do math on a stream, so I'm doing something risky here, no matter what. No, no, I think i just heard you wrong it's all good anyway so yeah we had 52 supporting members who were collectively providing 5200 euros a year which is peanuts it's nothing it doesn't amount to anything busy house i see that very busy house um anyway yeah so my son is telling me that he wants to make his own dinner, which is nice. Nice to see kids being independent. Anyway, so we had, you know, 5,200 euros a year that these folks are providing, which is wonderful, but it's not enough to move the
Starting point is 01:29:19 needle on anything. And we did this fundraising campaign campaign and as a result of this fundraising campaign we now have 1 000 support supporting members who are enough to bring in 100 000 euros so 100 000 euros that is enough right that is enough to hire a full-time developer two part-time developers uh all sorts of stuff like that so that moves the needle. And this is what we accomplished in six months. And I fully believe there's a lot more mileage that we can gain out of that. I think there are so many more people out there who love KDE, who are willing to give back somehow, who maybe don't know how to program, they don't have time for bug triage, but they do have some money to give. And 100 euros a year is not that much money in many parts of the world. And so I think if we can keep going on that, there is an enormous amount we can do to make KDE more
Starting point is 01:30:20 internally independent and financially sustainable. It's something I would like to see from our other companies too. If you go to kde.org, you'll see at the bottom in the footer, there's a list of companies that support KDE financially. And it's a cool list. There are a bunch of companies you've heard of there. There's Google, there's Canonical,
Starting point is 01:30:40 there's Tuxedo who I mentioned earlier, there's Blue Systems, my employer. And then there are even smaller companies who you might not have heard of, like G10 Code, which is a new supporter. And they support KDE's cryptography software, which is used throughout NATO, by the way. It's a big deal. And I would like to see that number go up. I would like to see many more companies represented there. I think there's a lot more room to grow here. And so this is going to become something that we increasingly focus on, is trying to make... Did I break? Oh, good.
Starting point is 01:31:28 Did my connection drop for a moment there? Yeah, I think so. My apologies. This has certainly been a dramatic stream, hasn't it? Yeah, you know, it's fine. Anyway, yeah, I was pretty much done. I was just saying, so I think there's a lot of mileage that we can get out of this. And there's so much more we can do
Starting point is 01:31:48 to make KDE financially sustainable. I think a very important thing you touched on in there was the idea of competitive rates. Because you can absolutely hire a bunch of engineers at, you know, 50,000, for example. But why would someone who has the knowledge they have obviously if they really really love what they do for sure yeah they'll do it but a lot of people they live in you know places like la you shouldn't live in la it's too expensive there. Or New York or other places like that where the cost of living is just ridiculously high. And they could work on KDE or they could go get a job
Starting point is 01:32:33 on Netflix or Google or Amazon. Obviously, you may not be able to compete with the top of the top, but competing with your... At least competing with the run like the run of the mill dev studio, like that, that's something that needs to be done. And otherwise, why would they come work for you unless they really, really love what they do? And to a certain extent, that is what we want, right? We want people who are super passionate, but there's another angle here, which is I think less commonly appreciated, which is you cannot have an organization made entirely out of superstars. And that's what most FOSS projects are. They are purely made out of superstars. Like everybody who's volunteering their time, top 5% of the industry. But the problem with only hiring superstars is that superstars are really ambitious. They may not necessarily want to stay with you long-term.
Starting point is 01:33:25 They may want to increase their salary and be making $300,000 a year working somewhere else, you know? And ambitious people are also, like superstars are used to getting their way. And when you have a whole bunch of superstars, often they have difficulty coming to consensus on something. When I look at something like bug triage, right? Bug triage does not require a superstar. Bug triage requires somebody who is detail-oriented, somebody who is personable, somebody who has empathy for others, somebody who has technical skills. So like normal levels of these things, right? Like this is somebody who probably could be paid 50 or 60 or 65 or $70,000.
Starting point is 01:34:07 They don't need to be paid $100,000 a year and they would be happy. And then they would stay and do it for 10 years and gain institutional knowledge. And I think the same thing is true for developers. Not everybody needs to be a superstar. Some people can just be slinging code, taking direction from others, not being dramatic.
Starting point is 01:34:31 If you look at most organizations, that's what they're like. You know, you're not going to have all of your colleagues being superstars. You're going to have a range of people whose interests and motivation range from, I love the company and I love the product, all the way through, I want to make a living and feed my kids and be able to afford my health insurance. Right. And that's perfectly valid. And when we require everybody to be superstars, we're excluding those people who, frankly, have something to offer as well. They're also usually a lot cheaper than superstars. So I think there's that element of it as well. But, yeah, we do, regardless of that,
Starting point is 01:35:05 need to pay market competitive rates. Something I hear a lot is people say, well, you don't actually really need to pay competitive rates because you can just hire somebody from India and they only need a third the amount of money, right? Well, anybody in India who's going to be doing that is also looking for other remote work jobs where they will be making three times as much money so you do actually have to compete on that sort of salary right like if this person from India is is looking at your job they're also looking at jobs from you know from Siemens from Google from Facebook and they're not going to say oh well you know it's okay that I'm in India I'm going to accept less money they're going to want more money. Of course they will. Who wouldn't?
Starting point is 01:35:47 If they have basically native level English skills, they're a very competent developer. Like, yeah, they're not going to, you're not talking about like, just like some random person on Fiverr where you're getting like some, something thrown together. It's like, they're working for basically nothing. nothing like that's not what we're talking about we're talking about people who if like if they wanted to they could like the only reason they live in india is because they were born in india like they could go anywhere else and they would be just fine yeah like that's exactly it when when you're hiring people for remote work these are people who could be mobile.
Starting point is 01:36:26 Yeah. And so they're going to demand global level competitive wages, not local level competitive wages. Yeah. This is a tough issue. I'm glad that there is a lot more funding coming in. Do you have any ideas for like possible future fundraising i i know that i back when it happened i talked to um the guys who set up the thunderbird
Starting point is 01:36:54 fundraising campaign that was done where they have massively massively increased their funding i don't know if you'd want to go like do some sort of pop-up like they did and like what sort of like it worked really well but i don't i don't know really what the yes i'm actually writing one i have a little project that i've been writing that does that once a year around christmas it shows a little tiny notification in the corner and it says hey if you love it please share the love once a year and if you are enraged by the mere thought of this, you can click the shut up and go away and never bother me again button. And then that's it. But I think this has the potential to be super important.
Starting point is 01:37:38 Because our experience with fundraising so far has been when you ask, people give. Not everybody. But when you ask, people give. Not everybody, but when you ask, people give. And we've been so timid about asking for so long. We've been afraid of money. We've been afraid of fundraising. We've been afraid of growth. We've been afraid of hiring and looking corporate. And we're at a point where KDE is important to the world, and we need to acknowledge that maintaining that has grown beyond the ability of random volunteers to contribute. And I'm not disparaging our random volunteers. They are universally in the top 5% of their careers. They are amazing.
Starting point is 01:38:21 But there's not enough of them. And we can't rely on it because people's level of time and motivation changes, right? You may be a passionate volunteer in your 20s, or when you're a college student, and then you get a job and you get married and you have kids, and suddenly, where'd all the volunteer time go? That's not because you suddenly lost interest in KDE. It's because you gained many other things that are competing for your time. And so I think especially when you're talking about engineers between the ages of like 28 and 50, we have to pay or else we're just not going to get these people.
Starting point is 01:39:01 And that's why I think you see such a gulf. Like you see so many students, you see passionate students, and then you see like retired people or early retired people. And everybody between those age groups are like either sponsored to work on KDE or are like unemployed, taking a pause from their work, or they have like a really easy job that lets them sit in front of a computer all day you know if you want those kinds of professionals you got to pay right there's just no way around it yeah but that's expensive that's very expensive i guess not what people want to hear because we all love the freeness of it you know we love the ability to download an iso and get all this stuff for free and that's amazing um but it's it's one of those trite things where you
Starting point is 01:39:51 have to say freedom isn't free right yeah you're and the meme here is that okay well if you're not paying with your time you're paying or if you're not paying with your money you're paying with your time in the form of bug triage and troubleshooting but you can pay with your money, you're paying, or if you're not paying with your money, you're paying with your time in the form of bug triage and troubleshooting. But you can pay with your money as well if you want to make the project better in a way that will make you not required to be paying with your time. Yeah, a lot of- It's kind of, kind of our choice as users. We, we can go back to the whole like definition of free software.
Starting point is 01:40:23 It's free as in freedom not free as in beer and i i know that's like a kind of like a funny meme thing to say but no it is very very true like that is the way this works it is like yes the entire time that we're doing stuff it has also been free as in beer like you haven't paid for the software. There have been exceptions where you might pay for support, for example, but the software itself you're not paying for. So I think a lot of people have gotten into their heads, and I've definitely had these people in my comments where they're like, well, no, it's free and open source software.
Starting point is 01:40:59 Like, why would I need to pay for it? And obviously this isn't most people, right? But it's still that most people don't, even if it's like a dollar, right? Like most people are not funding any of the projects they use. And they don't have to give their entire salary to it. And if they can't afford it,
Starting point is 01:41:23 obviously that's totally understandable. it and if they can't afford it obviously that's totally understandable but if you can afford to give a little bit here and there like a dollar here five dollars here like yeah it might not seem like that much for one person but if 10 000 people do that if 100 000 people do that that suddenly makes a massive difference if 100 000,000 people gave $5 to KDE, that would be massive. Big deal. Yeah, it's the law of large numbers. And that's what you were talking about with Thunderbird before too. I think the average donation amount was something like $22,
Starting point is 01:41:59 like not a huge amount of money. And they managed to raise like $ and a half million dollars off of this so they just got you know several hundred thousand people to donate the price of two pizzas and boom suddenly they have all these resources that they can use to drive the project forward in a sustainable manner and offer careers to people working on it and it's not just a this is one thing i did talk about when i had the thunderbird guys on it's not just a matter of we have funding now we can hire someone for a year it's a matter of doing it in a sustainable way because you don't want to you don't want to just hire contract workers and nothing but contract workers you have the exact same problem you have
Starting point is 01:42:42 with volunteers then where you have someone who comes in, they do a lot of great work, and then now they're gone. All of the knowledge they have is gone. Grants and grant money is that you apply for a grant, the grant gives you $300,000, and then you use that to pay people to do a particular project, and then that's it. The money runs out and they're gone.
Starting point is 01:43:02 And it's nice to be able to have project based fundraising that way when you do actually have a specific project that you could benefit from. But so much of the time, what we're looking for is just operating expenses so that we can hire people long term and let people make careers out of it so that we can benefit from their institutional knowledge staying in KDE. so that we can benefit from their institutional knowledge staying in KDE. Right. Because when you think about it, if you hire somebody for a year or two and they complete their project and the funding runs out and then they leave, they're taking with them all that knowledge that they gained while working on the project. And hopefully the project itself stands alone on its own and it continues to be useful. But if they're gone and they took their knowledge with them
Starting point is 01:43:44 and nobody else stepped up to maintain the project, it's a tough situation to be in. You know, it's, it's much better to have operating funds that you can use to employ people on a steady basis and not be jumping from grant to grant to grant. And I know this is sometimes the way it is, right. And there, there are people who make a career um on being funded by one grant and then doing another one and doing another one but honestly that's like half of half of your job in that case is applying for grants yeah yeah it this this podcast went in a very different direction than i expected it to i didn't think we were talking about like the operational structure of KDE as a project, but... In many ways, it's the most important thing because the operational structure is what
Starting point is 01:44:36 underpins all of this work that people love. We were talking about how you can download an ISO for free and get all of this amazing software on it. Well, all of that didn't come from nothing. It came from people doing the work. And a lot of those people were volunteers, but a lot of those people were paid. And a lot of those people were paid. Some of those people were paid by KDE. And so I think we need to stop being timid about talking about this, about talking about money, talking about financial sustainability, talking about where the software really comes from. And I think the XZ hack exposes that
Starting point is 01:45:12 because thankfully KDE is not a one person project, but it was a wake up call to all of us to investigate where exactly the software that we're getting comes from. You know, we're very accustomed to complaining about corporate behemoths who say, oh, you can't trust Apple, can't trust Google, can't trust Microsoft. They're big evil companies and they don't have your best interests at heart. And that's true. But are you sure you can trust that tiny one person library that's maintained by a person two weeks from burning out. Like, I'm not saying that's worse, but maybe that isn't better either. And maybe we need to do better. You know, maybe if we want for our critique of the big corporations to be a sharper critique, we need to have our own house in order and make sure that we have the ability to pay our own people to do the work that's really important.
Starting point is 01:46:09 It is kind of wild to me that it's taken this long to really have like a big kick in this direction. Because it's not like the whole idea of one person burning out and deleting a project, like LeftPad, for example example or one person running a project and then going rogue, this is not like a new thing, but it happens quite a bit in the web space, and people are like, oh that's a web problem, NPM, terrible ecosystem
Starting point is 01:46:39 there's nothing different, it's the exact same, the only difference is that NPM doesn't have a distribution that is managing what's going on there. That's the only difference. Everything else is exactly the same. In fact, I would argue it's worse than the distro case because you have all of these different distros
Starting point is 01:46:59 that aren't communicating with each other about the problems they might be seeing. And there are certain cases, there are certain cases like when it's like really big with the open source security mailing list, but a lot of smaller things, they get discovered across different distros because there isn't that single point of communication for it and i'm happy that it's finally been it's finally been understood that you if something's going to be that important like on on arch for example xz is part of the base package like it's not a small package that nothing uses this isn't like it's not ssh for example it's not like that that important but it is very very important for a lot of projects.
Starting point is 01:47:46 And there needs to be a better way to handle these cases and handle these libraries where they are important. And a lot of people are using them, but most people don't even know they exist, let alone the libraries. The libraries the libraries i think are a very difficult case because if you're looking at something like the kernel the kernel is already commercially supported and if you're looking at something like kde kde is user visible and so it's easy for us to do kdenlive or gimp or anything like that yeah but libraries like xz they're not user visible and their consumers are other developers. And I think it becomes very challenging for them to come up with a fundraising model that works for them.
Starting point is 01:48:34 And in a lot of these stories that I've read online of maintainers who are having difficulty getting funded, most of the worst of these stories are people who maintain developer libraries, right? Not people who maintain apps, not people who work on the kernel. It's people who say, I maintain this library and it has 500,000 downloads a month on GitHub. And I make $3.50 a month in donations, you know, where the usage compared to the income they receive is a pittance. And here I've been complaining earlier about KDEEV, which is a foundation only getting like 300,000 euros a year. And it's more now, thankfully. These are libraries that would be overjoyed to get 3000 euros a year. So I don't have the answers there,
Starting point is 01:49:26 but I think it's very clear that as an industry, we need to be thinking long and hard about how we can fix that. And also how deep our dependency chains should be. You know, if there are cases where we can do something in-house that's really small, maybe we should do it in-house instead of using a library that comes from who knows
Starting point is 01:49:49 where that may not necessarily be sustainable. Leftpad is my favorite example of that. For anyone who doesn't know leftpad situation, it's an ancient story now and people probably most know about it, but leftpad is a npm package to pad the left side of a string now you might be thinking why don't you use the javascript function for that it didn't exist yet um there was no function in the javascript library to pad the left side of a string so there was this package that most people didn't install it. The problem is transitive dependencies where you have dependencies of dependencies so... Yep, those are the hard ones. Yeah it was
Starting point is 01:50:30 like ten things down the tree and you're like why what's going on here and this person they were fed up with it they deleted the package and yeah it just broke the entire ecosystem because most of npm had some transit dependency on left pad and this is particularly a problem on the web where you have super deep dependency stacks and nobody actually understands how anything works and there's a new flavor of the week web framework that comes out all the time and i think that's that's something that i'm not involved with and i i think my lucky stars, I don't have to be because it seems like a very scary world to me. But we certainly have a variant
Starting point is 01:51:11 of this issue in locally running desktop and mobile software, where it's still important to audit our dependencies and make sure that we're not doing more than we need to. And maybe for things that are really important, once we've got our own financial house in order maybe we should be contributing to our own upstream dependencies a little bit in cases where they need some assistance you know maybe all of us should be thinking about this i think this is one of the places where if managed well the idea of commercial distros could have had an effect here where if you know if if ubuntu for example you paid a dollar for example per download then some of that could be used to if you're packaged on ubuntu you get x amount of funding based on downloads people might there might be a better system that is
Starting point is 01:52:05 just the first thing that comes to mind but even just that like at a at the scale of something like ubuntu if random library gets i don't know a hundred thousand downloads and then it gets like i don't know a dollar per thousand downloads or something i don't know what the number would be but i think it's very tempting i think it's very tempting for companies to put one of their engineers on the project temporarily and say, that's enough. They'll say, okay, well, we'll use this project. And when we have an issue that we're encountering or we want a new feature, we'll have our engineer submit a patch.
Starting point is 01:52:38 And that's great, definitely. But I don't think that's a substitute for contributing to the project itself. But I don't think that's a substitute for contributing to the project itself. Because when you have your engineer submit a patch, you're increasing the dependency on the project of the project on yourself. You're not making the project itself stronger so that it can stand on its own two feet. And then you won't need to be supporting it so much. So I think those with deep enough pockets to be sponsoring work upstream, it would be amazing if in addition to putting engineers on work, they could also make financial contributions
Starting point is 01:53:15 to the developers of the foundations behind them. I think a two-pronged approach is important. And frankly, it's never that much money either, right? Like in the case of KDEV, we're so, so cheap. You know, we ask for like 5,000 euros a year, 10,000 euros a year if you're a big company. Like this is pocket change for most big companies, even medium-sized companies. And that's to say nothing of a small library. Like imagine if the XZ maintainer had some corporation say,
Starting point is 01:53:47 you're doing a great job. Here's 5,000 euros. I bet that would help with the burnout issue, wouldn't it? That's nothing. Yeah. I don't remember what the library was. There was a dude a couple of years ago. His library is used by every
Starting point is 01:54:07 major website like Netflix Amazon Facebook all of them use his web library not a single one of them acknowledges the he's he's like sent them like I think some of them maybe like a random engineer has reported the bug and he sent the company's like support contracts and it, you know, just, it goes to spam. Like, I don't know how much is on the, like, maybe this is the wrong way to look at it. I don't know how much is on the, um, the developers of these projects to reach out as well. There's an aspect of that. There's an aspect of that.
Starting point is 01:54:43 Yeah. As I said before, I think it's so easy for us to be timid about asking about money or talking about money. And I think it's especially true in the open source world where there's kind of that legacy of, you know, cool socialism. We're giving everything away for free. It's amazing. But the reality is we live in a world where everything is more than money. And if we ignore this, we're going to be poor and we're not going to have the resources necessary to eat. You know, I think this, the story you just mentioned, I remember reading a blog post about that. I recall the developer was saying,
Starting point is 01:55:26 reading a blog post about that i recall the developer was saying uh i barely had enough money to eat because i was trying to do my project i lost my job i moved to russia to save money yeah because i ran afoul of the russian legal system and got sent to a gulag like it was this super tragic story and i remember reading this and thinking like, this is awful. It's terrible. This should never happen to anybody, but this is, this is what you make yourself vulnerable to when you don't care about money enough. Like it's, it shouldn't be a point of pride for you to say, oh, I don't care about money. Money doesn't matter to me. Like, of course money matters to you. Do you want to eat today? Do you want to be able to pay your rent? Like, do you want to be able to pay your car insurance so that your license doesn't get revoked? Do you want to be able to visit your mother when she's sick
Starting point is 01:56:14 because she's somewhere else so you can afford a plane ticket or a train ticket? Like, let's not kid ourselves here. We live in a world that runs on money. And we have to ensure that we have enough both personally and institutionally to make sure that the things that we need to get done are capable of being getting done. It's important. Like I would love for all of us to live in a Star Trek world, right? We've got replicators, we've moved past money, we don't need this anymore, right? We live in a cornucopia society, but we don't live in that society yet. And until we do, we need to care about money, because that's what makes the world go round. Like you can have a philosophical objection to it, fine, that's fine. But like, I'm willing to bet your philosophical objection for money doesn't go deep enough that you walk into the supermarket and steal all the food on the shelves. Like, I bet you pay for it. And if you're paying for the food that you're eating, you have to earn an income to get that. And that requires asking for money in some respect, right?
Starting point is 01:57:26 asking for money in some respect, right? You go to a job interview and you do a salary negotiation. You don't start at zero. You don't say, well, I could work for free, I guess, but it would be really nice if you paid me. Like, come on, you know, this money stuff is important. It's stupid and boring and we don't like it. And we would all prefer to be programming i get that i'm i'm there with you but we have to care about it anyway because it's it's important for our ability to do what it is that we want to do if we don't pay attention to it enough bad things happen it's just the world we live in absolutely um well on that note I guess we can end it off there. Sounds good. Yeah. Start a 401k, everybody. So let me know where they can support KDE, where they can find your stuff,
Starting point is 01:58:15 whatever you want to send people to. Yeah. So the URL is kde.org slash donations. And that is a great place to start help make kde more financially sustainable and then we can expand the scope of who we employ what we're sponsoring how the project is managed internally and then the project can be more internally autonomous because if you want to see kde thrive the best way for that to happen is to centralize the resources available to KDE in KDE so that KDE itself can have the biggest stake in the direction that everything goes in. Okay.
Starting point is 01:58:56 Is that what you want to mention or is that anything else? That's good. Let's leave people with one last thing. Okay, easy. As for me, my main channel is Abroady Robertson. I do Linux videos there six days a week. There's some Plasma videos there if you want to see them. Go check those out. I want to do one where I'm talking about the things I really like about Plasma, so that will probably be out by then. Because I really like widgets, for example,
Starting point is 01:59:22 and when I had David when i had david on he was like why like he was he was confused about like how much i care about widgets i think widgets are super neat i like the idea of me yeah it's this running joke that like none of the developers actually use widgets on the desktop or anything i think they're cool in common i don't like desktop icons that's i don't have those on my desktop but widgets well you're in good company there lots of people share that opinion um yeah so that'll probably be out by then along with the rest of my plasma videos which uh have been critiqued by many people if they have issues with my thoughts uh my gaming channel is brodyames. I stream there twice a week.
Starting point is 02:00:08 I don't have any clue what'll be going on when I'm there. Maybe I started playing Elden Ring. I don't know. Check it out. And if you're listening to the audio version of this, you can find the video version on YouTube at TechOverT. If you are watching the video, you can find the audio version on basically any podcast platform. There is an RSS feed.
Starting point is 02:00:23 Put it in your favorite app and you'll be good to go. How do you want to end off the show? What do you want to say? Nice. Thank you so much for having me. It was wonderful to be here again, as usual. Thank you for all the viewers
Starting point is 02:00:35 who are watching. It was lovely to be able to reach you and don't make sure to, make sure to like and subscribe and click that bell icon so that you never miss an episode sure you know what bye everybody i love you all

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.