Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8d5c1e37-b650-fe70-4dba-05ece843cba1@samersoff.net>
Date: Fri, 12 Jun 2020 22:08:26 +0300
From: Dmitry Samersoff <dms@...ersoff.net>
To: musl@...ts.openwall.com, Rich Felker <dalias@...c.org>
Subject: Re: Advocating musl to in windows subsystem and OS X

Hello Rich,

One thing that might make sense - is to compare performance and resource 
consumption of OpenBSD and Musl based Linux distro (e.g. Alpine) because 
both targets the same audience.

-Dmitry

On 12.06.2020 20:37, Rich Felker wrote:
> On Fri, Jun 12, 2020 at 06:56:28PM +0200, Brian Peregrine wrote:
>> Hey all,
>>
>> after thinking about my previous post (Advocating musl to the chromium
>> OS developers ), it struck me that both Microsoft and Apple use some
>> sort of libc too (Microsoft has the "subsystem for linux" on windows
>> 10 now, and Apple's OS X is based on linux too -I think it was based
>> on the "Darwin" linux distro.
> 
> No, OSX is in some sense a BSD fork, but with major architectural
> changes, and has nothing to do with Linux. Their libc is a BSD one
> (FreeBSD I think) with tons of gratuitous changes made that did little
> but intentionally break things, basically for NIH purposes/justifying
> the existence of the project. (This is much like Google's Fuchsia fork
> of musl.)
> 
> musl does not run on OSX and while all of the pure-library code and
> stdio code could in principle be used, actually making "musl for OSX"
> would be a large project that doesn't make sense. What would make much
> more sense is either reusing code or making corresponding improvements
> based on things that are better in musl.
> 
>> Microsoft probably uses glibc (as the subsystem seems to be
>> canonical-made and they use glibc in ubuntu), for os x, I'm not sure
>> what is being used.
>> See https://itsfoss.com/install-bash-on-windows/
>> https://www.makeuseof.com/tag/microsoft-linux-distros-windows-10/
>> https://news.ycombinator.com/item?id=3601092
>>
>> In either case, Rich, perhaps you can propose to both that they use
>> musl,
> 
> In some sense WSL doesn't "use" any libc; it's a thin syscall
> emulation layer (WSL1) or near-full-linux-vm (WSL2) that's supposed to
> be able to run any Linux userspace. My understanding is that they ship
> some glibc-based distro, and I don't see that being viable for them to
> change because they're supporting whatever users have built on it, but
> anyone's free to use whatever they prefer.
> 
> On a higher level, I don't really want anyone shipping musl in places
> where the end user who receives it doesn't intend to use musl, for
> much the same reason that I don't like it when distros ship systemd to
> folks who don't intend to use systemd. It leads to gratuitous
> complaints from people who are unhappy that it's different from what
> they expect, and keep asking for changes to make it more glibc-like.
> I'd much rather seek out a user base that *wants* what's different
> about musl rather than "puts up with" what's different about musl.
> 
>> and point them to your comparison
>> (http://www.etalabs.net/compare_libcs.html ) ?
>> Also, perhaps that comparison can have Bionic added too and compared
>> to that as well ?
> 
> The comparison is really out-of-date, and needs some serious
> methodological overhaul. Some of the points are quantitative and need
> to be pegged to particular versions to be relevant, and need a way of
> testing all the libcs with the same hardware/kernel to be able to
> update them at all. All of that is beyond the scope of anything I want
> to do right now, but I'd be interested in helping someone else who
> wants to continue it setup a procedure and revamped test cases.
> 
> The qualitative parts are fairly easy to keep up-to-date though, and
> Bionic and others could probably be added there. I don't think it
> makes sense to include non-Linux libc's, though, since they can't be
> used interchangibly -- they're not options you have.
> 
>> Perhaps it's most appropriate to do this through posting an issue at
>> their relevant repo's (for MS, it's
>> https://github.com/microsoft/WSL2-Linux-Kernel/issues , for apple
>> (https://github.com/apple ), I'm not sure which repo holds the libc.
> 
> Unfortunately WSL1 has been broken and can't safely run musl binaries
> since forever, and it's apparently not getting fixed despite the fix
> being a one-liner if you had the source:
> 
> https://github.com/microsoft/WSL/issues/830
> 
> I'm not sure if WSL1 is still an option, but in some sense it "should
> be" because it's lighter and cleaner than WSL2 which was basically
> just "let's give up and use a VM with a real Linux kernel". If WSL1
> ceases to be a thing, using musl on WSL becomes more attractive. I
> re-pinged the issue to find out what's up.
> 
> Rich
> 

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.