I need help on a short-term contract. The main need is for an expert Python and Python/C extension developer, but also, if possible, in XML. Strong systems experience is a good idea as they'd be dealing with multi-process (forking) servers. The contract would be short term at first, but could probably extend to a longer-term, low-burn (evenings and occasional weekend time) contract to support the open source project, if things go well.
Overview
The primary tasks (more than three quarters of the expected work) is open source development, enhancement and testing of these projects:
Amara 2.x -- core XML parsing, tree operations, and many utilities related to XPath are in C (including integration with the expat parser). Unfortunately the CPython code was developed by Jeremy Kloth, who is not immediately available to help accelerate familiarization with the code. Fair warning that some of the code is brain-bending.
Akara -- foundation is a rock-solid, multi-process (forking) WSGI server.
There is also be some client-oriented development on a project for the U.S. Library of Congress, which may or may not be open source, and there is a small amount of closed-source work as well.
I am open to how this work will be structured. I will freely admit to limited resources. The payor, Zepheira, is a small, boutique consulting firm, with only a limited subcontractor budget for this project. I'm hoping it will make it more attractive that most of the work will end up being open-source, and that the relevant projects are already very well proven, and should be an excellent basis for further work by any partners (i.e. subcontractors).
I think the likely options are:
- Bounty approach -- the partner chooses one or more of the available tasks and bids a fixed amount for completing it.
- Traditional "time and materials" subcontracting arrangement (really just time as the we probably won't have budget for materials), going through unclaimed tasks according to order of priority
Work arrangements
Note: I have avoided posting this to Python-Jobs because I don't have the time to administer a high volume of respondents. I'm trying to find the best help through my network, based on references from people I trust. But for completeness, here is some standard jobs board information.
Name of hiring company: Zepheira (not an agency)
- Project lead is in Boulder, Colorado, USA. Other contributors are geographically distributed. I am well prepared for the partners to be remote. All I need is good responsiveness and frequent contact as relating to status updates, planning, code review, and collaboration.
- Short descriptions of position, requirements, and company: elsewhere in this document
- What your company or client uses Python for: elsewhere in this document
E-mail contact: uche@ogbuji.net
Other contact info Jabber or e-mail at uche.ogbuji@gmail.com
Note there is a Jabber channel for Amara/Akara at 4suite@conference.jabber.org
Any partners will be working primarily with me, the project lead, and will also collaborate with others including:
- Eric Miller (formerly of the W3C) and other Zepheira partners
- Dave Feeney, a Zepheira senior developer
- Luis Miguel Morillas and other contributors-at-large to Amara and Akara
- Jeremy Kloth, a core developer on Amara and Akara. For personal reasons Jeremy is presently incommunicado, and this is what's brought about the need for additional help. If Jeremy becomes available in time, he will be a close pair programmer, but I will still continue to engage additional help as much as possible.
Interaction with the Amara and Akara communities, by mailing list and otherwise, will be strongly encouraged.
Outline of initial tasks
[I'll be updating this preliminary list over the next few days]
In rough, descending order of priority
Code review, quality enhancements (modest, I expect), and internal documentation of the XML parser and tree API engine, and related code. Starting point: http://hg.4suite.org/amara/trunk/file/tip/amara/src
Expansion of test suite of Amara 2.x. Starting point: http://hg.4suite.org/amara/trunk/file/tip/amara/src
- Package of known bug fixes for Amara 2.x
- [Luis, here is a good place to put pointers to any Trac tickets you create, based on discussion]
Release management for Amara 2.0a2 and 2.0a3. Some release planning here
- Complete implementation of "Web triggers" for Akara, which allow one HTTP request to trigger another (like hooks or DB triggers)
- A 3-day on-site session at Cleveland Clinic to port their system that currently uses 4Suite to use Akara instead
- [Luis, any other tasks you can think of?]
About the project lead
I think that considering the caliber of person I need for this, and the relatively modest resources I'll have available, it's important that I present myself as a worthy partner.
I've been involved with the Python community since 1997, though I've been fairly quiet for the past 5-6 years. I'm member of the PSF, and I co-founded Fourthought, Inc., which heavily contributed to many of the original XML and Web tools for Python. My business is consulting, and my approach has always been to find ways to incorporate contributions back to open source in projects. That is still the case as I'm now co-founder of Zepheira.
See also:
