The Securities and Exchange Commission (SEC) sets the standards for companies which must go public in the U.S. For example, if the company has a certain amount of assets (around 10 million) and there are more than 500 shareholders of record, the company needs to start disclosing specific financial information publicly and in a timely manner. Some companies might not want to go public because it means increased oversight and reporting standards which usually means increased costs. The reason for the law is to increase transparency and reduce risks for investors.