OK, instead of an outright sale, just give the developers a 99 year lease with a couple of optional renewal terms.  The lease income goes to the city and so the property will be generating revenue for the use of the public while still remaining under city ownership.