this post was submitted on 13 Jul 2023
1 points (100.0% liked)

Linux Questions

534 readers
1 users here now

Linux questions

Rules (in addition of the Lemmy.world rules)

Tips for giving and receiving help

any rule violations will result in disciplinary actions

founded 1 year ago
MODERATORS
 

Often the LLVM tools (llvm-ar, llvm-strip, etc) are already installed by default, so why include 2 sets of binary utilities?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] OldWorldOrder 1 points 1 year ago (1 children)

But they're already using clang/llvm, so they already need to comply with the license. Some like FreeBSD already have the llvm tools installed alongside elftoolchain

[โ€“] Rustmilian 1 points 6 months ago* (last edited 6 months ago)

As the other guy said, it has to do with licensing. More specifically incompatibility between BSD-clause & GPLv3 licensing.
The incompatibility between the BSD license and GPLv3 arises from the fact that the BSD license is a permissive license that allows for proprietary modifications, while GPLv3 is a copyleft license that requires derivative works to be licensed under the same terms.

However, the Clang/LLVM compiler infrastructure, which is licensed under the Apache 2.0 license, is compatible with GPLv3.
This means that code licensed under GPLv3 can be combined with code licensed under Apache 2.0, and the resulting work can be licensed under GPLv3.
On the other hand, the elftoolchain project, which is licensed under the BSD license, is not directly compatible with GPLv3. Combining code licensed under GPLv3 with code licensed under the BSD license would violate the terms of GPLv3.

Apache 2.0, while compatible with both BSD & GPLv3 licenses; it's still seen as more favorable to use elftoolchain for the BSD-clause bits than using LLVM because elftoolchain keeps the BSD bits constantly BSD licensed throughout.