Live data from Hacker News

60x speed-up of Linux “perf”

eighty-twenty.org

121–130 of 224 posts

Re: 60x speed-up of Linux “perf”

#121
post #2

Yet another case of GPL virality causing more issues than it solves. E: Downvoters, have you read the article? The program started a new process for each address lookup instead of using a library because that library is GPL. Shall we have a discussion?

With the "viral" name-calling you have already demonstrated that you don't want a rational discussion.

Re: 60x speed-up of Linux “perf”

#122
post #102

Earlier quoted context omitted.

You might as well blame GNU for updating from GPLv2+ to GPLv3+, creating the problem in the first place. Since, realistically, neither Linux nor GNU will budge, maybe the practical solution would be to look into integrating with the equivalent library in the LLVM ecosystem (assuming it exists).

It was always clear that gnu would create newer versions of the GPL and start releasing under it. The blame is pretty clearly on the people who editted the license text to be GPL2 only.

I think it's acceptable to not want an organisation to be able to relicense your software under arbitrary terms, which the GPL does allow the FSF to do.

The GPL 3 is a pretty benign improvement on the GPL 2 (though I know Linus objects to the Tivo clause). I don't think anyone who was happy with their software being used under the terms of GPL 2 would be unhappy with it being used under the terms of the GPL 3 additionally, rather than exclusively.

But let's imagine the next version of GPL 4 was "Additionally the authors may at their discretion use it under the terms of the CC-BY-SA license". Nothing wrong with it as a license, but that's a bigger leap in terms of license changes.

It's not hypothetical that they could exercise that kind of power - they _did_ with the GFDL with the "wikipedia can relicense as CC-BY-SA" clause in GFDL 1.3.

I think most people would agree that that was a responsible use of that power. but I can understand those that don't want to extend the trust that all future uses will be responsible.

Re: 60x speed-up of Linux “perf”

#123
post #94

Earlier quoted context omitted.

Not really, or at least the license would be very unappealing. You'd need a method of determining revenue and then apportioning revenue amongst the many parts of a system. Then there's transfer pricing issues. Not to mention audit requirements. See also Hollywood accounting. One of the ways open source gets adoption is because using open source with an acceptable license is often much less hassle than paying for comm…

Yeah it's frustrating, i would never work on a open source project as i don't really get why companies can make money using something from the unpaid labour of someone else, and for our society that's acceptable

I've done a few open source things, mostly bugfixes or minor enhancements. Most of those I was being paid by my employer for, and it was either something I wanted available more widely and it was worth going through the process or it was a pain to manage patches so it saved me time to get it accepted upstream.

Either way, I don't get paid a royalty for work for hire from my past employers, so I don't expect a royalty from anyone else. And I've not worked on a project basis either; so I'm getting paid for having my butt in the seat and anything that happens afterwards is a happy accident.

I've open sourced some personal stuff too, although I don't know that anyone has looked at it. That stuff is usually more like nobody should need to write this again. Not much commercial market for a PPPoE client that can handoff to a standby machine anyway, but maybe it will be useful for someone, some day.

I've got another project in the works, but it's mostly a bit of glue around other people's open source code. If I wasn't retired, I'd try to get an employer to pay me to write it (and it would get done faster!), but I can't see why anyone would pay for just the software. Consulting on the software, sure; but then again, if you were to rely on it, you'd probably want to cultivate in-house expertise to reduce dependency on outside help.

Re: 60x speed-up of Linux “perf”

#124
post #114

Earlier quoted context omitted.

Can someone ELI5 to me where the problem is because both perf and bfd seem to be GPL. Why would the former not be allowed to link to the latter?

GPLv2 and GPLv3 are difference licences, despite sharing a name. The GNU people (FSF) intentionally made the GPL3 incompatible with GPL2, to enforce the virality of the GPL3 license (which they perceive to be superior to the older GPL2).

The purpose of the GPLv3 was to address the "tivo" clause, where a vendor sells you a device with some modified GPL preloaded software included. You can request the software under GPL, but if you can't load it on the device then the FSF feels that's not very good.

So GPLv3 bans that. That, by itself, is inherently an additional restriction not allowed by GPLv2. They don't need to go out of their way or have a conspiracy to deliberately make it incompatible. Especially since the GPL2, as distributed and suggested, includes the "or later" text which resolves this incompatibility to allow GPL3 software to use GPL2 code. If anything, this encourages GPL2+ as the default GPL license if maximum compatibility is your goal.

Others (e.g. Linus), are more focused on getting the code changes so if they want to use them in the original project they can, and don't feel being able to install it on the device it was built for is as high up on the priority list.

Re: 60x speed-up of Linux “perf”

#125
post #102

Earlier quoted context omitted.

You might as well blame GNU for updating from GPLv2+ to GPLv3+, creating the problem in the first place. Since, realistically, neither Linux nor GNU will budge, maybe the practical solution would be to look into integrating with the equivalent library in the LLVM ecosystem (assuming it exists).

It was always clear that gnu would create newer versions of the GPL and start releasing under it. The blame is pretty clearly on the people who editted the license text to be GPL2 only.

What some call a feature, others will call a bug.

It doesn't make sense to assign blame on those who bug-fixed the backdoor in the license that clearly would allow a third party to change licensing terms. Even(!) if that third party was rms.

Re: 60x speed-up of Linux “perf”

#126
post #8

Earlier quoted context omitted.

No. That is the case of Linus Torvalds not using the standard "or later" clause. He has his (bad) reasons. The incompatibility is caused by "lack of restrictions" clause. Without that, GPL becomes essentially BSD with all the corporate thievery that entails.

What is a good source to get an understanding of all the Licenses and their relation?

https://felixcrux.com/library/what-you-need-to-know-about-op...

Re: 60x speed-up of Linux “perf”

#127
post #102

Earlier quoted context omitted.

You might as well blame GNU for updating from GPLv2+ to GPLv3+, creating the problem in the first place. Since, realistically, neither Linux nor GNU will budge, maybe the practical solution would be to look into integrating with the equivalent library in the LLVM ecosystem (assuming it exists).

It was always clear that gnu would create newer versions of the GPL and start releasing under it. The blame is pretty clearly on the people who editted the license text to be GPL2 only.

While so far FSF have behaved responsibly it makes perfect sense for the Linux developers to not place their trust in an external organization.

Re: 60x speed-up of Linux “perf”

#128
post #65

It is a tough feeling to see someone else's design for a library that would be literally perfect for my needs, but I'm unable to use it because of the license, so I have to spend weeks implementing my own inferior version while carefully avoiding making the code too similar to what I happen to remember. I'm past believing that I'm smart enough to always be able to come up with/reimplement a competent enough solution…

Curious, what license(s) prevented you from using a library? Or maybe rather, what does "use" mean here?

GPL by some quite popular interpretations of what derivate work means. I do not personally agree but those interpretations are common enough to be a real concern and I do not think it has been tested in court yet (GPL has been tested in court but I do not think this particular aspect has).

Re: 60x speed-up of Linux “perf”

#129
post #9

Earlier quoted context omitted.

IMO it's not "GPL virality" that is at the root of the issue here. The authors' decision to license theis works this way causes the problem. You can still ask both libraries' authors for relicensing their work in a less restricted / more compatible way. If they don't want to do that, then being authors and owning their copyrights, that's their right to do. That's nothing I would blame on the GPL. I mean we should be…

Can someone ELI5 to me where the problem is because both perf and bfd seem to be GPL. Why would the former not be allowed to link to the latter?

Most GPL licenses permits their code to be redistributed as the same GPL version or any later version of the GPL, Linux releases as GPLv2 or later for example.

Perf does not permit the license to be redistributed as anything except GPLv2, so it conflicts with GPLv3 code.

Re: 60x speed-up of Linux “perf”

#130
post #75
post #46

Earlier quoted context omitted.

This is kind of the crux of a long history of these licensing arguments. That dynamic linking is problematic because it potentially creates a derived work. And then you might distribute that derived work. But shelling out to something or in some cases having an automated script create or download the derived work automatically is sometimes acceptable. It’s a bit of a silly line in some ways. But it’s a long story.

I'm skeptical that there's a coherent legal distinction to be drawn between using a dynamic library with dlopen etc and running a similar executable with arguments. It's functionally identical usage of some public interface.

Agreed, I am very skeptical too. I have a long time believed that dynamic linking vs running an executable with arguments will be regarded the same in a court. So either both are derivative works or neither.

My personal belief is that a court will only care about if your code is a wrapper (e.g, libgpg) or if it is its independently useful and just uses the library (e.g. PostgreSQL using libreadline) for a small part of its operation. But I am not a lawyer and this has not been tested in court as far as I know.

Post reply on HN