Third-party libraries: goprotobuf and beyond
20 Apr 2010
Tags: protobuf, community

Andrew Gerrand

* Introduction

On March 24, Rob Pike announced [[http://code.google.com/p/goprotobuf/][goprotobuf]],
the Go bindings of Google's data interchange format [[http://code.google.com/apis/protocolbuffers/docs/overview.html][Protocol Buffers]],
called protobufs for short.
With this announcement, Go joins C++, Java,
and Python as languages providing official protobuf implementations.
This marks an important milestone in enabling the interoperability between
existing systems and those built in Go.

The goprotobuf project consists of two parts:
a 'protocol compiler plugin' that generates Go source files that,
once compiled, can access and manage protocol buffers;
and a Go package that implements run-time support for encoding (marshaling),
decoding (unmarshaling), and accessing protocol buffers.

To use goprotobuf, you first need to have both Go and [[http://code.google.com/p/protobuf/][protobuf]] installed.
You can then install the 'proto' package with [[https://golang.org/cmd/goinstall/][goinstall]]:

	goinstall goprotobuf.googlecode.com/hg/proto

And then install the protobuf compiler plugin:

	 cd $GOROOT/src/pkg/goprotobuf.googlecode.com/hg/compiler
	 make install 

For more detail see the project's [[http://code.google.com/p/goprotobuf/source/browse/README][README]] file.

This is one of a growing list of third-party [[http://godashboard.appspot.com/package][Go projects]].
Since the announcement of goprotobuf, the X Go bindings have been spun off
from the standard library to the [[http://code.google.com/p/x-go-binding/][x-go-binding]] project,
and work has begun on a [[http://www.freetype.org/][Freetype]] port,
[[http://code.google.com/p/freetype-go/][freetype-go]].
Other popular third-party projects include the lightweight web framework
[[http://github.com/hoisie/web.go][web.go]],
and the Go GTK bindings [[http://github.com/mattn/go-gtk][gtk-go]].

We wish to encourage the development of other useful packages by the open source community.
If you're working on something, don't keep it to yourself - let us know
through our mailing list [[http://groups.google.com/group/golang-nuts][golang-nuts]].
