# Go Wins 2010 Bossie Award
6 Sep 2010
Summary: Go wins a 2010 Bossie Award for “best open source application development software.” 
OldURL: /go-wins-2010-bossie-award

Andrew Gerrand

##

The Go project has been awarded a [Bossie Award](http://www.infoworld.com/d/open-source/bossie-awards-2010-the-best-open-source-application-development-software-140&current=2&last=1)
for "best open source application development software." The [Bossie Awards](http://www.infoworld.com/d/open-source/bossie-awards-2010-the-best-open-source-software-the-year-115)
have been given each year since 2007 by [InfoWorld](http://infoworld.com/)
to recognize the best Open Source projects.
Their citation reads:

Google's Go language tries to restore simplicity to programming.
It does away with numerous constructs that have crept into all OO languages
by re-imagining how to simplify and improve the conversation between a developer and the code.
Go provides garbage collection, type safety,
memory safety, and built-in support for concurrency and for Unicode characters.
In addition, it compiles (fast!) to binaries for multiple platforms.
Go is still in development (new features are being added) and it has limitations,
notably poor support for Windows.
But it shows a new, exciting direction in programming languages.

The Go team are pleased to accept this award.
It reflects not only our hard work, but also the efforts of the growing
community of Go developers to whom we must extend our sincere thanks.
