What is the best way to distribute a binary from my project on GitHub?


I have a small github repo to convert MS Word Documents, but most people will just want the binary.

Should I

  • Reorganise my repo to have a src/ and bin/ directories with the most up to date .exe in with the code and expect people to download the whole lot?
  • Compile and place my binary somewhere else on the web and link to it?
  • Include my binary in my repo but link to it seperately?

To host that binary for your application, you now can, since 2nd July 2013, define a release.

Releases, a workflow for shipping software to end users.
Releases are first-class objects with changelogs and binary assets that present a full project history beyond Git artifacts. They're accessible from a repository's homepage:

  • Releases are accompanied by release notes and links to download the software or source code.
  • Following the conventions of many Git projects, releases are tied to Git tags. You can use an existing tag, or let releases create the tag when it's published.
  • You can also attach binary assets (such as compiled executables, minified scripts, documentation) to a release. Once published, the release details and assets are available to anyone that can view the repository.

That replaces the old binary upload service, which was removed in December 2012 (as you mention in your question).