The Kandan Team is pleased to announce the Official 1.0 release of Kandan an Open Source alternative to HipChat.

What is Kandan? Kandan is a private chat service for your company or team. You can invite colleagues to share ideas and files in a persistent group chat room or rooms.

Unlike HipChat or other alternatives, Kandan is completely Open Source and can be hosted internally or externally by your organization or by a third party.


These are features that work out of the box on any provider:

  • Easy deploy to CloudFoundry, Heroku, dotCloud, etc.
  • Collaborative team chat
  • Unlimited channels
  • Embed formats for images and youtube videos with requests for others (twitter, facebook, g+, etc.)
  • Synchronized sound player - play any audio-tag compatible url for the whole channel (Pending :P)
  • /me command!
  • Highly extensible plugin format

Get Involved

Since Kandan is a fully open-source app, we would appreciate if you dive in and start adding features, fixing bugs (what bugs?), and cleaning up the code.

But before you jump right in there there are a few caveats.

If you’re going to contribute code then you’re going to have to sign our Contributor License Agreement (hereafter referred to as CLA) which is modeled after the one that NodeJS uses.

A CLA is a legal document in which you state you are entitled to contribute the code/documentation/translation to the project you’re contributing to and are willing to have it used in distributions and derivative works. This means that should there be any kind of legal issue in the future as to the origins and ownership of any particular piece of code, then that project has the necessary forms on file from the contributor(s) saying they were permitted to make this contribution.

The CLA also ensures that once you have provided a contribution, you cannot try to withdraw permission for its use at a later date. People and companies can therefore use that software, confident that they will not be asked to stop using pieces of the code at a later date.

You will also really want to take heart and read these two blog posts.

Make sure you check out these resources as well.

And here is the CHANGELOG for the 1.0 release.



  • 38f4875 Create (Tony Guntharp)
  • 605c237 Update (Tony Guntharp)
  • c42c82b Update (Tony Guntharp)
  • 6c025a8 Update (Tony Guntharp)
  • f5be2b4 Update (Tony Guntharp)
  • fadff2d Merge pull request #43 from fusion94/master (James Gifford)
  • 0646509 Correctly set channel and user in bootstrapped messages thanks to @madx Fixes #32 (Tony Guntharp)
  • 46207f4 Merge pull request #41 from fusion94/master (James Gifford)
  • 809cf7b biggish commit on style. Fixes #13 #34 #36 #37 (Tony Guntharp)
  • 22a0816 Merge pull request #33 from kandanapp/update-paperclip (Tony Guntharp)
  • 75c4666 Updating paperclip, stage uno (James Gifford)
  • 8d4a9dd Merge pull request #30 from fusion94/master (James Gifford)
  • a39ddbc Moving from displaying email to displaying usernames, username is now required to register. Fixes #2 (Tony Guntharp)
  • ae3f5a3 Merge pull request #28 from amanelis/coverage (Tony Guntharp)
  • 40d3df8 Added simplecov to spec helper (Alex Manelis)
  • c74d2ed Added coverage/ dir to gitignore (Alex Manelis)
  • dcb131f Added simplecov to Gemfile (Alex Manelis)
  • c6b9651 Update (Tony Guntharp)
  • 9bf68fa Merge pull request #27 from jrgifford/upgrade-sass (Tony Guntharp)
  • 626cc2e updated to sass 3.2.5 (James Gifford)
  • f762ba4 Merge pull request #14 from jrgifford/local-installs (Tony Guntharp)
  • 69bed6a Fixes #8 (James Gifford)
  • 0c3e253 added not pushing public/system/* to .gitignore. also set default channel to be named lobby. fixed #9 (Tony Guntharp)
  • d112c8b Modified two things: - travis.yml - gemfile.lock to remove the dependency on git-based jasmine (James Gifford)
  • 4d770f5 Merge pull request #5 from amanelis/spec-updates (James Gifford)
  • 253a030 Fixes issue #6 (Tony Guntharp)
  • 350dde9 Merge remote branch kandan/master (Alex Manelis)
  • 7965928 ci-skip added build status to readme (James Gifford)
  • 50e0e38 Added travis.yml. (James Gifford)
  • bf80a5e correcting typo on a URL in README (Tony Guntharp)
  • b453b72 adding links to UPDATE section of README (Tony Guntharp)
  • f529046 added an UPDATE section of the README (Tony Guntharp)
  • 291884a updating links in README (Tony Guntharp)
  • 3c47fcb oops a typo (Tony Guntharp)
  • dcb016e potential width fix (Tony Guntharp)
  • 840525f width issues (Tony Guntharp)
  • d3131dd resolving file attachment issues (Tony Guntharp)
  • 628138f Removed rails default images, all tests pass :green_heart: (Alex Manelis)
  • 2ad13e5 Changed up when not authenticated (Alex Manelis)
  • 5409535 Re wrote a few expects in model specs (Alex Manelis)
  • 827cde1 Changed up the before blocks, calling methods to many times (Alex Manelis)
  • 6c790fa Added faker gem for a few testing purposes (Alex Manelis)
  • c712a4f Line for intialize on precompile found twice :trollface: (Alex Manelis)
  • 6e6ec3b Don’t need to require factory_girl (Alex Manelis)
  • 89a59fa Added db cleaner to spec config (Alex Manelis)
  • 987a39a Added db cleaner and a few other handy development gems (Alex Manelis)
  • 452962e Whitespace (Alex Manelis)
  • a8a9442 Slight modification to how the api controller spec is structured (Alex Manelis)
  • 4d81157 Removed rack-mini-profiler, decided wasn’t worthy right now (Alex Manelis)
  • 46fa134 More factory girl updates to deprication (Alex Manelis)
  • c572837 Updated factory deprication for next (Alex Manelis)
  • c94a8ee Added some better gems for development (Alex Manelis)
  • bc8e10d Was already using sqlite locally :trollface: (Alex Manelis)
  • 84ea429 Added rvmrc to the gitignore file (Alex Manelis)
  • 000ea1f Merge pull request #36 from bielefeldt/master (Sean Grove)
  • dead52c README change with Heroku S3 integrations (response)
  • baa502c Update Readme (Kev Zettler)
  • ba2c630 Removed Cloudfuji references from readme (Kev Zettler)
  • 5b8bb9b Merge pull request #34 from jrgifford/master (Kev Zettler)
  • 5606ea4 :heart: Guard, fixed specs to work with latest factory girl. (James Gifford)
  • 6978925 Merge pull request #33 from jrgifford/master (Kev Zettler)
  • a1fd6f9 Updated rails to avoid ActionPack vuls. (James Gifford)