Who can run a stake pool?
Anyone can register a stake pool, although it requires an individual or team with system administration skills to be able to operate and maintain a pool. The only cost associated with creating a pool is the stake pool registration fee, which is a configurable value defined in the genesis configuration file and varies depending on the associated network. For a pool to be competitive, it needs to have a significant amount of stake delegated to it, otherwise the node will run idle and never, or very seldom, create blocks.
See also, Stake Pool Operation