Someone takes a BSD project and bases a proprietary program on it. Is that person doing something wrong? Well, no, you say, because that's the whole point of the BSD license. It's also fine to keep rolling in new versions of the BSD project.
Now suppose someone takes a BSD project and relicenses it under the GPL, announces it on the internet, gets it into all the Linux distributions, and starts soliciting contributions of new GPL-only features while also rolling in new versions of the BSD project as they become available. Is that person doing something wrong?
I suspect that a calm, "No, that's also great. That's why we made it available under BSD." would not necessarily be the response.
You have created X (say, redis). 5000 individuals and companies need it right away and want to use it momentarily.
If it's in public domain, all of them will use it, then make separate forks, and maintain them (individually, or in groups).
If it's a commercial product (say, $20.000), you might get 10-20 customers. They won't contribute back code, but will give you loads of money so you can hire more people. It's great business, but a couple of teenagers can't hack away with it because it's just too expensive.
If it's GPL, 500 companies (10%) will use it. Because if they use it, they have to re-licence their code as GPL also, which is unacceptable in many cases. They all contribute back their modifications though, which is great.
If it's BSD, everybody (5000 people) can and will use it (as it doesn't require you to contribute back your modifications, and you can have a private fork). So, we have 5000 companies using X. How many of them are contributing back? If it's more than 10%, then it's a win. If it's less, it's a loss (compared to GPL).
In other words, if you GPL you code, your pool of potential contributes has shrunken substantially.
So, the question is this: which is bigger? the percentage of companies that can use a GPL-licenced software, or the percentage of companies that are using BSD-licenced software and are contributing back their changes. I think in a lot of cases, the second one is bigger.
SQLite is almost exactly analogous to what you described (database, public domain).
AFAIK, there is no widely-used SQLite fork.
IOW, the situation you describe with every company "maintaining their own fork" literally did not happen to the software that's the closest case study in real life to what you describe.
If his downstream users are savvy enough to know to use this "forked" project, they're savvy enough to search for the original author and discover that they can get the same code under a more permissive license.
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.