Online home of Jeremy Scheff

Jekyll and other static site generators are, currently, harmful to the free, open source software movement


My blog is powered by WordPress. WordPress remains at its core a monstrous amalgamation of PHP spaghetti code. Thus, despite the fact that WordPress is free (beer+speech), easy to use, well supported, well documented, and all that jazz… it still pains my hacker sensibilities to use it. For similar reasons, a lot of hacker types are moving away from WordPress and similar blog software to static site generators like jekyll.

Basically, the idea is that you define the components of your site (pages, blog posts, etc) in a text-based markup language, and then the static site generator will process the text files and produce static HTML files for your website. This approach has numerous advantages, mainly due to the fact that no code runs on your web-accessible server. This makes it both fast and secure. But static pages have one major drawback: if everything is just static HTML pages, there’s no easy way to allow for dynamic features like comments (and, to a lesser extent, search). Using something like WordPress, you get dynamic features automatically.

Most people solve the comments problem by using Disqus. All you have to do is put a little bit of Javascript on your page, and Disqus will handle comments for you. It’s simple, looks pretty, and integrates with all the social networking sites.

But there is one problem: Disqus isn’t open source. So we have all these hackers rushing to switch their blogs over to static site generators with Disqus comments, which is effectively an exodus from completely free systems like WordPress to proprietary systems like Disqus. I find this to be problematic for all the same reasons that RMS and others have outlined about proprietary software (and also software as a service) over the years.

But the allure of these static site generators is such that they feel like they are the pinnacle of open source hackery goodness. The generators themselves are generally open source, and they work similarly to all the open source command line tools we know and love. But, until there is a better solution for comments than Disqus, static site generators encourage dependence on proprietary software.

So I guess what I’m saying is that we need an open source (preferably AGPL) Disqus. Or, if such a service already exists and I’ve just not heard of it (certainly I’m not the first one to make this point), then we need to do a heck of a lot better promoting it. Otherwise, all the user-generated content in the form of blog comments will be perpetually locked in Disqus’s proprietary vault.

Edit 2012-02-02: In the comments, Haschek provided a link to a project called Juvia which is “an open source commenting system … similar to Disqus and IntenseDebate”. If you have the same concerns as me, take a look at Juvia if you’re in need of a standalone commenting system.


  1. I created a service which allows to receive comments on Github Pages. Rather than storing it in the service database, it uses the Github API to commit comments in Jekyll files. You can try it there : https://commentit.io

    Comment by Guillaume Royer — October 5, 2015 @ 6:37 am

  2. Have you heard of sandstorm.io? This seems like a perfect problem for a sandstorm app…

    Comment by Micah — September 25, 2016 @ 5:53 pm

  3. Can we build this with PouchDB and CouchDB and sending data over CORS at this point? Essentially, we’d be crafting our own comments API for our own database, leveraging the sync feature of PouchDB (and CouchDB) to keep things up to date and synced up.

    Comment by Costa — December 20, 2016 @ 4:56 am

RSS feed for comments on this post. TrackBack URL

Leave a comment