Recent

Piperka's source code released

As of now, Piperka's Darcs source code repository is publicly accessible, licensed
under the Expat
License, aka. MIT/X License. I'm withholding the database
contents at this time, but everything else is in there. The
database schema, the web site code, the various scripts I use to
manage things and the FAI scripts for setting up a development
environment. The best way to get a copy of the source is to run

darcs get http://piperka.net/src/ piperka

It's full of bad design, dead code, unfinished ideas and
unrequited dreams. Most of it is written in Perl and some parts
are in Haskell. Some of the magic happens in the PostgreSQL
database. This blog uses a lot of XSLT. I've included
instructions for setting up a copy of the software to run in a
virtual machine. Check the included INSTALL file for details.

If you're not a coder, then this doesn't necessarily mean much
to you, at least immediately. If you are, then feel free to
poke around. I'm not quite sure about how free software works
with a web site. There can be only one piperka.net and I'd be
liable for anything the server, that I'm leasing, does, so I'd
necessarily need to watch what code goes to Piperka myself. Not
that I wanted to turn over the creative control over Piperka.

I can't guarantee that I'll keep the source repository open, no
matter what. Though that same has held true for Piperka itself,
all the time. I don't promise that I'll necessarily apply any
patches that you might send, or that I won't edit them
mercilessly. I expect that you'll agree to license what you
send under the same terms as Piperka itself.

I'd be curious if you do something with the code, indepently of
Piperka. Feel free to, but mind that it's not necessarily a
good starting point for new web sites. Even for web comic
tracking sites.

Why now

I've been asked about Piperka's source code before. So far, I
have replied with something ambiguous or not at all to those
requests. As I see it, releasing the code isn't just a matter
of letting people download it. It's something that I've edited
freely with no expectation of others seeing it and consequently
it'll look very much like, say, my own room. There would just
be something disturbing about having just anyone see it, anytime
they wanted. The code's still not something I would exactly be
proud of, but now that I've started using a version control
system, I have at least some idea about what I've left in there.

Another concern was that whatever source snapshot I took, there
would be no guarantees that it would be something that could be
set up to work for someone else, easily or at all. That would
take me an extra effort to take it into that shape and I'd have
no motivation for doing it for its own sake. Packaging
Piperka's software wouldn't in itself help Piperka. It's not
some generic toolset nor is it going to turn into one. And even
if someone used it to set up a test environment for their use
and sent me patches based on that, then those wouldn't
necessarily be anything that'd apply to the real environment I'm
running.

Not that long ago, I set up a copy of Piperka run on a virtual
machine, at home. I made the settings that that took as part of
a FAI config, to document and automate the process if I ever
needed to do it again. I set up a repository on my computer and
on the virtual machine, and one on the real server too, so that
I could push changes in a controlled manner and test them. At
that point, I bragged to my friends that I could mass produce
Piperkas now, if I wanted. A nonsensical idea, on the face of
it. But that's when I thought about opening up access to
Piperka's source code, and realised how serendipitous it was. I
had made ready the means for anyone to set up a test environment
for Piperka with relative ease and to send their changes to me
in a controlled way. Best of all, none of that would mean any
extra effort for me, since it's all just a byproduct of the
process that I had started to use already.

I've been meaning to rewrite Piperka's source code. Most of the
code was thrown together during a relatively short period in
2005 and I know a lot more about writing web sites now than what
I did back then. The temptation to just start over was too
great, but that project never really took off. I was planning
on making the source code public when that was done, but I've
seen that I can't forever acquiesce to my perfectionism.

I may have had some commercial aspirations regarding Piperka. I
still might. I'm not fully certain what this move means from
that perspective. It'd be hubris to believe that I'm guarding
some big secret by withholding the source. There's nothing in
there that any reasonably determined and skilled person couldn't
have replicated by now. This move might take Piperka to wholly
new directions, or nothing much might happen. I'd be surprised
if it didn't change at least something, from my perspective. As
I said, I'm not including the database contents in this release.
I'll see how things will go from here first. Things like users'
data certainly shouldn't be disclosed, either, but the real
value in it is the index of over 4000 web comics' archives.
Creating an API for querying that is in the plans.

At least I know that I can't promise any monetary compensation
for whatever you might do with the source. I'm running the site
at a loss, as is. But you might get a better Piperka out of it.
I'm hoping that I'm not exposing any exploitable bugs with this.
I'd like it if you kept an eye out for those if you download the
source.

Lastly, I like to think that I'm doing the right thing, by
releasing the source. If you depend on using a web site, then
it'd be nice to be able to look at what it does. Even if you
never did so.