Yes, programs developed by governments do tend to be much more responsive to the needs of the people than programs developed by a small conglomerate of companies.

This is exactly because governments tend to be responsive to the people they rule (how much so depends on the type of government), while private businesses are in no way obligated to listen to anyone other than themselves.

So yes, if I had to choose between a social credit system created by a government, and a social credit system created by Google, I would absolutely want the government version. At least there's a chance that the governmental version will be audited by other people, or have a way that people treated unfairly can complain. The google version will likely just punish me if they ever notice me using a product from a company that isn't google, and there will be no way for me to get my score fixed if google doesn't want to do so.

But these aren't really two very different options. A small group of CEOs, vs a small group of government officials are still two very small groups of very powerful, rich people, who are designing a system to judge the lives of people completely unlike their own. It is an extreme amount of power given to a small group of people with very little accountability, huge potential for corruption, and who will have very limited understanding of the impact their decisions will make on everyone else.

> I guess in the end it always falls back to prevent power from centralizing as best as possible.

Yeah, this is really the answer, right here.

Why does the choice need to be designed by a small group of CEOs, or a small group of government officials at all?

Why not let the people themselves decide what behaviors are good and bad? Do we really think people don't know the difference between what behaviors they like and do not like in their community? Do we really think people are unaware of the good things and problems in their own lives and towns?

Why not publish the rules for everyone to see? And let everyone see for themselves what they did that resulted in positive and negative scores? Wouldn't that be more effective to encourage people to live better lives?

Why not go even further? Why not federalize the entire program, and let people decide on what should be considered good and bad, and how strongly for each, on a local level by the people who will be impacted themselves? Let each town and city decide? And require each town and city to set up a court of some sort, where people who feel they have been treated unfairly can complain and potentially get their score changed?

If you did something like that, people would be more likely to use the program (as opposed to trying to outsmart or game the program) because they would understand it, and they would feel ownership of it. It would be more likely to reflect the realities of life. I guarantee you the reward / punishment levels would be very different than what a CEO or government official would think of isolated in their ivory tower, and as a result it would likely be much more effective for the people involved. But most importantly, a system like this would ensure that a mean CEO or government official wasn't putting rules in the app that were unfair or hurt good people. It would ensure that a CEO couldn't put in a rule that punished people for using other products, and would stop a government official from adding a rule that punished anyone caught reading a news story that reported on the government official stealing from the public, as examples.

To be clear, I am not saying that the above questions are definitively correct answers. The social credit system is a very specific example, and is a very complex topic, and we are discussing it in very basic terms. Furthermore I am absolutely not an expert in China, or the program, at all. But the general concepts we've talked about here are good rules of thumb that do generally hold true for all social and governmental programs. Its basic power dynamics. So I hope this answered your question, and explained the general concept a bit better : )