Hacker Newsnew | past | comments | ask | show | jobs | submit | merlindru's commentslogin

WASM works with any language and can be much faster than javascript

You can compile any language to JavaScript. jslinux compiled x86 machine code to JavaScript.

So basically wasm is some optimisation. That's fine but it's not something groundbreaking.

And if we remove web from the platform list, there were many portables bytecodes. P-code from Pascal era, JVM bytecode from modern era and plenty of others.


> some optimisation

That's underselling it a bit IMO. There's a reason asm.js was abandoned.


Wikipedia mentions that Wasm is faster to parse than asm.js, and I'm guessing Wasm might be smaller, but is there any other reason? I don't think there's any reason for asm.js to have resulted in slower execution than Wasm.

> I don't think there's any reason for asm.js to have resulted in slower execution than Wasm

The perfect article: https://hacks.mozilla.org/2017/03/why-webassembly-is-faster-...

Honestly the differences are less than I would have expected, but that article is also nearly a decade old so I would imagine WASM engines have improved a lot since then.

Fundamentally I think asm.js was a fragile hack and WASM is a well-engineered solution.


After reading the, I don't feel convinced abtout the runtime performance advantages of WASM over asm.js. he CPU features mentioned could be added to JS runtimes. Toolchain improvements could go both ways, and I expect asm.js would benefit from JIT improvements over the years.

I agree 100% with the startup time arguments made by the article, though. No way around it if you're going through the typical JS pipeline in the browser.

The argument for better load/store addressing on WASM is solid, and I expect this to have higher impact today than in 2017, due to the huge caches modern CPUs have. But it's hard to know without measuring it, and I don't know how hard it would be to isolate that in a benchmark.

Thank you for linking it. It was a fun read. I hope my post didn't sound adversarial to any arguments you made. I wonder what asm.js could have been if it was formally specified, extended and optimized for, rather than abandoned in favor of WASM.


Whatever it would have ended up like it would have been a big hack so I'm glad everyone agreed to go with a proper solution for once!

Both undersell and oversell. There are still cases where vanilla JS will be faster.

And AFAIK asm.js is the precursor to WASM, like the early implementations just built on top of asm.js's primitives.


they'll slowly walk the changes back until the aesthetic is usable

in 8 years or so we'll probably get the next major overhaul

we're not stuck with the damage, except for the icons and such. the rest can be changed no problem. they could remove liquid glass tomorrow and make everything look like visionOS and the icons would still fit just fine

but they can't roll back to the previous design. which is a shame, because they poured in probably millions of man-hours to make it great. and the soulless app icons we now have won't ever match the 3d ish big sur icons that were filled to the brim with personality.

hell, there even were entire webpages and social media accts dedicated just to macOS icons. i regularly saw icon showcases on twitter with thousands of likes. not anymore :(


I will never understand why adding a page to your homescreen in Safari goes like:

1. tap three dots

2. tap "Share"

3. tap "More"

4. scroll down

5. tap "Add page to home screen"

6. tap "Add to home screen"

other than that apple really doesn't want you to do this because they loathe PWAs and their entire services business model is built around the app store being the sole place of app distribution


The repo in question incorporated FFmpeg code while claiming their code is Apache 2.0-licensed over 1.5 years ago[1]

This is not allowed under the LGPL, which mandates dynamic linking against the library. They copy-pasted FFmpeg code into their repo instead.

[1] https://x.com/HermanChen1982/status/1761230920563233137


That's not it. The LGPL doesn't require dynamic linking, just that any distributed artifacts be able to be used with derived versions of the LGPL code. Distributing buildable source under Apache 2.0 would surely qualify too.

The problem here isn't a technical violation of the LGPL, it's that Rockchip doesn't own the copyright to FFMPEG and simply doesn't have the legal authority to release it under any license other than the LGPL. What they should have done is put their modified FFMPEG code into a forked project, clearly label it with an LGPL LICENSE file, and link against that.


How does

"Distributing buildable source under Apache 2.0 would surely qualify too"

reconcile with

"doesn't own the copyright to FFMPEG and simply doesn't have the legal authority to release it under any license other than the LGPL"


You can distribute your own code under Apache along with FFMpeg under LGPL in one download


if they licenced their own code under apache 2.0 as buildable with the lgpl ffmeg code, without relicensing ffmeg as apache itself


"In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License."

They should be covered as an aggregation, provided the LGPL was intact.


The contention is that the ffmpeg code was "cut and pasted" without attribution and without preserving the license (e.g. the LGPLv2 LICENSE file). Obviously I can't check this because I don't have a clone and the repository is now blocked behind the DMCA enforcement. But at least Github/Microsoft seem to agree that there was a violation.


Microsoft/Github have no say in enforcement of a DMCA claim.


Wrong. A DMCA notice is not a court order and Microsoft/Github are not legally required to follow it. They do take on liability for the purported violation if they do so but if it's a nonsense allegation that doesn't matter.

Uh... the repo has literally been taken down by GitHub: https://github.com/rockchip-linux/mpp

Not sure what you're trying to say here. DMCA takedown enforcement is 100% the responsibility of the Online Service Providers per statute. It's the mechanism by which they receive safe harbor from liability for hosting infringing content.


Yes, but Microsoft/Github do not make any determination about the validity of the claim.

Once a valid (from a process perspective) claim is submitted, the provider is required to take the claimed content down for 10 days. From there the counter claim and court processes can go back and forth.


I think you may be astonished to realize a (the?) majority of DMCA takedowns are neither checked nor legitimate...

You can post your thoughts, feelings, and opinions on google blog, and I can submit a DMCA and google is required to take down your thoughts feelings and opinions immediately without verification.


Could there have been other / better moves with sending a reminder.

I think the devs of that Chinese company seemed to immediately acknowledge the attribution.

Now the OSS community loses the OSS code of IloveRockchip, and FFmpeg wins practically nothing, except recognition on a single file (that devs from Rockchip actually publicly acknowledged, though in a clumsy way) but loses in reputation and loses a commercial fork (and potential partner).


How do you partner with someone who has so much contempt for you they ignore the license you've given them and, when called on it, simply ignore you?


They had ample warning and ignored the license. what you're even on about?


[flagged]


The amount of armchair quarterbacking here is wild.


Then waiting to see how they addressed these points and what were the approaches taken and why ?

Here spent time to think and document all the IRC chats, the Twitter thread, the attitude of the SoC manufacturer, etc.

There has to be a backstory to suddenly come after 1.5 years for an issue that could have been solved in 10 minutes.


Then why didn't Rockchip solve it in 10 minutes?


Bad decision and risk/reward calculation for sure. If it's code that is core to your stuff, and it is GPL'd, it's (technically) very tricky to solve.

But here, as FFmpeg is LGPL and we talk about one single file, there is even less work to do in order to fix that.


Yeah, Rockchip seems to have screwed up badly but as per the GitHub DCMA notice:

https://github.com/github/dmca/blob/master/2025/12/2025-12-1...

> ... the offending repository maintainers were informed of the problem almost 2 years ago ([private]), and did nothing to resolve it. Worse, their last comment ([private]) suggests they do not intend to resolve it at all.

Seems like the reporter gave them a lot of time to fix the problem, then when it because obvious (to them) that it was never going to be fixed they took an appropriate next step.


That's bullshit. The FFmpeg devs were well within their rights to even send a DMCA takedown notice, immediately, without asking nicely first.

This is what big corporations do to the little guys, so we owe big corporations absolutely nothing more.

They gave Rockchip a year and a half to fix it. It is the responsibility of Rockchip to take care of it once they were originally notified, and the FFmpeg dvelopers have no responsibility to babysit the Rockchip folks while they fulfill their legal obligations.


Yeah. This is like waiting 90 days before releasing a full disclosure on a vulnerability, and then complaining you could have contacted us and given us time, we only had 90 days now. Gaslighting 101. Those 90 days gives all those with a lot if resources and sitting on zero days (such as Cellebrite) time to play for free.


Deadline and reminders? They aren't teachers and Rockchip isn't a student, they are the victims here and Rockchip is the one at fault. Let's stop literally victim blaming them for how they responded.


To be clear: Rockchip is at fault, 100%. I would sue (and obv DMCA) any company who takes my code and refuses to attribute it.

If you immediately escalate to [DMCA / court] because they refuse to fix, then that's very fair, but suddenly like 2 years after silence (if, and only if that was the case, because maybe they spoke outside of Twitter/X), then it's odd.


Maybe spend less time policing how other people are allowed to act, especially when you’re speculating wildly about the presence or content of communications


It's a call to push the devs to freely say what happened in the background, there are many hints at that "I wonder if...?" "What could have happened that it escalated?" "Why there were no public reminders, what happened in the back", etc, etc, nothing much, these questions are deliberately open.


Oh. Being rude and suggesting the devs made (in your opinion) a mistake based on your guess at their actions is not going to be an effective way to get them to elaborate on their legal strategy.

Also it’s rude, which is reason enough not to do it.


In the adult world you don't get any warnings when you break the law.


Your original comment had this at the end...

> - Rockchip's code is gone > - FFmpeg gets nothing back > - Community loses whatever improvements existed > - Rockchip becomes an adversary, not a partner

This is all conjecture which is probably why you deleted it.

Their code isn't gone (unless they're managing their code in all the wrong ways), FFmpeg sends a message to a for-profit violation of their code, the community gets to see the ignorance Rockchip puts into the open source partnership landscape and finally... If Rockchip becomes an adversary of one of the most popular and notable OSS that they take advantage of, again, for profit then fuck Rockchip. They're not anything here other than a violator of a license and they've had plenty of warning and time to fix.


The OP deleted that sentence and I don't think it should have be flagged and unseen by others so I have vouched for it. I understand a lot of people disagree with it, and may downvote it but that is different to flagging. ( I have upvoted in just in case )

He offer perspective from a Chinese POV, so I think it is worth people reading it. ( Not that I agree with it in any shape or form )


The sentence is actually just in the comment below: https://news.ycombinator.com/item?id=46396107

You are right, and the FFmpeg devs are also 100% right and I perfectly understand that.

In fact I like the idea to push the big corps and strongly enforce devs' rights.

I think earlier enforcement would have been beneficial here, just that dropping a bomb after 1 year of silence and no reminder (and we still don't know if that was the case), is a bit unpredictable, so I wanted to raise that question


There hasn't been a year of silence. Multiple people from the community have continued bugging Rockchip to address the matter in a public issue on the now-gone Github repo. The idea of a potential DMCA claim was also brought.

All they could say was "we are too busy with the other 1000s chips we have, we will delay this indefinitely".

Ridiculous.


We are not going to loose anything. If it’s got a strong enough community then someone will publish a fork with the problem fixed


If you have to hound them to stop breaking the law they were already an adversary and the easiest way to comply would be to simply follow the license in which case everyone wins


Copy pasting code is allowed under LGPL, but doing so while removing license headers and attribution of code snippets would not be.


Only if the code you copy pasted the LGPL part into is licenced under a compatible license, and Apache is not.

The simplest way to comply while keeping your incompatible license is to isolate the LGPL part into a dynamic library, there are other ways, but it is by far the most common.


copy/pasting, or using some other mechanism to do digital duplication is irrelevant - the removal of the existing license and essentially _re-license_ without authority is the problem, no matter what the mechanism of including the code is.


this is accurate and how i should have phrased it. i should not have mentioned dynamic linking; you're right it's not relevant

thank you!


LGPL does not mandate dynamic linking, it mandates the ability to re-assemble a new version of the library. This might mean distributing object files in the case of a statically-linked application, but it is still allowed by the license.


this is accurate - thank you for the correction


this is fundamentally false. The LGPL was created because of static linking where GPLd code would be in the distributed binary.

It's an open question (the FSF has their opinion, but it has never been adjudicated) if the GPL impacts dynamic linking.

One could argue that if one ships GPL dynamic libraries together with one's non GPLd code, one is shipping an aggregate and hence the GPL infects the whole, but its more complicated to say if one ships a non GPLd binary that runs on Debian, Redhat et al and uses GPLd libraries that they ship.


they waited for more than 1.5 years and they did not forgot


They were given 1.5 YEARS of lead time. And FLOSS should treat commercial entities the same way they treat us.

Seriously, if we copied in violation their code, how many hours would pass before a DMCA violation?

FLOSS should be dictatorial in application of the license. After all, its basically free to use and remix as long as you follow the easy rules. I'm also on the same boat that Android phone creators should also be providing source fully, and should be confiscated on import for failure of copyright violations.

But ive seen FLOSS devs be like "let's be nice". Tit for tat is the best game theory so far. Time to use it.


My understanding is that the GPL doesn't have fucktons of precedent behind it in court. You bet the house on a big case and lose, the precedent will stick with GPL and may even weaken all copyleft licenses.

Also, it's better to gently apply pressure and set a track record of violators taking corrective measures so when you end up in court one day you've got a list of people and corporate entities which do comply because they believed that the terms were clear enough, which would lend weight to your argument.

Saying this as a GPL hardliner myself.


It definitely does have precedent in multiple jurisdictions. Heck, SFC just won against Vizio enforcing the GPL's terms in the US, and there have been previous wins in France and Germany.


Most licenses, EULAs, contracts and so on don't have much precedent in court. There's no reason to believe that GPL would fold once subjected to sufficiently crafty lawyers.


AFAIK it has enough precedent (also depending a bit on jurisdiction, but you only need one) but the interpretations of what that/the license should cover differ. Like f e if you wanted to argue driver devs would have to open-source their firmware blobs or their proprietary driver loaded by a kernel shim you will have a tough time and prob lose


What happens when you want to mix two libraries with different licences?


If you own one of them, mix in LGPL code, and publish it, the result is entirely LGPL.

If you don’t own it and cannot legally relicense part as LGPL, you’re not allowed to publish it.

Just because you can merge someone else’s code does not mean you’re legally allowed to do so.


This is not correct; you're simply required to follow all applicable licenses at the same time. This may or may not be possible, but is in practice quite commonly done.


> Just because you can merge someone else’s code does not mean you’re legally allowed to do so.

> This may or may not be possible

I am not sure what you are saying, that is different from the comment you replied to.


Completely depends on how much you've "mixed in", and facts specific to that individual work.

Fair use doesn't get thrown out the window because GPL authors have a certain worldview.

Second, there are a lot of non-copyrightable components to source code - if you can't copyright it - you certainly can't GPL it. These can be copied freely by anyone at any time.


You determine if the licenses are compatible first. If they are, you're fine, as long as you fulfill the terms of both licenses.

If they aren't compatible, then you can't use them together, so you have to find something else, or build the functionality yourself.


Some licenses, like LGPL, have provisions for this, some just forbid it.

In the specific ffmpeg case, you are allowed to dynamically link against it from a project with an incompatible license.


You should keep them in different directories and have the appropriate license for each directory. You can have a top-level LICENSE file explaining the situation.


This depends on the licenses.

Copyleft licenses are designed to prevent you mixing code as the licenses are generally incompatible with mixing.

More permissive license will generally allow you to mix licenses. This is why you can ship permissive code in a proprietary code base.

As for linking, “weak copyleft” license allow you to link but not to “mix” code. This is essentially the point of the LGPL.


You dynamicly link against it


I like FFmpeg, I hate doing the whole whataboutism thing, especially because FFmpeg is plainly in the right here, but... listen, FFmpeg as a product is a bunch of license violations too. Something something patents, something something, "doctrine of unclean hands." I worry that HN downvotes people who are trying to address the bigger picture here, because the net result of a lack of nuance always winds up being, "Okay, the real winners are Google and Apple."


With the exception of the Apache license, most major licenses don't cover patents. I have no idea about proprietary licenses if that's what you're talking about here, but it's a bit unclear, so it might help to go into more details than "something something" if you're intending to make a compelling case.


The GNU v3 licenses all cover software patents too, and parts of FFmpeg are under those licenses too (though I guess not the code copied and subject to this takedown, which is LGPLv2.1+).


Independent implementations of an algorithm are a different dimension from software licensing. So the “unclean hands” argument doesn’t hold water here.

Patents != copyright


What licenses are they violating?


The ones that Microsoft Apple and Google pay for, the codec licenses. FFmpeg believes that only end users need licenses for codecs, which is not only their belief, but it’s not a belief of Microsoft, Apple and Google, and it is true the sense of the status quo, but also, LGPL violations are a status quo. So you can see how it’s a bad idea for FFmpeg to make a stink about licenses.


They don't violate licenses otherwise they would have been blown out of existence a long time ago, drown lawsuit after lawsuit.


> I hate doing the whole whataboutism thing [...], but...

... yet, you did it anyway, without going into detail or providing any clue where these violations (as you claim) are.

If there's any substance to what you say, provide some details and proof, so it can be a constructive discussion, rather than just noise.


Incorporating compatible code, under different license is perfectly OK and each work can have different license, while the whole combined work is under the terms of another.

I'm honestly quite confused what FFmpeg is objecting to here, if ILoveRockchip wrote code, under a compatible license (which Apache 2.0 is wrt. LGPLv2+ which FFmpeg is licensed under) -- then that seems perfectly fine.

The repository in question is of course gone. Is it that ILoveRockchip claims that they wrote code that was written FFmpeg? That is bad, and unrelated to any license terms, or license compatibility ... just outright plagiarism.


The DMCA notice is available here: https://github.com/github/dmca/blob/master/2025/12/2025-12-1...

The notice has a list of files and says that they were copied from ffmpeg, removed the original copyright notice, added their own and licensed under the more permissive Apache license.


Thanks for the link; sadly none of the links to the repo can be viewed to see what exactly occurred.

To those downvoting, curious why? Many of the links are not viewable, since GitHub hides them, so any discussion becomes quite tricky.


You can find an archive of the links' targets at https://archive.softwareheritage.org/swh:1:dir:5861f19187336...


Interestingly, the repo has a LICENSES folder that contains the text of the licenses used in the repo:

https://archive.softwareheritage.org/browse/directory/ed4b20...

And yep, they only included the most openly permissive ones there (APL2 and MIT), completely skipping everything else. Ugh.


Maybe because if the ffmpeg people say they have a reason and they've waited 1 year and a half for compliance, we trust them more than whoever relicensed their code without permission.


I didn't downvote. I suspect people did because it sounded like you were defending ILoveRockchip's actions, based on either 1) not understanding what they did, and/or 2) not having access to the facts. People get snippy about abusing Free Software.


That also means that some users will be pressured to censor illegal speech no? If you live under e.g. a regime that disallows or discourages criticism, now suddenly the onus is on you to do something about those comments because you have the ability to. If you couldn't edit the comments it's not your fault.

Either way I think it's a pretty stupid feature the way it's implemented; it should show the edit more clearly or indicate that the comment has been written by multiple people (like StackOverflow does), especially if edits change more than e.g. 10% of the original comment.


It's not my feature, no reason to be angry.


I don't know what the comment you're replying to said, but further down the thread:

> Electron's "_cornerMask" override was a dirty hack that was made in an effort to fix an ancient issue with corner smoothing.

So Electron used this private API to fix an issue that shouldn't have existed at all, as far as I can tell


People would not use private APIs (which are undocumented and prone to break) if they had documented, stable public APIs


It's not necessarily "blaming", more a combination of:

- Apple released macOS 26 - This version was in testing for many months - During this time, Apple has apparently not tested how Slack, VSCode, Discord, work - Or they have, but haven't bothered to reach out to Electron maintainers - The overriding of the private API was in order to fix a bug with a public one

Combine all of these and there is some onus on Apple for this. If you don't fix your broken public APIs, don't be surprised when people start using your private ones that do work.

But easily the worst point is that QA apparently is limited to their own applications only. Do they really care about the user if they don't test applications found on nearly every mac setup out there? Don't they use Slack internally?!


How come this only surfaces now? Surely large companies such as Microsoft and Slack apparently tested their products that use Electron with the public betas?


It's very hard to notice and very easy to attribute something else. The main symptom is your laptop heating up which is usually attributed to (1) You just have a slow MacBook, you should get a new one (2) During beta, "it's a beta and it's expected to heat up and be slow" (3) People not caring about temps because they use the laptop in clamshell mode

I believe this falls into the perfect definition of "slipped thru the cracks"


> Sometimes vendors test their new releases with commonly use applications

"common" is an understatement. I'd bet that at least one affected, broken app is on 97%+ of macOS setups


> to work around bugs in public APIs that never get fixed.

According to the commenter who uncovered the cause of the issue, this is exactly what happened here


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: