
Gitter is open source - chx
https://gitlab.com/gitlab-org/gitter/webapp/
======
banashark
I've really enjoyed Gitter as a better means of communications when I have
questions that are small enough to not need their own issue, yet also not
worth it to ask on SO or some other platform.

It has been nice to be able to have a nice way to talk with other open-source
collaborators or get quick clarification on a small repo-specific question.

It's cool to see how it was put together.

Thanks for open sourcing this.

~~~
lamlam
The biggest problem I have with something like this is that unlike SO the
answers aren't archived for others who may have the same issue. It would be
nice if discussions like this on Gitter could be archived and searched the way
mailing lists are.

~~~
suprememoocow
All public rooms are archived and searchable:

[https://gitter.im/gitterHQ/gitter/archives/all](https://gitter.im/gitterHQ/gitter/archives/all)
[https://gitter.im/gitterHQ/gitter/archives/2017/06/14](https://gitter.im/gitterHQ/gitter/archives/2017/06/14)

I agree that chat isn't as digestible as SO, but it is definitely archived.

~~~
lamlam
Right, I meant more in a Q&A fashion with perpendicular discussion like with
SA. But I'm happy to see there is an archive. I've had decade old Mozilla bug
reports save me more than once.

------
notsrg
Gitter is a great idea in theory. In practice it's just been a place for my
questions to go unanswered.

~~~
accnt
That doesn't sound like a Gitter issue but a lack of activity in that
particular project/community.

Some projects prefer email/github issues over chat as there isn't an active
community around it 24/7 for anyone to just jump in and ask away.

I maintain an open source project where we have set up Gitter awhile ago. So
far -even with a really small community like ours- I'm answering questions and
interacting with users regularly.

~~~
moxious
Totally not a gitter platform issue, but these platforms aren't really
distinguishable from their user communities at the end of the day.

If Facebook only had 2-3 of your friends on it, no one would be impressed by
the features and sophistication, they wouldn't get that far.

------
jsiepkes
While I applaud the initiative of Gitlab to opensource Gitter I think the
target audience for self hosting is rather small. I think alternatives like
Zulip or Mattermost are probably better suited for most organizations.

I am however interested to see if the community starts making the "main
instance" (gitter.im) better.

Interested to know what the Gitlab / Gitter guys and gals think what the
target audience is.

~~~
kronos29296
Maybe something like GNU social. They already use Gitlab CE for the repos. Add
gitter and we have replaced IRC.

~~~
kobeya
You say that as if it's a good thing...

~~~
kronos29296
IRC is not going anywhere but projects like neovim use gitter primarily while
IRC is linked using a bot. They view the IRC chat in gitter.

Dunno if Gitter is better than IRC as I have only used for help and support
(for me) but Gitter was far easier to use than IRC. Just Login and start
chatting.

I don't think IRC is going anywhere either... We just have alternatives to
freenode now in Gitter

~~~
unhammer
Apropos, does anyone know of a hosting provider with one-click installs of
Weechat? It would be nice to have something slightly more self-hosted than
irccloud to recommend to the GsoC/GCI students who keep disconnecting from
freenode :)

(You'd think with all the Wordpress one-click-installs that this would exists,
but I can't find any yet at least.)

~~~
l2dy
I'd suggest using Riot.

See [https://opensource.com/article/17/5/introducing-riot-
IRC](https://opensource.com/article/17/5/introducing-riot-IRC),
[https://about.riot.im/](https://about.riot.im/) and
[https://matrix.org/](https://matrix.org/).

------
siliconc0w
Asking users to run mongo, es, neo4j, and redis is a tall order. Mattermost
just needs (AFAIK) a relational database.

Also, less relevant but the Gitlab UI has far too much wasted whitespace. Like
85% of the page is navigation. I like open source competitors to incumbents
but maybe just copy Github here - no one is gonna say anything.

~~~
suprememoocow
Hi, co-founder of Gitter here.

Gitter is not intended to be a replacement for Mattermost, Slack or other team
collaboration tools. We see Gitter as a community instead.

As such, we're not expecting to see a huge uptake of on-site installations, so
the list of required services (es, neo etc) is big compared to other products
focused on on-prem.

We're hoping that our users will contribute to the main site, Gitter.im.

Obviously, we're also totally happy with users running their own Gitter
installations but, while we would like it to be easy, ease-of-installation of
a production instance is not a goal currently.

~~~
marmaduke
> we would like it to be easy, ease-of-installation of a production instance
> is not a goal currently.

ok but doesn't it behoove you anyway to have e.g. dockerfile and/or ansible
roles for dev/staging environments?

~~~
corney91
They probably do have some sort of automation, but it's likely specific to
their environment.

~~~
suprememoocow
We use Ansible / packer & terraform. Open sourcing this repo will be fairly
complicated but it may make more sense for us to publish a k8s helm chart or
more complete, production-ready docker-compose.yml

~~~
sandGorgon
you are already using docker-compose.yml. you should use definitely do a
production ready docker swarm deployment. you only will need to do incremental
changes to your docker-compose

------
hobarrera
Awful timing for this sort of announcement -- the same day they programmed a
one-hour downtime for a deploy.

~~~
kosinus
As mentioned further down this thread, it was not officially announced, just
discovered.

------
palerdot
As an aside, I badly miss the Github language statistics in gitlab
repositories. This is one of the crucial info for any developer browsing
through new repos and it is very counter-intuitive to have this info hidden
from homepage.

~~~
jacobvosmaer
See [https://gitlab.com/gitlab-
org/gitter/webapp/graphs/master/ch...](https://gitlab.com/gitlab-
org/gitter/webapp/graphs/master/charts)

I agree it's not very prominent. (GitLab Inc. developer)

~~~
rkda
Would it be possible to use a bar chart instead. Pie charts are kind of a
pain.

------
mkesper
Page should tell at first glance what gitter DOES.

~~~
mydigitalself
Great point. We "soft launched" this yesterday so are still working on the
documentation and hadn't made any official announcement yet until we've ironed
out in any kinks.

Looks like HN announced it for us...

~~~
chx
Blame reddit rather, that's where I saw it and only then posted here.
[https://www.reddit.com/r/programming/comments/6l2jjj/gitter_...](https://www.reddit.com/r/programming/comments/6l2jjj/gitter_is_open_source/)

~~~
dgellow
s/blame/thank/g

------
volent
If you go through the commit history you can see that they removed a lot of
secret keys from the repo.

What if the main reason why people don't want to opensource their project is
because they don't know how to use their secret keys without including them in
the repo ?

~~~
suprememoocow
Andrew, co-founder of Gitter here.

Removing secrets was a lot of work - more than I expected - while we open-
sourced the product.

I agree with your sentiment though. Handling secrets in a codebase is not
something that it currently easy or standardised.

As an aside, BFG Repo Cleaner really helped a lot with cleaning things up:
[https://rtyley.github.io/bfg-repo-cleaner/](https://rtyley.github.io/bfg-
repo-cleaner/)

~~~
kobeya
It's been my impression that the standard (promoted by services like Heroku
and Travis) is to pass secrets as environment variables.

~~~
suprememoocow
Fair enough: this is exactly what we've moved to on Gitter on Gitter since
open-sourcing the product.

------
reimertz
I just wish I had time to work in my side-project
[http://git.chat](http://git.chat) and investigate the ability to implement
chat-like functionalities into the git-repo/protocol itself.

I really think any kind of discussions related to open-sourced projects should
be stored together with it rather than a 3rd party in a closed environment.

~~~
andreineculau
Start small: a CLI chat client, no auth (auth is the ability to push to the
remote), install a fetch hook to notify user of unread chat msgs, done. At
that point anyone can use it.

------
andreineculau
> Whilst drinking your tea, make sure you have Gulp installed. You can do this
> with npm install -g gulp. You may need to use sudo for this.

How blind can you be not to understand how evil this request is to your users?
And you request this because... because you don't want to `sed 's|gulp
|node_modules/.bin/gulp|g' Makefile` ?

Similarly, too hard to check npm's version in Makefile, and run or not run
`linklocal` yourselves?

~~~
jbro72
Would you mind elaborating? As a user who would follow this instruction
without thinking twice I'd like to understand better why this is a bad idea.

~~~
andreineculau
Two others touched on the sudo part but the global flag is as bad. So they
have a gulp file that works with gulp "v1". Gitter goes bust (inactive), next
year gulp is bumped to "v2", you want to try out gitter, gulp fails, you have
to digg why. Another scenario is when another project asks you do the same,
install gulp globally, but it actually means gulp "v0". Now you can't run to
projects side by side.

Global deps should be versioned, the same way you do not see a respectable npm
module with "*" semver in its package.json.

Seeing things like this in 2017 from smth like gitter! now owned by gitlab! is
just a big red warning "amateur work, please look away".

How can you have a Makefile, a Makefile! and still require gulp, and still
require people to run "npm install"? How? Where's the bare minimum logic?

~~~
mydigitalself
As Gitter was originally built as closed source with a team of people working
exclusively on Gitter, this has never really been a problem for us.

This is very much v1 of the setup/instructions and would be delighted to
improve them with any MRs or contributions. We'll certainly improve them
ourselves over time as we get more people in less controlled environments
adopting the project.

------
kennydude
Huh, they seem to be using Marionette for most of the UI apart from using
React for "topics UI"

~~~
mydigitalself
We started Gitter before React was A Thing and Marionette had a lot of the
functionality we needed. We even hacked it to do server-side pre-rending and
live collection binding. Topics was an experiment in how we could look to move
towards react and evaluate blending technologies.

------
dom96
Will the Android app be open sourced as well?

Btw on my phone the notifications are never cleared, always showing a super
old message from hundreds of days ago for me. It's annoying because I cannot
see why I got the notification. I wonder if this is already in your bug
tracker.

~~~
vikp
In the original blog post announcing the Gitlab acquisition
([http://blog.gitter.im/2017/03/15/gitter-gitlab-
acquisition/](http://blog.gitter.im/2017/03/15/gitter-gitlab-acquisition/)),
there's mention of open sourcing the mobile apps -- "Next piece of wow: we
will be open sourcing all of the Gitter. That’s right, the web application,
the mobile apps, the whole nine yards, free and open."

------
MoD411
Hey, what do you use neo4j for? I am interested in your use case as I have
recently started using it also.

Thanks!

~~~
suprememoocow
Gitter co-founder here: we use neo4j for suggesting rooms.

So, if you're in room A and room B, and most people in those two rooms are
also in room C, then we suggest that you join room C.

As I mentioned elsewhere, we also use some non-neo4j based methods for
suggestions (including your GitHub graph). One of the problems we've had with
neo4j is that we haven't been able to make it scale. It frequently burns up
from being overloaded.

This is almost certainly down to the way we use neo4j but at some point I'd
like to ditch it for a clustered suggestion algo that uses batch processes to
cluster rooms together.

~~~
scaryclam
Sounds like you're going to be doing a lot of writes, which neo4j isn't
designed for. While I get why you're using it, I'd suggest that it's not
really the right tool for that job, which is possibly why you're having
problems with it.

Do you really need persistance at all? If the application crashes everyone
would be kicked out of the channels anyway no? I think making an in memory
graph and ditching the graph DB entirely would be more helpful for that kind
of suggestion tool.

~~~
suprememoocow
We update on a batch[1] fairly infrequently (daily iirc). We don't need exact
room membership since the results are aggregated.

> If the application crashes everyone would be kicked out of the channels
> anyway no

No, Gitter's room membership is persistent (between restarts, crashes and
sessions)

1: [https://gitlab.com/gitlab-
org/gitter/webapp/blob/master/scri...](https://gitlab.com/gitlab-
org/gitter/webapp/blob/master/scripts/graphs/upload-graph.js)

------
iLemming
I hope they'd finally make the search usable. Searching for things in Gitter
godawful.

------
marknadal
I absolutely LOVE gitter and am floored and enthralled to hear this news.
Congrats team!

~~~
suprememoocow
Glad to hear and thank you very much!

------
richardknop
Gitlab UI is truly horrid compared to Github. When I go to a repository page
on Gitlab, the navigation and whitespace takes around 80% of my screen. On
Github I can immediately see the directory structure.

Also the colour scheme is bad IMO, everything is a light shade of grey, hard
to quickly navigate the page as things look all the same while scrolling. Try
using some darker shades and more contrast to make different parts of the page
more easily distinguished.

~~~
mydigitalself
We're actually completely overhauling the GitLab's UI
[https://gitlab.com/gitlab-org/gitlab-
ce/issues/32794](https://gitlab.com/gitlab-org/gitlab-ce/issues/32794)

~~~
onlinemantas
That looks AMAZING. Maybe even better than GitHub. Great job, can’t wait for
this!!!

------
kidsil
Gitter is what IRC with fellow developers used to be like. Thanks for
recreating that wonderful experience!

------
nik736
Is there any option on GitLab to see instantly in what language a repo is
written? (Like GitHub does)

~~~
suprememoocow
From the project page, choose Repository | Charts.

Beware though, it's pretty slow right now.

It might be quicker to just look at a screenshot of it instead
[http://imgur.com/a/qBGVf](http://imgur.com/a/qBGVf)

For reference:

    
    
       JavaScript 86.45 %
       CSS 6.79 %
       HTML 4.79 %
       Shell 1.07 %
       Lua 0.82 %
       Makefile 0.05 %
       Groovy 0.03 %
       Python 0.01 %

------
likelynew
Didn't knew gitlab built gitter.

~~~
DigitalSea
They didn't build it. They purchased it and announced it would be open sourced
a couple of months ago.

~~~
drevet
Thanks for the news ;)

------
soret
That'll be helpful.

------
hossen
GitLab, a startup that provides open source and premium source code repository
software that people use to collaborate on software, is announcing today that
it has acquired Gitter, a startup that provides chat rooms that are attached
to repositories of code so that collaborators can exchange messages. Terms of
the deal weren’t disclosed.

~~~
owebmaster
They announced the acquisition in March¹. Back then they also announced that
gitter would be open source so now they released it.

1\. [https://about.gitlab.com/2017/03/15/gitter-
acquisition/](https://about.gitlab.com/2017/03/15/gitter-acquisition/)

------
ZeusNuts
> Gitter requires MongoDB, Redis, ElasticSearch and Neo4J

Why use one database when you can use four!

~~~
scrollaway
Do you think they should store account data in redis?

Or maybe they should use the ever-so-performant MongoDB as their cache,
that'll work out great.

Actually, scratch that, Gitter should probably store all its relational data
in ElasticSearch because _why use one database when you can use four?_.

