I believe what many companies, whether working in softwaer libre or not, need is to have a No Bullshit culture/philosophy. Treating users how we ourselves want to be treated should be every companies promise. Of course No Bullshit doesn’t mean that companies should be or are perfect, it means that companies promise to be honest.
If a company ever becomes hypocritical, it should admit it, and clean up our act. Companies should be honest about what they do; they should be straightforward in how they deal with you. If a company makes a mistakes, it should apologize and make good. Companies should give what they promised to give. A company should not exaggerate or over-complicate its claims of value to its customers. A company should listen to you, and be honest in its replies, even if it means you won’t always like what it says.
Doing good should not be something like a task that companies are required to do, doing good should be core values of a company. A company should work based on these values, not for these values. The difference is that a company should not check if an exact statement is done, it should check whether its done for a good matter and by a good mean or not.
The No Bullshit culture should define what these companies are. A company may not be perfect but it should do whatever it can to defend good values.