Socks proxy is a type of tunneling using socks 4 or socks 5 protocols.
Tunneling proxy may have various meanings; but most time, this refers to socks proxy. As the name suggests, socks proxy use sock 4 or 5 protocol, which performs at an intermediate layer between the presentation layer and the transport layer.
Socks (tunneling) proxy can be used for any form of TCP or UDP socket connection. This means it can be used for most application software (in addition to http connections), e.g., instant messenger.
Open proxy may have different interpretations, e.g., some geeks deem web-based proxy as open proxy; others may confuse open proxy with unauthentic proxies.
Open proxy usually is similar to web-based proxy (e.g., using http protocol), but there are some differences. Web-based proxy retrieves resources for the client, and at the same time some modifications were also made. For example, most web-based proxy scripts rewrite the java script and act as client directly. But most open proxy only fetch the resources and do not make any modifications.
Because open proxy uses http protocol for the connections between the client and the proxy server. This makes it different from tunneling, or socks proxy.