Tech Over Tea - The State Of Kodi/XBMC | Keith & Brent
Episode Date: August 4, 2023One 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)
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
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.
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
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
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.
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.
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,
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,
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.
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.
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,
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.
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
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
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
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.
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
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
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
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.
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,
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.
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
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
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.
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
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.
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
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,
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
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
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.
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.
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.
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.
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
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.
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.
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
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.
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
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,
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
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
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
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
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
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
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
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.
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
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
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,
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
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
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.
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.
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.
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
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.
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
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
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.
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
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,
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.
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.
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
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.
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
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,
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
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.
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
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.
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
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,
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
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,
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
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,
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.
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,
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
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
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.
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?
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,
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
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,
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
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,
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
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
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,
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
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
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.
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.
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
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
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?
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
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?
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
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
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.
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
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
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,
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
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?
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.
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
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
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
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
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,
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.
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,
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,
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
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.
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.
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,
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
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,
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
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,
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?
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,
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.
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.
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
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.
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.
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
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
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.
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
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.
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.
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
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
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
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
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
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,
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.
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.
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
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.
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
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.
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?
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
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
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.
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?
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
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
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
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.
I'm just checking.
They can't see you, so if you do a thing, it's fine.