Except as otherwise provided by law, no person may operate within the town any public enterprise, as defined in G.S. § 160A-311, without first obtaining a franchise from the town, nor may any person continue to operate the public franchise after the expiration of the franchise.