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.
Edit 2017-01-22: Uh... I think I'm moving this blog to a static site generator, for all the typical reasons. What about comments? I think... no comments. I guess that's kind of sad, but comments seem like more of a marginal benefit now, at least for my rarely-updated blog.
I really don't understand how the Disqus API works in a static html page, but probably this is the hardest thing to achieve in order to being able to embed comments hosted in other site.
Comment by Jesús Franco — August 30, 2011 @ 2:16 am
1. Better style
2. Ability to edit comments
3. Some form of restricting name usage
As it sits, everything is saved on the server running the script. I actually put in code to stop the script from being used on remote websites. It wouldn't be hard for someone to take my comment system, remove those few lines, and thereby create a service like Disqus. If anyone's interested, it's AGPL, so go for it :)
Comment by Jacob Barkdull — August 30, 2011 @ 2:12 pm
It's not the static generators that hurt FOSS, it's Disqus. Present an open source alternative, that works at least half aswell, and many people (myself included) will switch that very instant. But as it currently stands, if I want comments on my site, I don't really have any other option except rolling my own. And that's the last thing I'll do.
Comment by Gergely Nagy — August 30, 2011 @ 6:10 pm
Here in lies the crux of the matter. Open sores folks are always the first to tell others what they should and shouldn't use in the name of "freedom", but don't provide an equivalent or better solution to the problem. In this guys case, he throws blame at the innocent out of frustration, seems quite childish.
Comment by sulfide — August 30, 2011 @ 10:00 pm
http://www.tildehash.com/?article=why-im-reinventing-disqus
Comment by eMBee — August 30, 2011 @ 11:36 pm
The author of the template's site: http://blog.andreas-haerter.com/
And mine: http://linuxisit.com
Has been working well for me.
cheers
mark
Comment by mark — August 31, 2011 @ 12:44 am
Yes, that's correct. When I posted I was just thinking of Free alternatives, not specifically static site generators. My bad. Still, though, it might be work a look.
cheers
mark
Comment by mark — August 31, 2011 @ 8:03 am
There are a lot of reasons why opensource is encouraged. One of them is that hackers can play around and improve the system. But if we don't have a simple opensource JavaScript based (and PHP backend) self-hosted "script" that acts like Disqus, then are we really hackers? We talk about WordPress a lot, yet can't implement a subset of it (the commenting system)?
The problem is not with static site generators then, it's with us! Static site generators do have a lot of advantages (by compromising dynamicity), but we can't blame the technology on it's face value just because of our philosophical beliefs.
We just need to create a good commenting system, and get over it.
Comment by Revolves — September 4, 2011 @ 12:07 pm
Ed: I'm not "so concerned" about spaghetti code. I use WordPress and think it's great, even if it's not 100% perfect. And I'm not willing to use a horrid service like Disqus which is why I am still using WordPress intead of jekyll or something similar. Working on a free Disqus replacement is on my list of things to do if I lose my current job, but as I don't personally have the time to do it now, I just wrote a short blog about it to hopefully motivate someone else to do it.
Comment by admin — September 4, 2011 @ 12:38 pm
"Free software movement" is a historical term, no longer relevant in the social coding, GitHub world which the free software movement, when it existed, made possible; we should admire them and be grateful for them, but pretending they still mean anything is not for grownups to do.
Even if it did still exist, the idea that you can harm a free software movement by writing and releasing free software is ridiculous. When you write a blog post, first condense the whole post to one sentence and ask yourself if the sentence makes any sense.
Disqus annoys me too, click my name for why, but less falling sky, more simple hacks.
Comment by Giles Bowkett — September 4, 2011 @ 12:40 pm
You can create a javascript/ajax based commenting system that you can include with one file. If you use CouchDB you don't even need a server side language.
Another solution is to hack the static generator to allow parts to be dynamic. No one ordered you to treat the generator as a black box.
Comment by david — September 4, 2011 @ 6:37 pm
It'd be great if there as an open disqus of some kind. But it'd be great if there was an open social network as well. Clearly this takes some cash given how the Internet currently works. If the internet was more like distributed torrents or something. :) But then I'd be out of a job. :)
Comment by curtis — September 4, 2011 @ 10:02 pm
david: I don't think you read the article. It concludes with "So I guess what I'm saying is that we need an open source (preferably AGPL) Disqus." I am aware that it is technically possible to do damn near anything, but the point is that nobody's sufficiently done it yet so in practice content is being locked up in proprietary systems. This is a step back relative to things like WordPress.
Comment by admin — September 4, 2011 @ 10:07 pm
Anywhom.
Comment by David — September 11, 2011 @ 9:06 pm
Many people, whether you agree with them or not, do not feel comfortable being tracked as they move between pages with Disqus comments. Of course the same concerns apply to similar services, like Google Analytics (which I do use).
Comment by Xavier — November 18, 2011 @ 5:38 pm
I don't have a particular issue with Disqus, and have used the service periodically. I currently don't enable comments, and have considered how I might direct motivated readers to Twitter or email instead. Greg Knauss is trying something similarly minded, but much lighter, with Zezim (http://extramoon.tumblr.com/). I have no idea how far he's getting with it; it may collapse or already have.
Comment by Daniel Black — December 13, 2011 @ 4:01 pm
"Juvia is an open source commenting system. It allows you to outsource your commenting needs to an external system so that you don't have to build your own commenting system for each website or each web app. Embedding a Juvia commenting page only involves pasting a JavaScript snippet into your web page."
https://github.com/phusion/juvia
It looks very promising and it is very actively developed. I really that there is someone who has enough time porting this to the PHP world :)
Comment by Haschek — February 2, 2012 @ 3:03 pm
RMS by the way has all his page without comment and apparently static. I really see no harm on it. It's just a matter of freedom of choice. Most likely 99% will stick with WordPress.
Comment by Lucas Arruda — June 4, 2012 @ 12:47 pm
It's not really commenting since everything is done via a forum, but it's quite clean, indiscriminate and free + open source. Much better than any of the convoluted solution presented so far.
Comment by svr89 — June 11, 2012 @ 12:43 pm
I try to avoid embedding _any_ external services on a website - even if it was "free" or "open source".
A week ago I've looked through the options for my ex-WP blog, which is now migrated to Jekyll.
For 1-2 hours I compared Disqus to IntenseDebate and the like. Feeling repelled while doing so, I finally found this solution:
http://hezmatt.org/~mpalmer/blog/2011/07/19/static-comments-in-jekyll.html
It's even utilizing ones existing email spam filter for coping with comments.
So here we have it: The pinnacle of open source hackery goodness 😉
Comment by Dice — August 19, 2012 @ 2:41 pm
https://github.com/openshift/juvia-example
Comment by Jonathan Brown — September 16, 2012 @ 12:44 pm
I use Jekyll for building my website and I have no problems for comments:
An HTML form allow the users to post comments, and the comments are sent to a CGI script.
The CGI script sends me the comments by email, and I use the Jekyll static comments plugin render them.
Here is a blog post about this Jekyll plugin:
http://hezmatt.org/~mpalmer/blog/2011/07/19/static-comments-in-jekyll.html
Comment by grumpyHacker — July 25, 2013 — 1:56 pm
It's spearheaded by Jeff Atwood from StackOverflow, 100% open source and already employed by big sites like HowToGeek and BoingBoing as a replacement for Disqus. It's not strictly a commenting engine, it's an entire forum platform, but it works supremely well as both.
I love the new approach that static site generators like Jekyll are bringing to the table, and I don't fear for open source whatsoever. What we'll do is offload the dynamic content to open source "apps" like Discourse and Juvia; everyone's happy and the open web powers onward.
Comment by Erlend Sogge Heggen — August 13, 2013 @ 8:26 am
But please, don't say "Static site generators are harmful to the free, open source software movement" because this is just false. Your title is untruthful, if you want to complain about Disqus, don't "attack" Jekyll or the others generators.
Most site generators are licensed under ISC, GPL or other free licenses, so I don't understand what's the problem.
If you don't want to use Disqus, don't do it. There are plenty of comment systems (jskomment, commentcava and we also have a Jekyll plugin).
I have two Jekyll blogs (without comments) and I have not the impression to violate free software.
Comment by Ypnose — August 19, 2013 @ 3:47 pm
1) The allure for me is that I no longer have a database I have to maintain. That's one reason I prefer offloading my commenting engine to someone else. People aren't moving away from WordPress because Jekyll is any more open-source, a major component is that we don't have to worry about all the security patches, database management and online mode.
2) WordPress comment filtering sucks. That's why people use Livefyre or Disqus move to those platforms, because they do a better job. You mentioned that if there was something better that's open source then you'd use it, but it brings us right back to having to manage some sort of database.
I agree with a lot of the other comments, the post title seems more like link bait than a valid argument.
Comment by Chase Adams — December 28, 2013 @ 5:44 pm
It's Debiki Embedded Comments, http://www.debiki.com/embedded-comments
It's available as a service too, in case people would like to try it out or use it without setting up their own server.
Debiki has some Wiki-like features; it currently uses a novel 2D layout that hopefully contributes to a more varied discussion; and it has various features intended to save people's time.
Feedback would be very welcome.
I noticed you mentioned Juvia. There's also Isso, http://posativ.org/isso.
Comment by KajMagnus — February 8, 2014 @ 8:40 pm
Wait, what?...
Comment by av — May 14, 2015 @ 3:14 pm