linux

Linux kernel source tree (by torvalds)

Linux Alternatives

Similar projects and alternatives to linux

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better linux alternative or higher similarity.

linux reviews and mentions

Posts with mentions or reviews of linux. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-16.
  • Linux on a MacBook Pro (M1 Pro): How Good Is Asahi Now?
    2 projects | news.ycombinator.com | 16 Sep 2023
  • Ask HN: How is Rust used in the Linux kernel today?
    2 projects | news.ycombinator.com | 12 Sep 2023
    There's been 1500+ commits since 2020 on the 'main' Kernel fork that has Rust support [0]. Many of them through collaboration and backs and forths of review (look at the PRs on the fork).

    My understanding is that the `rust-next` branch represents what's ready for Linus to merge. So there's a whole lot that's not in there, which you're missing in your evaluation.

    Last year a Kernel dev from Western Digital wrote an NVME driver in Rust [1] (look at slides 15 & 16) which I would consider to be qualified and knowledgeable.

    I wouldn't measure the effort solely on what's been merged to mainline as there's been 6 merge windows from 6.1 to now. Many of those commits are laying the groundwork for the next few years.

    [0] https://github.com/torvalds/linux/compare/master...Rust-for-...

  • Hacking the LG Monitor's EDID
    7 projects | news.ycombinator.com | 30 Aug 2023
    I wouldn't really call it "an ugly hack" since the kernel has had this procedure (to load EDID overrides from /lib/firmware) since forever. Introduced in 2012 by https://github.com/torvalds/linux/commit/da0df92b57311aa1b26... , current doc is in https://github.com/torvalds/linux/blob/872459663c52f5e8a28c0...
  • Linux 6.6 to Protect Against Illicit Behavior of Nvidia Proprietary Driver
    5 projects | news.ycombinator.com | 30 Aug 2023
    > Linux's license is GPLv2 plus a syscall exception.

    Did Linus really sought to have every contributor of Linux that licensed their contribution as GPLv2 agree to this specific exception, and relicense it as GPLv2 plus syscall exception? This sounds unbelievable.

    When one checks the wording of the "exception", https://github.com/torvalds/linux/blob/master/LICENSES/excep... it says

    > NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of "derived work".

    This just seems like a legal opinion of Linus that states that userland programs are not derivative from the kernel (and thus don't need to), but this is kind of obvious and expected, right? I mean, userland Windows programs aren't derivative from Windows either, or macOS programs, or etc.

    Also: at the moment Linux was created, all Linux programs were originally made for other operating systems. Programs like bash and gcc predate Linux. They couldn't be derivative works of the kernel, even if they wanted to, because the kernel didn't exist when they were created.

    I highly doubt that any kernel developer could successfully sue authors of userland programs for copyright infringement, regardless of what Linus thinks about it. So this isn't really an exception of the GPLv2 but just a _clarification_ that the wording of the GPLv2 shouldn't be interpreted in a way to make userland programs infringing (because they aren't, and wouldn't be even if Linus didn't clarify)

  • Stable Linux mainline builds for Ubuntu
    5 projects | news.ycombinator.com | 25 Aug 2023
    It's quite trivial actually. It's just `make deb-pkg`. It may complain about a cert. https://github.com/torvalds/linux/blob/master/scripts/packag...
  • The Linux Kernel Macro Journey — “__randomize_layout”
    2 projects | /r/linux | 20 Aug 2023
    Overall, “__randomize_layout” is macro which defined in the Linux source code as part of the “compiler_type.h” file (https://elixir.bootlin.com/linux/v6.4.11/source/include/linux/compiler\_types.h#L293). It is based on the RANDSTRUCT gcc plugin (https://github.com/torvalds/linux/blob/master/scripts/gcc-plugins/randomize_layout_plugin.c).
  • Zenbleed
    3 projects | news.ycombinator.com | 24 Jul 2023
    linux-firmware does not carry any microcode update for Renoir (yet). Or what do you mean by "TFA"?

    The fixed Renoir microcode should have revision >= 0x0860010b as per the kernel: https://github.com/torvalds/linux/commit/522b1d69219d8f08317...

    3 projects | news.ycombinator.com | 24 Jul 2023
    More details:

    `good_revs` as per the kernel: https://github.com/torvalds/linux/commit/522b1d69219d8f08317...

    Currently published revs ("PATCH") (git HEAD):

    https://git.kernel.org/pub/scm/linux/kernel/git/firmware/lin...

    As of this writing, only two of the five `good_rev`s have been published.

  • Good code is like a love letter to the next developer who will maintain it
    3 projects | news.ycombinator.com | 20 Jul 2023
    I bet you a nickel that -if you're a working programmer- most of the functions that you write don't check __every__ possible thing that could go wrong, but -instead- have some assumptions about validations that the caller must run before calling them (e.g. "My callers will hand me well-formed XML"), and impose some constraints on the shape and range of the data that they return to their caller (e.g. "Callers must be prepared to handle a graph that contains cycles.").

    > ...did I just see a data race...

    You did see a data race.

    That race is pretty clearly unavoidable, as it would be triggered by a sysadmin setting the value of a particular sysctl knob "low enough" in between the check mentioned in another function in the chain of function calls that this function is part of being run and the commented code being run.

    (You can tell that this function part of a chain of function calls because that comment refers to a check in a function that is not called by the function that contains the comment.)

    > ...okay because it is faster if it’s horrifically unsafe...

    I mean, here's the call site of the "objectionable" function and the site at which the issue gets detected: <https://github.com/torvalds/linux/blob/master/fs/file.c#L174...>. At both ends, there's a comment that says "Hey, it's faster to do this check here, rather than over there.".

    It's clear that the folks who worked on this code were concerned about the performance, and had discovered that relying on callers to discover if that race had resulted in them getting a smaller allocation than they wanted was needed.

    3 projects | news.ycombinator.com | 20 Jul 2023
    > there is no such thing as good code

    definitely not true. this is good code:

    https://github.com/torvalds/linux/blob/master/fs/file.c

    this is good code:

    https://github.com/golang/go/blob/master/src/strconv/atoc.go

    its formatted, commented, direct. the fact that you struggle with writing time tested code does not mean that everyone does.

  • A note from our sponsor - Mergify
    blog.mergify.com | 21 Sep 2023
    Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free. Learn more →

Stats

Basic linux repo stats
940
157,662
10.0
3 days ago
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
www.sonarqube.org