> FFmpeg compiled to WebAssembly handles final encode
FFmpeg's license is the LGPL 2.1. VidStudio looks like closed source software, I couldn't see any indication that it's free software. You're distributing this software to run in the client's browser. I'm not a lawyer but I think you're in breach of the terms of the LGPL.
Closed source is fine, but there are a few other things that are required of LGPL, some of which are
- Provide links to the source of the version of ffmpeg you used in your code
- User should be able to replace the ffmpeg libs with his own compatible builds if you're using dynamically linked libs. For statically linked libs, you need to provide the tools to re-link against a compatible build.
I went through an LGPL review recently so some of this is fresh in my memory, but please correct me if I'm wrong.
You can have multiple WASM modules communicating with each other (though you would probably need extra interop code?), or statically link them into a single module, the concepts work mostly the same
With a browser plugin I'm sure you could swap out a WASM module on the fly, if said plugin doesn't exist, maybe it should. Would make debugging in a prod URL simpler if you can just load a page with a testing WASM file.
Is there a browser plugin enabling to swap out any parts of a website/app with own ones? With prompt/vibe-based input, so any user can customize websites in any imaginable way. Maybe it should.
I knew about the soft copyleft (the source code requirements) but didn't know there was the requirement to have libs be replaceable. Now I want to know how useful that would be in reverse engineering closed systems (particularly nintendos, since I've always had an interest in the homebrew scene there)
iirc, the video player application VLC used to come without any mpeg support, and you had to go through a process to download ffmpeg separately ...not sure how easy it made it to replace individual libs, but I'm also not sure the license requires you to make it easy.
I think you're right, also an interesting aside: LGPL software is even trickier on the iOS app store, where its out of your control to "let the user link" the software. I guess in that case the only real way is to somehow give them access to the linkable files or allow them to pull in your copy of an LGPL library, but for them to run it on their device, good luck...
I'm slowly leaning towards eventually just adopting MPL which is kind of weaker than LGPL but more friendly for iOS, course I mostly just default to MIT license these days. I prefer to let my users use my software however they want without fear that if they someday overhaul my code and build something that works for them, that they would lose it.
Thank you for pointing this out, to be completely honest, I did not consider licensing because the website started as a collection of tools I built to run locally and get into video/audio codecs then I realised it is already a decent collection of tools that other people might want to use too.
But I will be making the needed changes to comply fully tonight.
At least I comply with this:
`Do not misspell FFmpeg (two capitals F and lowercase "mpeg")`
I realised I have some more reading to do regarding GPL vs LGPL because of the wasm project.
You should look into how other companies and tools that use FFMPEG handle this situation.
I wonder if you can keep your application itself closed source, but make an open-source adapter that handles the interaction with FFMPEG.
I'm not super familiar with open source licensing, and IANAL, so make sure to do your own research :)
As an example, I believe Audacity required me to install ffmpeg manually myself, and add it to my path. This is slightly different since Audacity itself is also open source. But could be helpful to reference.
Prompting the user to install, or auto-installing FFmpeg separately, rather than bundling the binary. The problem is FFmpeg can be configured in so many ways and the general install binaries are usually LGPL compatible.
Any reason not to just open source it? Personally I'd love to hack on it :-) IANAL, but IMHO AGPL would be a good fit here as it complies with LGPL and also ensures nobody besides you (the copyright holder) can stand it up for profit without contributing back).
I never maintained an open source project and not sure how to even do it properly.
I am also not sure how much effort would I have to put to an open source project. I imagine I would need to collaborate with a pretty much anyone who has an interest in the area. Again not that I mind just not sure how much time I have to spare. Right now this is a really slow process and tbh I have to rely on manual testing at least for the editor.
Nah, besides sharing the code you don't have to do anything.
Most people would want you to upload the code to github, then they can star and clone it with ease. But you don't have to have an issue tracker, and you certainly don't have to read any of the issues or pull request. You can ignore or disable that.
I think even just having a up to date .zip with all the code would be technically enough.
You can just the post the code somewhere, it doesn’t have to be good and you don’t have to do anything else with it
Apart from ensuring there’s not anything confidential in the code like API keys (which you shouldn’t have anyway, unless it’s just in comments) it won’t take any extra work unless you want to put effort into that side of things
You don't have to collaborate with anyone. Just stick the code up on GitHub and if people file issues or PRs, then you can engage or not as you please. There are plenty of projects that are open source but don't accept any public modifications.
You might just find you end up with some folks who genuinely want to help out, though.
Mmmm...potential commercialisation? Always find it curious that people expect to get source code for free in ways that they don't do for other work (ask George Martin to release his drafts and notes).
The parent commenter is making that comment because this is precisely the nature of why the GPL license exists. Most of the processing of this application is FFMPEG, so why should someone who has done zero development on that library commercialize it?
Most of the processing of the application is FFMPEG yes, but there's a whole lot of application outside of the processing. Video editors UIs that don't make you want to tear your hair out are a valuable commodity and I think OP has the right to commercialize that if they want to. They just need to use FFMPEG in the right way as they do it.
This application doesn't work without FFMPEG. I'm not arguing that the wrapper isn't valuable, I'm saying there is a significant chunk of it that is required for us to work is an open source library.
that's the same thing with the mach kernel and OSX, but you don't see anyone clamoring for one of the richest companies on earth to open source their OS.
From what I understand about this application ffmpeg of only used for export? That is very little of the processing of true, they mentioned the webcodec is used extensively and likely the only real requirement on ffmpeg is muxing into mp4 which to be entirely honest isn't much processing.
FFmpeg doesn't disallow commercialization. Or to put it another way, the authors of FFmpeg specifically allowed commercialization. As long as you follow the LGPL you're free to commercialize your app that uses FFmeg
Or the other likely version: prevent commercialization. No source means that someone can’t make a fork, put on a new domain, run ads and charge money for his work.
The problem is you can commercialise free software if you're creative about it. RMS made a decent amount of money working on emacs, redhat and SUSE exist, google has managed to commercialise chromium
> The problem is you can commercialise free software if you're creative about it.
Did you mean to say that it is a problem? From the rest of your comment, and in the context of GP's comment, it sounds like commercializing is NOT a problem.
Hence why I asked the question... And not everybody does everything for commercial reasons, so it would be dumb to assume that and therefore not ask the question.
> Always find it curious that people expect to get source code for free in ways that they don't do for other work (ask George Martin to release his drafts and notes).
Where in my question did you get that I expect to get source code for free in ways that I don't for other work?
But regardless, you do know that open source is a common thing right? People open source things all the time, especially on HN.
Also OP already says they don't do any uploading of your videos to the cloud, so this thing already runs local-only. It's not like there is a shortage of video editors around (including ... open source ... video editors)
that guy is not including ffmpeg and is not encoding in browser. What he is doing is generating a ffmpeg command that you can run on your cli/scripts etc.
It should be possible to comply with LGPL without publishing the source code of the whole application. Either by running the application and ffmpeg in different isolates (wasm processes), or by offering a way to merge (link) the wasm code of the closed-source application with a user compiled FFmpeg wasm build.
Different isolates might even be enough to satisfy GPL, similar to how you can invoke FFmpeg as a command line tool from a closed application. Though that feels like legally shaky ground.
LGPL permits you to distribute binaries, but you can't distribute the software as an opaque binary blob with no reasonable way to modify it. What even is the equivalent of a shared library that a user can replace when software runs in the browser?
Anyway, OP doesn't do most of the things FFmpeg lists under their "License Compliance Checklist".
Not disagreeing with you, but cases like these really highlight how (L)GPL can nudge vendors into doing more closed solutions with greater lock-in.
For example, we're complaining about a licensing issue for an app that can run locally (in your browser, no uploads needed). The licensing issues can easily be side-stepped by the the developer if they chose instead to do all the media manipulation in the backend.
In the end, for the user this means they have to upload & trust a random service with their data, potentially can't get raw data out, and other negative side-effects of lock in.
> Anyway, OP doesn't do most of the things FFmpeg lists under their "License Compliance Checklist".
Legitimately asking, which points and how are they expected to handle it for this type of app (assuming they want to keep it closed source)? As far as I understand it they just need to credit the libraries?
The important thing is there has to be a clear separation between the proprietary parts and the LGPL parts of the app, and they have to provide a way to replace the LGPL parts. I have no idea how this is usually handled in the case of browser-based apps.
Paradox of tolerance. It's not the intolerant that create a paradox, it's the tolerant who reserve the right to be intolerant against groups of people who are not on their short exemption list.
You want other people to deal with the things you don't like and filter stuff for you, to improve your own experience and shield you from the filthy masses. God beware you have to endure a comment you don't like, your royal highness.
I'd rather see you gone than the people you complain about.
Core function of HN Front page is based on "other people filtering stuff for others". Filtering out by any criteria (karma, account color, first letter of the nickname, whatever) doesn't automatically mean that someone is a jerk as you have stated in the comments nearby. It just means that someone is selecting the information to consume and does not harm anyone (perhaps besides the selective person who might miss interesting info due to selection).
The filtering is supposed to be based on the quality of the content, and it's only useful to the extent that people filter either on quality directly or closely correlated metrics.
If everyone votes purely on basis of the first letter of the username, to use your example, then the votes provide no useful information and you may as well abolish it.
Filtering is a valid form of improving signals. If there there was a reliable heuristic for users posting low effort content that was better then the user would be considering that instead.
If someone in a chatroom for example is being spammy with their messages at the expense of noticing posts one finds more relevant then blocking them isn't due to considering them some filthy pleb but improving their experience. If the user being filtered never becomes aware there's no reason to be offended, either.
Edit: also I wasn't the one to downvote you if that makes any difference.
My system has been working pretty well: using some extension or another that has mute functionality, if I see a person post an extremely low quality comment, I look at their comment history for two or three pages. If there is no comment of value in that set, I mute the user. The board gets better each day.
HN is already heavily moderated. Low-effort posters and spammers get downranked immediately, based on their behavior. OP is simply intolerant and unable to function in a social setting.
Minimum karma and account age filters are discriminatory, anti-social features that should not exist on any social site. The people asking for such features are intolerant jerks, no different from ageists or ableists. They are parasites, because they want the people who are not intolerant jerks to do their filtering for them, and keep the site alive by doing so.
What would happen if every single user enabled their minimum karma filter?
This thread is evidence that some are unhappy with the state of a core HN feature due to users posting what they judge to be low effort content, so it does get through.
The comments here are about possible mitigations. Based on this feedback dang has apparently now restricted new accounts from posting Show HN threads, so globally now there is a form of filtering users from being seen by others based on a heuristic.
Your initial comment is written with the impression that the poster wanting to improve their chances of higher effort content is making some judgement on the posters themselves as though they're conceited ('filthy masses', 'your royal highness') when they're merely considering one approach to reducing noise from their feed.
I myself in this very comment chain have already posted that I disagree that filtering by karma would help due to gaming issues but I don't see the problem with the user's goal.
>What would happen if every single user enabled their minimum karma filter?
Hacker News would be a much better place.
In fact, filter stories as well as users. I want to filter out any story with fewer than three upvotes and any flagged comments. That would improve quality tremendously.
How would any new user earn karma in that system? How would any story get upvoted?
Again, this system can only work if there are at least _some_ people that are willing to upvote newbies and read new posts.
It sounds like what you want isn't a community with collaborative filtering, like Hacker News, but a newsletter with editors, like Slashdot for example.
People will need to participate otherwise there won't be any new content. I see it as just like vouching, except someone has to vouch for green accounts. A slightly more equitable (and easier to implement) version of lobste.rs' invite tree.
What I want is for green accounts not to be abused as much as they are. The number of noxious, vitriolic troll alt accounts and bots is getting ridiculous. That is almost entirely the fault of established users of course, but there's no way to deal with them poisoning the well without affecting new users.
I think you missed @sltkr's point. HN wouldn't just have less new content; it would fail to develop new users. That kind of stagnation is how sites like this die.
Aggressively filtering to raise the average post quality is a sugar rush and it has the metaphorical long term consequences of type-2 diabetes. Things start out feeling great but the acceleration of death is effectively guaranteed.
It doesn't. I don't have a link for you right now but there was a post on reddit recently showing that SynthID is removed from images by passing the image through a diffusion model for a single step at low denoise. The output image is identical to the input image (to the human eye).
My intention with this was that HN users are 30+ (Millenials and Baby boomers and Gen X) and some of the HN users are baby boomers and oldest gen X who are close to retirement/retiring as you mention.
I should've written it (or what was my intention) instead is that "most HN users are millenials, they joined programming decades ago & some HN users might be close to retirement/already retired" (I didn't mean that millenial population is retiring)
I skip forward whenever someone starts singing, or there's a prolonged dance scene, or pointless montages with music. For example the Zion dance party in The Matrix Reloaded. Or the many movies showing people dancing at the wedding party for several minutes.
Taylor Sheridan shows: let's show a bit of nature with some country music playing for 20-30 seconds for no reason at all -- five times in a 42 minutes episode.
Because there is no other way to effectively say "I'm not interested in this kind of content". You say it in the comments, you get punished. There is no downvoting posts, flagging is the only thing that has an effect.
FFmpeg's license is the LGPL 2.1. VidStudio looks like closed source software, I couldn't see any indication that it's free software. You're distributing this software to run in the client's browser. I'm not a lawyer but I think you're in breach of the terms of the LGPL.
https://www.ffmpeg.org/legal.html
reply