Dumb question: Why is this a separate project, instead of being an improvement to the LLVM linker (given they have the same author)? Does this have any chance of being adopted by LLVM?
Given the comments in the repo README about it being a drop in replacement for the GNU linker, it looks like could be useful for several other scenarios too (but I defer to those who can explain this more clearly/correctly than I!)
According to the rejected patch to GCC to support arbitrary linkers [0], mold or any other linker is probably not working very well with GCC. So unless they're wrong, this doesn't really seem like a generic drop-in solution anyway, despite trying to be one.
At the very least, lld is pretty much drop-in. Aside from some subtle differences about resolution order (IIRC lld implicitly has "--start-group"/"--end-group"), everything just works with lld in place of ld.bfd. My recollection was that I had just about the same experience w/gold -- it was just a drop-in replacement.
All of my experience was with using clang as the driver, so I can't speak to why gcc has trouble making a similar feature work like expected.
"Note, all these extra linkers (lld, mold) will not really work properly,
gcc during configuration detects various assembler and linker properties
on which it then relies on and I'm sure neither lld nor mold supports
those features."
It does not use any LLVM libraries and has no feature specific to LLVM, so I think it simply doesn't have a reason to be a subproject of it (or some other large umbrella project).
That doesn't stop other subprojects currently in the monorepo.
Rui, regarding -- "a sponsor who wants to purchase the copyright of this work and relicense it under a more liberal license such as the MIT license." Would you accept sponsorship for someone who wants to relicense under LLVM(apache)? And do you have a ballpark asking price?
If you take a look at the CONTRIBUTING.md, Mold has taken an approach that is pretty novel to me. Instead of requiring a CLA to allow for relicensing, all patches are required to be released as dual-license AGPLv3 and MIT. I personally love this approach, but it could make it difficult to relicense to anything but MIT.
MIT is a very permissive and compatible with lots of other open-source licenses. For example, you can sublicense MIT-licensed code under GPL. Not sure if MIT is compatible with the LLVM license, though.
I don't want to write an asking price here, and honestly I don't know how to valuate an open-source project. But I could have been working for Google as a staff engineer and enjoy a decent salary instead of doing this project, so, well...
Hmm, I thought you were at Google. Did you leave? Regardless of whether you're at Google I think you deserve fair compensation. But IMO the value of mold isn't limited by your opportunity cost of a salary. It's state of the art linker and someone like Apple/FB/etc can and should be willing to compensate you.
I left Google last year. And you are right; mold (or anything that I create) should not be valued at my opportunity cost but instead at its intrinsic value.