Hello, and, ComicControl

I’m Mr. Encyclopedia, and I’m in love with a problematic CMS called ComicControl.

In 2011 a bunch of independent webcomic artists got together and started HiveWorks to support each other and give a platform for marginalized creators. One member of this group was Erin Burt, who had some web development experience. She became their tech lead and over the next decade or so developed ComicControl as a CMS for HiveWorks comics. As HiveWorks got bigger and became a full-on independent publisher in 2017 Erin started pushing to make a public release of ComicControl that any independent artist or writer could use for their personal site.

Finally, at the beginning of 2021, ComicControl was released to the public. Later that year, Erin Burt left HiveWorks. She retained the rights to the software, and still owns and freely licenses ComicControl to small creators, but support slowed to a crawl. The GitHub repo hasn’t been updated since July of 2021. It’s not compatible with PHP 8. Erin has a new job and hasn’t made any public statements about ComicControl since 2022. I don’t know any of the details about her departure from HiveWorks but it’s hard to believe the plan was to do a public release and almost immediately abandon it.

So. I have been making websites as a hobby for over 20 years. In the early 2000s I got way into PHP and MySQL and had a lot of fun hand-building a site with a small community before finally shuttering it in 2015. In late 2022 I was looking for a CMS for a comic project I’ve been working on for ages and found ComicControl. It seemed well suited to my purposes so I started messing around with it. I found some bugs, the comic archive page didn’t work. The RSS feed had a hiveworks E-mail hard-coded as the feed author.

It seemed obvious that the original developer had abandoned it, so I started poking deeper. The comic archive page didn’t work because the query function was missing an argument. For fun, I submitted the change as a pull request. First I changed the RSS feed author to my name, then for fun I added a “author” field in the back-end settings and had the RSS feed pull from that instead. I started thinking about other features I would like. Changing the back-end code editor from a plain text box to Ace? Sure. Automatically setting the publish date per a schedule when adding a new comic? Sure. Allowing users to sort an image gallery by ascending or descending? Why not. Painstakingly fix all the bugs introduced by PHP 8? Okay.

The more I got familiar with ComicControl’s code, the more I liked it. It’s because it’s written the way I would have written it, back in my early PHP days. It looks like software that started in 2011 (or earlier) and hasn’t been seriously refactored since. It’s covered in the fingerprints of constant use and semi-professional improvement for over a decade. I have a public GitHub repo that features many of my bug fixes and improvements, but still doesn’t include further projects like my half-built wiki module.

So, now here is the problem. ComicControl is not released under any sensible GPL or MIT license. It’s a private license that, despite the documentation encouraging folks to freely customize the software however they like, contains boilerplate language forbidding any alterations. This makes my pastime of hacking away at it a bad idea at best. I’m working in the same legal grey area as romhacks and abandonware.

At this point, I figure ComicControl LLC can send me a cease and desist if they don’t like it. I suppose by maintaining a public repo I might be doing free work for HiveWorks, who still extensively uses ComicControl. The problem is I’ve never found any alternative web software written the way ComicControl is. I need something written like a weirdo just learning PHP 20 years ago would have written it. No fancy frameworks, no fancy AJAX (well, maybe a little fancy AJAX), just a bunch of database calls that cobble themselves into a website somehow.

I’d start over from scratch, but at this point I’d just be remaking something that already exists.

3 Likes

Consider werc as an alternative. It uses rc which is a shell language so you can just plug in standard unix tools and pipe them together for the order of files you want.

See here some werc stuff I made:

Additionally, Werc is CC0. Core codebase maintained by sl and sees few updates(because it’s an exceptionally stable, simple and obvious base). Additionally, my own blogging “engine” can be found here too for werc.

You could also mix and match them together, like my blog which lists on the main page all the blogs in chronological order and on the sidebar in alphabetical order, and just have a gallery be a blog post, and use the bridge werc app for comments(or just do like I do with emails for comments).

In short… Werc is exceptionally powerful if what you want to do fits nicely into the UNIX philosophy(it won’t always fit nicely… so stuff like my book store is done with NextJS because integrating payment processors is a mess)

3 Likes

Ah yes, I did come across werc in my research on alternative web platforms, but had a hard time wrapping my head around it. I’ll have to look more deeply into it. A werc app for webcomics could be quite useful.