New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIX src: Alpine isn't GNU #1

Merged
merged 1 commit into from Jun 8, 2017

Conversation

Projects
None yet
4 participants
@7heo
Contributor

7heo commented Jun 8, 2017

No description provided.

@ollieparanoid ollieparanoid merged commit 75e799d into ollieparanoid:master Jun 8, 2017

@montvid

This comment has been minimized.

Show comment
Hide comment
@montvid

montvid Aug 20, 2017

Okay, I was learning about GNU and Linux and I thought I understood why Linux is called GNU/Linux. Linux is a kernel that can only be compiled by GCC and GCC is GNU software it can't be compiled with any other compiler like LLVM/CLANG. So as long as you use GCC to compile the Linux kernel it is GNU/Linux. I know that Alpine uses BusyBox not GNU Core Utilities so the only part GNU in Alpine Linux is the Linux kernel compiled with GCC.
Could anyone provide more information if my conclusions are wrong?

montvid commented Aug 20, 2017

Okay, I was learning about GNU and Linux and I thought I understood why Linux is called GNU/Linux. Linux is a kernel that can only be compiled by GCC and GCC is GNU software it can't be compiled with any other compiler like LLVM/CLANG. So as long as you use GCC to compile the Linux kernel it is GNU/Linux. I know that Alpine uses BusyBox not GNU Core Utilities so the only part GNU in Alpine Linux is the Linux kernel compiled with GCC.
Could anyone provide more information if my conclusions are wrong?

@Shizmob

This comment has been minimized.

Show comment
Hide comment
@Shizmob

Shizmob Aug 20, 2017

The FSF's argument is that not one of GCC compiling the kernel, but significant parts of the core system containing GNU software (glibc, coreutils, indeed gcc, ...). While there is an argument to be made on whether or not that is significant enough contrasted to other parts of Linux userspace to be explicitly named and whether that naming is universal, that is their stance.

The Linux kernel as compiled by gcc is still not GNU/Linux: none of the resulting code or executable belongs to or origins from the FSF or the GNU project, and even the GCC compiler runtime libraries, which I don't believe are applicable in kernel code, have an explicit licensing exception and would be a very very minimal fraction of the code.

The former argument, leaving its questions of validity aside, mostly do not apply in Alpine: we do not use coreutils or glibc, or GNU gettext or other various packages from the GNU project by default. As such, the label GNU/Linux would very much not apply to Alpine in the first place.

Shizmob commented Aug 20, 2017

The FSF's argument is that not one of GCC compiling the kernel, but significant parts of the core system containing GNU software (glibc, coreutils, indeed gcc, ...). While there is an argument to be made on whether or not that is significant enough contrasted to other parts of Linux userspace to be explicitly named and whether that naming is universal, that is their stance.

The Linux kernel as compiled by gcc is still not GNU/Linux: none of the resulting code or executable belongs to or origins from the FSF or the GNU project, and even the GCC compiler runtime libraries, which I don't believe are applicable in kernel code, have an explicit licensing exception and would be a very very minimal fraction of the code.

The former argument, leaving its questions of validity aside, mostly do not apply in Alpine: we do not use coreutils or glibc, or GNU gettext or other various packages from the GNU project by default. As such, the label GNU/Linux would very much not apply to Alpine in the first place.

@Shizmob

This comment has been minimized.

Show comment
Hide comment
@Shizmob

Shizmob Aug 20, 2017

Finally for what it's worth, the Linux kernel can in fact be compiled by LLVM, and this support is mostly upstream: http://llvm.linuxfoundation.org/

Shizmob commented Aug 20, 2017

Finally for what it's worth, the Linux kernel can in fact be compiled by LLVM, and this support is mostly upstream: http://llvm.linuxfoundation.org/

@montvid

This comment has been minimized.

Show comment
Hide comment
@montvid

montvid Aug 20, 2017

@Shizmob c'mon LLVM Linux is abandonware 2014, I pulled their newest git kernel 3.x they state on their page:

Yes, there is still a dependancy on parts of the gcc toolchain. Most notably ld, as, and sometimes libgcc.
2014.02.02 A patchset for the stable kernel will be available for kernel v3.13 soon.
The x86_64 patches from the lll-project have been rolled into the LLVMLinux code base. The targets for i586 and x86_64 allow you to build working kernels. However, not for production use yet.

montvid commented Aug 20, 2017

@Shizmob c'mon LLVM Linux is abandonware 2014, I pulled their newest git kernel 3.x they state on their page:

Yes, there is still a dependancy on parts of the gcc toolchain. Most notably ld, as, and sometimes libgcc.
2014.02.02 A patchset for the stable kernel will be available for kernel v3.13 soon.
The x86_64 patches from the lll-project have been rolled into the LLVMLinux code base. The targets for i586 and x86_64 allow you to build working kernels. However, not for production use yet.

@Shizmob

This comment has been minimized.

Show comment
Hide comment
@Shizmob

Shizmob Aug 20, 2017

It is abandoned because it's mostly upstream by now -- there's no more need for a separate patchset. The remaining patches are so minimal that they consist of 7 small parts for x86_64: https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg24112.html

Shizmob commented Aug 20, 2017

It is abandoned because it's mostly upstream by now -- there's no more need for a separate patchset. The remaining patches are so minimal that they consist of 7 small parts for x86_64: https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg24112.html

@montvid

This comment has been minimized.

Show comment
Hide comment
@montvid

montvid Aug 20, 2017

Ok, so Alpine Linux kernel is compiled with GCC or LLVM? Can Alpine Linux be compiled without GNU tools? As I understand Alpine Linux can run without GNU software.

montvid commented Aug 20, 2017

Ok, so Alpine Linux kernel is compiled with GCC or LLVM? Can Alpine Linux be compiled without GNU tools? As I understand Alpine Linux can run without GNU software.

@montvid

This comment has been minimized.

Show comment
Hide comment
@montvid

montvid Aug 20, 2017

I do agree that the GCC compiled output of the Linux kernel is not GNU/Linux. I say that if GCC is used to compile Linux it is natural to give credit to GNU team -no GCC no compiled Linux kernel that is why GNU/Linux.
@Shizmob if you can compile Linux kernel with LLVM you can name it LLVM/Linux to honor the LLVM team. ;)

montvid commented Aug 20, 2017

I do agree that the GCC compiled output of the Linux kernel is not GNU/Linux. I say that if GCC is used to compile Linux it is natural to give credit to GNU team -no GCC no compiled Linux kernel that is why GNU/Linux.
@Shizmob if you can compile Linux kernel with LLVM you can name it LLVM/Linux to honor the LLVM team. ;)

@montvid

This comment has been minimized.

Show comment
Hide comment
@montvid

montvid Aug 20, 2017

So, next time you compile the Linux kernel thank the power of GNU (GCC) because there would be no Alpine Linux or any other Linux distro without it.

montvid commented Aug 20, 2017

So, next time you compile the Linux kernel thank the power of GNU (GCC) because there would be no Alpine Linux or any other Linux distro without it.

@ollieparanoid

This comment has been minimized.

Show comment
Hide comment
@ollieparanoid

ollieparanoid Aug 20, 2017

Owner

Alpine developers are well aware of the terminology regarding GNU, free software/open source software. They chose to not base their distro on GNU software such as GNU libc, GNU coreutils, so actually calling it GNU/Linux is wrong and I made a mistake there.

No one prefixes the kernel with the compiler name, otherwise you would have GCC/OpenBSD and LLVM/FreeBSD.

Please don't drag this conversation any further, it benefits no one and divides the community instead of allowing us to work together. Thank you.

Owner

ollieparanoid commented Aug 20, 2017

Alpine developers are well aware of the terminology regarding GNU, free software/open source software. They chose to not base their distro on GNU software such as GNU libc, GNU coreutils, so actually calling it GNU/Linux is wrong and I made a mistake there.

No one prefixes the kernel with the compiler name, otherwise you would have GCC/OpenBSD and LLVM/FreeBSD.

Please don't drag this conversation any further, it benefits no one and divides the community instead of allowing us to work together. Thank you.

@montvid

This comment has been minimized.

Show comment
Hide comment
@montvid

montvid Aug 20, 2017

@ollieparanoid OpenBSD and FreeBSD are operating systems - they don't have a name for the kernel in their OS. Debian using FreeBSD kernel called it Debian GNU/kFreeBSD. Alpine developers are basing their OS on the GNU/Linux kernel. The situation is confusing but I think if one is just talking only about the Linux kernel it would be honorable to say GNU/Linux because without the GNU tools (GCC compiler) you could not compile Linux kernel. Of course after compiling it with GCC you get just the Linux kernel so it is up to people if they want to honor just Linux or GNU too. I'm just saying you did not make a mistake, you just need to clarify what is what as you did in your post. I know that people get confused by the term "GNU/Linux" I was confused too until I understood how the Linux kernel came about. I won't be posting any further as per your request. Alpine is not GNU but the Linux kernel is.

montvid commented Aug 20, 2017

@ollieparanoid OpenBSD and FreeBSD are operating systems - they don't have a name for the kernel in their OS. Debian using FreeBSD kernel called it Debian GNU/kFreeBSD. Alpine developers are basing their OS on the GNU/Linux kernel. The situation is confusing but I think if one is just talking only about the Linux kernel it would be honorable to say GNU/Linux because without the GNU tools (GCC compiler) you could not compile Linux kernel. Of course after compiling it with GCC you get just the Linux kernel so it is up to people if they want to honor just Linux or GNU too. I'm just saying you did not make a mistake, you just need to clarify what is what as you did in your post. I know that people get confused by the term "GNU/Linux" I was confused too until I understood how the Linux kernel came about. I won't be posting any further as per your request. Alpine is not GNU but the Linux kernel is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment