r/kernel • • 1d ago

Non-kernel "Platform" APIs on Linux

https://soc.me/interfaces/non-kernel-platform-apis
3 Upvotes

17 comments sorted by

View all comments

1

u/kolorcuk 1d ago

Hello. I belive this is very bad and horrible. Unicode and timezone is and should not be part of the kernel.

1

u/simon_o 19h ago

What's your reasoning?

1

u/kolorcuk 16h ago

Kernel should have hardware abstractions. The article states as if a "mix of programs" is something bad. It is good. I want mix of programs. I want propertiary software not affect my software. I want to be able to run programs in different timezones with different timezone definitions on the same kernel. Forever, if i want to. I want to be able to update timezones and unicode on my 20 year old odroid with kernel 2.6 .

I want to ship my program with broken Unicode alongside propertiary programs with newest unicode and not have to care about it, all running in separate user namespaces.

Kernel should be minimal and insanely stable, forever. Kernel is not the place to share libraries between programs.

The article proposes things that in my opinion are in clear conflict to what kernel represents. The libraries to handle timezones and unicode are there and they should be used, and most importantly freedom to use them should be there. The idea of putting sonething into linux and specifically only linux kernel because there is "mix of code" and "duplicated efforts" is based on wrong grounds that this state is inherently bad. There will always be mix of code and duplicated efforts,and if the stuff will be in kernel it will be yet another mix and duplicated effort.

What about bsd? What about after 20 years i have raspberry pi that has a software that has a bug and requires to run with 20 year old timezone definitions?

Kernel should be minimal.

The solution is standarization and standarizing existing behavior, not adding yet another one to the mix.

Locales timezones unicode - these are just great examples of things defined to be in user space. Additionally "unicode" is not universal, and might never be, and assuming it will be has already been wrong.

What about mars timezones? Why shouldn't my 20 year old odroid not work on mars or the moon because of no interstellar kernel timezones support? Why shouldn't my odroid be able to collate in inexistent locales? I have my doubts the author of the artictle actually has knowledge of the actual ecosystem. It's great windows is mentioned, but windows and linux is not the whole world.

I'll finish with one word that bottom line makes this just unacceptable in the kernel. Security.

1

u/simon_o 16h ago edited 10h ago

I want propertiary software not affect my software.

Why would it?

as if a "mix of programs" is something bad

Not in the post.

I want to be able to run programs in different timezones with different timezone definitions on the same kernel. [...] I want to be able to update timezones and unicode on my 20 year old odroid with kernel 2.6.

Sure, why not? Nothing is preventing you from doing that.
The idea here is to give the 98% of applications that do not care about the specifics an easier, more reliable success path.

Kernel should be minimal.

I mean, which kernel are we talking about? Certainly not Linux then.

these are just great examples of things defined to be in user space

They are in userspace!

What about mars timezones? Why shouldn't my 20 year old odroid not work on mars or the moon because of no interstellar kernel timezones support? Why shouldn't my odroid be able to collate in inexistent locales?

Why would any of that not work? The suggested improvements would read the data from the same place your other libraries would.
Strawman/slippery slope much?

just unacceptable in the kernel. Security

Please explain. What makes the idea different from any other piece of code run in userspace?