Opened 16 years ago

Last modified 19 months ago

#1907 new enhancement

Replace GNU C library and utilities with BSD-licensed equivalents

Reported by: jonas.kirilla Owned by: nobody
Priority: low Milestone: R2
Component: System/libroot.so Version:
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Not that this is strictly necessary but it would lessen the GPL footprint in Haiku and could lead to more cooperation with the BSDs.

This could be a GSoC project.

Change History (18)

comment:1 by axeld, 16 years ago

The GNU C library is licensed under the LGPL. I personally don't mind GPL utilities at all; and IMO we shouldn't decide by license, but by code quality.

Also, I don't think this would be a good GSoC project for now, as it doesn't advance the project in any way.

comment:2 by korli, 16 years ago

And BeOS used them so why not Haiku ? IMO should be marked as invalid.

comment:3 by jonas.kirilla, 16 years ago

If there is a high quality libc and full userland with a license which has synergy with that of core parts of Haiku it seems logical to at least not shut the door completely, even though it may not seem practical right now. I know that it's perfectly okay to run GPL software on Haiku and to integrate LGPL code. But, FWIW, if the GPL parts were BSD-licensed it would be less problematic to reuse that code elsewhere.

comment:4 by scottmc, 16 years ago

Perhaps this one should be moved to low priority and bumped from the hrev1 milestone? Might even be an ok one to move over to HaikuPorts even.

comment:5 by axeld, 16 years ago

Milestone: R1Unscheduled
Priority: normallow

comment:6 by axeld, 14 years ago

Owner: changed from axeld to nobody
Version: R1/pre-alpha1

comment:7 by jscipione, 12 years ago

Libc++ seems like an obvious choice for a glibc replacement. Part of clang. MIT licensed. http://libcxx.llvm.org/ maybe for R2

comment:8 by korli, 12 years ago

jscipione, irrelevant, Libc++ isn't a C lib but a C++ lib like libstdc++.

comment:9 by Disreali, 12 years ago

We would need to use the BSD libc. This was previously discussed on the dev-list.

comment:10 by waddlesplash, 5 years ago

Milestone: UnscheduledR2

musl is a better candidate, for a variety of reasons. And only for libio, wchar, libmath really; we have our own code for pthreads, etc.

comment:11 by waddlesplash, 5 years ago

It seems that the FreeBSD libc is actually lacking in some respects: https://twitter.com/dimpase/status/1119688292734312448

comment:12 by pulkomandy, 5 years ago

That tweet says "this was fixed in FreeBSD 12", so?

And there is also a separate rant about lack of fortran support, which in the next tweets is also shown to be incorrect...

If you have actual bugreports against FreeBSD libraries, fine. But random twitter rants?

Also, musl being better "for a variety of reasons" is not helpful. If you have made a study, please share your results, you will get more support and agreement than by using authority arguments.

It seems aljen had already done the work on switching to a FreeBSD C library back in 2009, it's unfortunate that his patch seems to now be offline.

comment:13 by X512, 3 years ago

Note that libgcc_s.so is currently a part of ABI. It is directly imported by applications that use exceptions, has symbol versions with GNU in naming. libgcc_s.so can't coexist with alternative implementations because it maintains global list of eh_frame registrations (information for exception handling for specific dynamically-loadable module).

comment:15 by X512, 3 years ago

FreeBSD solves the libgcc issue in this implementation:

Interesting. It may help with RISC-V port exceptions problem.

comment:17 by marcoapc, 21 months ago

Permissive licensed alternative to bash.

https://github.com/oilshell/oil

comment:18 by marcoapc, 19 months ago

It is a testsuite for libc libraries.

https://github.com/GabrielRavier/yalibct

Note: See TracTickets for help on using tickets.