Tech Over Tea - What If Wayland Sucked Less | Shrub

Episode Date: May 1, 2026

Today we have one of the creators of Wayland FYI on the show which I and others have been referring to as Suckless Wayland and we are here to rant about Wayland, X11 and all random things going on in ...the Linux world==========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==========Wayland FYI: https://wayland.fyi/==========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 Supercozmanhttps://twitter.com/Supercozmanhttps://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 Good morning, good day, and good evening. I'm as well as your host, Brodie Robertson. And maybe a week, two ago. I remember how long ago it was at this point. I did a video on something called whalen.fyi. And one of the people who was involved in making that page decided to comment on the video. And as I do, I tend to reach out to people when they do neat things.
Starting point is 00:00:28 So how about you introduce yourself and we'll go from there? My name is Shrubb on the internet. It's not a real name. It's my internet name, I guess. And I play with computers, and they're a reason I'm here because I and other people. I was one of the people involved. I don't want to say I'm the lead person.
Starting point is 00:00:47 It sounds kind of arrogant. I was one of the people involved. We made this website called Whalen, FYI, which some people have been referring to as suck this way of putting it. I want to say some people I mean you. By, yes, by people you mean me. I'm the one who started that, yes. Yeah.
Starting point is 00:01:03 Although a few people had said similar things before. So obviously, I guess most people who know, it's probably a good way that's starting getting into explaining it. So Sarklist, they like made software that's simple. Some bit is good. Some bit's not very good, in my opinion. But, um, so I, now they made something called DWM, which is a window manager for the X-org display server.
Starting point is 00:01:24 and I have used it in the past. I was kind of sick of X-11 as a whole. And I was also not, I mean, I had moved to, I used to Way for a bit, and then I was on Neri, which is very good as a piece of software to use as a user. But I don't really like it from, I don't really like most of the Wayland compositors and software from the kind of code and backend perspective, even though most of it is great from a user perspective. It's much better than X-11.
Starting point is 00:01:52 So I wanted to do something that was a bit simpler, approachable for a developer from a code standpoint. And I found this project called on GitHub by a wonderful programmer and developer called Michael Forney, who's made many other amazing things. But he made SWC, the Simple Wayland Composter. And I tried it out. So it's all came about because I'm developing a Linux distribution. I feel like I'm going on a bunch of tangents. But I was developing a Linux distribution.
Starting point is 00:02:19 Jump around as much as you want. I, as you're jumping, I'm like jotting things down and we can go back to. So do whatever you need to do. So I was developing my Linux distribution, which is called three of Linux. It's amazing. No, don't install it, by the way. No one installed it, okay? But I was working on that and I wanted to get sway because I think it's probably the,
Starting point is 00:02:42 I thought it would be easy. It wasn't easy. It wasn't easy because my distribution has no Mesa. It's all Satsky-Links, so you can't have Mesa. It has no U-Dev because U-Def is bad. And so I was trying to get W-L-R-R-R-R-T to compile statically with just Pixman, which means a CPU rendering on DRM without U-DV, and it was really hard, and I could not get it to work at all.
Starting point is 00:03:09 So obviously I decided the next best thing is that I should fork a different project and make my own compositor that works with my distribution. It seems like the logical next step. So the way it started is with Havel, you mentioned it in the video that you made. So originally the project was just Havel, and we bundled a modified version of SWC inside the Havel repository.
Starting point is 00:03:32 And that was the way we did it. Then eventually we started making so many modifications and improvements to SWC that we decided to make a new repository just for that. And also, SWC has something that's laid on top of called WLDD-WALM drawing library. So we also made a repository of the changes we made to that. We called it new SWCN, new WLD.
Starting point is 00:03:53 And those are on my source help page. And I posted some stuff like on Reddit and whatever, and it kind of ended up gaining more traction than the distribution that was working on. So you know how these things go, right? So we made a little page for it. And that's Wayland.fye. So it has that on it. And there's loads of composters that people, me and other people have made on top of our stuff.
Starting point is 00:04:19 off and also some assorted software that isn't really related to the what we're making, but is kind of aligned with the message. So yeah, that's why I'm here, I guess. So why are you sick of X-11? Like what, you know, actually firstly, when did you start using Linux? How long have you been using it? I've been using it since I was about 13, and my dad helped me install Ubuntu on my laptop. And so I was using my first desktop was Gino,
Starting point is 00:04:49 probably on Wayland. I don't remember. I wasn't interested at the time. Then I was using 20, I think it was either 24 or 22. I don't remember. I think it was 22. I think they'd swap by default by then? Maybe. Yeah. It was either that or the next version.
Starting point is 00:05:08 It was around that point. And then after that, I was using Marte, I think that's a page on X-11. Then I started trying out more like DWM, like window managery stuff, mostly on X, and then recently I moved to Sway and Neri, and now I'm only using my own software, which is fun, right? I'm using my own compositor.
Starting point is 00:05:28 But the main reason I got sick of X-11 is not really from a user perspective. As a user, I think both X-11 and Wayland have their strength and weaknesses. But I think sort of in the back, when you look at how X-11 actually works, it's just the most utterly disgusting, evil. it's like layers and layers and layers of bullshit that's been stacking up for like 40 years. It's actually unbelievably bad when you actually look at how it works. So I guess I should probably explain how it works
Starting point is 00:05:59 what the difference is. Yeah, go into that. So X, now there is only one X11 implementation. People will tell you there are more, but they are liars. The X Libre is just Xorg and then XORC is also XORC. To be fair,
Starting point is 00:06:16 they don't really exist anymore there are some independent um what is like a minimal X11 server um XFBDF I don't know
Starting point is 00:06:28 um TinyX maybe it was TinyX maybe that's the one I'm thinking of TinyX is based on Xorg okay we'll take back on Xorg okay I was I was originally using
Starting point is 00:06:39 my distribution before I want to switch away to wait to be fair sorry I'm gonna I'm gonna tangent you again is the MacOS X-11 related to X-Og. I don't know anything about Wood Gardens. I'm not going to try to- Fair enough.
Starting point is 00:06:55 Probably not, if I had to assume, but I don't know nothing any about that. So X-org is the singular X-11 implementation that works on computers nowadays. Yeah. And it is like horrible, basically. So you have, the way the X-11 protocol works is there is a server, which is the X-11 server, and clients can connect to that server.
Starting point is 00:07:23 But the clients are not just applications that, like, user applications that appear at the window. The clients can be your window manager. The clients can be your compositor. Now, if you want to composite, you're going to need an X extension called X-render, or, no, X composite, obviously. And then there's, so all of these extensions, if you want to do anything on X, you need an extension. They didn't make this easy. Each extension is a library. It's not like an extensible protocol. I mean, imagine if someone did that, right? It's each extension is a library.
Starting point is 00:07:52 So you have X font for server side font rendering, XFT for the client who wants to do font rendering, Xcomposite I mentioned for compositing, X shum, I don't know how you say that, shared memory, for shared memory stuff, which is similar to some stuff on Wayland. But all of that stuff builds up. And then if you want to get a working X11 stack on a computer, you need about 60 libraries. It's like millions and millions and millions of lines. I'm not joking about it. It is for the bare minimum X-11, I think it's about 50 libraries.
Starting point is 00:08:19 That's what I had on my distribution. And that was literally the bare minimum. I've deleted all that now. I don't want to ever touch it again. I don't want to maintain it. I don't want to think about it. But with Wayland, it's like 15 or less things. As a core library, it's much simpler.
Starting point is 00:08:32 Now, the way Whedon works, instead of having a cool server with clients that connect, you have something called the compositor. Now, this is confusing. This is like a big part of website, because people kept saying this to me. It was like my biggest pet peeve. So on X, you can have a compositor.
Starting point is 00:08:45 And what that does is, it takes the windows and it renders them off-screen and then it can add effects or whatever, no screen tearing. It adds it on top of them. That's called compositing. But that's not, composing is actually just drawing the thing
Starting point is 00:08:57 where the thing is supposed to go. That's what compositing means. So on Wayland, the compositor is, it draws the thing. It accepts connections from the client, so it's the server. And, yeah, and it also has the window management logic in it, inside of it usually.
Starting point is 00:09:12 So it's a window manager, a server, and a composter all in one, which some people say that's fragmentation or something. I don't really know. I think it's a good thing, but but hey, and then so now, it's quite hard to make a composter from scratch.
Starting point is 00:09:28 It's very hard to make a composite scratch. I think like, what was that? I know. Anyway, I think like three or four people have made a composter from scratch that work successfully. The ones I can think of our K-Win, Gnome. I don't really know about these two.
Starting point is 00:09:43 To be honest, I didn't touch that. And then W.L. Roots, which is like the famous one, made originally, I think, by Drew DeVolt. And now it's like free desktop. All those people work on it. And that is the premier implementation of a whaling compositor for the last, how of many years. So sway is based on that. All the other ones that I don't use are based on that. I don't know.
Starting point is 00:10:07 There's probably more. And then there's also one in a rust You could make the argument It's not really using the desktop But Western does exist as well And for a while that was considered The reference implementation Most of its use nowadays
Starting point is 00:10:19 Is embedded systems The other ones you have are basically Just Libraries that exist Like you know Smithy Smithy doesn't have a composite There's not a core Like smithy compositor
Starting point is 00:10:33 Like W.O. Roots spawned out of sway Originally there wasn't a W.R.R. It was just part of sway and then it got separated out. Whereas with Smithy, it started as a library from the beginning and then things a bit with it. Yeah, but nowadays, Dobia Roots is kind of using the same way
Starting point is 00:10:49 where it's a library and stuff on top of it. So, and now, my opinion actually on Dobio Roots used to be a lot more hostile than it is. People have sort of brought me to the dark side, shall we say. Although I'm still not
Starting point is 00:11:04 too happy with it, especially the U-Dev thing. So U-Div is a, a device manager. It originally was part of SystemD, but it's used on most distributions, including ones that use non-SystemD in its system, so Void Alpine, they will use U-D as their device manager because it's very convenient. I like to make my life as inconvenient as possible. It's kind of the way I live. So I used MDev from Busybox on my systems. And that's what I do. I mean, like I said, I make my life as inconvenient as possible. So I can not compile.
Starting point is 00:11:38 I was unable to compile W.O.R. Now, there is a solution to this. It's called Lib U-Def Zero on GitHub. It's like a U-Dave, a fake U-Dive. It tricks the computer into thinking you have U-DV. It's like a U-DV-SHM. Okay. Yeah, it's a chip.
Starting point is 00:11:54 And I tried to use that. I also couldn't get it to work. I probably could if I tried really hard, but now I have my own composer. I really don't care. Yeah, and then the other thing about W-O-Routes is that, it is very much the supported path is to have it with Mesa or Graphics Scaleration which obviously is convenient for many people but again not
Starting point is 00:12:14 convenient for me because I Satski Link everything so those are two problems that have but really the problem specifically for me because I'm insane or people tell me I'm insane um the real problem that I have with W Roots is now I have messed around with making X window managers in the past so I was like okay I want to make away Linkaposit I guess Wroots is the place to start right it is not as easy to make a compositor with W Roots as it is to make a window manager because it's not really a library for making for writing window management logic it implements sort of the base protocol level stuff and then you have to do all the uh compositing and
Starting point is 00:12:53 window management policy and all the stuff on top of that not just window management but also like the input stuff the seat stuff a lot of that you have to handle yeah i've heard similar I've heard this a lot from people who sort of say that MIR is such a good choice. I don't know if you've looked at MIR at all. I've never really master in there. Yeah. But apparently, with MIR makes some of that stuff easier.
Starting point is 00:13:11 Smithy apparently does as well. And there's been other libraries that are trying to be like W-R-Routes, like Loove. I don't know how the project's going along nowadays. But a lot of those things have been trying to, like, simplify that. I'll let you keep going down that route. We'll talk about another thing that's going to make it easier afterwards, if I remember. Keep you on. So now the way that my library, oh, it's not really my library, because it's a fork,
Starting point is 00:13:36 but the library I'm working on, and hopefully, by the way, we're going to upstream a lot of the changes we've made in the forked ups, the upstream project, because I've made contact with the original developer now, which I was neglecting to do. I'm not very good of these things. But I've done that now. So SWC, it makes it a lot easier. It's compatible to writing a window manager for X. You basically just have to handle window management logic.
Starting point is 00:14:00 and everything else is handled for you. Now, that does, maybe people say, oh, you can't, you don't have as much freedom. What I would say is you could just edit the compositor library. That's what I did originally when I was making HAYVo. I wanted to add that Zoom feature that is probably the thing that got me a million upvotes on radio, whatever. I wanted to add that. Now, because you only encode the window management policy, and you have to add that feature to SWC, the compositing library.
Starting point is 00:14:28 So I agree that that is one of the reason why people like W Roots, because it does give you that freedom. By the same time, I think a lot of people who want to make their sort of like hobby, Whalen thing, they don't need to write a thousand lines of code to do input or whatever. They just want to write the window management logic. So that's one thing that I think is good about my library. And also, it works on NetBSD, which is useful people who use NetBSD. I use NetBST occasionally sometimes, not that often. But no other Wayland works on NetBST.
Starting point is 00:14:58 It was an effort, I think, to get sway and all of that jazz working on NEPBST. I haven't seen any screenshots of like a fruitful sway working on NEPC. Maybe there is, but one has worked on NEPC pretty flawlessly. I've verified that, so I'm acquit that. And then they have also, by using all the compatibility shims, they have proper WL-Route sway, Wayland on, in fact, they have KDE and stuff on Free BSD, and I think they've got Sway on OpenBST, and I think We've got sway on Open BSD, but they use a lot of compatibility shames, whereas with SWC, it has sort of native support for, for example, WS-cons, which is the input. So on Linux, there's lib input, which is what they use.
Starting point is 00:15:41 On BSD, it's typically WS-cons, which is a whole different thing. So W-R-R-R-R-R-I think there was a pull request for it somewhere, but it doesn't support that, whereas SWC does. so you get that native input support i think it's pretty cool uh it wasn't me who did that it was a net bsd contributor contributing to the original project in like 2020 but it does work and it's cool um so that is one thing yeah that is one thing about what i'm doing that is cool it's more portable a more portable way than i think one thing i'm thinking about doing is getting it on solaris i think they have libdrm with drivers there it might be possible the input stack is different but i think it might be possible and i do believe that would be the first time
Starting point is 00:16:24 way and would ever have been used on Solaris. I mean, I've never installed Solaris, but I'll give it a shot. Like, it will be cool, right? Yeah. I feel bad for anyone who's English as a second language for this episode, because you were just like,
Starting point is 00:16:42 go ahead. I'm sorry. I'm sorry. I'm sorry. No, no, it's fine. It's fine. I can see that you're clearly really, really passionate about this. I'm pretty passionate. It's something I spend a lot of time working on, probably to the detriment of my results at school. But, okay, my parents are going to watch this, so maybe cut that out? Are you aware of the work that River is doing with separating out the way and visiting with the window management?
Starting point is 00:17:11 I think it's actually a really cool project. I wanted to make a river compatible compositor that takes River Window Managers and works. instead of using W-L-Routes and ZIG, do it on SWC with C. I think that would be really cool because obviously I can't use River in my system because I'm, also I don't have a Zyg compiler, but I'm yet to compile WL Roots. So if I could get something like that, because I think it's a really good idea, and I think it's well-designed as well what they've done. I'm a fan of River, yeah. That is one of the, like, the idea you're saying there about, like,
Starting point is 00:17:48 maybe, I don't know, 10 minutes ago of Raw, about, about, But on X-11, a lot of people, sorry, I'm jumping around now. So the problem is when I jump around, I didn't even start talking. I just start, like, jumping between things in my head. So a lot of people make this argument sort of from this position of not knowing what's going on, where they say things like, oh, X-11 is simpler. X-11 is more, like, you know, it might be more simpler to make something for, but it's simpler to make something for it because it hides a lot of that complexity,
Starting point is 00:18:21 behind the 40 years of legacy nonsense. And whilst that might be the case, it has made a lot more approachable for people who actually want to go and make a new wind managing system for X-11. And at least until fairly recently, we just haven't had a good option for building something where you don't want to get like really, really into the weeds, right? If you want to go and do everything from the ground out,
Starting point is 00:18:51 Hey, W.R. Roots, great. Go and do it. Do something from scratch if you want to. But if you just want to make, hey, this is, you know, tiling window manager, but slightly different, unless you're just going to fork off an existing project, there just wasn't really a great way to do that. Because the co-bases are so big. Yeah, yeah, yeah. So that is one of the things that I think SMC is going to help with. I think, like, on the website, we have six compositors that already made with it or something of that number. And that's just popped up like in the last few. I mean, this hasn't been going for long. So it shows you it's not super hard.
Starting point is 00:19:26 You can spring something up. I think I'm working on a video. I'm procrastinator on a video. I'm working on a composer with SWC. My example is about 80 lines of code. You can get a window on the screen in 80 lines of code. Like that is kind of what I'm going for. Yeah.
Starting point is 00:19:45 And so it is really good to make things more approachable. because not only is it more approachable from the front end, like it is for the user buy, it's also approachable, it's simple at the back. You can trace through a whole Wayland stack without reading, like, going through 60 libraries. Like, you want to put text on the screen? Like, it's easy.
Starting point is 00:20:01 Like, that's one of the things I like about Raymond is it removes loads of, a lot of abstraction layers. It's a very clear protocol, but it's also extensible, so you can do what you want. Okay, that leads me into another thing that always really annoying when people talk about Wayland, when they say, but I can't have a hotkey demon
Starting point is 00:20:18 and the security policy now, it's too secure it's terrible, but they didn't realize maybe if they put their hands on the keyboard and start making a compositor, they could just make a Wayland protocol that broadcast all the keyboard events to every single window and you can have like whatever
Starting point is 00:20:34 bullshit thing that you want to do you can have that. It's pretty easy too. I was thinking of doing it to prove everyone wrong that you could have like a universal hotkey demon on Whelan but no one told me it. prove anyone wrong. No one ever talks about it, but that's a thing you can do in Hyperland. You can scope it to like application names, but like you can already do that. It's just
Starting point is 00:20:56 nobody else implements it. It's pretty annoying when people talk about waiting like it's a monolith because that's like the main point of it is that it's not compared to X, which is a monolith. Although recently they've been trying to make new Xs like the Phoenix thing. I didn't know. You interviewed that guy, right? I did, yes. I didn't watch the whole thing I started watching it but I just can't wrap my head around why anyone would put themselves through that
Starting point is 00:21:21 I don't understand it I read the read me of the project as well and they're trying to add like the permissions feature from Wayland into X I think that's going to make a lot of people really angry right I mean if it works like kudos
Starting point is 00:21:37 like it's cool but I do think we do just need to let it die at this point we just need to let it die And into like, there's just so many parts that I could just ramble about how much I hate X, like with a passion. But maybe I'll park it there. If you, no, if you want to, if you, look, I, my audience is very interesting, right? I have a lot of people who understand the benefits of Wayland, but I get those, like, drive-by hardcore X-11 people.
Starting point is 00:22:07 It's always fun to just, to just see. So if you want to, if you want to annoy them, please, go right ahead. Say what if you want. Okay. I can't forget what I was going to say. I just had an idea. But I forgot what I was going to say. What was it?
Starting point is 00:22:20 It was... Well, I was talking about Phoenix. Something about letting it die. So, yeah. When you want to put something on the screen, like a window, when you want to draw something into the window, it is like unbelievably ridiculously complicated the way that it's done in the back on X.
Starting point is 00:22:36 So you have X-Lib. Now, X-Lib is like the X-Library for drawing stuff to the screen. It's like the most ridiculously hard to use. disgusting evil library in the world, that there's an extraction library on top of it called XCB, which is like the modern modern replacement. But the way drawing a window works on X is like,
Starting point is 00:22:57 okay, put a line here and then put like a line underneath it. And like you're talking directly to the server exactly what you want to draw lines, this, this, this, that. It's like an insane way to do it. It's almost like it was designed like in the 70s or something. What year? Okay, what year is X-E-B? X-C-B, X-C-B is 2001. Okay, so not too old, but at least seven years older than me. On Wayland, do the application, like, okay, here's my, here's my buffer, just put it where you want.
Starting point is 00:23:31 That's literally it. There's no, there's no cap. And that's something I think is also, as if you're doing client development, it also makes a lot, if you're developing applications, it makes things a lot. simpler. But then obviously nowadays most people who develop their applications are using like GTK or like whatever crap UI library people like now. So it's all abstracted away anyway. But um it's the base level. It's nicer to develop an application for Wade than it is for X. Um, I'm working on some like fun applications now. I wanted to make, I think where you could draw a little 16 by 16 pixel art.
Starting point is 00:24:11 and then export it as a PNG. That's like a, it's like a fun project. But just doing it with the WLD drawing library and like nothing else, like simple. The way I like it. Yes. Okay. What's the other? Okay, so there's on the list here, the list.
Starting point is 00:24:28 I've been given a list of topics. Yeah, it's just like general things. Oh, well, um, sorry, I'm just trying. I'm like mostly. keeping up with what you're saying. It's just I'm going to process things sometime. I try slow it down. I'm sorry if I'm going too fast. No, no, no, no. It's so good. It's so good. Just a bit of a side change. How long have you been doing like development for? So I started working on my Linux distribution to Reeve. I think maybe it's been four or five months now.
Starting point is 00:25:06 It's been not super long, but maybe about half a year if I had to make a guess. And then I think this way and stuff is at most two months old, I think. It company started because I was using, so my first Linux supervision I used when I was developing Linux stuff was Arch. And then one day, my yay stopped working. Because a shared library had disappeared from my system after an update. I felt to get like radicalized. What are these shared libraries here for?
Starting point is 00:25:39 what is the point of this? I still, by the way, to this day, I don't understand what the point of a shared library is. It doesn't seem simpler in any way. So then I installed Alpine. I was like, okay, this is much better. But I wanted to get like a desktop work at Alpine and then like all these dependencies start coming up,
Starting point is 00:25:58 like debas and like random GTK stuff. I don't want this. What is this? So I was going through every dependency. I'm like, look me at it. Like, why do I need this? And I just realized you actually just don't need any of it. Like, okay, debas is like, it's like, it's evil. It's like so evil.
Starting point is 00:26:13 They, I'm pretty sure they made debuts to like make me angry. Like, I don't think there's another reason to make software that bad. It's like completely undocumented, like utterly undocumented. Also, the protocol itself, not only is it undocumented, but it's also like a poorly designed protocol. And it's like the most complex non-solution to an absolute non-problem. Like in the day, in the glory. days of Unix when I was like a pre-feetus. They decided that you have two processes and you want to communicate with them. So obviously when you're communicating two things, you do it directly.
Starting point is 00:26:51 And that's like the simplest, the most effective ways to do inter-process communication. But somehow we've stumbled upon this idea that we need like this ultimate mediator written in like C++ that's incredibly slow with object method calls. I don't even know what that means. but so you have a process that makes a call on an object and then debus sends that to the other process and all that does is put a notification on your screen shortly we could have thought of a better way to do this right so I'm trying to the aim of my distribution is to remove all of that bad stuff that I hate passionately and do a Linux that's like simple not for you but for me right right right like simple like simple conceptually. Maybe it's hard to set up. Maybe a pain to use, but conceptually very simple.
Starting point is 00:27:41 So, if I'm understanding it right, like, you're, you're, basically, you're, this is a story that's been told many times. We have a, we have a young developer who is convinced that he can do everything better than all of the people over the past 40 or so years. I'm going to draw my best, okay? I'm going to try. I respect it. Like when I was, so it started off like the goal was, I just want a small, fatically linked newsland. And the original compiler I was using was GCC and I had like some Gnu stuff on the system. And then over time, as I was developing it, I started to get like radicalized. Like, like all these like canoe dependencies kept popping up. You might see on the website,
Starting point is 00:28:30 the fifth point is that the system is almost 100% canoe free. I guess, I guess, I guess, I guess, everyone knows what gnu is uh they're like a software project they use a license called the gpl the guy richard staleman uh is a he has a long beard and he dresses funny you might see a picture of him um yep they make bad software they make very bad software now you know so Microsoft who are not gune Microsoft are a different company they make windows they do they have this they have this uh what's the word strategy they like to do cool what is it like extend expand expand expand extend But the idea is they add, they take something, oh, embrace extend extinguish. They take something, they embrace it, they embrace it, they extend it, and then they destroy it.
Starting point is 00:29:14 So, Britsen was like, okay, I can do this, but instead of charge people money for it, I'll do it for free. So he took Unix, even though he doesn't even like it. He said multiple times that he doesn't even like it that much. He extended it by adding all his like extensions, right? And then he makes everyone use them because there was no really other option. The GCC was a free compiler, and everyone is going to use it. And then now everyone is stuck using all this canoe stuff with a GPU license and we're stuck here forever. It's crazy, right?
Starting point is 00:29:41 Oh, that's going to annoy someone. Oh, I know. That is probably the take that I have that gets people to hate me the most. I don't know why. It's just my opinion, man. Some of the canoe stuff is not even that bad. Like, GCC and Clang, like, they're both large, angry, annoying compilers. because now everyone's stuck.
Starting point is 00:30:05 The main thing that's annoying is Bison versus YAC. I don't know, you know, YAC? So, YAC is, it was like an original Unix tool, yet another compiler compiler. It's a tool that's used to make, pass the tables, to parse things, that you can use to make a compiler
Starting point is 00:30:22 or to make another thing. So the reason that I started to just, so Gannu made their own version of YAC called Bison. I don't know why it's called that. They like things with horns, I don't know. Yak, bison, animal naming. Oh, no, the yak, the animal. I wasn't thinking about that because it's spelled with two Cs.
Starting point is 00:30:40 Yeah, yeah, yeah, yeah. That's actually, yeah, okay, anyway. So I was compiling LibxKB common, which is the X keyboard library, which is also used on Wainan. They really should rename it. We should start a petition. Please rename it. I was compiling that, and it says you need Bison to compile the, I forgot even what it was,
Starting point is 00:30:59 but you need Bison to compile this to create one of the pastors for it. And I look back in the commit history and it used to support YAC. And they just deleted it. And now it only supports Bison. I was like, I just started to get so confused. Like, why? So I patched it back in and it worked fine. And I started this journey of like, why are we using all of these extensions that are non-standard
Starting point is 00:31:22 that canoe invented when the original still works fine? So that's another thing I'm trying to do in my distribution is work through all this software with Ganoo dependencies and like just sort of rip out. Because we don't need that. Hmm. Well, I think we don't need that. I know people really hate when I say this. Like I posted on Reddit like a screenshot of my distribution.
Starting point is 00:31:41 I was like, no Ganoon was used in the making of the screenshot. And then someone like commented like, you're an edge lord. You know nothing about software. Your distribution will be dead in a year. I'm not quite quit by now, but now he said that, I have to keep doing out of Spine. Like just for the next year. yeah. I don't really understand this,
Starting point is 00:32:03 but people really hate when you say bad things about Ganoo. With the exception of bash, people are like totally fine with you saying like, I want to do everything in POSIX script, but anything else, don't touch it. Don't touch it, yeah. I mean, even some of the like
Starting point is 00:32:20 more like crazy people distributions like DeVuan where they patch everything, they also still use Gnu stuff. but we didn't bash. People hate Baff because the extensions they added like so not good. Like they don't really fit in a shell script in context like arrays and stuff like that.
Starting point is 00:32:36 I mean, it's, it's kind of useful. There are times in my life where I'm like, gosh, if I only had some Ghanu C extension, it would make my life a lot easier. But I don't use that. So like I said, I like to make my life as inconvenient as possible. Yeah.
Starting point is 00:32:51 So you say almost 100% Ganoe free. What is leftover? The only thing that is currently a dependency in the repository is Gnu MAP, which is very, very hard. I am, well, I'm trying to get this replaced, but it's very, very hard to replace Gnu because it started off of like the tool people use to build software made by Gnu and then they add a few extensions, but really it's kind of evolved. It's like a build DSL domain scripting language.
Starting point is 00:33:20 Like it is like a whole language of build system. Like the Linus Colonel builds, you just K-Build. cable is like an abstractionator that generates like loads and loads and loads of Gunu make files. It's really hard to replace that. It's really hard. Ideally, what I would like is something that passes the Ganoo make file and outputs a Ninja, you know, Ninja, Ninja Builds file because it's a lot faster and better. Google did try and do that to speed up Android builds. It's called Kati.
Starting point is 00:33:49 Yeah, it's called Kati. I try it. It's pretty cool, but it's like really hit or miss. And it's a C++, which I don't know how to work with, really. Um, so I'd like to do something like that, but not in C++ and works like for everything, absolutely everything. And then I can destroy and put a big banner on the website, 100% new for it. It'll be amazing.
Starting point is 00:34:09 But yeah, that's my plan for I'm working on. Okay. Yeah. Okay. We probably went on a tangent. It's just supposed to be mostly about Whalen, right? I don't know what this is about. Yeah, I don't know either.
Starting point is 00:34:24 I can talk about some of my plans for Wayland stuff I want to do in the future. Sure. Yeah. So I recently stumbled upon the website. I'll try to find it. I don't remember. But so have you heard of Oasis Linux? It's another project made by Michael Forne who originally made SWC. It's a project I'm pretty inspired by. Right. Right. Right. Someone made a system with Oasis Linux and an SWC custom compositor and they put it on a pine phone. And I thought that was awesome. I don't have a pine phone. I want to do that. So I looked on the guys outside and he said, I used to have this all on my personal get repository, but I accidentally deleted the VPS and it's all gone. So the idea was cool.
Starting point is 00:35:05 So I'm going to try and maybe do something like that. I do need some funds to buy a pine phone, but I'm sure I can get something worked out. Right now I have an iPhone because my parents pay for my phone, but I'm sure I can buy a pine phone, right? And then I want to try and get my distribution with a mobile compositor and work on some like sort of mobile UI stuff. This is quite a recent idea. I only thought of it like three days ago, but I think that'll be awesome, right? Linux phone support has been evolving silently, but pretty well. You can make calls on it.
Starting point is 00:35:32 You can do camera. You'll never be able to do banking because the ones just sucks. Yeah, that's like a whole. They do have like very, what's the word? I'm forgetting the word. They don't want it to be run in a very specific environment. I'm forgetting the word. Yeah.
Starting point is 00:35:48 A tested environment. That's the word. I think it would be cool if I could get like a sort of simple suckless Linux phone with a cool mobile way link compositor so that's something I want to do and the other thing I want to do is I started a bit of work on this to someone else
Starting point is 00:36:04 is make a compositor that represents all the windows as a in a 9P file system you know 9p is the protocol that was meant for Plan 9 nowadays it's been delegated to like Qimil and WSL it used to be a cool network file protocol now I just use it for like to make Windows and Linux work together or something
Starting point is 00:36:22 but I want to make a waylonic capacitor where all the windows are represented in 9p file system and instead of having keybyes that are like preset and hard-coded in the compositor, hard-coded in a config file, you just interact with a 9P file system in some way and that manipulate the windows in that way, which kind of makes it an easier or less,
Starting point is 00:36:43 so we say, less secure way of interacting with Wayland Windows. So that's something that I want to do as well. There was on X something they did that. I think it was released as something. It's called WMII or WM2. It's spelled WMII. That's a similar idea, but on X. I want to do something like that,
Starting point is 00:37:04 but a bit more barebones on Wayland. Small scriptural window manager with a 9P files, just fastened interface with an actually like a layout. Dominguezports classic title when you manage. Okay, I didn't even know about this one. It's very old.
Starting point is 00:37:22 I think it might be the precursor to the DWA. if I remember correctly. And then some other things that I've done, I mean, I ported, so Plan 9 is something that I'm inspired by. I got this, let me get it, think pad. It's not fun of good right now. It's a massive one. This is my dad's from like 2003.
Starting point is 00:37:41 Oh, okay. It's like some old-ass think pad. I have Plan 9 installed on it, but it's not charged right now. Plan 9 is a cool operating system. I really like it. But the thing I like most about it, even though it has good operating system back-end design, is the Acme editor that they made is like really, really good to use.
Starting point is 00:37:59 I've been using it for like probably a year and a half now. But the only way to get it on Linux is through Plan 9 port, which is a fort of Plan 9 to Linux. But Plan 9 port, as far as I could get it to compile, only really supports X. So I made a compatibility shame using the WLD drawing library that takes Plan 9 port draw calls and converts them to Wayland draw calls
Starting point is 00:38:20 and then I can get Acme working negatively on Wayland and it's on my source site. It's called Hat. which is, yeah, I don't know why I called it, but I forgot what I called it that. But I don't say, Wayland, a native Wayland Port of Acme. So that's,
Starting point is 00:38:30 so it's sort of small things like that, getting kind of niche-ish X software that I like to work on Wayland. Because I'm kind of an ex-guy, like, to be honest, at heart, I want a hotkey Diven and like a script for Window Manager. And none of that stuff really exists on Wayland yet,
Starting point is 00:38:45 even though it is a much better protocol. So I'm trying to get all that, like, set up, kind of. Hmm. You're trying to like, you're trying to like show that it's possible at least for your own setup yeah and then use it
Starting point is 00:39:00 honestly honestly that's all really cool that's all honestly everything here sounds awesome one of the things that was brought up in Wayland FYI was regarding desktop
Starting point is 00:39:17 portals desktop portals so a desktop port was some kind of like satanic like interface. I don't really understand like what it does. Right.
Starting point is 00:39:30 It's like they use Debus in some way to take something called using your screen with pipe wire and then there's like a divus interface and in some way that lets you screen share on Discord using Debus and
Starting point is 00:39:45 pipe wire and a desktop portal. I honestly, I really try to comprehend it. But when I can't comprehend something, it probably means it's poorly designed. software. And I really think they should make a way of screen sharing without a desktop portal. There probably is a way to do it. Because like I said, Wayland is infinitely extensible. You can really do what you want. But the problem is when there's a standard like a desktop portal
Starting point is 00:40:09 for screen sharing or for other things like a file picker, the applications need to obviously support it. So Firefox or whatever needs to support them, whatever you're using. So probably the solution that I have to do, if I work something out, is create something that isn't. stupid to screen share and then probably patch Firefox or whatever browser or thing to support a non-Destop portal way of screen sharing and doing other file pickers such interactions. But I think one of the main use of desktop portal is with flat packs because it's a soundblocks application. I really use flat packs.
Starting point is 00:40:45 So that's not like a big thing to me. The main thing is screen sharing. I know a lot of people want that. Right now you can't screen share on SWC or any SWC-based compositor. So that's something I would like to work out. in the future, because desktop portal, like, it doesn't make sense. It doesn't make sense to me. Possibly a stupid idea, and I don't know if there'd be a sensible way to get
Starting point is 00:41:03 to work, but most of these apps obviously are able to capture your screen on X-11. So, theoretically, what you could do is have your own compositor, and then sort of build a shim between your desktop and the X-11 support that then somehow manages to abuse that. That's an interesting idea. I didn't think of something like that could be interesting. What I was thinking is to implement like a protocol kind of similar to just like a screenshot protocol we have now and then sort of just like directly stream that into a patched version of the application, which is obviously a lot more complicated because you have the patched the application. But then there's also an interesting idea. I think I'll look into that, see if it's possible.
Starting point is 00:41:42 And you know, you can get a little thing. Thanks, screen sharing, Brodie Robertson for the idea. You get credit. Another alternative route, which is a dumber idea, but also has been done in the past, you can pretend like your screen capture as a webcam which will work for some applications I think that's something
Starting point is 00:42:00 you could do now if you get it set up right it's just a bit of a pain like people don't really want to do that they expect things to work out of the box that is the way the when Discord screen capture it wasn't working
Starting point is 00:42:11 that's the way that KDE was working around the problem with Discord they had like basically a little Damon that ran in the background that would just take the screen capture and then convert it into a webcam feed you know that's the way I could do
Starting point is 00:42:23 get it set up now because there are times that I wish I can screen share. Some of those people come into my RSC chat and they ask me, how do I screen share on SMC composite? I just tell them why you need to screenshot? Who need to see your screen? That's terrible privacy. I mean, but that's obviously not true. I'm just lying to them. I think that is one of the problem with sort of trying out a lot. There are some projects I've wanted to try out and like wanted to actually give a proper shot. But if there's not a way to screen capture, I just, I can't daily driving myself. It's not really practical. I know it's practical, not practical for not people. I mean, to be honest, I don't think SWC, I think I might be the only person
Starting point is 00:43:01 daily driving it, maybe, although I think there's the other person who's developing and composed of them I'd be using theirs. But there are reasons why it's not super daydry for right now. So the original SWC project, before we fault it, didn't have any subsurface implementation, and there are some apps which I use subsurface very heavily, like Firefox. And now I'm using Firefox right now, because I implemented subsurface. surfaces into SWC. It took a long time. It's still not perfect, but it does work. So that's one thing. And then the other thing is layer shell. That wasn't in there at all. So no bars worked. It had its own protocol called SWC panel. Because this, by the way, SWC was made in 2013 before
Starting point is 00:43:41 layer shell existed. Right. Okay. That makes sense then. So they had to implement their own protocols to do like a DWM style bar. And we were just using that to like make our own little bars and stuff. But as of, I think two or was it two or three days ago, I implemented layer shell properly, so it supports some simple layer shell clients like Waybar now. And just over time, I'm hoping to update some of the protocols that are on old versions, add new protocols that people expect, hopefully get most of it upstream into the original SWC project, because obviously he did most of the original code, Michael Forney,
Starting point is 00:44:11 and I shouldn't be taking credit for it all. Everyone goes to the Michael Forney GitHub page and start all his stuff, because he's like the goat. I just want to say that. He's probably one of the best people, like, of programming in the modern. He made so much good stuff. So that's my plan. And eventually I want to get it to the point where, like, you can just use it. And it's easy and it's simple and it's not a pain and things just work most of the time.
Starting point is 00:44:36 And it will never be like WL routes because they have like probably like people are probably getting paid to work on that. And they're probably, there are like loads of jobs to work on that. This is just me and like five other people. But I still do want to get at the point where it just like does just work. And but also it is a little bit simpler approachable as a developer. easy to make a compositor, extensible, like code-based-wise, easy to hack on W-R-R-R-R-R-R-R-R-T is massive.
Starting point is 00:44:57 It's 85,000 lines of code, if I remember correctly. W-R-R-R-R-R-R-R-R-R-R-R-R-R-R-N-R-R-R-N-R-R-R-R-S-M. Now, they say 60,000 lines of code that you don't have to write yourself. I think that was in the read-B-C at one point. Right. I did, I ran the clock, C-L-O-C count lines of code command on it,
Starting point is 00:45:12 and it's like 80K, actually. I don't know big than that, okay. But SWC is, the original is about 10K and R4K is I think 18K. And you still get most of the core. It's very usable like for a basic window management system. So it just shows you don't really need it. A ginormous monolith megacode base to just get things working. So yeah, that is my end goal with this, all this wailing stuff.
Starting point is 00:45:40 Yeah, that's something I've heard quite often with people who've like gone away from the WRO routes, route where it's like W.Root's is very over-engineered what I understand. Like it does kind of everything. And if like that makes sense you're trying to be a generic library, but doesn't... You don't always want to do everything. Yeah, right, right, exactly. Because it leads to a lot of code, yeah. So there's only more focused and more approachable, like, for developers and simple to work on.
Starting point is 00:46:10 I just think it'll be nice. And it doesn't really exist. I mean, I haven't tried Smithy because I don't want to write Rust particularly. Maybe that's easier if you like Rust. I don't like Rust. You can't even bootstrap the compiler anymore, I think. That's like crazy, right? But yeah, just a simple...
Starting point is 00:46:30 I don't think people made some composters for SWC using Zigg, because Zick has a really good C interoperability. So I thought that was cool. I mean, Zig is like an alright language, I guess. So, and that was cool. I didn't expect that. able to do that. Every time I see someone making a composter with S&C makes you really happy because it's like,
Starting point is 00:46:49 it's just cool someone's using stuff that I made or help make to make something that is fun and cool. So, yeah. So you wanted to be simple. Is there anything that's sort of like outside of the scope of what you wanted to even really be part of the core project? Outside of the scope. I mean, so the main thing I'd say is out on the side of scope is giving like full composite level
Starting point is 00:47:11 control to the compositor you make with the library like WR roots because I think that would just make things really complicated. So that's out of scope. Originally I was planning to make things a lot simpler, like just do like literally the bare minimum to get winners on screen because that works for me. But I've realized with the help of some convincing of people that maybe that's not practical for the majority of links users. And even if I want it to be simple, I guess it's a waste of time if at least most people
Starting point is 00:47:39 won't be able to use it. So, like, I wasn't going to implement layer shell because I thought it was, we already have something similar. Like, what's the point? I wasn't going to update any of the protocols because everything, or most apps I use already work. But I've kind of shaken our mind on that. I've done a bit of a U-turn because I think it will be better if you can keep, I think I can keep it simple while also keeping it, you know, up to date, modern wayland, works with everything, has decent protocols support and stuff like that. So I wouldn't say anything is out of scope. It just depends how much time I have. Right, right, right. So something I've I don't know if we
Starting point is 00:48:12 like properly covered it We just We just sort of like Covered it as part of like a general rent You've brought up D-Bus as being a problem A number of times It sounds like you have Pretty much anything that touches Devas
Starting point is 00:48:26 You just like I don't want to touch that Yeah I don't want to use it I generally don't understand D-Bus I spent like multiple days Trying to wrap my head around it And I don't really understand how it works At all
Starting point is 00:48:37 in any capacity. I don't, it's, it seems like a very overcomplicated, a very overcommunicated solution to what I thought is a very simple project, problem, which is like making Firefox put a notification on the screen, like stuff like that.
Starting point is 00:48:52 Like, I don't think you need an entire, uh, bus service to do that. I don't see why Firefox can't just fork and execute some executable that, uh, as a layer shall collide with a message in it. It should be that easy, right?
Starting point is 00:49:06 I don't know. Am I crazy? I feel like I'm crazy, but it seems so much simpler. I mean, why has no one done this, right? Though DeBas, I don't understand why it exists. I feel like free desktop do a lot of things where the lower levels libraries that they make are actually mostly good. Like obviously they have a big part in Wayland. Free desktop, it's hosted on Wayland.
Starting point is 00:49:26 I mean, Wayland is hosted on Free Desktop. And it's a great protocol, as I've said many times. Or like stuff like Evdev or like all of the lower level stuff they do is really good. But then when you get to the sort of like desktop level user space programs, I think they really like overcomplicating everything. Like D-Bus is really over-complicated. All of the stuff like the past, like with desktop environments, the sound they have for that. I just don't understand why it's like this. I don't understand why it's like this.
Starting point is 00:49:56 I feel like it could be so much simpler. I have a kind of mindset that everything should be as simple as possible because I don't see why we need so much abstracting abstracting complication in computing. and people think that having things be simple means that like everything has to be like hard to use right right right but I don't think that's true at all you can have an intuitive like system that a beginner can pick up and use while also having it be internally simple but if you have a externally simple program
Starting point is 00:50:24 with an ex with an internally that is internally complicated the universe will present you with a user who knows how to use the program but has no idea how it works which is not what you really want. When you really want it's something that is externally simple and internally simple so the user can easily use the program and also easily understand how it works because that is how you're supposed to use a computer, I think personally. I think we have a lot of that on lunch,
Starting point is 00:50:50 but you have people who are confident with an application, have no idea how it works, and then have a lot of opinions on the correct way the things should be done. Yeah, you shouldn't have that opinion if you don't understand what is happening internally because your idea or suggestion or opinion might just be impossible. That's why we need to make software that is comprehensible, unlike D-Bus, which is incomprehensible. Even someone like me spends a lot of time working with computers and looking at code. And another problem with D-Bus, which has been mentioned many times by a variety of people,
Starting point is 00:51:20 some who I agree with, some are disagree with, is that D-Bass is just completely undocumented. Like, they just lie in the specification. They do just blatantly lie in the specification. There are some things that they say, I'm lamented, and you try and do it, and then no application will accept it. Like, it just doesn't exist. That, like, shouldn't happen. Like, there's just pure incompetency.
Starting point is 00:51:38 There's no, there's no excuse for that. They just isn't. That is actually a somewhat common thing in free desktop. And some of it is, honestly, just because it's been handed around a bunch of times. And there's a bunch of old pages that are completely outdated, but they're still being linked to from pages that you assume are the correct up-to-date. page. So there might be good correct documentation somewhere.
Starting point is 00:52:06 It's just there's a bunch of these... Yeah, there's a bunch of these like weird incorrect links just scattered around the place. I'm not good. I feel like I shouldn't hate too much because it is, like it's free. Like these people aren't getting paid to work on stuff. Like at the end of the day we are all just hobbies to an extent
Starting point is 00:52:21 some more serious than others. I do feel like there could be a little bit more clarity, especially with the debus stuff about making sure that the stuff that you write on the website, also works when you implement it. I feel like it's a little bit bare minimum. I don't know.
Starting point is 00:52:36 Yeah, what I end up hearing for anyone who writes a, like, new implementation is they just go, like, for actually, for a lot of this stuff, and they just look at what, like, KD is done and just like, the documentation is the implementation that KD has. The code is the best documentation. I mean, what, like, is no, though, because K, obviously what KD has actually handles it properly, because KD is used in production on your laptop. So, yeah, that's the only way of making a De Blas implementation. Also, the original DeBus implementation was, like, crazily slow.
Starting point is 00:53:08 And now there are like five more, like Debus broker, I think is the one that's used on most mainstream distributions. And there's like, one in Rust, probably called like Debus RX if I had to guess. But yeah, there are a bunch of implementations. I feel like if they just made one competent implementation, it would be easier. I mean, I'm all for multiple implementations. It's something that I, there should be multiple implementations of everything. It's something that I do often.
Starting point is 00:53:30 I just re-implement something in a way that I think is better. But make sure that when you do that, that it's in harmony with the original implementation or you end up with a situation where nothing works as intended, which is like, annoyance for everyone involved. On the topic of multiple implementations, we kind of touched on the idea of like fragmentation of Whelan. This is something people often talk about.
Starting point is 00:53:52 It's like, you know, on X-11, you have X-Og. So X-Og is the thing that is doing everything. Wayland, you do have. a bunch of these different implementations and you kind of like brushed off the idea of fragmentation earlier i don't know if you wanted to like touch more on that i think the fragmentation generally if the all inventations are mostly compatible or 99% compatible is obviously a good thing like talk about most composers for waylon that people make are made with wl roots that's great but if i want to make something simpler i feel like there should be an alternate implementation i can use
Starting point is 00:54:26 or if i want to make something in russ there should be an alternate implementation if i can use on x if you want to do that you need binding and all this stuff it's not really native it's not great and also when you have the freedom to use an accessible protocol and layer on top of it in whatever way you want you can make whatever you want whereas with x you're limited to what the server can handles for you and what the protocol handles the ex protocol handles for you so it's a little bit more limiting in that way whereas wayland is people can sign as compared to vulcan it's a very low level it's just a wire protocol that it doesn't handle graphics like it is really bare bones. So you can layer anything you want on top of it. And that is what makes it,
Starting point is 00:55:04 in my opinion, great. When people say fragmentation, I just see it as more freedom to make the thing that you want to make on top of it. Now, I'm not going to dispute and say that maybe there's like one case where like it works on KDE, but it doesn't work on some other thing. Like, okay, that's not great. But overall, I think it's a positive. Absolutely. That used to be a lot more of a problem in the early days. It's getting a lot better. Like when, especially like you were saying before, where you had SWC, which didn't even, this was before layer shell, so it had a custom way to do bars.
Starting point is 00:55:36 That's just, yeah. Like, yes, Kewin has their own thing, but like those are desperate environments. Those are sort of intended to be used with the shell they built. With themselves, yeah. Right, right, right. But when we talk about things,
Starting point is 00:55:47 you know, that are built with Mia, that are built with W.O.S., they're built with Smithy, that are, like, you know, Hypland. Like, all of these make use of layer shell. So at this point, that issue is pretty much just eliminated. So that so is the problem I think probably the main problem with the way here.
Starting point is 00:56:04 This is one thing I agree with all the haters on is that the time it takes, you've probably met, I think you've mentioned this in your video, the time it takes and the insane statements people make in the discussions about when they're creating new protocols, it's not great. I think it could probably be done in a better way. Like the session restored protocol took ages or the zones protocol, that was really needed. The worst part about session restore is. everybody agreed that it was a good thing.
Starting point is 00:56:30 It wasn't even like an argument about do we want it. Everyone was just arguing about the correct way to do it. Yeah. I think it's just stupid, to be honest. And then the Zones Protocol is something that was really needed. The one where you have multiple, like, for stuff
Starting point is 00:56:46 like key cataracts, multiple windows, there are so many people, I feel like they were kind of brushing a software that wasn't a real use case, but there are a lot of people who are using software that just needs that support. And it's just ridiculous not to have it. Now, in my opinion, everyone just says there and complains about it. What I would have done if I was using that software,
Starting point is 00:57:03 is I would have just made a protocol that does that, implemented it into SWC, and then just patched the software I was using to use it, and then eventually maybe I would actually be what I was telling, or I would wait until they made a real protocol for it. But I think people just have to start taking initiative a little bit more, okay? It's open source software, so you take the software and you do the thing you want to do with it. Be solution-oriented people, okay?
Starting point is 00:57:23 Don't just complain, just fix it yourself. That's what I think. Yeah, there actually has been Now it's time to get into like the the Linux boomer talk There has sort of been this change in The kind of person that uses Linux And this, I don't know when it happened
Starting point is 00:57:40 But if you look at the early days Linux You know, before GUIs were you know As widely available as they are now Most people using Linux If you're back in like the early 2000s The pre-Abuntu Let's just say pre-Abuntu Most people using Linux at that point
Starting point is 00:57:55 were developers or developer interested, something, developer adjacent, they're most likely doing something in that space, whereas now it's pretty much dead simple. Like you can just install like a cashier-o-s or a door, pretty much anything. And you don't have to ever even open a text editor, look at a line of code.
Starting point is 00:58:19 And that has completely changed the kind of person that uses Linton. At this point, you don't even need to have, like a development background or any interest in development. And that's, I think that's a good thing because it means things are actually in a good state. But at the same time, you also have the issue where a lot of people don't even realize that the only reason this exists is because people are actually writing a code. The only reason this exists is because there is this ecosystem of volunteers who are trying to make something.
Starting point is 00:58:49 I think it demonstrates that from a huge perspective, Linux at a really good point where like anyone basically, I mean, I installed like Debbie and mate Marte on my friend's computer and he's like using it for school and he was using it for a bit and like that so it shows like like you can just pick stuff up and do it but at the same time it once a person is using Windows or some other operating system like Chrome OS they aren't really considering they say like, oh, think of all the paid volunteers of Microsoft who worked on this, who worked in the operating system. But I think maybe, I think it's something that some of the desk environments have been doing
Starting point is 00:59:29 where they have, like, the little donation, medication that pops up like once a year. I think it's kind of good to remind people that, like, this is free software, open source software, made by normal people, mostly, or just normal people. So, and you should treat it in that way. and if you have a problem, don't just cry about it, maybe learn, try learn something or try help someone or report it, like, to take a bit of initiative, I feel like that's the way to go. But also, I feel like a lot of the, I really want to make, at some point, I use a friendly desktop environment that isn't either the overcomplicated.
Starting point is 01:00:04 I feel like that's something that doesn't exist. I mean internally overcomplicated, because they all use like debass and GTK and stuff like that that I really don't like or agree with. So I want something that is like a Linux-Mitt-style thing where you can just pick it. up and use it and it's easy, but it's not ridiculously terribly designed. I do know if I'll be able to do that, to be honest, because those sort of projects take a lot of people who know about interface design and who know about making things easy. I find it hard to make things easy because I'd like to make my life really hard. Hmm. So, but that's something I want to do because I feel like at the
Starting point is 01:00:38 end of the day, like the more people using a free operating system, the better. Whether it be a Linux or a BSD, I feel like that's also underappreciated. Make sure you're something. software works on all Unix's guys. It's important. MP, at least. I think you can definitely say that like, because a lot of these big desks, like, you're going to own, your KD's things, like, they've been around for a while now, you know, going on 30 years very soon. Um, there has sort of been this sort of, like, you've had these rewrites and a new toolkit. You've had this like, feature creep over the years. And obviously, you know, pulled back a lot of features over the years and tried to, like, like simplify things, but you're going to have that sort of problem where it is difficult to
Starting point is 01:01:23 wrap your head around a code base that has been around for that long, that whilst they might have had some like general guidelines and I'll write the code, it's not something that was, you know, fully architected from the start. We have like build documents on how to extract different components. It's mostly just done through vibes, done through code guidelines and adding things on as individual developers want to add things on and then developers review the code, like, oh, that makes sense. And it's mostly fits together and mostly works. But because of that, I think a lot of people do find it, especially for the established projects, find it hard to, I guess, see how to get involved in that. And,
Starting point is 01:02:11 Yeah. Yeah. That's something I really struggled with and I was getting to bring it. It's kind of hard to just like make a PR like or like you or like make a contribution. Like you don't really know where to start or you don't really know what like an open problem is. I try and make my projects like approachable to contribute to. I hope I'm doing that. Everyone who's watching like make something with my stuff like I'll be you can email me. You can contact me like I just want to I want to make sure everyone can I contribute.
Starting point is 01:02:36 That's something I'm committed to. That's why I mean I read code bug is terrible. It always goes down. But I keep my stuff, at least my distribution stuff on codebug because it's easy to make a PR. It's not as easy to use the Git, send email, pat thing, or source that. So I like to keep some stuff on codebugs so people can easily contribute without having to learn how to use Git too much because Git is complicated, right? But contribution, making contribution successful is something that's important. And there are a lot of like, I know when I was starting to get seriously into Linux programming, I mean, I was always programming.
Starting point is 01:03:06 When I was like doing Linux exchange programming, I was just making my own stuff and I was never like, contributing to other people's stuff, which maybe has led to like this cool stuff happening, but it's also important. Like there are all these projects out there, like, there are loads of people who are solo working on like cool stuff that they might not finish if they don't get contributors. So like, look out and it's never that hard to reach out someone like to try and make a contribution. The thing you said about architecting like how it just kind of builds up in these layers. But I think the reason that happened is because when you, I mean, I watched this video, it's a, I forgot the guy,
Starting point is 01:03:38 he's like a really smart guy. It's, I think it was called the one unbreakable law and software. And he just explained that that software takes the shape of the organization that's working on it. So when you have like, I know, Microsoft isn't that organized,
Starting point is 01:03:54 but let's take Microsoft an example. They have all these teams that like, Molly Rocket? Yeah, that's the channel. That's not the guy's name, but that's his channel. Okay, yeah. Um, we have a,
Starting point is 01:04:07 like, say they have different software teams working on like different stuff and they kind of split it and you kind of get that that shows in the software where the thing is abstracted like let's let's say we have a sound team and that sound team is working on three different things or the sound team is split into three different teams so each work on three different things that comes out in the software where it might be abstracted abstracted in three different ways with open source projects when it's not like a super centralized organization what generally happens is there's a developer and its contributions to a sort of just going on top on top on top on top so that I think that's why I love open source software
Starting point is 01:04:38 ends up in this sort of pile of trash like software architecture where it's just stuff laid on top of stuff on top of stuff on top of stuff because the way that it's organized is literally just a guy and then a contributor going on top of that and another contributor on top of that
Starting point is 01:04:52 and on top of that where people are really working in like he synchronized teeth so that's why we have this problem in Linux and open source of like poorly architected designs in my opinion when you talked about like
Starting point is 01:05:05 doing stuff yourself I don't you know People talk about this issue of, I don't think it's an issue. I think it's people just complaining because they're like complaining, where, you know, they do like that. Where you have a lot of these sort of re-implementation is the same thing, right? Like the 30, the 300 different implementations of like Neufet, for example, or all of these, like, you know, I, like, this is VIM but slightly different text editor,
Starting point is 01:05:31 or you've seen how many terminals are out there probably, where... Too many. I don't, like, it's not a... bad thing, right? I think people assume people are weird with it, people are really weird with like code being worked on where it's like they assume that
Starting point is 01:05:47 the work that you've done on one project is sort of that work would have been transferable into another project right, where if you weren't spending time on your thing you would have spent time on this other thing that was maybe more
Starting point is 01:06:03 like widely used whereas that's not that's not really how that works It's people are working on the things they are personally interested in. Happen it about, yeah. That's like probably, I guess, the reason why most of you recommend stuff. Like, I could, I don't know, I could contribute to W.R. So, like, add a patch that makes it work without U-Dib or something. But, like, it's more interesting for me personally to, like, sort of make a new or a new-ish,
Starting point is 01:06:28 because there's a thought, but new-ish thing rather than, like, have to contribute someone else's massive code-based. So that is why people do it. At the same time, like, you should also try. If you have code that's useful, you should try and contribute back. Oh, sure, sure, yeah. Yeah. I have a lot of patches for my distribution that's like removing Bison dependencies
Starting point is 01:06:50 and replacing it with standard yak. I might try and upstream some of those. I don't know if the projects will accept them. I don't know if they're interested, but I might try. Because I feel like that. Like, if you have something that's useful, like, just show it to people. Like, see if they want to upstream it. I neglect to do that for like two months when I was working on my fork of SWC
Starting point is 01:07:07 and then the microphone, he just found it one day, and he was like, he emailed me, I felt so bad. He emailed on the mailing list. Like, I feel quite sad in that, like, maybe you didn't want me involved. I had said like a whole long email, like, no, no, no, that's not how it is. It's not idea what you involved, I just forgot. Or I'm not very good at reaching out. So you should always reach out to people if you're working on their stuff. It's important.
Starting point is 01:07:26 And that's something I've learned, definitely, over the last few months or so. I will say when you're doing stuff by yourself, it does avoid that a complexity of, like, interpersonation. personal stuff, right? Where if you're trying to get it upstreamed, like this is probably going to happen with the, with the yak stuff, where you're going to try to upstream it, and then you're going to justify why it's, why it's a good change, and you're going to have projects where maybe they're interested, but then there's going to be arguments about whether or not we do want to do this. And for stuff like that, maybe it's not super complicated, but when it is some more like fundamental thing, like, as we're talking about with the Wayland Protocol stuff, you know, the way, the problem with most. Whalen protocols isn't technical. You can, like, documenting a protocol, doing all the XML, all that stuff, relatively straightforward. Yes, there's going to be some technical challenges on some protocols. Most of the issues are more like these interpersonal things,
Starting point is 01:08:23 trying to justify to other people why this is a good change, especially for those ones where it is a bit more of like a controversial protocol. And doing stuff by yourself, maybe you can... Yeah, maybe you can say, bit of a cop out to not have to deal with the people, but it is nice to not have to deal with other people. Yeah, when you scroll through those discussions on the free desktop GitLab about the whaling protocols, man, I don't want to be dealing with that.
Starting point is 01:08:49 That's why I'm never going to try and contribute this probably. They're not logging over there about just like random, very specific things that no one's ever going to think about when using their computer. But hey, I guess someone has to do it. Like, with the Zones protocol, for example, like, what if a window, was to pretend to be a password prompt and then place itself over another password prompt. It's like, yes, that could theoretically happen. Do you have a documented case of it happening on Windows or on X-11 or on any other systems?
Starting point is 01:09:19 Like, yes, it could theoretically happen. But like... It's a classic case. A lot of people do this where they try mitigate security problems that don't actually exist. Like half of the Open BSD's security mitigations are just like, they're mitigating a problem that could theoretically happen, but no one's tried it, but it might happen. It's basically the same thing with that, like, well, what if they make a fake part of a window? Like, okay, they could, but will they? I don't know, maybe.
Starting point is 01:09:45 But, I mean, I would say better safe and sorry, but it does add, like, a lot of BS for no reason, a lot of, like, unnecessary conversation and complexity to the protocols and stuff like that or to the operating system in the case of open BSD. But if you are, I mean, I know Whalen has a big focus on security. Security isn't something, like, I'm, like, huge on. But I don't know. I guess it's worth it if it's going to make our lives more secure, maybe, if those password prompts can't appear.
Starting point is 01:10:15 I'm not so sure on it. I don't know. I feel like if you're in a situation where somebody, well, firstly, like, with Wayland, you can't see the other windows with most composites anyway. So you're in a situation where a password prompt knows where to place itself on your screen to pretend to be another password prompt. I feel like the person who is doing this has quite a bit more knowledge about your system
Starting point is 01:10:46 than... Yeah, well, they have enough knowledge about your system where there are more dangerous things they could probably go after. For example, it's like, have you seen any of the system D birthday stuff people in the argument recently? Yeah.
Starting point is 01:11:05 Yeah, so the argument... that Pottering made in favor of adding it is applications that aren't sandboxed can like just see every file on your system anyway and uniquely identify you as a user so the birth date doesn't actually change it so it's like the birthday is sort of this that that was his logic right his logic is the birth date's a sort of a red herring problem until you worry about like sandboxing all your applications and not just having everything just you know, read every file in your system. Yeah.
Starting point is 01:11:40 Like, it's kind of a non-issue from his perspective. Do I agree? I mean, the thing with the system D, like, age verification, is I'm pretty sure you could just edit. If you have re-access, you could just edit your age, right? That's how they're going to do it. Well, yeah, no, it's, it is an optional field that any, like, you can just edit, pretty much. I mean, here's the tip for anyone who really cares by age verification. This is in no way biased.
Starting point is 01:12:03 If you want to avoid age verification, you should, use, you. user distribution that doesn't have D-Bus or SystemD, and then there's no way they'll be able to verify your age. Okay, I'm telling you, because the two ways that they've proposed to doing it is a D-B interface and a system-D user DB field. So if you have either of those things not on your system, they're not going to be able to tell how old you are.
Starting point is 01:12:22 I promise, I promise, okay? That's my opinion on the matter. But, I mean, the age-verpeat thing was really scummy from California. I do think that the open-source project should have more of a, like, make-me attitude. Like, I don't see why we need to force ourselves to comply with this, like, if it's volunteer projects. But at the same time, I guess people don't really want to get sued, right? My distribution is illegal in California.
Starting point is 01:12:47 So, yeah, I guess that's the end of that. Yeah, I agree with you saying that. Like, at the end of the day, it's just a whole mess. That's one of the it. It's just a whole mess of a situation because, you know, you can say, like, just, don't comply and don't like do all this. Like, yeah, I agree. You probably shouldn't just,
Starting point is 01:13:10 especially when things are still being discussed, I do think they just jump the gun and merging it pretty much as soon as possible. The law probably isn't even an effect yet. Laws take ages to be in effect. Well, yeah, that's the thing, right? It's like, we can also say that, like, just don't do it. But also, there's no compliance being done right now.
Starting point is 01:13:29 So it's like, there are these, like, there are these small distroses are, like, posturing about, like, we're never going to do the age verification. Like, sure, okay, sure. I believe you. Let's see what happens when the fine has sent you, right? I'll believe you for now, but I don't, look,
Starting point is 01:13:45 until you show me some proof that you're not going to fold immediately with any sort of pushback, you know. I saw one, it was actually no other links. I think it was Nomad BSD or one of those, like small BSDs. They changed their license. It's technically no longer an open source project. Oh, midnight. Yeah, their license says that you can't use it if you're in California.
Starting point is 01:14:09 I think that's hilarious. For California. What are they going to do if they're a very strict license to beaers? I'm not a license to bea at all because it's kind of impossible to obey some licenses when you statically link things. That's another reason why I make my life really complicated. Like FFMPEG, I have to link a GPL library statically, which is like illegal, basically. Well, I think it's a gray area, but it's quasi illegal.
Starting point is 01:14:33 So there are legal things that I'm doing. Should I be admitting on the internet or Richard Stalman send like his agents to like kill me and help me down? It's not like Nintendo. They don't, I don't think I have agents. So they do do a bit of doing people, but they don't have, they don't really have a phone. Do it so often. But I think it's kind of a bad, what the Midnight BST people did. It's understandable, but I think it sets a bad precedent like overall.
Starting point is 01:14:58 Like it's not really something we should be doing. Even though obviously people living in California can just like ignore it. It's just words on a screen. but it's so I don't think it's not that a bad precedent like are we just going to start excluding I think they said their plan was to implement age verification in some way but personally I think there should be a little bit more protest like these open source projects we're not corporations we're not um these laws are I guess if I was if I was appealing to lawmakers I would say they're anti-competitive I don't really believe that but that's what I would say
Starting point is 01:15:29 if I was appealing to lawmakers and it's I don't think it's really fair to enforce that on volunteer-run project. So there should be more protest. If you live in America and you have to deal with this bullshit, maybe like cool up your congressman or whatever you have over there. I think they'll have it in Brazil now. It's really bad. The world's kind of going into a bad place.
Starting point is 01:15:48 I hope we can get this sorted. But hey, until then we'll have a system D, age refrication thing, I guess. Yeah. Yeah, it's... I don't know. I'm in Australia, right? I have, you know, we have our own problems down here with all that mess.
Starting point is 01:16:08 The fun thing with the, the funding with the Australian stuff is they've basically just admitted that none of it worked. So. Wait, what do they have in Australia? Oh, you don't know? Yeah, yeah. We have social media. Yeah, yeah, yeah.
Starting point is 01:16:19 They had an under 16 social media ban. We have, I'm in the UK. We've got like, uh, couldn't tell. It's just a shitty law, like, uh, like child safety banning certain websites for, uh, under 18s, but what it led to, the one thing, it doesn't really affect me day to day, except that like, I don't know, I can't join some weird servers on Discord. But apart from that, there's one website, it's repo. I think it's repo.org.c, there's one open source project that I constantly,
Starting point is 01:16:48 I think that's the website, that I constantly need to download a tarbill from. And it's now blocked in the UK. And I have to find a mirror that it's really annoying. So please, any politicians in the UK, please revert this law so I can download my tarbill from. Thank you very much. That's so... I... Yeah, how'd that got included?
Starting point is 01:17:09 I think that's the other thing. Like, I've seen sites also jumping the gun here that are not even remotely affected by the laws. Just like, ah, just make sure, be safe. Yeah. Like, I've seen a lot of stuff where it's like, we might be affected by the law. So, fuck you.
Starting point is 01:17:24 We're not going to show you the website anymore. It's really annoying. People should be more angry and protesting and saying no. But also, that has its own problems because you could get sued at any time. But hey, this is what we live in now. You talked about not complying. And that's something a lot of people aren't really talking about with the whole
Starting point is 01:17:43 age verification stuff. Most of the bills don't actually have any punishment for individuals. It's not even like written in the bill. It is entirely targeting the operating systems. You avoiding it, there's no reason to give them the information. I mean, what they're going to do? Like, you lie about your age and then they like say he's president. Like, so, yeah, Windows those type of laws, they target the organization because it still
Starting point is 01:18:07 incentivizes the organization to force it on the user, which is like, obviously, still annoying for the user. But, yeah, you can just avoid it on if you have an operating system that lets you edit your age freely, which I guess probably Windows and those ones probably won't be doing that. But hey, I haven't touched that in a long time, so I don't want to think about that. Yeah, or just, I don't know, build your own operating system. From scratch. Yeah, exactly.
Starting point is 01:18:30 one day I'll do that maybe if I have a lot depends how much time I have so from the um definitely not a lawyer perspective what are the issues with statically linking when it comes to like GPU and stuff like that from what I understand so the GPL when you um when you link a GPL library you need to make the light I think it's something about you need it needs to be you need to redistribute the library code as freely modifiable but if you distribute a static binary on its own with a GPL linked library, you have to provide to the user everything they would need to modify the GPL library to their liking and then relink it against their program.
Starting point is 01:19:11 I'm not a lawyer. That could be completely wrong. But from what I understand, it is hard and it was slash illegal slash not allowed to link a GPL library statically, which is why one of the reasons why I think that LGPL exists. I mean, I don't like that. I don't think most of the. I don't think most the GPL, the thing GPL licenses are not that great, but the LGPR, I think, allows you to bypass that restriction, whereas the GPL doesn't. So, if I start a binary repo for my distribution, which I'm going to soon, and then I distribute an FFMPEG binary, I believe that I am breaking the law in some manner. But I hope nothing bad happens out of that. Should be fine. Should be. Yeah, probably. Was it?
Starting point is 01:19:58 Yeah, so that's another thing. I don't recommend people to use licenses that restrict the user's freedom. The GPS is supposed to protect the user's freedom from what I understand. But I don't think in practice it does that from my experiences with it, because you can't start to link things with it, and it makes it. It just kind of makes life of pain for everyone. So you shouldn't, I think there are cases where it has been beneficial. Like, obviously the Linux kind of probably wouldn't be where it is today without the GPL.
Starting point is 01:20:25 But I'd say for like the majority of software, like 99% of the tide. I would recommend to use a license that just kind of do what you want. That's my opinion. I used to be a big GPL guy because I'm like, but the corporations, they're going to steal my thing. But that doesn't happen most of the time. Again, with the exception of huge things like Linux, most of the time the corporations, they don't really care, man. They're going to give you code back anyway, probably, even if they do care about your project. So use a license that makes life easier for everyone.
Starting point is 01:20:55 That's what I try and do. What is your what does your do you go to your license? IFC or just like nothing. Okay. I don't know much about ISC. That's a, that's a fun choice. If anyone who doesn't know, that is the license that pseudo uses, I believe.
Starting point is 01:21:14 Really? I don't know that. Oh, no, you do. I chose it because it's like MIT, but with less words. And the less words, the better, right? Yeah, fair enough. I think ISD kind of sounds nicer to say than MIT, or it looks nicer on a screen. That was also another consideration, a very important consideration when choosing a license. I think the reason licenses really don't matter most of the time is because actually it's kind of all just doesn't matter.
Starting point is 01:21:43 It's sort of just a thing people like to spend a lot of their time thinking about, like the legal ramifications. But really, it's just code. And unless your project starts to get like serious traction, it doesn't really matter what like whether you have a license or not. I know it's like people like say like, oh, but technically it's all right it's reserved. But it is just sort of like a, I'm not going to say made up, but like it is, it doesn't really matter. It's just a thing people like to think about, spend a lot of their time thinking about. But I see as the license I choose generally because I guess people get angry at me when I don't put a license in the repo. I don't know why. I don't think of any reason why.
Starting point is 01:22:16 Well, at the end of the day, right? Like, unless you have a lawyer, you're not enforcing the license. Like, it doesn't matter. Like you can, it. License are a fun one, right? Because, like, you can go to another open source project. Like, hey, you're misusing the license of my project. And they'll be like, okay, yeah, sure, I'll fix that. But the people you actually are using the license to protect your code from probably don't care, right?
Starting point is 01:22:46 Like, there have been a ton of cases of, you know, people in jurisdictions that just don't give a shit about licenses. And they're just like, GPL code? What's that? Don't know. Who cares? What's the GPU?
Starting point is 01:22:58 Yeah, you can even do that like yourself. Like, no, if you, if you fork a GPL project and put it on Gtab and change the, don't put it on GitHub, actually. I shouldn't have said that. Put it on a free,
Starting point is 01:23:08 non-microsoft owned GIForge. And then you change the license to like some other thing. Like, no one's going to do anything. Like, you'll be fine. So it kind of is all like a made-up mental game that we open-sort developers like to occupy our minds with, probably because there's not much else going on in our lives. But, um,
Starting point is 01:23:23 Uh, yeah, licenses. They're interesting. They are interesting. Hmm. I know, I think it's a fun topic. And obviously, like, like, it is, it is important to an extent, but I do agree. People do, especially when we start getting into the, we start getting into the niche, the niche differences between the very similar sorts of licenses, like, oh, are you using BSD3 clause or MIT or ISC and it's like they're all the same all that permissive licenses are the same except the original BSD that says like any software
Starting point is 01:24:05 that uses this must say in the advertising material that it came from the University of Berkeley which I think is a really funny clause to pay a license like if you use the software and you advertise it you have to put my name on the thing I think maybe I should start doing it and it can say everywhere like shrub that would be great But yeah, I think they now, FreeBSD and all the other projects who are originally using that Berkiew license, like, remove that specific laws, because it's kind of a pain for everyone. Yeah. Yeah.
Starting point is 01:24:30 You use licenses that make life easy for everyone. That's the best thing to do. You said that the Linux channel probably wouldn't be where it's at without the GPU. Have you ever actually looked at the original Linux license? I have not. I know it was like some even stricter copy left, if I remember correctly? Yeah, let me see if I can quickly find it. original Linux
Starting point is 01:24:50 Colonel license It was something that Torvald's wrote himself Um Not a good idea by the way That's another piece of life Don't write your own license, okay? Yep
Starting point is 01:25:00 Yep Yep Don't do that Uh Okay, thank you AI nonsense Give me the actual license text
Starting point is 01:25:07 Google AI summary Uh Okay, all right It was merged into the readme It wasn't even Its own separate
Starting point is 01:25:14 document at this point Jesus Thank you Torvald very useful where the where is it okay here we go
Starting point is 01:25:25 copyright section 2 just in the middle of the document the kernel is the kernel is copyright 1999 line is 12 volts but all or part of it may be redistributed provided you do the following full source must be available and free
Starting point is 01:25:40 if not with the distribution then at least on asking for again it's such like a weird way to a weird way to describe it. Copyright notices must be intact. In fact, if you distribute only parts of it, you may add to copyrights as there aren't copyrights in all files.
Starting point is 01:26:01 Small partial excerpts may be copied without bothering with copyrights. Again, that's just like not an illegal text. It's like, what is small? Yeah, a small redistribution of the entire code base. And then the most important one that definitely Linux wouldn't have been, where it's at. You may not distribute this for a... Oh, distribute, it has a spelling mistake. You may not distribute this for a fee, not even handling costs, so you just weren't allowed to sell the kernel.
Starting point is 01:26:30 Non-commercial. I guess that makes it not open source, if I remember the definition correctly. Yeah, yeah. That's funny. That's pretty funny. I mean, the thing that, like, I don't like the GPL license. I think it's a really bad license. But at the same time, you look at where BSD is at today. Sony is using it in the PlayStation. Nintendo, I think, used the networking stack on the switch. It's being used, Netflix used it in their stack for a long time. They probably all could have made significant contributions, but they obviously have decided not to.
Starting point is 01:27:01 That is bad. I think that's really bad because BST is a much better designed operating system than Linux. It's just not as usable for daily use. Now, maybe if all these corporations would, out of the kindness of their heart, contribute to it, then it would be better. But it's not.
Starting point is 01:27:16 So that is one thing where maybe the GPS, has had a slight positive effect on the world. But for most other use cases, it is pretty annoying. Things could have been very differently in that regard. So. A lawsuit, right? Hmm? Like the AT&T Unix lawsuit and like Ginnu were going to use the BSD kernel,
Starting point is 01:27:37 but then there was a lawsuit and they didn't use this. They used Linux instead. Is that what you're going to refer to? No, I was going to talk about the Ganoo operating system where they were building the, they were building Heard, which was, if you look at the original, the original email that Linus Sentow
Starting point is 01:27:53 was like, this is not going to be big and serious like, because everyone at the time was like, this is going to be the free operating system. It's going to be amazing. But originally they were going to use, I believe it was 386 BSD, and then Storm was like, no, no, we're not doing that. We're going to wait for the mock kernel
Starting point is 01:28:12 from this university because it was like a micro-colonel, but it wasn't even open, source when he wanted to use it. He was like waiting for... It was like still in the research stage. So it delayed things for like six years. And then by the time it was ready,
Starting point is 01:28:28 people had already started using Linux. We already started... I think Debbie and Slackware were already out at a time. They even got properly started. I mean, microcuttals are hard. They're really hard. That's proven by the good you heard still like only working 78% of the time after 30 years.
Starting point is 01:28:45 that's like a real figure. They can only build 78% of the Debian package deposit which I guess is impressive but it's been 30 years man like come on, beat up a bit. I mean people have made whole operating systems in that time but microchernels are hard like I think Apple the Mac OS is like a weird quasi microchernel and it kind of works but it's also just like a micro kernel
Starting point is 01:29:09 like with BSD the entire BSD like hammered onto it. Oh yeah that's another thing that's built off of BSD stuff. Oh yeah. Another stolen BSD developed. I think I want to like all the free BSD developers do these Macs anyway, so I guess they get thumb kick out of it. But
Starting point is 01:29:26 Free BSD isn't even a real BSD because they have like a hundred compatibility ships of Linux to make anything work. So it doesn't even count. It's basically a Linux distribution with a different kernel which I guess makes it not an interesting distribution, but it's so close to Linux that it's like funny. But was I even
Starting point is 01:29:43 not, what's it saying? Um, something about BASD. You were talking about FreeBSD then. Complaining about FreeBSD. Yeah, before. Uh, MicroC are quite hard. Make the work because the IPC.
Starting point is 01:29:56 Now, IPC is hard. Debust is slow. Debust is IPC. Mercocondles also use IPC, but for drivers and they are generally slow, which is a reason why I don't think they've ever taken off. But, like, conceptually,
Starting point is 01:30:07 it's a much better design than a macrocona. I mean, having drivers in user space is nice. Having as much you can in user space is nice. But we, we, kind of here now. I think it'll take a very long time. I'll probably have a long, great bid like Richard Stalman before there's ever in Michael Colonel that works in production.
Starting point is 01:30:22 Production being on my laptop once again. You said just before that you think the BSD is better designed. Where, what do you, yeah? Linux is massive. I mean, it's massive for a reason, because it works on everything, like literally on everything. I don't like massive things. I think that you generally ugly. I think Linux is a pretty ugly beast, but it's a very useful beast. And sometimes I need to do schoolwork and homework on Firefox.
Starting point is 01:30:53 And Firefox is a complicated program. And while it does work on NetBSD, which is the only BSD that I'm willing to use, it's kind of a pain to set up, and it's an old version of Firefox. And there's all these other problems with BSD. So that's why I generally use Linux. But purely from an operating system design standpoint, BSD, I'm talking specifically about Net BSD because it's the one that I like. It's a much smaller code base.
Starting point is 01:31:14 It's specifically like the least desecrated corpse of research Unix. Like it is like kind of like the last real Unix. The code base is nice to read and look at. It's simpler. Conceptually, there's less subsystems upon subsystems upon subsystems. But again, like it will never be where Linux is. I don't think it ever will be. Or it'll be a long time and by the time it gets to Linux.
Starting point is 01:31:38 Now Linux will be in like a whole different place. although, you know, I'm not really a fan of Rust in the kernel. My opinion on Rust is like, I don't really like it. I don't really know why. I'm not going to, I think the, I really don't like that the compiler is so hard to bootstrap. That's the one reason I don't like it. But, like, if it ever came to a point where I would have to get a Rust compiler on my system to build the next kernel, then, which I think is probably going to happen soon, but someone will probably patch out. Anyway, then I might consider moving to BSD more.
Starting point is 01:32:09 but unfortunately it's not really a usable system for me personally who's as someone who does a lot of software development and a bit of gaming um so that's why i don't use it but the user spaces having the user space in development with the kernel is always a good idea uh that's one reason having most of having everything developed as what having the libsie developed with the kernel it's again also a good idea now because linux has been developed for so long they're kind of is harmony between the Libcy and the user space and the kernel only if you use the one that's the Gnu Lipsi and the Ganoo user line. Now, there's Muzzle, which is one of the best programs, one of the best pieces of software ever, in my opinion. It's amazing Lipsi. But there's a lot of,
Starting point is 01:32:56 not a lot of actually, but there are a few things that don't work with Muzzle. Um, I do, I, I don't think I've ever said the word muzzle in real life. How do you even pronounce it? Is it muscle? I assume it's muscle. I don't know. I don't know. I think it's muscle. I actually have no idea. Anyway. So that's why like what I thought I do like kind of the swapability aspect of Linux. Like you can use a different user land or a different Lipsie or a different. And when I say Usaland, I'm referring to core utilities mostly.
Starting point is 01:33:23 Or different Libby or stuff like that. It also means that like it does feel a bit disjointed and a bit less unified as a system. And a unified system is maybe in some ways better. So that's why I think BSD, two reasons. The code quality is nicer. It's smaller and simpler, less subsystems upon subsystems. Generally, a simpler build system, and it's more unified. Those are the reasons I think BSD is there.
Starting point is 01:33:47 But there are other things I can't do in it, like run a virtual machine with kind of virtual machines. So I'm not going to use it as a daily system. It sounds like your general, like, overarching goal is to have your software be as simple as possible. And like simple and easy to understand, but not necessarily. simply simple as in, like it doesn't do much, but like easy to understand code and not just, you know, not something that is trying to account for every possible situation. Something that works for me and for people with so many use cases to me and it's like just comprehensible. I don't think things that are comprehensible. I look to understand everything.
Starting point is 01:34:30 That's why when I don't understand something, I start making a replacement for it, which is probably a bad habit. But yeah, that's my general, I guess, stuff where, philosophy. Although people who say they have a software philosophy have too much time on their hands, but you should go outside and touch graph. But yeah, that's mine, I guess. Maybe I should cook outside and touch grass. Yeah, probably a good idea. So, on that note then, like, what, sort of going back to the whalen stuff, like, what is, what is your criteria then for, like, good Wayland software? Because, you know, you've, you've some examples listed on here for random utilities, but, like, what, what, yeah, what goes into that sort of idea then?
Starting point is 01:35:08 So the things on that page, I guess, are mostly just a shill of my stuff and stuff that is affiliated to my stuff. Yeah, that I'll do it. And I'll do it. Right. And I look to a few other things from there. But generally, because
Starting point is 01:35:20 Whalen Software is kind of such an overarching thing, like Firefox is technically Wean Software. Discord, the electron client is Whelan Software. Oh, hello. Do you see? You might still be able to hear me, but I can't hear you. Thank you, Discord. I love it.
Starting point is 01:35:44 It's gonna come back. Yes, no. And... Okay, so this is a super scuffed way to finish this. My internet's currently out, so I'm currently playing the Discord audio from my phone into my microphone. Yeah.
Starting point is 01:36:08 But we had two conversations. So, it's probably talking about for the Wi-Fi camera. But I guess you can finish that off and then call it a day. I believe we're talking about something about Wayland Um BSD staff and it's about I don't remember
Starting point is 01:36:36 But This is the Apologies for the ending here Like my Two hours of footage Around two hours I do that's pretty good going Yeah
Starting point is 01:36:49 It was an hour and a half Yeah A conversation of some manner On the internet So That's pretty Pretty good thanks for having me on
Starting point is 01:37:01 it was awesome to talk and I'm watching your videos for like probably for like three or three two three years maybe oh nice nice yeah it's cool to be here and it was also cool to like
Starting point is 01:37:12 be talking about stuff that I'm interested in something maybe I don't get this often so thanks for having me and I hope the people I've enjoyed watching me ramble and talk aggressively at the screen about code and numbers and software
Starting point is 01:37:27 and things things of that nature. If people want to, like, check your stuff out, where can they go? We are on IRC on IRC.orgio.com hashtag D-E-R-I-V-E, Dereve, which is my name of my distribution. You can follow me on, I guess, Mastodon is probably the best place. I'm Shrub 900. I'm also Shrub 900 on pretty much every single social media slash non-social media
Starting point is 01:37:54 slash anything in the world platform. So if you want to contact me on, like, no, LinkedIn. I'm joking. I'm not on LinkedIn. But you can, you can contact me pretty much anywhere from Scrub 900. And if you want to check out on my projects, they are under the name Shrug 100. They are trying to split between Codeburg and Source Hub. But if you want to look at code, that's where to find it. Okay. Yeah, pleasure to have you on. I hope, I happen to have you on again in the future. Hopefully next time we don't have this happen. Sure, sure. Yeah. Yeah, no, pleasure to have you on. This was a fun episode.
Starting point is 01:38:28 You're clearly incredibly passionate about this and honestly those always make the best episodes. I hope that it's enjoyable to watch as much it was to make. I guess I guess bye. Yeah, I'll do my outro and then I guess we'll sign off. Okay, cool, cool, cool. Okay, so my main channel is Brodie Robertson. I do Linux videos there, Six is Chase's week. Sometimes I stream as well.
Starting point is 01:38:54 I have got the gaming channel, Broidion Games, where usually my internet doesn't go out. Sometimes, I guess it might. And if you're watching the video version of this, you find the audio version of basically every podcast platform at Tech Over T, and you can find the audio podcast on pretty much every audio podcast platform. Search Tech of Tee there,
Starting point is 01:39:15 and you will find it. I'll give you the final word. How do you want to sign this off? Um, I hate Debust, and good news. Perfect.

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