As we all know, file copying on Linux has long relied on the classic cp command, which remains reliable but offers little feedback and limited control over long or complex operations.
To address this, a promising new Rust-based command-line tool called cpx emerge, designed as an alternative rather than a replacement, that approaches the same task with a focus on performance, visibility, and configurability.
It targets scenarios where large directory trees, interrupted transfers, or the need for detailed progress reporting make standard tools less convenient to use. The project is currently Linux-only and leverages modern kernel features to improve copy throughput and reliability.



I appreciate that it’s not trying to replace
cpbut the lack of copyleft is always disconcerting.What’s the risk here though, a company like Amazon makes a closed source version of it?
If it was a file format library, or something like a web server I’d get it. But stuff like
cpare effectively just userspace wrappers around kernel APIs.yeah, like, supposedly it can be hard to use GPL with some rust dependencies, but the MPL is right there as a decent compromise.
how can it be hard? permissive licenses are compatible to the GPL, the opposite not though
Static linking makes things difficult. I’m not sure what the details are, that’s just what I’ve heard from Rust developers.
Because of static linking, a single GPL dependency turns the entire resulting binary into a GPL licensed one, so yeah just use something like the MPL in that case (Or EUPL, which I hear is similar)
LGPL has the same issue, since it only provides an exception for dynamic linking. But honestly that’s all an issue for lawyers and judges to sort out (I bet you could win in court with an argument that dynamically linking to GPL is actually fine).
I like and use rust, and I actively try to use permissive licenses for libraries and copy left for binaries. Just makes sense in my head.
I always find choosing a license confusing.
If you’re up for it, I would love to read why you use this guideline.
I want people to use the software I write, and people don’t want dependencies in their projects that are gpl because you either need to change your project to gpl or go through a very tedious process of providing object files for the entire project. That’s why I use mit for libraries.
However, I don’t want to allow companies to just take my finished binaries and resell them as their services, so I use GPL for binaries and apps. They are free to reimplement the app using the libraries, but I at least want them to work for it a little.
Also, I have found it easier to get contributions to projects that are licensed under mit than gpl, though this might just be insufficient sample size.
Food for thought. Thank you!