Live data from Hacker News

The things nobody wants to pay for

lwn.net

21–30 of 133 posts

Re: The things nobody wants to pay for

#21
post #14
post #5

This echoes the problems we see in LLVM. Tooling is de-prioritized in several large corporation-funded open-source projects.

can you elaborate?

Many thousands of companies use LLVM in their products and benefit from the technology.

As it is an open source project, in an ideal world, it would e fair to assume they would somehow contribute back, but instead they just take it for granted as there is a group of people who make it available for free.

(please read to the end before posting your "wHy pUt iT oPeN-sOuRcE tHeN???" bigoted comments)

Don't get me wrong: It is perfectly legal for anyone to do so, as the project is available under a permissive license and you are not mandated to do anything to contribute back.

I'm just trying to clarify the point made by OP here, and clarifying that some infrastructure tooling such as compilers and debugger are often taken for granted, and even rich companies opt not to contribute back.

Re: The things nobody wants to pay for

#22
post #15
post #10

I once compared Linus Torvalds' net worth to Warren Buffett's net worth. I think they are both extremely capable individuals in their fields. Torvalds earns about 10 million per year. With that income, it would take Torvalds 12k years to reach the same net worth as Buffett (about 124 billion). Put differently, Buffett could personally fund 10k open source contributors 200k per year for their lifetime (60 years) if he…

"Torvalds earns about 10 million per year" I'm curious how he earns so much? That seems like a lot for someone who is associated with FOSS, even if they are so influential/skilled.

Red Hat gave him a bunch of stock way back when. I'd guess whatever he makes at the Linux Foundation is a rounding error compared to that.

Re: The things nobody wants to pay for

#23
post #3

Earlier quoted context omitted.

Of the ones you listed, consistency is the big downside for me. It seems like there's multiple options for everything in the Linux ecosystem. From the beginner questions (e.g., which distro), to the nerdy questions (e.g., systemd vs sysvinit), to the ones in between (e.g., vim vs emacs). I sometimes wonder if GNU Herd would have been better at this, since everything would be designed by the GNU folks for one unified…

> I sometimes wonder if GNU Herd would have been better at this, since everything would be designed by the GNU folks for one unified ecosystem. You just invented *BSD.

WhichBSD?

Re: The things nobody wants to pay for

#24

I don't know much about the Kernel or testing it, but I submitted one fix years ago that I ended up testing it manually, and that was enough for it to be accepted. I think that's just the culture, which might seem odd to some, but also I imagine it would make coordination almost impossible if they were sticklers for testing. I've also known companies to run full integration tests instead of using stuff like unit test…

OT - yes, weekendmodus: check!! But an humoristic aproach, "There was a bug-request for v1.0: 'Copying parts of graphics overwrites the text-buffer, and copying text (for whatever use) overwrites the graphics buffer! Still no progress.', for whatever reason." (-;

Re: The things nobody wants to pay for

#25
post #14
post #5

This echoes the problems we see in LLVM. Tooling is de-prioritized in several large corporation-funded open-source projects.

can you elaborate?

LLVM deprioritizes helper scripts such as update_analyze_test_checks.py, and the build infrastructure is far from perfect. Scripts like the ones categorizing PRs are very much unpaid work.

LLVM also deprioritizes general cleanup work, such as getting rid off passes that don’t work, and are rotting in the tree: of the top of my head, I can think of GVNSink, LoopFusion.

There are additional problems unique to LLVM, as it doesn’t have a dictator: there are multiple different dependence analysis in tree, for instance.

Re: The things nobody wants to pay for

#26
post #10

I once compared Linus Torvalds' net worth to Warren Buffett's net worth. I think they are both extremely capable individuals in their fields. Torvalds earns about 10 million per year. With that income, it would take Torvalds 12k years to reach the same net worth as Buffett (about 124 billion). Put differently, Buffett could personally fund 10k open source contributors 200k per year for their lifetime (60 years) if he…

>So maybe that's the solution? Convince billionaires that open source software is a philanthropic endeavor?

Is it, though? This isn't the attitude we have towards things like USB-IF or the Unicode Consortium, both of which are non-profits that were started by for-profit companies trying to solve a technical challenge for their own, joint benefit.

Hardware and software companies need a working operating system to be able to make money.

Re: The things nobody wants to pay for

#27
post #8

AI can help with documentation. Simple tool can annotate all files and function using ChatGPP4 in few hours, then check it for correctness and completeness, then fix bugs, for few hundred dollars.

That wouldn’t help with the issues described in the article, I think. That is, license violations (LLMs happen to produce almost-verbatim copies of copyrighted works at times) and lack of volunteers (you’d need to hire a technical writer to ensure the generated documentation is actually correct and complete, and nobody is going to want to accept being hired for cheap for fixing AI-generated documentation).

I just checked it with Bard:

Me: Annotate main scheduler in linux kernel version 6 for interactive workload on multiple cores.

Bard: I'm unable to directly annotate kernel code, but I can provide a detailed explanation of the main scheduler's components and mechanisms for interactive workloads on multiple cores in Linux kernel version 6, incorporating images where appropriate:

Key Components:

    Completely Fair Scheduler (CFS):
        Primary scheduling class for interactive tasks
        Aims for fairness and responsiveness
        Employs a red-black tree (image below) to organize processes based on their virtual runtime (vruntime)
        Processes with lower vruntime are given priority
    Зображення: redblack tree data structureВідкриється в новому вікні
    www.eecs.umich.edu
    redblack tree data structure 

    Per-CPU runqueues:
        Each CPU core maintains its own runqueue
        Stores processes ready to run on that core
        Reduces contention and improves cache locality

    Load balancing:
        Mechanisms to distribute processes across cores for optimal performance
        Triggered when a core becomes idle or imbalanced
        Migrates processes from overloaded cores to underloaded ones
Scheduling Process:

    Process Creation:
        New processes are assigned to a suitable scheduling class (CFS for interactive)
        Added to a runqueue, initially on the core where they were created

    Process Wakeup:
        When a process becomes ready to run:
            Added to the runqueue of the core where it last ran or a suitable core (load balancing)

    Process Selection:
        CFS periodically selects a process from the runqueue
        Chooses the one with the lowest vruntime (most deprived of CPU time)

    Context Switch:
        The scheduler saves the state of the running process
        Restores the state of the selected process to resume execution
Key Features for Multi-Core:

    Per-CPU runqueues:
        Minimize cache-line bouncing and inter-core communication
        Improve performance on multi-core systems
    Load balancing:
        Ensures efficient use of all available CPU cores
        Prevents cores from becoming idle while others are overloaded
    Scalability:
        CFS design scales well with increasing core counts
        Maintains fairness and responsiveness in large systems
Additional Considerations:

    Scheduler domains:
        Hierarchical structures for managing CPU resources across multiple cores or NUMA nodes
        Allow for fine-grained control over scheduling policies
    Preemption:
        CFS supports preemption to prevent processes from monopolizing the CPU
        Ensures interactive tasks remain responsive
Remember:

    Linux kernel version 6 is under development, so specific details may change.
    The scheduler is a complex component with various optimizations and tuning parameters.
    Understanding its behavior requires deeper exploration of the code and experimentation.

Re: The things nobody wants to pay for

#28
post #4

Markets approximate an algorithm where you line up everyone who can do a job by willingness to do it, then pick the cheapest if someone is willing to pay that much. In the case of open source, that algorithm usually identifies volunteers. Sometimes it identifies businesses. Sometimes people come up with clever ways of funding projects (Red Hat the enterprise was genius from this perspective, they organised a solution…

[deleted]

Re: The things nobody wants to pay for

#29
post #10

I once compared Linus Torvalds' net worth to Warren Buffett's net worth. I think they are both extremely capable individuals in their fields. Torvalds earns about 10 million per year. With that income, it would take Torvalds 12k years to reach the same net worth as Buffett (about 124 billion). Put differently, Buffett could personally fund 10k open source contributors 200k per year for their lifetime (60 years) if he…

> Torvalds earns about 10 million per year

Source?

Re: The things nobody wants to pay for

#30
post #4

Markets approximate an algorithm where you line up everyone who can do a job by willingness to do it, then pick the cheapest if someone is willing to pay that much. In the case of open source, that algorithm usually identifies volunteers. Sometimes it identifies businesses. Sometimes people come up with clever ways of funding projects (Red Hat the enterprise was genius from this perspective, they organised a solution…

> I suspect there does need to be a regular social renewal to resolve the tragedy of the commons problem.

Wouldn’t the solution offered on LWN work great?

Just excise a tax (well, I guess a licensing cost) for open source use to any corporation that is above x$ amounts of revenue. Make it a tiny percentage (0.1%?).

2022 revenue:

- $400 billion, Apple

- $200 billion, Microsoft

- $120 billion, Meta

- $80 billion, AWS

$800 billion * 0.01 = €800 million of “sovereign OSS fund” funding.

And that’s just the big ones. Bing tells me the 2022 combined revenue of all NASDAQ listed companies is ~$6900 billion. That’s $6.9 billion in OSS funding you’d skim off!

What’s more, with how much that would improve open source projects, those companies would see enough productivity improvement that despite the 0.1% in skimmed revenue, they’d see a net benefit.

Post reply on HN