Fudge Messaging: A new open source encoding for messaging
Kirk Wylie and the OpenGamma team have announced the Fudge Messaging Project, an open source message encoding protocol. Fudge (Fast Unstructured Data Generic Encoding) is designed to be a self-describing, type-safe, binary hierarchical encoding suitable for use in messaging layers in middleware. The project is in its early days, but already has Java and C# reference implementations. The Java implementation is in daily use at OpenGamma and is, according to Wylie, "rock-solid in stability and very good in performance". What is still to come is "polished releases" says Wylie, but the developers wanted to get the code out as soon as they reasonably could.
The OpenGamma developers had looked at Thrift and Google Protocol Buffers which they think are great, if you have access to the schema, but they wanted something that could encode messages that describe their own contents to allow them to build more advanced middleware. XML, JSON and ASN.1 were also eliminated from the search, which lead the OpenGamma team to create and sponsor the Fudge Messaging Project. The code is being released under the Apache Licence Version 2.0 which Wylie describes as "developer friendly, as well as employer friendly" and is available in the Fudge-Java and Fudge-CSharp repositories.