Apache Avro is an open source and totally free software project specifically designed to act as a data serialization system.
Apache Avro features rich data structures, a fast, compact, binary data format, a container file to store persistent data, RPC (Remote Procedure Call), and simple integration with dynamic languages.
Keep in mind that code generation is not required to write and read data files nor to implement or use RPC protocols. The code generation functionality is an optional optimization, which should only be implemented for statically typed languages.
Apache Avro is distributed as a standalone application by the Apache Software Foundation.