Hackers hacking on hackage: introductions

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: http://hackage.haskell.org/trac/hackage/wiki/HackageDB/2.0 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 help. 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. Duncan