Complete.Org: Mailing Lists: Archives: offlineimap: July 2003:
Re: Direction comments
Home

Re: Direction comments

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Jared Rhine <jared@xxxxxxxxxxx>
Cc: offlineimap@xxxxxxxxxxxx
Subject: Re: Direction comments
From: John Goerzen <jgoerzen@xxxxxxxxxxxx>
Date: Fri, 25 Jul 2003 21:23:22 -0500

On Fri, Jul 25, 2003 at 05:08:13PM -0700, Jared Rhine wrote:
> Some comments on my perspective on the direction of offlineimap.
> These are phrased in "command form" language, but of course they are
> only suggestions, each of which is fraught with peril.

Well at least we're taking risks then :-)

> 1. Stick with python.  Switching to another language might very well

Done.  I have spent a lot of time looking at Twisted tonight and I think it
looks like a very promising way to go.  Plus it's new to me, which means
exciting :-)

Java was sort of a "gee, looks like I may have to use that because Python
doesn't have the threading I need" rather than "wouldn't it be cool to use
Java" anyway.  Not a first choice by any means.  I like Python.

Twisted happens to have redefined the problem so I don't need that
threading.  I always like it when somebody can totally shake up the way I
look at something, and they definately have done that.

> 2. Switch to a multi-process model using IPC.  Ala postfix or qmail.

That's something I had considered, too; however, I don't think it would work
so well for us because the model here is not quite so easily broken up into
that sort of bite-sized chunk.  It doesn't magically solve the threading
problem either; they use fork(), I use clone() -- it's gotta go one way or
the other, and it's gotta *all* be one way or the other, because threading
and fork() mix rather poorly I've seen.

> 3. Break the GUI out of the main codebase.  The GUI is not (or should
>    not be) core to the functioning of the application.  And I bet
>    fewer people use it (them!) than you might think.

OK, but I use it, so I'll be maintaing it anyway, and it's more work to
split it out.  It will stay modularized, though, so people that don't want
it can continue to pretend it doesn't exist.

I *don't* use it on my laptop because it leaks memory.  Hence the wxPython
:-)

> 4. Lower expectations of additional coding help.  Open source is
>    "personal requirement" driven; I have no desire to contribute to
>    offlineimap because it works perfectly for me.  There would have to

I think the problem here is not people like you for whom it works great, but
people for whom it doesn't and want me to fix it.  I feel bad that
OfflineIMAP doesn't work well for some while others have been enjoying it
for awhile, and I want to help them, but I just don't have the time to do
that.

I'm fine with it if I remain the person doing most of the work.  I think it
would be better if there are more people working on it, and I want to
encourage people to do so because I think it will make OfflineIMAP better. 
But I'm fine if nobody else wants to.

Part of the reason I've been asking about that here is that I know there are
people here that can code, and the answers make a lot of sense: "it works
for me" is an answer that I can completely identify with, and is the reason
that, for instance, I'm not a gcc hacker.  I use the app every day, it's
vital, they need help, but darn it -- it works fine :-)

OfflineIMAP owes its very existance to the fact that I finally got pissed
off at the state of mail reading and decided to do something.

So, basically what I'm saying is, I'm glad to have the answers I do, rather
than "John, you are a pretentious loser and a crap maintainer and nobody
writes code because you suck" sort of thing.  Which you never know, maybe I
am, but at least it's not keeping people away :-)

> 5. Go ahead and dive into a rewritten IMAP library; it's clear you
>    kind of want to :)  And the python community will thank you, sounds
>    like.

Yeah, Yapps2 was fun, but the Twisted people already have one, so if that
works for us, there will be no need :-)


[Prev in Thread] Current Thread [Next in Thread]