
Utterances: Lightweight comments widget built on GitHub issues - lelf
https://utteranc.es/
======
phoe-krk
> No lock-in. All data stored in GitHub issues.

How is that not a proprietary lock-in if all your data is stored on a single
company's servers?

People keep on treating GitHub and other corporations as public services.
They're not.

~~~
pavlov
GitHub is at an interesting inflection point. Before the acquisition, VCs
stoked the growth by giving away bandwidth and storage. Now that GitHub is a
Microsoft property, the same continues because MS has been on a ten-year
mission to build goodwill in the developer community.

That may not last forever. The original GitHub people will gradually drift
away once their vesting concludes. If overall growth stalls, Microsoft
management may yet feel the temptation to start squeezing GitHub for cash.

I suspect they'll acquire NPM along the way too, to have a better lock-in in
place.

~~~
NicoJuicy
Microsoft won't acquire npm for sure.

I highly doubt MS will ever squeeze GitHub for cash also. It's about
integration and azure.

They have proved by now that they are not Oracle and they are doing the
opposite of them.

\- making development more open ( .net core vs Java)

\- making tools more open ( eg. Sms vs MySQL, vscode, ...)

Both have clouds. Microsoft is adding/creating more free tools/services as
their onboarding funnel. Development ease is their motivation.

Oracle buys popular things and starts licensing them. They try to force
existing clients into their cloud ( MS makes it optional). Oracle's motivation
is management influencing

~~~
diggan
Microsoft (like many companies before, and many companies in the future)
change. The went from cool, to not cool, to cool again in the eyes of the
developer hive-mind.

I don't think we can say for sure that Microsoft will forever act the way they
are acting now, as in the end it's run by people and those people eventually
become replaced with others.

Saying that a company has "proven" something and that means they will act a
certain way forever seems unhealthy.

------
dominicr
So this is a comments app that uses Github's issue tracker service as a data
store. Is this a round hole / square peg mismatch of problem and solution?

I'm asking honestly what other people's opinions of this are because whilst it
looks good it: 1) looks like the kinda of hacky solution I try to avoid
building when trying to fit together incompatible data objects and data
storage. 2) uses Github's systems for purposes other than they were intended,
which seems slightly unethical or at least impolite to me.

~~~
plibither8
> _uses Github 's systems for purposes other than they were intended, which
> seems slightly unethical or at least impolite to me._

I wonder where the line is drawn here, and whether it really is unethical to
use GitHub to store comments. Is something of this sorts explicitly or
implicitly mentioned in their ToS?

Along the same lines, will hosting files on directly on Github and using that
as our primary resource (raw.githubusercontent.com...) be considered unethical
or impolite?

~~~
dominicr
I hadn't thought to look at GitHub's ToS as that would have been too obvious!
I did just have a quick look now. Nothing too specific in there, but then
these things often are general so that discretion can be used later. A couple
of things that might catch this out:

\- "Abuse or excessively frequent requests to GitHub via the API may result in
the temporary or permanent suspension of your Account's access to the API.
GitHub, in our sole discretion, will determine abuse or excessive usage of the
API."

Utterances uses the GitHub API and its demo page makes 4 requests to
api.github.com. The API docs state a limit of 5000 requests per hour. That's
quite a lot and within what a low volume blog would get, which I think is the
main use case for this app. But if your blog gets really popular then you
might ring alarm bells at Github.

\- "Responsibility for User-Generated Content" As this is all user generated
content you, as GitHub account owner, are responsible for it not breaking
GitHub's content guidelines and you had GitHub permission to do with it as
they see fit. GitHub are the ultimate decision makers about your user's
content, not you or Utterances.

[https://help.github.com/en/articles/github-terms-of-
service](https://help.github.com/en/articles/github-terms-of-service)

------
phil-opp
An interesting fact about this is that the author is on the Microsoft docs
team, which uses a similar system for docs.microsoft.com [1]. So I don't think
that GitHub has a problem with this approach.

For an example of Microsoft's system in use, see the "Feedback" section on
[2].

[1]:
[https://github.com/MicrosoftDocs/feedback/issues/396](https://github.com/MicrosoftDocs/feedback/issues/396)

[2]: [https://docs.microsoft.com/en-us/azure/azure-
functions/funct...](https://docs.microsoft.com/en-us/azure/azure-
functions/functions-dotnet-class-library#feedback)

~~~
pretty_lorelei
GitHub is owned by Microsoft though, so there's no guarantee they won't have
problems with someone else doing this.

------
remus
I can't imagine GitHub are going to be very thrilled with this. Maybe as a one
off you'd fly under the radar but making it more widely available seems kinda
silly.

I like how it's marketed as 'no ads, always free'! Not so difficult to do when
you're (ab)using someone else's service to handle all your data.

~~~
icebraining
I think GitHub is okay with "creative" uses of their system, as long as one
doesn't push the limits and doesn't make a business from it.

Infamously, CocoaPods was serving directly from GH, maxing out out five server
CPUs and using terabytes of traffic, and their response was fairly
sympathetic:
[https://news.ycombinator.com/item?id=11245652](https://news.ycombinator.com/item?id=11245652)

~~~
remus
> I think GitHub is okay with "creative" uses of their system, as long as one
> doesn't push the limits and doesn't make a business from it.

Being on the front page of hacker news feels a lot like "pushing the limits".

------
umvi
I've seen a couple apps like this now where the app is basically a parasite on
something else. Seems like a an abuse of goodwill.

"Check out SnooFS: the free cloud storage solution built on Reddit comments!
Basically instead of paying for your own storage, SnooFS generates you a
personal subreddit and uploads your data as text, video, and images to be
hosted on Reddit's servers! No limit to storage - upload as many TB as you
want!"

~~~
brunnogomes
This is not a good comparison. While I agree with you that a project like
SnooFS is using other people resources in a bad way, projects like this are
more of a proof-of-concept than anything else. I don't believe people would
actually trust their files in a manner like this.

On the other hand, whereas GitHub issues are not intended for external blogs
comments, it is already used like this and for blogs hosted on GitHub Pages.
This is just an automation tool. If GitHub sees a problem with this in the
future they can always change their terms of use (and that's why anyone should
only use a system like this for ephemeral stuff).

------
pknopf
I looked into using Utterances a while back, but decided against it.

From my blog post [0]: This product requires an external server to be up and
online at all times. And while they do promise to be always free without ads,
they don't promise to be always available. And while they are open-source and
I could always decide to host my own Utterances server/bot, I'd prefer to host
nothing at all. This isn't a super deal breaker, because in the end, all
content is stored in GitHub Issues.

[0] [https://pknopf.com/post/2018-10-13-comments-for-static-
sites...](https://pknopf.com/post/2018-10-13-comments-for-static-sites-using-
github-issues/)

~~~
machbio
you could have pushed solution a bit more to create the github issue when
creating blog posts - like use a github token to generate issue when the issue
does not exist for blog posts.. utterances feature that I liked is the bot
that creates the issue for you automatically and also scans the github repo
for comments based on title..

~~~
pknopf
> you could have pushed solution a bit more to create the github issue when
> creating blog posts

I guess, if my solution were a "product", as opposed to a one-off.

------
herohamp
I have been using utterances for a couple months and absolutely love it. It
simplified my stack so much as I could finally shutdown my crappy REST comment
api

------
kissgyorgy
This is brilliant! If your blog is hosted on GitHub it's even more useful and
comments will be closer to the source.

------
techntoke
Just embed a real comments platform for free like Disqus, or Discourse. There
are plenty of better options that make this pointless for anything more than a
"just because" project.

------
sergiomattei
This is awesome! Great work. Any support for nested replies coming?

~~~
pknopf
Not likely, since it sits on top of GitHub issues.

~~~
majewsky
That doesn't preclude them from building nested replies. For example, they
could add a line like `Reply-To: <comment-url>` to the comment to establish
its parent.

~~~
pknopf
Yeah, but that feels like a square peg/round whole.

What if someone comments in the issues directly, on GitHub?

