A protocol is a set of rules for transmitting data between entities. It is nothing more than a specification - a dry document. An engineer can take the specification and turn it into a product. A protocol is not software or hardware but can be implemented by either.
In a general sense, protocol refers to a set of rules and expectations an entity or person is to follow. Usually used for official documents or procedures.