Isn’t that problem easily solved by adding to your open source project’s license: “FAANG companies (like Google, etc.) cannot use or make profit from this project” ?
There isn't a well known / widely accepted license with such clauses (afaik, happy to be corrected). Noone other than individual tinkerers will ever touch anything with a custom license or any license ambiguity for that matter.
Meta's LlaMa for example is "OSS" but under a custom license which effectively prohibits hyperscalers from using it
They can just open subsidiaries and use that to go around them. Also the big guys do donate a lot of money.
The real reason might be VCs. The companies going closed source have raised from VCs and they are pushed to more and more growth just changing licenses and taking control.
I mean that's basically what they're doing. The BUSL license these projects are using boil down to "you can't resell the project against us". But that's a non-starter for many folks and the companies using such a license are the devil.
Yes, there is far too much ambiguity in these licenses. Especially because you never know what will happen in the future. You could be found to be in competition after they launch a new product or new feature, years after not being in competition. At that point changing out their product could be too challenging, forcing you into arbitrarily expensive commercial license agreements.
Certainly one of the reasons why open source is popular in software is that it gives you options for maintenance prices. You can do it yourself or pay any number of consulting agencies to do it for you, or the creators of the software. When it becomes locked to one vendor suddenly the market economics change hugely. Now that vendor can crank the price up extremely high, basically until just before the point your willing to engage in a hugely expensive software refactor to move to a different product.
Open standards were supposed to help make it easier to move to new products, but in reality, it rarely is that clean. E.g. look at SQL, while it's easier maybe to move from one SQL database to another than from one completely custom database to another, it's still a massive amount of work due to details of each SQL server.
i found this useful for related general background information as well as some interesting conclusions, though you should probably decide for yourself if you think they are something you agree with.