Hackers hacking on hackage: introductions

Duncan Coutts duncan.coutts at googlemail.com
Fri Oct 7 12:07:07 CEST 2011

Hi all,

I'm very pleased to say that recently we've had a number of developers
express an interest in helping with the new hackage server, some at the
recent hackathons (HacPDX-II, CamHac) and some after my plea for help at
the recent Haskell Symposium.

I've tried to encourage everyone who's contacted me with some interest
to get onto this mailing list [1] and to talk to each other (not just to
me). By having everyone aware of each other and talking to each other we
can give each other encouragement and advice, code review etc.

[1]: http://www.haskell.org/mailman/listinfo/cabal-devel

I'll quickly outline some resources for getting started and then do some
quick introductions to let everyone know who's indicated they're
interested in looking at hackage.

Hacker resources

Firstly, the wiki is getting into reasonable shape:


It has a quickstart hacking guide with links to the darcs repo. The
first thing is to try getting it working on your machine then check the
TODO file and the todo lists on the wiki. Our initial priority is things
needed to get a public server running in parallel with live mirroring. I
can give more details on this.

People working on hackage

Since I'm introducing people, I'll start with myself...

I'm not really the maintainer of the new hackage-server, but since
nobody else is yet then I sort-of get stuck with that role. The current
design of the new codebase is partly my fault (but in a good way, I
think it's a reasonable design). I supervised Matt Gruen last year on
his GSoC project who did most of the actual hard work of coding. I have
actually been hacking on the codebase myself in recent months, partly at
the various hackathons. My involvement is almost entirely in a volunteer
capacity, though currently I'm doing a little work on the mirroring side
of things for one of the members of the IHG.

Matthew Gruen as I mentioned above did his GSoC project on the
hackage-server last summer, so the much of the existing code is due to
him, in particular the implementation of the resource and dynamic path
stuff, plus many of the Features.* modules. Matt has occasionally been
able to help out in the last year, in particular he gave us lots of help
during the HacPDX-II hackathon a couple months ago.

Max Bolingbroke accosted me after my brief talk at the Haskell Symposium
and asked what needed to be done to get the new hackage stuff going. As
you can see he's already sent in patches for a new documentation build
bot. The new server design involves the server being mostly a passive
store of data and calls for specialised clients to do things like
building documentation and uploading it. Max doesn't know it yet, but
he's already got a commit bit on the source repo. I guess he knows now.

David Terei also grabbed me at the Haskell Symposium and is keen to

David Laing contacted me today and is looking for a bigger project than
his previous personal side projects. So please help answer his questions
and point him in the right direction. And if you want a helper, he might
be the person to ask

Erik Hesselink is running a hackage server instance internally at his
company and is keen to get it more feature complete.

Ben Millwood was at CamHac and wrote a number of patches.

Stefan Wehr was also at CamHac and did some work on providing access to
package changelog files within the package tarballs (via serving the
contents of the package tarball). I don't know if Stefan has time to
finish this off, but it's a great feature to have.

Thomas DuBuisson organised the HacPDX-II hackathon and was keen to have
the new hackage server be a focal point of the hackathon. In fact this
is what really got the ball rolling again. Thomas also wrote some
patches to clean up the package tags feature.

David Lazar was also at HacPDX-II and made a number of cleanup patches
and fixed some things to do with package deprecation.

Jeremy Shaw took part in HacPDX-II and sent us a couple big patches to
bring us up to the latest happstack version and switch us from
happstack-state to the newer nicer acid-state. Jeremy is a good person
to ask about happstack issues.

Antoine Latter has made several contributions over the last couple
years, including various tricky issues with HTTP.

Conrad Parker is keen to see the new server get going. He also wants to
deploy it at his company. He's got lots of design ideas for how it
should work, and the relation between the package repositories and the
cabal clients.

Last, but not least, is of course Ross Paterson. Ross wrote the current
hackage-scripts which is behind the current hackage.haskell.org site and
he has maintained and improved it over the last five years. While people
like me have been fussing over new server design ideas, Ross' site has
actually been working and has coped with growth from a handful to
thousands of packages and hoards of users.

No doubt I'm forgetting some people, apologies. Whether I mentioned you,
forgot, or didn't even know, do please send a follow-up to introduce
yourself and let everyone else know what you're interested in and/or how
you're willing to help.

BTW, while I've suggested to people that they darcs send their patches
to this list for review, I don't want to stand in the way of patches
getting in. I'm certainly not the only person who can review. I will be
handing out commit bits to ensure that we don't have a bottleneck. Of
course reviewing other people's patches and commenting on the approach
is very valuable. It makes it much easier for someone with a commit bit
to push it in if it's been positively reviewed by one or two people.


More information about the cabal-devel mailing list