The first 1,000 people to use this link will get a 1 month free trial of Skillshare: https://skl.sh/thelinuxexperiment11211
Get your Linux desktop or laptop here: https://slimbook.es/en/
👏 SUPPORT THE CHANNEL:
Get access to an exclusive weekly podcast, vote on the next topics I cover, and get your name in the credits:
Or, you can donate whatever you want: https://paypal.me/thelinuxexp?locale.x=fr_FR
🏆 FOLLOW ME ELSEWHERE:
I also do a Gaming Podcast: https://www.youtube.com/channel/UCbRPZ11S1quJ4ESoj42A3ug
Join us on our new Discord server: https://discord.gg/xK7ukavWmQ
Twitter : http://twitter.com/thelinuxEXP
My Gaming on Linux Channel: https://www.youtube.com/channel/UCaw_Lz7oifDb-PZCAcZ07kw
Follow me on ODYSEE: https://odysee.com/@TheLinuxExperiment:e
Or join ODYSEE: https://odysee.com/$/invite/@TheLinuxExperiment:e
📷 GEAR I USE:
Sony Alpha A6600 Mirrorless Camera: https://amzn.to/30zKyn7
Sigma 56mm Fixed Prime Lens: https://amzn.to/3aRvK5l
Logitech MX Master 3 Mouse: https://amzn.to/3BVI0Od
Bluetooth Space Grey Mac Keyboard: https://amzn.to/3jcJETZ
Logitech Brio 4K Webcam: https://amzn.to/3jgeTh9
LG Curved Ultrawide Monitor: https://amzn.to/3pcTVDH
Logitech White Speakers: https://amzn.to/3n6wSb0
Xbox Controller: https://amzn.to/3BWmIA3
*Amazon Links are affiliate codes and generate small commissions to support the channel*
00:42 Sponsor: Skillshare
01:47 What is a platform?
02:57 Linux isn't a platform
05:45 Linux has multiple platforms
07:47 Why do we need app platforms?
11:13 Parting Thoughts
But what's a platform, exactly? Basically, I'm talking about an application platform.
The best example that most people will be familiar with, will be in the smartphone world, with the iOS platform and the Android platform.
Problem is, there is NO Linux platform, and there has never been one.
That's simply because there is no "one Linux operating system". You have what we call Linux distributions, which can be very different from each other, not including the same systems, desktop environments, packages or libraries.
So application developers can't really develop an app for the Linux platform. They can develop an application that runs on Linux based operating systems, and makes use of some Linux features and libraries, but they have to make A LOT OF choices along the way.
Do they want to have a dependency on systemD, do they want to use GTK or Qt, or something else as the toolkit? Do they want to follow human interface guidelines for a desktop that uses this library?
And once the app is done, they have to decide on the packaging format: do they want to try and get included in Debian's repos? In Fedora's? In Ubuntu's? Do you want to use AppImage packaging to ensure anyone can run your app? Do you want to have a flatpak version, or a snap one?
Linux, instead, doesn't have a single, unified platform. It has multiple ones.
What we have on Linux, is parts of platforms that developers can choose. And they already do so.
The best example, which I've already talked about, is elementary OS.
These guys have the operating system, the development tools, with a specific language, Vala, a graphical library, GTK, their own HIG and Granite, its associated library, one packaging format, Flatpak, and a way to distribute your app, the AppCenter.
But we also have other platforms in the making, and the main one is GNOME. And this is also why there is a lot of discussion currently about GNOME, theming, libadwaita, and all of that other stuff: because these are decisions and developments made to create a GNOME platform.
GNOME doesn't want to be a simple desktop environment, that distributions can pick, tweak, arrange as they like, and ship to users. They want to be a platform that developers can target, and to ensure that GNOME can be a platform, they NEED to lock a few things down.
But why do we need platforms?
Well, think about most people's complaints about using Linux: it's too fragmented, there are no third party applications, no one develops for linux, it's unstable, all that stuff.
These complaints are what platforms are trying to address.
With well defined platforms, developers can create apps that work well and look and feel the same in the hands of users. They can ensure they're stable. They have an enticing system and an easier, pre-defined path to start developing their application, and so, they are more likely to develop an application, period.
In the end, we can't really have it both ways: either we want to attract developers and for that, we need to offer compelling and stable development platforms, and that means limiting some choices, or we prefer to keep our existing model and all the user choice it allows, and that means that developers will still have a hard time developing for "Linux" as a whole, because there is no clear path to do so.
Correct, and if you use GTK/QT on Linux, they tend to work across all of Linux Distros so long that you’re not running on a GLibC from like a decade ago. Musl C library stands a really good chance for making your binary works across just about every version of Linux distro although it have some restrictions.
People have to understand this one thing, Linux is essentially an embodiment of open source, there are multiple projects that do things differently and have different point of view on how things are done. There’s never going to be the ONE unifying implementation from the start and it shouldn’t, people fork off or compete against existing implementation all the time on Linux. GTK vs QT, Wayland vs X11, Gnome vs KDE, and etc.
If people want all in one package and lose the ability to fix anything or get any problem addressed, just pick Mac OSX or Windows and cry me a river when they break something without any avenue to fix it like this or this, because those people are solely at the mercy or whim of mega-corporations that have inherent psychopathic nature.
Linux is a kernel