On Mon, Feb 14, 2000 at 01:23:38AM -0500, Gerald Oskoboiny wrote:
> sourceXchange is a site that links open source software developers
> with paying development projects. The blurb on their home page says:
:
> I signed up for an account there a while ago out of general
> interest in the open source community; I don't have much interest
> in finding extra work or whatever.
>
> On Friday I got mail from them titled "new RFPs on sourceXchange",
> and one of the projects (included below) is basically identical
> to what my HURL software aspires to be, and pays $15k USD!
So I submitted a proposal just now, included below.
I guess its acceptance will depend how strongly he feels about
it being done with servlets and WebMacro, and what else was
submitted. We'll see...
>
http://www.sourceXchange.com/RfpBrowse?Button=Details&rfpID=18
>
> > Project Title: Java servlet- and WebMacro-based browser for Unix
> > mbox-format mail archives
My proposal:
First a few words on my background:
I wrote something very similar to this in 1994, and have
maintained a few archives using that code since then.
(actually, they've pretty much maintained themselves. :)
But I've been rewriting this code in my head for the last few
years, and recently started writing it from scratch based on
what I've learned since my first implementation.
Notes on this project are here:
http://impressive.net/software/hurl/
http://impressive.net/software/hurl/design/
My proposal is to implement this in Perl, using Berkeley DB for
the indexes, and some kind of template system, but I'm not sure
which one yet. (possibly using the Text::Template perl module,
PHP, WebMacro, or some simple home-grown language; in any case,
it should be simple enough for non-programmers to edit.)
I'm interested in doing whatever it takes to make it able to run
hundreds of archives (totalling millions of messages) on a low-
to medium-end server machine (worth say $2000 USD) while being
fast enough to feel "quick" to the end user.
My code would handle berkeley mboxes and MH files as the
underlying (read-only) archives. (and probably usenet news
archives, too, since they're pretty much the same.)
I plan to make it run efficiently by calculating and storing the
most frequently-accessed data in the berkeley DB index files and
by caching query results and any other data that can be reused.
It would have built-in header searching (for arbitrary headers,
configurable by the administrator), but no full-text searching.
The generated pages will be indexable by external software, however.
I guess this design is a bit different than servlets and webmacro,
but I think we have pretty much identical goals for the software.
(actually, I wasn't even looking for extra work, but when I read the
RFP I figured I should apply for it since I'm going to be writing
that code anyway ;)
One potential obstacle is that I'm a Canadian citizen living and
working in the States on a visa, and I need to find out what the
rules are about making extra income aside from my day job while
I'm on this visa.
Deliverables: (Project components and functionality)
- Implementation plan
- Templates/sample config files
- Perl and bourne shell code to build the indexes and provide
an interactive web interface to them
- Documentation on how to set up and use this toolset
Milestones: (Components, functionality and completion dates)
1. Implementation plan:
due: start+2 weeks
compensation: 10% of total
2. First round of indexer/interface code and config files,
with several sample archives online, public review starts:
due: start+8 weeks
compensation: 40% more, 50% of total
3. Second round of code, incorporating feedback,
adding MIME and template support:
due: start+14 weeks
compensation: 30% more, 80% of total
4. Third round of code, incorporating feedback,
performance tuning
due: start+18 weeks
compensation: 10% more, 90% of total
5. Documentation, final touches based on feedback:
due: start+22 weeks
compensation: 10% more, 100% of total
Cash Compensation:
$15000 USD
Non-Cash Compensation: (Equipment, services, etc.)
None
Cash Equivalent:
None
Estimated Duration:
22 weeks
License:
BSD
--
Gerald Oskoboiny <gerald@impressive.net>
http://impressive.net/people/gerald/