Tech Over Tea - The State Of Kodi/XBMC | Keith & Brent

Episode Date: August 4, 2023

One of my viewers put me in contact with some members of the Kodi project which you may otherwise know as XBMC and I was really curious to hear the state of a media center system in the current year f...or completely legitimate uses. ==========Guest Links========== Website: https://kodi.tv/ Github: https://github.com/xbmc/xbmc ==========Support The Show========== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson =========Video Platforms========== 🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg =========Audio Release========= 🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss 🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953 🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM 🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw== 🎵 Anchor: https://anchor.fm/tech-over-tea ==========Social Media========== 🎤 Discord:https://discord.gg/PkMRVn9 🐦 Twitter: https://twitter.com/TechOverTeaShow 📷 Instagram: https://www.instagram.com/techovertea/ 🌐 Mastodon:https://mastodon.social/web/accounts/1093345 ==========Credits========== 🎨 Channel Art: All my art has was created by Supercozman https://twitter.com/Supercozman https://www.instagram.com/supercozman_draws/ DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.

Transcript
Discussion (0)
Starting point is 00:00:00 And we are recording. Good morning, good day, and good evening. I'm as always your host, Brady Robinson, and today we have a really interesting episode. Today, we are talking about the home theater software previously called XBMC, nowadays going by the name Cody. Welcome to the show, Keith and Brent. Why don't you guys just briefly explain who you are and what you do in the project right go first okay first uh so i do uh some developments on uh core um program of cody uh i've been in the project since 20 well i started my first contribution was in 2017 i actually looked
Starting point is 00:00:45 this back up uh so i've been in the team for i think since 2019 i think or maybe 2018 um so yeah i uh we just at the moment i'm performing the release manager duties for we did that for 20 v20 nexus and for the upcoming 21 Omega. Uh, so I'll be running that through getting it out the door. Awesome. Keith. Yeah. So I'm Keith. Uh, I'm currently a president of the Cody foundation, which we always joke means that I do everything nobody else wants to do. I really don't touch code. I'm more of an administrative person. And my favorite part, and I've been a Cody team member since 2011. And my favorite part of being part of XBMC, part of being part of XBMC, what it was back then.
Starting point is 00:01:51 But the whole team in general is, I get the luxury of organizing DevCon every year. So we get 30, 40 of us together in some random city, typically in Europe, always in Europe. But typically, we've done it in Eastern Europe a bunch. But now we're branching out um where uh pretty much all the team members if you're a team member you can come and uh yeah we all get together and hang out so um it's it's great to be able to actually see each other in person and we've been able to fly brent over a couple times now i'm sure it's great to be able to put like a a face to the contributions in the project it's not just hey this is some you know this is some random username on the github they're just doing some contributions they might be great contributions but seeing who's actually behind it sort of gives a more
Starting point is 00:02:34 i guess a more human aspect to what's going on involved in the project this is gonna be a mess with you know you know who to respond next i should leave it keith here i was like yeah absolutely we um it's it's nice that that sort of interactive side of things because then you you get to actually interact with um other team members outside of just the the the cody aspect of it you sort of talk about the about life have some drinks have some fun so um yeah it's uh it's it's good it's it brings a of talk to them about their about life have some drinks have some fun so um yeah it's uh it's it's good it's it brings a different aspect to it so you can really get to know people and get to know what drives them so it's good i know that when we did our pre-talk keith wanted
Starting point is 00:03:18 to do a lot of focus on like the direction of cody, the development, bringing more people into the project, but I think before we can get to that it's important to go over what Kodi actually is and the state that is currently in because While Kodi is certainly like one of the big media center software There's a lot of people out there who just don't have media centers who've never really, you know, worked in this space You don't really know what the software exists in this space actually is. So why don't we just do like a brief explanation of what Kodi is and sort of what value it brings to the user.
Starting point is 00:03:53 Sure, I can handle that. Yeah, so Kodi is home theater software. So the most common thing that I ask people when they ask me what Kodi is, is have you ever heard of VLC? Have you ever used VLC? Most people say yes. And then I'm like, okay, so VLC is a media player and we're a media center.
Starting point is 00:04:13 So one of the core differences between that is we're really designed for that 10-foot interface. We claim we coined the term 10-foot interface. Who knows if that's true or not, but I think it might be in our Wikipedia. interface who knows if that's true or not but um i think it might be in our wikipedia um and uh we were always designed without around the aspect of being able to use an actual remote and being able to be controllable from the couch so keyboard and mouse is not something you know hdpc um is probably the most common phrase these these days home theater PC. And that was kind of the space that Kodi and XBMC have always been in. One really big difference between us and other projects of our nature is we're one monolithic app,
Starting point is 00:04:56 meaning that the same code runs on every single platform. So when Brent joined the team, he joined because he was interested in getting the Apple TV 4 to work. So it was and they had to basically get the entire code base of 8 million plus lines of code to compile and function to a pretty high degree of functionality in order to kind of declare it an official port. And so that's one of the big aspect differences between us and other projects. So you have projects like VLC that run on half a dozen, a dozen platforms,
Starting point is 00:05:31 but typically they're different code bases and they use a library called libVLC to basically glue all that together. Now in 2023, which design is better? Probably not ours, but hey, that is what we are today. And one of the nice aspects of it is when you know that our stuff runs on a platform, it means that usually like 99% of the timeodi runs on this device and there's hardware to Kodi on this device. So that means that I could run libretro and I could run all the retro games and I can run, you know, any other various features that we have in our platform. So that's probably one of the biggest differences. A big common use is the Raspberry Pi scene, right? One of the things we really empower you is to allow you to customize everything.
Starting point is 00:06:26 We have a ton of skins. All of that is open source, of course. All of our add-ons are open source, everything. And so unsurprisingly, the tinkering community of the Raspberry Pi has picked us up extremely. And there's probably millions of Pis out there that run our software. And that's always super exciting. And it's fun to go to Linux conferences and have people talk about pies. And we definitely get a lot of attention when we're at the same conferences.
Starting point is 00:06:50 So it's really stepping back. We existed before like Apple TV existed and Android TV and Roku and all of those type of front ends that now exist in the TV space. And ours differentiates the most because it's completely customizable. It allows you to, you know, if you're going to spend thousands of dollars on a home theater system,
Starting point is 00:07:11 you want your experience to also be exactly how you want it as well. So that's the space that we fall under. But, you know, we're basically for develop, we're by developers entirely. We're a developer-ran community. So because of that, we're not the easiest to use. Ease of use and user experience definitely is not your first time.
Starting point is 00:07:31 Your first time wizards aren't in Kodi. But it's really, really flexible. And there's a lot of power behind it, especially if you start digging in. And if you have a specific use case that you want to achieve, there's a lot of stuff that you can do. And you can almost always be able to make that work some way, somehow. Well, going back to the platform, I guess, consistency, I'm sure from the developer side, that adds a lot of challenges to each release. Like trying to make sure that if, you know, having things that you already have in the code base work consistently, that's one thing. And then new features that maybe were developed with one platform in mind
Starting point is 00:08:11 initially, then need to be brought across to the rest of the code base as well. Yeah, absolutely. You'll find that more often than not, someone will bring in or want to merge a feature that sort of works for their platform. Generally, we sort of try to push, not push back on it, but get them to try to implement that feature
Starting point is 00:08:36 so it is, I guess, platform agnostic as much as we can. Like there are some features like your Dolby Vision playback and that sort of stuff that requires hardware. So there are some things that just make it very difficult but as best we can um everything is trying to be designed to be a way that you can implement most features on any of our supported platforms and for the most part um generally every platform will get that feature uh but there are obviously differences um from platform platform what's what's available right you've obviously got the the linux space where your hdr stuff is uh forever uh to me it always appears to be a forever ongoing uh going thing and maybe maybe we'll get
Starting point is 00:09:26 there one day there's some work that red hat's doing on that but it's it's very much work they're doing on that it's not there's some and valve is doing some stuff in the gaming space as well they've got some early hdr stuff working but it's not plug and play at this point it's very much you've got to run this Git branch and you've got to do some extra additional tweaking. It's not there just yet. Yeah, absolutely. And I have faith that that will come through.
Starting point is 00:09:56 It's one of the good things about open source where there's enough people that have a care for it and it'll come through. And it's definitely something that, as you say, there's a lot of big companies putting a bit of money towards it now. So hopefully we'll get there. And we've got developers in the team that are contributing to all the Linux kernel stuff based around some of the SBCs
Starting point is 00:10:20 and that sort of stuff. So having team members that are actively supporting those things at that level is really good for the project. So whilst the core feature set is intended to be across every platform, there's still going to be a place for these platform-specific plugins and things that people want to make, that don't intend to go into the core project. it's something they just want to extend for their specific use case yep absolutely so we we support well currently we have two methods of add-ons essentially when it
Starting point is 00:10:57 comes to to that uh we've got our binary add-ons which uh is essentially code that is compiled to run natively on uh each of the platforms essentially so a lot of our pvr so the the um the video so tv based stuff is based around those uh binary add-ons we've got visualizations and a bunch of other sort of add-ons that uh that do that as well but then we also have our plug-in system using uh it's based on python uh and it is very very extensible um it's pretty pretty wild but some of some people are able to pull off in in the python ecosystem for uh for cody some of the um the add-ons that they're doing is really really awesome to see um and yeah there's a huge community about it so um if anyone's sort of interested in the python side
Starting point is 00:11:44 of things um check out the forums uh there's a lot of about it. So if anyone's sort of interested in the Python side of things, check out the forums. There's a lot of support around there from non-team members, just regular users who have sort of had that itch to make something or make an add-on that does something for them. So it's pretty, I think it's really great like that. So, yeah. So I do want to get more into the plugins and things like that a bit later. But one thing that is really important is in the early days, like back in the 2010s, where it was still in that XBMC space, the DVDs, things like that, were still a really popular medium to consume content.
Starting point is 00:12:25 was still a really popular medium to consume content, it sort of made sense how a home theater piece of software would actually make sense for like the legitimate use cases. I know you guys don't want to talk about the other ways that Kodi can be used, but what is the place of Kodi in a world where most of the content consumption is done through these streaming platforms like Disney+, like Netflix, like Crunchyroll, Hulu, and all of these other things that exist? Yeah. So I think that we can play a large role there, right? So for a pure streaming user, one of the nice things about our platform is people have written third-party add-ons for essentially any type of streaming service that exists. You can see we've had, you know,
Starting point is 00:13:13 folks write Netflix, Amazon Prime, Disney Plus, tons and tons. And the best part is that it's a consistent user experience across them that is themable, that is skinnable, like you can choose kind of how that looks. There's been some inroads that people are trying to build the ability to do. There's varying levels of media importation scripts that exist as well, where you could essentially put a stub file inside of your library that allows you to basically look like you have that piece of media. So you have that cover, you have all of that sitting next to other media you might have as well. Another big aspect is we're probably the most extensive front end for DVR and PVR solutions out there that's open source. So there's a ton of people. I myself have an HD Home Run in my house that I have a couple of tuners.
Starting point is 00:14:07 I think Brent does as well, right? Yep, yep. So that was one of my first sort of things into the code ecosystem was actually contributing to the PVR HD Home Run binary add-on. So that was back in 2017. So yeah, things like that, being able to use that. And we had Silicon were at the time
Starting point is 00:14:26 did have official uh python um plugins that they were contributing uh i don't believe they do anymore but um it's uh as you can really work with a lot of a lot of stuff so yeah yeah so because those atoms are open source people have extended them and continued the life of that. But getting back to the streaming question, you know, it's nice to have a consistent user experience. One of the main things, especially when you deal with people who maybe have low vision or things of that nature, it's the inconsistency across every platform. You have to learn new UIs. I get annoyed sometimes with how bad some of these user interfaces are and how they handle scrolling and things like that. If I am at someone's house and I have to use different interfaces in order to pull up media. And so it's really nice to come back to a Kodi environment
Starting point is 00:15:15 where you have support for all of these streaming platforms, but you have them in the consistent way that you expect them to be. And nobody nobody at times people can update it because of course these are all reverse engineered but by and large they tend to work they it usually works pretty well and so i really that is one of the big experience experience things that if if you really want to have own and you care about the experience of playback and the look and feel of all of your media, this is probably the number one way people are able to kind of control that experience.
Starting point is 00:15:52 Right, right. Well, even with these systems that like, take, let's say Crunchyroll, for example, their web interface is entirely different from like their PS5 interface Which is entirely different from their other interface entirely different from another interface So even just on a singular platform there is going to be this Complete mismatch of user design and I can totally understand why a user Especially one who does have those accessibility issues or someone who is more, you know, someone who's elderly, who's set up the system for you and give you a you know
Starting point is 00:16:48 this simple thing to work with now on the topic of reverse engineering that does lead into something really important I've seen a lot of confusion online about like what code what Cody is how Cody works is Cody legal like how this like fits together and how these streaming platforms actually work on this system. Sure, I can tackle that. So there's, we have our own repository of add-ons that we support. And all of those, of course, you can install. And they're done via typically reverse engineering is how the Python scripts are written.
Starting point is 00:17:33 They're all open source. Anyone can look at their source code and you can kind of see how it works. Now, these may or may not violate terms of service agreements. But by and large, we're trying to do things in the way that the media company who's add-on we support does them the same way, you know? And that's really what our goal is, is to bring our own experience, but have the same functionality as whatever their own app has, right? Maybe you can select different resolutions versus theirs you can't or things of that nature. But, but most of the time we try to
Starting point is 00:18:05 be feature parody. If it's possible, sometimes it's not. There's, and, and, but we don't ship any media ourselves, right? So when you install, when you go to our website and you download our binaries or you install it from Google play, you pretty much get just like when you install VLC, you just get a player, you just get something that has the ability. Now, the difference between us and something like VLC is that we do have the add on repo, our own add on repo that you can install. So you can install our add on repo, and then you can get a variety of different media sources that exist today. Hopefully, the ones that you pick work. Sometimes they don't,
Starting point is 00:18:46 unfortunately, because of course this is all community driven. But because we're an open source platform, we really believe in the freedom and the ability for anybody to install what they want. And so just like on an Android device, you can turn off the ability to um only install apps from their own google play and you can sideload essentially whatever you want right and so what we allow you to do is the same thing and you can install a new repository from a zip file that that we have not vetted in any way um we have no idea the contents of it we tell you that when you turn off this selection of course just like google does um and at that point you open yourself up to a variety of different types of add-ons, right? I think, unfortunately, one thing that happened inside of this space is that a bunch of
Starting point is 00:19:37 enterprising individuals saw that some people were writing some add-ons that were essentially just scraping other internet websites that had copyrighted material on them. And they built add-ons that you didn't see any of the ads or anything like that. And then other enterprising individuals kind of bundled those together and were selling boxes that had those pre-installed right now discounting the copyright infringement issues you look at something like that and and any of us who are technical look at that and we're like wow that's a terrible idea for you to buy something like that it's just gonna break tomorrow and then who's gonna fix it right and so unfortunately we've been overwhelmed in our forums and in our social media with people who have been tricked or knew what they were doing and have bought devices like this and have then ran into issues with them and they're like where do i go um so unfortunately there's a reputation problem inside of the space where some people who are
Starting point is 00:20:45 non-technical have their only experience with cody might be through avenues like this right and it's super unfortunate um we don't have the money to fight a uh um an image like that in the media and the uk especially has done a fantastic job of publishing stories in literal newspapers about, you know, how to install add-ons and things like, and dodgy add-ons like this, unfortunately. So there's not a whole lot that we can do about it because it's outside of our control. These are things that live on GitHub. These are things, so just like, you know, there's tons of websites that you can download cracked APKs and things like that. That happens well inside of our environment. Right.
Starting point is 00:21:29 But of course, Google has a few more dollars to spend on brand branding than we do. So, yeah. And so that's kind of a common space. So it always as soon as somebody posts something like is code illegal you just have to kind of laugh because it's like you know is a car like is a car legal you could totally it's quite easy to you know do nefarious things with a car but of course it's it's legal it's just a it's a piece of software and it's an application and we don't condone all the uses, but we definitely believe in freedom and you can use your software however you want. And I mean, that's one of the beauties of open source, right? And so we try to curate an environment for you that is safe and trustworthy.
Starting point is 00:22:16 And when we put an add-on inside of our repo, we've done due diligence. We've had manual people actually go through and look at the source code. You of course are welcome to look at the source code as well. We link source code to pretty much everything. All of them are on GitHub. You could host an add-on in our repo that isn't on GitHub, but it's annoying. So most people don't do it. And in general, we want to keep the open ecosystem alive as much as possible. I that's one of the big things right like we there's not a whole lot of consumer focused open ecosystem products out there right you look at android i've been beating up on android but android is a perfect example of an open source operating system that google play services is all closed well they recently decided they were going to pull the i think the phone app and something else from, like, the Open Project as well.
Starting point is 00:23:11 So, you know, hey, it's open. And, I mean, ASOP, like, ASOP and actual Android are so vastly different at this point. actual Android are so vastly different at this point that it's, and on top of that, like you run into the same problems where you run into tons of problems with certification and things like that. Like, I don't know, like Android is my least favorite example of an open source project. And unfortunately it's the most common Chrome OS on the other hand, you know, not to, not to pick out, pick on Google so much.
Starting point is 00:23:44 Chrome OS is fantastic, right? Like Chrome OS has done a fantastic job of keeping updates, of having detailed lists on EOLing. But most importantly, out of all of that, they try really hard to run mainline kernels. They try really hard to force people to do open standards. A lot of our video decoding stuff that Kodi uses are now vendor agnostic because they're standards-based. And most of that was pushed by people
Starting point is 00:24:08 who were being paid by Google to do that. And basically they were forcing vendors to say, if you don't conform to these industry standards, we'll just drop support for you in the next release. We do that to variant effects, but that just ends up building forks, unfortunately. We have a couple of forks because of that. But in general, Chrome OS has done a fantastic job.
Starting point is 00:24:29 And I'm really thankful for some stewards of that. I'm glad that for some reason, Android team was never like that. But the Chrome OS team has been fantastic in that sense, right? You kind of diverged way off the topic at some point during that. I don't know when it happened. You kind of diverged way off the topic at some point during that. I don't know when it happened, but... So, okay. So, let's talk about a legitimate platform. Let's say Netflix.
Starting point is 00:24:53 Let's say Hulu. It doesn't really matter which one. Just pick your favorite platform. With the plugin to support that platform on Kodi, how does that actually work? Like, just as, like, obviously there's going to be different specifics for the individual plugin, but as like a generic thing, if you wanted to, if like, I don't know, company XYZ started the web streaming platform and you wanted to have a plugin on Kodi, what
Starting point is 00:25:17 would be the general approach of getting that working? So, yeah, I can definitely take that. So I think one of the biggest things that we've done in the last few years that has been super important to adoption of these streaming platforms is in the web, you have a thing in web browsers, you have a content decryption manager. So how DRM works is they use a content decryption manager in order to decrypt content or CDM as they're called, right? Luckily for the open source community, the CDM that Chrome uses is open source. So the only thing that's closed source is the binary for Widevine, which is Google's own DRM software, right? And so because of the CDM being open source, we were able to basically integrate that, reverse engineer that.
Starting point is 00:26:09 Not really reverse engineer because we were able to basically just port it over. And so we've ported that CDM now into Kodi onto basically all the platforms. And as long as we can find a decryption library for it. So, you know, in Linux, of course, it's a.so, in Windows, it's a DLL, right? And we can drop in that decryption. So there's a Widevine helper tool that essentially you install, and it goes and downloads that, pulls that off of the internet for you, and then installs it. And then you have the ability to install any DRM enabled streaming service, right? So if you were, you know, let's say you were Crunchyroll and you wanted to have
Starting point is 00:26:52 a Kodi add-on, you already have all the technology for it. So it's really, it's just going in and figuring out the Python front end, right? So one thing that I have experienced from, so I, for a while, was talking to content partners a ton, trying to get them to write official add-ons to varying degrees. The HD Home Run, one that Fuzzard talked about, right? And a few others. And one of the most common things that people mentioned is,
Starting point is 00:27:21 hey, we don't want to release an open source add-on because people would be able to steal our content easier, right? And it's like, well, we've re-implemented a web browser. So are you going to support a web browser? It's the same thing, guys. I worked with a content partner, which shall nameless that told me this and then i opened up their um i web inspected their urls and they weren't even uh rolling any of their tokens so i could pull the url out of web inspector put it into vlc and three months later i did the same thing when i presented to their cto and they were like ah that's not a problem though and i was like how can in this same conversation you tell me that having an open source add-on will open you up for any more
Starting point is 00:28:10 concerns when anybody who, everybody has a web browser and can do this in two seconds, guys, like really, like it was unfortunate. And so we definitely run into issues like that from, but from a technical standpoint of view, it's super easy, right? We kind of try to make that whole experience easy. So we can support list mode. We can support thumbnails, all of that stuff. Like any of our standard add-ons support that today. And we have a look and feel that's already built in kind of like back in the day, Roku did the same thing where all the Roku apps look the same. And the reason why is because there's kind of a unified and easy way to build an add-on that that framework's already there. You could, of course, customize that and have your own skin and make the look
Starting point is 00:28:54 and feel differently. But by and large, majority of the add-ons look the exact same and look very similar. And they're very, very quickly to get up. So if you support Widevine, which if you want to be able to stream media in Chrome, you have to. if you want to be able to stream media in Chrome, you have to. If you want to be able to stream media on an Android device, you have to. That media can be played back in Kodi. How many hoops you have to go through to
Starting point is 00:29:15 get there? That's a whole different question. Random thing, Netflix doesn't support SSL. They wrote their own secure library because they didn't trust it. uh they released it open source though in javascript it's open for sure it's called missile and um msl i forgot exactly what the extensions are but somebody a community member had to port that library from javascript to python in order to get netflix working what wait i found the repo okay sure sure okay sure netflix why not
Starting point is 00:29:57 okay hey at least it's open it's i don't know why they made their own thing but sure at least it's open. I don't know why they made their own thing, but sure, at least it's open. So, okay. Kodi's not the only thing in this space. There are other systems like Plex. There's Jellyfin and other platforms like this. So do you see Kodi as sort of a competitor to its contemporaries or something that's sort of i guess complementary or how do you really see it in as it currently is or just in the future as well so i'll take this too brian because i get this question all the time as well okay um
Starting point is 00:30:39 full disclosure i used to work at plex. So, but it's always interesting because I get this question often where people ask me if like, especially when I worked at Plex, people were like, oh, you also do Cody stuff? Aren't they competitors? Well, they're really not because Cody's goal is really
Starting point is 00:30:59 to be the best customizable media center possible. It's really about your experience that you want to have with your media. And's really about your experience that you want to have with your media. And that is a unique experience for you. Plex's Mantra and same with Jellyfin and MB and all of those other versions that exist out there is really your media everywhere. So they really don't, we focus on depth with Kodi, right? We make that experience be as customizable as possible, the same code base. We want you to be able to use your Raspberry Pi, make something work that you could also run on your PC, that you could
Starting point is 00:31:29 also run on your Android TV, all of that same experience overall. With Plex, Plex has gotten better and jellyfin to a much less degree, but I think that's their goal too, is really is to make the user interface look the same, but the backend and how that app actually runs is completely different. So they have their own player, like every device basically has a different player. So has different experience. Like sometimes one thing will support, you know, the ability to decode 4k and the other device has to transcode, meaning that a server somewhere has to convert that file, you know, things of that nature. You're going to get a varying user experience across.
Starting point is 00:32:10 The most important thing in the client server architecture, media centers like that are your media always plays. Regardless of what the quality is, regardless of that, their focus is your media plays. Our focus is you pick exactly how your media is and your media plays back as good as the hardware that you have can support it, right? If you don't have a hardware decoder, we'll fall back to software. If you don't have, right, it's that same media player, it's the same actual media decoder library that we use that runs on all platforms. So the kind of our angle on where
Starting point is 00:32:47 we fit in the market come from two different places, right? And so there is definitely some overlap. That Venn diagram has some overlap. But if you really care about your experience, Plex looks the exact same everywhere. Plex, you know, isn't going to bring you the same sort of you're not going to have that same sort of personal connection it is a much easier ecosystem to get into um they've kind of tuned it to be a much more user-friendly than us and as a side note plex actually started from xbmc roots oh i didn't know that yeah so just to not go on too much of a tangent but uh originally xbmc only ran on the xbox hence the word xbox media center and uh a guy by the name of dark d4rk who now works for google and if anyone ever talks to him tell him to come say
Starting point is 00:33:40 hi to us because i've messaged him on linkedin he's never responded. But he ported that DirectX code over to OpenGL so it would run in Linux. And this was around 2007, 2008. And then a bunch of people started picking up ports. Somebody took that OpenGL code and ported it back to DirectX for Windows support. And then a couple of enterprising folks, mainly a guy by the name of Alon, And then a couple of enterprising folks, mainly a guy by the name of Alon, started writing a port to macOS, then OSX, right? And so he kind of called his ragtag group of people that was working on that OSX BMC, and they did a whole bunch of the initial work to kind of get it working on Mac OS. What is now Mac OS? That,
Starting point is 00:34:29 Elan is the CTO and co-founder of Plex. When Plex decided that the, the team decided that they didn't want to fully support the same features and they're kind of their whole philosophy of media diverged as we can now see. They decided to go and do their own thing and start plex and they took and they um named their uh they basically forked xbmc and called it uh plex media center was the original name which later became plex home theater which later became i think it's just plex for htPC is what it's now called, but it doesn't use
Starting point is 00:35:06 any of our legacy code at all, right? Only Plex Media Center and Plex Home Theater both used that. And that was, they stopped using that, I want to say around like 2013, but I could be wrong, somewhere. 2013 but i could be wrong somewhere anyways but for you know a good like four or five years uh that was like one of their main things that plex used so yeah that's where plex started so them and then another company which you might have not heard of called boxy and boxy released the boxy box which was one of the first heart linux hardware devices that ran um media and it was funny because it was shaped like half of a box so d-link sold it and it was a funny box that you
Starting point is 00:35:51 should totally look at yeah yeah so the boxy box was actually so boxy not to like diverge but i feel like this is fun history right so boxy got some funding those guys were like we're going to create the first commercial fork of xbmc but they contributed back a ton to us in the form of they they gave us the initial funding that we started our non-profit with so we're a 501 c3 non-profit in the united states and they also um hosted the first devcon which they brought i think 15 team members out to amsterdam and with and meeting up with the folks as well so um maybe one of the team members that is still active might have been there a guy by the name of spiff who's amazing we are so lucky spiff was around during the early days so our project's over 20 years old i want to say this is the 21st year. And Spiff has been around since almost the beginning.
Starting point is 00:36:47 So it's amazing to still have him on the team. Because all the time, like, people run into stuff where they're like, oh, I don't know how this thing worked. And Spiff will tell you, well, back in 2005 when we wrote it, we thought that it should work this way. And it's like, wow, that code still works. That's amazing. And so it's nice to have someone with historical knowledge. But yeah, so Boxee and Plex were the two commercial forks of XBMC. There's been a few smaller ones, but they were the consumer-driven ones.
Starting point is 00:37:14 Unfortunately for Boxee, they did not succeed. And Samsung ended up buying the ashes of them. And now their employees are scattered around everywhere. I've met a few of them, great guys, but they did a lot in that space to kind of bring media to the forefront of like standalone devices before the Android TVs and Apple TVs and like all of that stuff. I guess Apple TV was around then, but it was a power PC box. It was Apple TV one, and it was the big white square, and it was very limited.
Starting point is 00:37:47 You couldn't sideload anything. You couldn't load your own apps at all. You basically had to use whatever media they gave you, right? So I guess that sort of takes us into the direction of the development of the project. So Kodi is developed entirely by volunteers. It is an open source project through and through. Now, with that, obviously you get a lot of people who come and go, who make a couple of patches here and there, but getting people to actually stick around in
Starting point is 00:38:21 the project, this is a difficult challenge. Especially when you're talking about the more complex parts of the system. Like skinning is one thing, but we're talking about the core of Kodi. That's where you start running into issues with, you know, having a lot of developers who you can trust to work on the project, who you can trust to work on good code, and aren't just going to write like three patches and disappear? Yep, absolutely. Obviously, with a 20-plus, 21-year-old project, you sort of mentioned there's been a lot of contributors over the years.
Starting point is 00:39:02 One of the hardest things, so Kodiody is it really is a very large project um it encompasses a lot of code um and the fact that it's the multi-platform it's it's very um there's a lot of history to it let's say so there's code that you'll you'll look and get and you'll see code that hasn't been touched for probably 15, 16 years. So when sort of just first being merged, it's still running in CODI 21 at the moment. You sort of look at that and it's, yeah, as you said, it's difficult in that sense for any one person to really understand fully the entire from top to bottom every part of of cody and as the years have gone on people who contributed major parts of those uh those things as they uh come and go from the project um all we can really hope on is that um those people that that are around or still make themselves available to the project for us to pick their brains and like
Starting point is 00:40:05 so you've got spiff who um isn't uh all that active although last year he had a bit of a spree he was doing a fair bit um but the people still hang around our sort of slack or our isc that we can sort of chat to and they can sort of give us a bit of information about uh about why things were done and pulling that through um so i uh i've sort of said this now sort of pre pre sort of thing um if you like puzzles uh cody is uh is very good in that that regard just untangling and getting it all together and how it all works at uh at such a large um i guess diverse uh diverse program uh it's uh it's it's good fun from from that side of things um but yeah it's it can prove uh prove difficult at times just uh trying to work out the
Starting point is 00:40:53 reasoning for some things as you say we have we have drive by commitment every everyone who's a team member um worked on whatever they choose to work on right uh no one has said no one's told it oh you have to work on this or you have to work on that. If someone doesn't have or has only really got a niche sort of case, like we've got current sort of Garber, he's pretty much been the sole force, driving force behind all the libretro implementation of retro players, as we call it in Kodi.
Starting point is 00:41:22 So when you've got sort of people that really have a a real good focus on certain aspects um we get great great things like that um but yeah it can be often difficult to um continue them on it's at various points in time right yeah right now i've got the um they're like contributor list open on like on the on the github and i'm looking at some of the biggest contributors on here you've got montlis at the top here who most of their work was done back in 2013 to 2016 300 000 mentor who's had a million 1.2 million lines added of 1800 uh so 1.8 million removed last commit was 2019 or so and there's a lot of these a lot of these people who've been really important to the project over the years who you know maybe make a couple of commits here and there, like, but aren't anywhere
Starting point is 00:42:26 near as, you know, as dedicated or deeply involved in the project like they were. But even though there are these people who have done so much work in the project, people, like, it's not like there's nothing to be done in the project. It's, there's still plenty of work to be done, and it's, you shouldn't be scared away by the fact that a project is so old, that, you know, there are going to be these really, you know, ancient pieces of code that have been there from the start. You're right that it is definitely sort of like a, it's a puzzle. It's a challenge. Sort of, don't, yeah,
Starting point is 00:43:08 what I'm trying to say is don't be scared away by the fact that the project has such a long history. Absolutely. I think the history is actually a bonus for it. There's a lot of places that if you've got an interest in something, you could pick away at it and improve it. There's always improvements through such a large legacy code base.
Starting point is 00:43:31 So anyone who's interested in a particular sort of feature set or anything that they want to, pick something and dive into it. It's very rewarding. As I said, we run millions of devices we i think we what are we eight or nine million installs on android alone um we it's just so being it's nice to think that um code that that i or anyone contributes is being used and enjoyed by so many people out there so it's's very, very rewarding in that aspect.
Starting point is 00:44:06 So, yeah, anyone who's interested in programming. And the other thing with this, with Cody, is because of the size of it there and the amount of contributors we've had over the years, we've got people that are professional in the industry. We've got people that just, I'm not in software engineering industry, so I don't do that for a living uh you've got other people that um are in there the academic space so uh i believe fernet is uh very much was in that that space for for a long uh i think he
Starting point is 00:44:37 still is probably i don't know keith yeah so uh you sort of being, seeing how Cody has been architected, it gives you, again, a lot of insights into, I guess, industry changes over such a long period of time. Like it's, you can sort of go back to it and see that, oh, well, designs and the way that you would sort of do something has changed or varied from what it was in the past and what is now becoming as everything around the ecosystem evolves, becoming more standard or better.
Starting point is 00:45:14 Like security aspect, yeah, all that side of things is being improved. And it's, yeah, it's, as I said, it's having such a legacy project is is having such a legacy open source project is good because it gives you um a lot of insight into um i guess how the industry has evolved over 20 odd years so yeah and not just like the computer industry but also the media right like not just like source code and stuff like that but think about you mentioned dvds you know previously right like that's really when we came out and the original xbox of course had a dvd player that you could actually put dvds in and you could watch them but all the media involvements we've also had to keep up with and we've also had
Starting point is 00:46:02 to sometimes maybe not the best to be able to figure out how to support. Right. And so, and now you, you know, the last 10 years has been small form factor devices, such as Raspberry Pi. We, we got one of the, we had two of the first, I think, 10 serial numbers of the original Raspberry Pi. And we were one of the first apps to be fully running on it. And so it's just exciting to, to kind of be at times at the forefront, but just be involved in this and being able to show we've worked with a lot of partners, Intel being one of them as like a showcase piece to like help get some technology. We actually have a channel where we have some Intel devs working on HDR with us today to kind of help improve that. And same with AMD. I think we still have the AMD channel as well. You know, I love seeing that collaboration because, you know,
Starting point is 00:46:51 people look at us as being not only a good sample app to prove that, hey, we got this thing to work, but also, you know, we are agnostic. Like we don't care. We'll work with pretty much anybody out there in order to try to further the the movement of open source software especially in the multimedia space i was unaware that you guys would work in cody that or working on the raspberry pi that early wow that that's that's kind of incredible there's a funny video that i'm narrating that is the first demo that people have seen media running on the Raspberry Pi that like we're sitting in a hotel room at scale which is a Linux conference in LA and we just got the Pi booting it's the first time any of us had seen
Starting point is 00:47:37 it and it's about three months before general availability and uh me um the, who is one of our core contributors, and then it was Nate Benson as well. It was us three in a hotel room and they were like, hey, let's record a video. And it's like, oh, you can do it. So I'm the voice of this video. And I've never I've seen a Raspberry Pi for all of like five minutes at this point. But yeah. Yeah. And so it was great. And I've seen a Raspberry Pi for all of like five minutes at this point. But yeah, yeah. And so it was great. I think that was serial number nine or 12, somewhere around there.
Starting point is 00:48:10 Wow. We didn't want to brag about it in the video, but I really wanted to, but I resisted. That's so cool. It's really cool that like, Cody's just been around here for this long. But with that in mind, it does also come with some drawbacks as well. When you have a code base this old, there are going to be some design decisions, some limitations caused by, you know, I know you've talked about the fact that you guys try to be
Starting point is 00:48:39 consistent across every platform. Just that by itself is already a decision that causes a lot of headaches i'm sure but besides that one what what sort of issues have come across in the project that really either need to be architected around or re-architected just full stop to bring it up to a more modern standard that's a that's a good question actually um i pick your poison really um any any probably probably every every part of of the codico base except for probably uh the retro player stuff because that would i would argue would not argue i would probably say that's that's the probably one of the newest major features that sort of come in um so but even that um when did uh gabby was that 20 2012 or when he when when did he first do his or apply for that g-stop keith do you remember was it 2016 right it was something like that yeah i don't remember off the top of my head, but it was something he's, he worked on it. Maybe it was even 2011.
Starting point is 00:49:48 Like he started that a minute ago and. So yeah, even that, with that being sort of one of our newer sort of thing, it was still sort of 10, 12 years old sort of thing. So yeah, realistically pick a, pick your poison and we could, we could probably architect things in a better way. Having said that, I honestly do believe that Cody has stood up quite well over the completely new platform is, I guess, a testament to some of the design decisions that have been made in the past. As we mentioned earlier, I was involved in pushing the tvOS port to to mainline to a main project so there was work done earlier by memphis memphis and um davila a couple of a couple of sort of guys that uh that were doing that but it never got mainlined um and then we had a very large rework by you mentioned fernet earlier who uh essentially rewrote our um
Starting point is 00:51:06 pretty much the entire video engine i guess um which was a massive massive work all of its own um so it's it's very it's very difficult to like those core features like that it's very difficult to just say i will go and rewrite that because it's so ingrained into everything. The use cases, even sort of testing these days, you implement a feature or a playback of a new codec or whatever. The testing matrix, when you look at this stuff, is just insane to work out software and hardware,
Starting point is 00:51:41 as well as all the Windows OS, Mac OS, Apple based stuff, Linux. It's very difficult to thoroughly test on everything. And it often ends up being testing is really done out in the wild by our users, the feedback that they give us. And we're always forever trying to improve CODI and make it better. Because again, I use it daily. It's always used in my household. So I want it to be as good as it can be. So yeah, I guess it's difficult
Starting point is 00:52:22 to sort of pick any particular area. You can pick anything and with, I guess, with hindsight, see that, oh, yeah, that should have been done this way. But again, as time goes on, there are just different, I guess, requirements at the time. And I'm sure that we will re-architect many things over the coming years as well. But yeah,
Starting point is 00:52:50 it's what it is really. Well, one of the recent topics, you sort of brought up something really important in there. Hearing feedback from the users. One of the recent topics floating around the Linux world
Starting point is 00:53:05 is a change that's coming into Fedora Linux. So with Fedora 40, they want to bring in a telemetry system where they're collecting information about how people are interacting with GNOME, how they're using this software, what software they're using. And the contributor that brought this idea in basically made the argument that opt-in data is basically useless because of how biased it is towards the extreme enthusiast users. And I was curious what sort of perspective you guys have on this,
Starting point is 00:53:40 from both the developer perspective and also more of the managerial perspective. I'll let Keith carry this one because he's been through this. Oh man, so Kodi has no username password ability. We have no idea who uses any Kodi product. Like of course if you install from google play we have an install number right right other than everything else's guesses uh we allow you to download it off the app off off our website you can download the apk and install it that way tons of people do in general um we've never so if you ship an add-on with google, we'll deny it for our own repo.
Starting point is 00:54:37 We don't believe in any sort of analytics like that, any sort of looking at what people install, what people... So we do have a couple of rough guesses, right? We can look at, okay, we can see add-on downloads and we can make some rough guesstimates on based on, you know, there's a language add-on download that you need to download after the fact, or we update it or a new skin or something of that nature, right? A new scraper. So that's the only way that we have any basis of even understanding what our user base is, right? We'll never talk about users. We always talk about installs because that's the best guess that we can go after. This was always interesting when I'm sitting in a conversation with a content provider and they're like, hey, so how can I, you know, understand your numbers? And I was like, well, we don't really believe in that because we're very strongly against even,
Starting point is 00:55:22 you know, opt-in. It's better not to even have that system because it's so easy to get abused. On top of that, anonymized data in general is hard to do correctly. And as we've seen time and time again, it's better just to not collect it unless you actually have a use of it, right? With that said, we've definitely seen um i've talked to providers and they're like hey like i have to put user tracking on the client in order to basically see what people are doing i was like why like every single time i hit a piece of media your servers have all that data so i don't understand why tracking needs to exist on the client side as well
Starting point is 00:56:01 and i think that um honestly like a lot of developers out there not to go on the client side as well. And I think that, um, honestly, like a lot of developers out there, not to go on a tangent, but have just gotten lazy. And like, they've, they've put so much stuff in clients that really don't need to be there when, you know, anybody knows that you can just track all that stuff and monitor that stuff from the backend if you truly want to. And then it's a lot less, in my opinion, um, privacy exploiting, and then it's a lot less in my opinion um privacy exploiting because then it's like what i hit is what you know which is a reasonable thing if i know that i'm clicking on this thing that's fine right if i don't know that those things are happening it's completely different experience so you actually um mentioning that though that is another reason why a ton of
Starting point is 00:56:42 people use um our open source add-ons when they use streaming services, because if you've ever looked at iHole or anything like that when you're connecting like Netflix, oh, man, the amount of like servers and data like is linked to those things. And maybe it's all legitimate. Who knows? There's no way for us to tell because it's SSL. At least in Codeland, you can actually trace back not only why that user connection happened and what exactly data is being sent because, of course, you could just look at the code. So we've been accused of somehow storing data and it's like there's no closed source component at all in anything we do, right? So if you don't install Widevine, which is, or a binary add-on that you install extraordinarily yourself, everything that you're going to be able to see, you can audit yourself. And so we will personally, as a team, we're definitely against that.
Starting point is 00:57:38 There's no, we have not found a legitimate excuse slash reasons. We have not found a legitimate excuse slash reasons. Me personally, as somebody who's represented for business development and tried to get more, quote unquote, corporate adoption, I've tried to push it. I will admit, I will never do that again. I was a much younger, more naive person back then. And based on how data is being used today, I'm thankful that in those discussions, they weren't, they went the way that they did, right? The one thing that is slightly annoying is we don't even have bug reporting because the problem with that bug reporting stuff is the same problem, right?
Starting point is 00:58:23 reporting because the problem with that bug reporting stuff is the same, the same problem. Right. And so like all of the, like how you report a bug in Cody land is you go, you download, you basically submit your own debug log to us. You can go download a log sender and you can send it to our paste bin. Right. But there's not an easy way. And like, so we have to ask the user a ton of questions on how stuff is, or we have to make sure our logs aren't spewing too much stuff. So we get the snippet that matters. Right. And so it's definitely, yeah,
Starting point is 00:58:52 everything's a balance. But I'm, I'm glad and I'm proud of the stance that we've took on that. And I don't ever see that changing um at least in core code right right yeah if you're talking like plugins especially a third-party plugins there's not really anything you do about those ones like if that if some third-party plugin comes along and they're like we want to put everything in there there's gonna be a keylogger like you can't stop that it's third party unfortunately it's happened i'm i'm not surprised i'm really yeah the crypto
Starting point is 00:59:28 miners were pretty funny because you know you're uh and especially because they were on like raspberry pies and things like that that people were selling and or like fire sticks and they were selling crypto miners on or they were selling those those with preloaded add-ons and some of them had crypto miners in them. And it's like, are you, and I mean, maybe I guess if you have enough,
Starting point is 00:59:51 like who knows, who knows what happened there. But in general, yeah, we, we try really hard to be diligent. We've had a few cases where somebody has updated an add-on in our repo and we noticed that they were downloading
Starting point is 01:00:06 an obfuscated zip file from a server yeah that wasn't initially there you know six months ago when they updated last and we've definitely you know had to talk to them and even though we've downloaded those zip files and we've looked at them and there was nothing quote unquote malicious in them the the practice itself that they were doing is concerning enough to basically not allow it and in in one extreme case you know the developer who was a fantastic cody developer had contributed tons and tons of stuff unfortunately like got really upset that we were trying to remove him and you know put his tail between his legs and left. And ultimately it's unfortunate that that's how it turned out. But I think for the good of the community,
Starting point is 01:00:51 like things like that have to happen, right? Like we have to be able to trust each other and there has to be a level of trust. And we try really hard with our platform and with our community to only release stuff that people can trust. And, you know, we can't stuff slip through, unfortunately, in our repo and stuff has happened. But by and large, we make as best effort as possible to make sure that our stuff is as safe
Starting point is 01:01:18 without you having to go and audit source code. Right. Well, Brent, from the developer perspective, obviously ignoring the, you know, the keylogger stuff, the crypto miner, like, let's just say, legitimate anonymized data, ignoring the fact that maybe anonymized data might be difficult to do. Would you, as a developer, find that sort of data useful to what you're doing? Or is it not really something that has any value to you in the first place uh honestly i from my my viewpoint this is just sort of me um i have asked the question about it before uh because i think it adds value um but as keith said it's very hard to do right
Starting point is 01:02:01 uh and i think realistically for for our stuff and our users, I think our stance of just not doing it is just better for everyone. It does make, from a developer's point of view, make some things harder, requires a bit more engagement from users that are having issues. But that's it. but that's it. This day and age, giving up your data,
Starting point is 01:02:33 it's a hard sell because security issues everywhere and then what is done with that data and when it is on sold to someone else, it's very hard to keep track of that sort of stuff. So, yeah, it would be nice but i definitely understand where the team and and the project is coming from and i fully fully support and and back that i i there's nothing that we can't that makes it impossible to do um that that would be different with if we had that data. It would make something slightly easier. But again, most everything we can find a way around it
Starting point is 01:03:11 and we just improve our logging to highlight things as best we can and what's crucial. So, yeah. When you mentioned that there isn't a bug reporting system in Kodi, that reminded me of a similar story with Valve. So a lot of game developers find that the vast majority of their bug
Starting point is 01:03:33 reports come from a specific group of people. Those people being the Linux users because they are more likely to be involved in reporting bugs. I was curious if there was any sort of very obvious skew in the data of where things are getting reported from. Funnily enough, no.
Starting point is 01:03:52 I would say no. Reason being is we have, again, on our forums where our first line of support is always done, we have very active communities of users across Windows, Android, and even sort of the Linux sort of space. So from everything that I sort of follow and see on there, I don't think one platform vastly outweighs another platform for bug reports and issues.
Starting point is 01:04:23 another platform for bug reports and issues. And I think it just goes to, I guess, goes to show how much we're used across each of the major sort of platforms. And we have users, and because of the customisability, maybe that's because of the customisability that a lot of the users are those people that are more engaged in customising, creating, sort of extending their usage in Kodi and therefore they are probably just that user that likes
Starting point is 01:04:54 or will contribute back those sort of bug reports, that sort of stuff. So, yeah, from a platform perspective, I don't think we have a really big uptick on any particular one um you you could probably argue just by sheer weight of numbers that the android stuff um has a lot of a lot of stuff but that's just because android well yeah you expect the platform with the most users to have the most reporting. What was weird with the Valve situation was the number of people that play games on Linux
Starting point is 01:05:28 is vastly smaller than the number of people that play games on Windows. So the fact that it outweighed it was like a really weird data point. Yeah. I have a theory. Gamers on Windows are used to games crashing and stuff and not being powerless to do anything about it, right?
Starting point is 01:05:48 Linux users get annoyed with that stuff because they are used to being able to try to fix things themselves. Our Linux users are fairly enterprising and these are people who figure out workarounds fairly well, right? Whether it's our own
Starting point is 01:06:04 team members or whether it's community or users at large. Our Windows and our Android users, I feel like aren't as much because they're not as well-versed, which is kind of, you know, which kind of makes sense from a tech point of view, right? They're used to, you know, with Google Play, we're one click to install, right?
Starting point is 01:06:23 You click on it in Google Play and we're there. With Windows, at least you have to go through an installer. With Linux, we don't even ship any compiled version ourselves. Oh, so you leave that up to the distros to do then. Exactly. And so, you know, there's a different level there. there um and by but i think to brent's point we have such a robust and strong user community that we don't really notice i don't know if we notice right maybe if we had one of our moderators on this call they might feel differently but i'm always amazed how much
Starting point is 01:07:01 you post on the forums brent well i just said, I just said I try not to post as much. I've actually taken a bit of a step back lately. But it's some of our moderators. So Cody team is made up of all sorts of people doing all sorts of roles. So it's not just developers. You've got sort of people like Keith doing the admin side of things uh we've got sort of team members that moderate forums and that's predominantly what they do in providing support for for that uh we've got team members that just do python add-ons uh we've got team members that do call we've got team members that do our the fantastic art that
Starting point is 01:07:40 we've got on on all our sort of shirts and all the sort of stuff that we do for every release um so having that sort of having the team so such a sort of large i guess uh encompassing group of um i guess the way what they do and manage around the stuff um i think makes that sort of support stuff a little bit easier so it just like in companies when you've got that sort of support stuff a little bit easier so just like in companies when you've got that sort of tier one support to go through uh some of our mods can really um sort of pick something and use them say oh this is a this is a bug this is an issue some of our mods will look at these logs and instantly say no you've you've done this wrong in in some file or and then it's one less thing that needs to go on to developers to then find out that, well, it was actually just a user support side of things.
Starting point is 01:08:28 So our forums are massive in that regard, the user support. And it's not just team members providing that support. As Keith said, it's such a – the community on the Kodi forums is very fantastic. We've got sort of people that just spend their own time to provide support to other sort of users that have no sort of, I guess, link to Team Cody, but they're willing to provide their time
Starting point is 01:08:57 and their effort to support sort of people with it. So the community is very vibrant in that regard. So if someone wants to if someone sorry go on oh oh i just wanted to say and we really try to uplift those people that we see you know when someone notices them any team member can invite and recommend somebody else to join the team as well right and so we really try to bring in uh people as well from the community as much as possible and make them team members and hope that they will continue to contribute like they have been. And in a few cases, you know, we have people
Starting point is 01:09:31 who maybe started out as a Python developer and this was a hobby of theirs. They learned Python strictly because of XBMC or Kodi. And now they're actually like full senior software developers and they work in companies and they have no formal training. They just really learned. It's one of these things where there's so much that you can do and there's so much you can learn from. And if you are persistent and you try and you're used to reading and trial and error and understanding, it's such a fantastic environment to kind of cultivate that. and understanding it's such a fantastic environment to kind of cultivate that. And we've had a ton of people that we've brought through Google Summer of Code,
Starting point is 01:10:07 which is GSOC, right? That have also became one of our board members, Philip originally started as a Google Summer of Code. Monalise was actually his mentor, if I recall. And yeah, and he's now an active core team member. And we've just been really lucky in that regard to be able to cultivate a community like that. And hopefully we'll continue to do that
Starting point is 01:10:30 for many years to come. Okay. So if someone say they're a Cody user, they like what Cody's doing, but they feel like there's something that maybe they want to go and improve. Like if someone wanted to get involved with the project, what would be the general path someone would take with this?
Starting point is 01:10:54 Yeah. Okay. I'll take this one. It's probably a very wide question, but. It is. It is. Generally, like, so all of our development is done on GitHub. So the best thing you can do is go there.
Starting point is 01:11:07 We've got documentation that sort of walk, well, I'll say walk you through how to build for all of our platforms. So be it Linux, Windows, Android. So I've spent a lot of time, particularly around the Android and the Apple side of things, getting that documentation to try to be as simple
Starting point is 01:11:27 and, I'll say, foolproof as possible for someone to be able to just go in, clone it, and build. And you've then got your own built version of the software in an hour or whatever. So that's the best place to start, is just
Starting point is 01:11:43 clone the repo and jump into the code. Our forum, we've got developer sections on our forum. If you ever have questions, even just sort of Python, there's the, again, huge community of Python developers. But even our core developers, a lot of us, I guess, frequent the forums quite regularly. So if you ever have questions, that's the best place to put those questions up on the forum. The reason why I say that's the best place because when I see it as an open place, so when someone has that question, the chances are someone else will have that same question at another point in time, or may have already had that same question. So the
Starting point is 01:12:21 more that we can make all that stuff readily available on the forums and searchable um it's it's just gives us that uh that that information hub that people can go through and have a look through and um pose those sort of questions um again there are a people that are team members that frequent the forums quite regularly that uh just very knowledgeable in in cody just because they've spent some time in around it or their day jobs are being software engineers and all that sort of stuff. So they will, something just as a build failure
Starting point is 01:12:53 or anything like that, there's a lot of people that can and do provide some information. So yeah, the best thing is clone the repo, jump into it, get a building and then any questions,
Starting point is 01:13:04 go through the forums and that someone will generally again it's best best effort but generally someone will be able to support and provide the guidance to to get them sort of going through that a bit further so um kodi is an organization as as keith said we've participated in GSOC for a long time now. So there are parts around that sort of things for those going into doing university and other sort of things. So there are avenues that people can use programs like GSOC to really try to get their feet wet and jump in and be mentored by.
Starting point is 01:13:46 We've had some fantastic mentors in sort of Team Cody getting sort of projects sort of through and across things. So, yeah, I think just being that sort of gives you a step into talking to some people that are really into software engineers by trade. You can pick their brains and really give them a chance to see how to become, I guess, a professional at it. But if you're not a developer,
Starting point is 01:14:18 the forums are a great place to start answering questions. We always need wiki help, unsurprisingly. We always need help with documentation. We always need Wiki help, unsurprisingly. We always need help with documentation. We always need help with that. As Brent said, we have so many pieces. It takes a village, and Cody's a perfect example of that. So graphics designers, skinners, if you have something that you're interested in contributing as a hobby,
Starting point is 01:14:42 we probably need people like you in our project and uh github's one of the best places our form is as well uh we have a ton of matrix channels as well i our matrix channels are bridged to irc and our own and our own slack uh i'm sure that's it's actually not these days it's pretty easy it's just like one one basically relay bot that goes and does both of them no i've got i've got a bridge as well the problem is when you have someone that comes through who's you know a less than friendly person and you gotta deal with them across these platforms it's it can be can certainly be messy yeah you're right you're right it's true yeah um we've still we haven't delved in the whole discord world at all but um we try to be as accessible as possible um and a ton of
Starting point is 01:15:34 our core developers do respond both on the forum and also in real-time chat so you know hit us up open a poll request like if if you see a place where you think that you can contribute, definitely please do. Feel free to talk to us and reach out. There's a lot going on with the project and we could always use more eyeballs and more help, even if you're just somebody who answers someone's questions.
Starting point is 01:16:00 Well, on the topic of helping people out and documentation and things like that, one of the things I've noticed a lot of open source projects tend to suffer with is translation. A lot of projects are very English-centric, which makes sense. It's one of the biggest languages in the world. you know there are a lot of people out there who maybe have english as a second language who aren't really as comfortable with this or maybe people who are you know really comfortable in both languages who do have that ability to do that translation work like do you like what sort of place does translation and work like that have in in cody i have to shout out Gade, man. So we have an amazing guy who basically, so we're using Weblet now. Okay.
Starting point is 01:16:49 And Weblet, I think that's how you pronounce it, right, Brent? Yep. And one team member named Gade got so fed up with how bad our old translation systems was. And shout out to the guy who was maintaining that as well. Alan, WWW one, like this guy did so much stuff single-handedly,
Starting point is 01:17:10 but now gate is doing the same thing of setting up all the infrastructure and allowing it. He's gone through and found all of the people. So we've moved over to a new platform entirely where they're sponsors of us. Luckily they cut us a great deal and there's such a fam they're, they're an open source project as well, but we're hosted on their platform. So we don't have to maintain stuff. And he has gone through and found all of the really, um, high output, uh, contributors and invited them into a Slack channel. And so now we have
Starting point is 01:17:43 them all on our Slack. Like he's done so much stuff. We're really, really, really thankful to have all the work that he's done in order to try to get translations to a state that it's functional. And we have so many contributors on the translation side. Yeah, I would say, Keith,
Starting point is 01:17:59 you might be able to sort of say whether this or not, but because I'm not in the industry side of things, but the translation side of Kodiody i think is absolutely amazing we are translated into so many different languages and dialects um you name it there's probably a translation that's in in place that is um i would say high quality again community maintained so you've got um everyone that's uh that contributes to that uh they are contributing to the betterment of the project um so yeah that's as i said there are so many aspects to
Starting point is 01:18:32 cody that uh that a user can contribute to without being a developer you don't need to be a developer um to to help improve the project so the the translation side of things is is a very good example of that. The more that we can get Kodi translated into every language out there, the better we are and the better experience is for all users. And one of the best parts about the new translation system is it supports add-ons as well. So you can submit, if you're an add-on developer,
Starting point is 01:19:01 you can actually submit your add-on for translations for us. And you can go through and basically get that supported and get that translated by our translators as well. So we're trying to be as inclusive as possible to allow hopefully every language out there. And we have a lot of esoteric languages that we support. And it's awesome to see that. Can you give me just a moment?
Starting point is 01:19:23 My OBS just froze your cameras. I need to fix that. Can you give me just a moment? My OPS just froze your cameras. I need to fix that. Let's go. Okay. So we're back. Yeah. What a mess. I really like the,
Starting point is 01:19:35 I like the desktop I'm using, but it does cause a couple of issues here and there. This is the worst I've ever seen it be. I've never had this many issues with my video capture, so that's fun. Um, okay, so we've finished talking about translation. What I also want to talk about is, during the pre-recording, one of the things you mentioned is, Cody basically rides on the backs of giants. Like, projects like FFmpeg, that without things like this, Kodi just would not be able to exist.
Starting point is 01:20:10 What other projects out there, obviously FFmpeg is a big one if you want to talk about that one as well, but what other projects out there does Kodi rely on and just would not be able to function without it? FFmpeg is definitely the largest there, right? Python? Sure, yeah.
Starting point is 01:20:32 What are other big ones, Brent? Well, again, in the open source world, everything sort of depends on you. Your major ones, your OpenSSL, so again, we use that for a hugesl so again we use we use that for um a huge chunk so we use curl um so everything around lib curl for for i guess most of our sort of network traffic um is run through um curl wrappers so you sort of you pick a pick a
Starting point is 01:21:00 large open source project and chances are we're probably using it. And it's always the ones like that. As I said, like curl is just sort of the back end to so much sort of stuff. You've obviously got OpenSSL, which is the back end to all SSL stuff that covers the world essentially. FFmpeg is our video sort of library. That sort of covers most of our sort of video side of things we use python um in a i don't want to say a unique way but um it's it's in a way that uh until reasonably recently um hasn't really been well supported uh or well um I guess, controlled from Python themselves using sort of sub-interpreter usage.
Starting point is 01:21:46 So we tend to push things a little bit further than what some of these projects sort of do in the past because you're sort of combining it into, I don't want to say a niche, but when you're sort of putting it into a media center that's run across so many devices, so many platforms, we, we do find that we, we tend to test some of the boundaries and limitations here and there.
Starting point is 01:22:14 So yeah, there's, as I said, there are a huge number of dependencies that we use. I think there's close to 50 odd different projects that are used to build the building blocks of Kodi to get you going to what you see when you open the app. So, yeah, we really do rely on those projects upstream. And we do try. So we try to support back and, I guess, provide sort of bug issues, even provide fixes and codes to many of these as and where we can
Starting point is 01:22:51 because obviously some of this stuff is outside of our league when it comes to what our knowledge base is. So, as I said, we do sort of rely on that side of things. Obviously, FFmpeg, as discussed, is a huge vital piece to the video decoding pipeline that we use. So we're very much reliant on that. And we are affected by their changes, for the good and the bad. But again, it's something that's really good for the ecosystem I think
Starting point is 01:23:25 being able to use that. Other programs or other projects that are looking to potentially utilize some of those projects as a base can always look at our code to see how we may do it and how they could always improve on how we do it if they want to see some of the, as in some of the extensive use of it. So, yeah. Awesome.
Starting point is 01:23:52 And I guess the last thing I want to mention is a lot of people aren't aware about a lot of the IPTV stuff that exists that is supported on Kodi as well. Like, this is something that I am like briefly aware of I know there's a couple of applications supported on Linux as well, but This is something that you know, you can you can get access to this content. It's just freely out there It's just usually not that well, I guess
Starting point is 01:24:21 It's not that well explained. It's not that well like documented, it's not that well marketed it's not that well like documented not that well marketed is what I was looking for but a lot of the content that Like you might think is only gonna be available from your TV. You can get at through other means If there was anything I don't know if those yeah, I don't know where I was going with that. I just wanted to bring it up. Because it was something you brought up in the pre-show as well. That I felt like was just worth mentioning.
Starting point is 01:24:53 Is there anything even... Anything on here that I haven't really touched on yet? I think we've touched on pretty much... Actually, one thing before we do our proper sign-offs is... I know we've briefly mentioned a couple of names throughout the show so far, but you guys aren't the only people involved in the project. There's a lot of people involved in Cody.
Starting point is 01:25:14 And... Don't miss. Yeah. And I know if you try to do everything, you're going to be here all day, but are there any specific faces you want to you know you know appreciate the work you know give some sort of
Starting point is 01:25:30 appreciation to the work they do or anything like that any word you want to say on them I know this could go way too long but I thought I would just bring it up anyway I'll let Keith sort of take this for the old timers because you've got the history on this side of things so any shout outs from uh any of the old timers and i mean yeah there's there's a lot of shout outs to the the people who kind of built about the the building blocks that
Starting point is 01:25:58 we were definitely on the backs of giants right and And Davila's name got popped up a bunch. He did a bunch of work initially on, well, initially on just Apple stuff, but then worked on core stuff a ton. I have to name drop the Uni, who's now a member of the Bitcoin core team. uh who's now a member of the bitcoin core team and originally got i think started development from cody and xbmc back then right um and he did both of them together did the original android port um along with some help from some other people uh you know jay marshall i have to mention jay marshall as well who's like kind of the godfather of xbmc he was the you know our our leader for so many years and um he's out he's a kiwi actually out in your guys's neck of the woods um a professor out there uh spiff whose name has already came up has just done incredible stuff throughout the
Starting point is 01:27:06 years and we're really thankful that he's still around um you know there's so hundreds and hundreds of contributors we probably had over 100 core contributors throughout we probably have 100 current core contributors and then another 100 historical core contributors. And so many other people on the form side, on the skinning side, on, you know, just in all aspects of it. It's hard for me to specifically mention people because there's just so many who have contributed. Right. And I am so grateful. As you said, you know, we're completely volunteer, not a single person, none of the board members, nobody's paid. A few people have been contracted to work on Cody
Starting point is 01:27:52 to like for their day job and also be able to do that, like what's common in open source land, but nobody, the foundation operates on very little donations. And really the donations are enough for us to have a devcon every year and that's about it and so you know if if anybody wants to contribute back please buy merch give us money donate us money um it's all tax deductible um if there's any decent companies out there who are interested in sponsorship
Starting point is 01:28:23 i'd be more than happy to talk to them about that as well. You know, there's a lot of, I guess, to reiterate, it takes a village. And there's so many people who have contributed, both small and large, in so many ways. have been a team member for over 10 years and it's been a deep part of my life and open source and like the development of my career and, uh, community. And I'm so thankful for projects like ours and yeah, little long winded,
Starting point is 01:28:58 but it's fine. It's fine. Anyone you want to mention Brent or. Oh, really? So Keith mentioned it. It's hard to sort of single out sort of people. And anyone you want to mention, Brent, or? As Keith mentioned, it's hard to sort of single out sort of people. You've got sort of guys like Memphis who really did a lot of the TVI stuff, which sort of was my sort of stepping point into the team. Davila as well, of course.
Starting point is 01:29:21 You've got people like Pete who uh who uh made input stream adaptive um our sort of iptv based sort of add-on um he he single-handedly carried that for for years um and that is what sort of enables things like all your um drm based uh add-ons so um you got sort of a funky fish at the moment who's uh on the FFmpeg Direct stuff. You've got El Roussac who's doing some of the really crazy stuff in core at the moment, as and when he has time. Hopefully you'll hear this and pull out that Vulcan port. But we'll see.
Starting point is 01:30:03 Yeah, Vulcan. So, yeah, other than that, everyone who's contributed really, even just outside of the core developers, we got to like Corellon, some of our mods, Darren Hill, who's a board member. You got all these other guys that just all their time is valued immensely for the project. So any time and any effort anyone can put into the
Starting point is 01:30:25 project um we we really do appreciate it so um feel free if uh if you're looking for something to do um come come our way we'll uh there's there's somewhere somewhere something you can you can contribute to um or as then if you want to just throw a couple of bucks the the foundation's way um so we can can do our developer conferences and enjoy some of that. That'd be, it's all good. Awesome.
Starting point is 01:30:52 Is there anything else super critical you guys want to touch on or anything you feel like that we, we kind of missed that should probably be mentioned before we kind of wrap it up? Nothing I can think of okay see if anything we need to do for hours yeah uh i spend way too much time talking during devcon and there's so much that i never get a chance to touch on and you know this this is great it's good to um i appreciate you giving us this opportunity brody to just talk to someone
Starting point is 01:31:27 who's not so involved right like me like brent and i can banter like this for literally hours and we've done it um and so it's good to have not only a moderator but also just you know to have conversations like this and allow people to peek behind the curtain and see what we're about. So thanks for the opportunity. Well, thank you for doing this. Apologies for the technical issues we had in there. But, you know, I need to come up with a better capture solution because for everything else, my solution works great.
Starting point is 01:31:58 It's just whenever I get OBS involved, that's when things start to get a bit flaky with this desktop. Like, I've got the developer on Discord, so hit him up, see what he can work on. So, okay, if someone wants to get involved with Kodi, so it's the Kodi website and Kodi GitHub, yes? Yep, yep, that's the best place. As I said, the website is probably first port of call for everyone. Which is?
Starting point is 01:32:32 Cody.tv. Cody.tv. Cody.tv, yep. Jump on there, go to the forums, because, again, any aspect of Cody, you can pop your question in there, be it support question, be it developer question, be it add-on question skinning uh all all the sort of features um okay so there's a button that says contribute at the top of the page click on that and every category that brent just mentioned is listed and you can contribute
Starting point is 01:33:02 is listed from coding to building an add-on to helping users, helping with translations, all of what we've talked about. Sorry to interrupt you, Brad, but I just wanted to call it out. This is the best page to start out with. Yep, that's all good. Is there anywhere else you'd want to direct people towards or is that the
Starting point is 01:33:22 major things? You said there was a wiki before. Is that linked on the website as well? anywhere else you'd want to direct your awards or is that the major things you said that you said there was a wiki before is that linked on the website as well yep yep everything everything's linked from the wiki the website so um but yeah yeah any contributors that want to uh improve our wiki definitely uh definitely welcome uh it's uh it sometimes can languish behind a little bit. So, yeah, it's one of the difficulties with the development. The way it's testing as well. Yeah, all of that. The contribute page is fantastic.
Starting point is 01:33:59 Definitely check out the contribute page. It kind of covers all of that. It covers good ways that people can get started from code to add-ons to translations to all of that and by merch if you want you know the shirt that you saw brent wearing i think that one is still available mine is not but yeah mine's a little old how long you had that one for maybe 10 years okay okay then yeah maybe that one's not available yeah um well do you guys have any personal links you want to mention or you just that's not you don't really care about that? It's just direct towards the Cody stuff?
Starting point is 01:34:47 Yep. Check out Cody.tv. Okay. Awesome. Well, I'll give you guys the... Actually, wait. My outro first. Then we'll give you the final words. If you want to go watch my main channel stuff, that is Brody Robertson. I do six videos-ish
Starting point is 01:35:03 a week, mainly Linux-y focused stuff. Right now it's been a lot of the Red Hat situation happening where Red Hat's locking source code behind things. It's a mess. It's a giant mess. Go check that out. There's a whole playlist for it. I've got a gaming channel called Brodie on Games
Starting point is 01:35:20 where I do, I think right now, I'll probably finish Black Mesa. Maybe I'm playing Portal 2 and also Final Fantasy 16. And if you're listening to the audio version of this, you can find the video version on YouTube at Tech Over Tea. And if you're watching the video version, there is an RSS feed. It's on pretty much every podcast platform you can find, Google Podcasts, iTunes, all that stuff. Just search up Tech Over Tea and you will probably find it if you don't send me a message and i'll make sure it gets there uh i'll give you guys final words what do you want to say who wants to go first thanks for listening uh check out cody.tv and uh thanks for having us brody awesome
Starting point is 01:36:02 right you got anything to say yourself? Is that it? That's enough. Thanks very much for having us, Cody. Much appreciated. From Brody. Yes. It's fine. I'm out.
Starting point is 01:36:12 I'm just checking. They can't see you, so if you do a thing, it's fine.

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