Owen Taylor , with help from many others. See file named THANKS for a list.