future of OfflineIMAP [long]

Nicolas Sebrecht nicolas.s-dev at laposte.net
Thu Jul 19 21:19:17 BST 2012

Hi all,

First of all, sorry for this long mail.

I have to face to reality: currently I'm busy and I can't do much more,
sadly. And I'm pretty sure that Sebastian is in a similar situation.

I think I have to be honest. Maintaining OfflineIMAP like I (and
Sebastian just after me) did looks compromised. But I would be really
sad to announce that OfflineIMAP is discontinued, AGAIN.

I've passed the last few mounths at tracking the mailing list for news
and to keep aware of the activity around OfflineIMAP.  The good news is
that we had developers sending patches, patches review, users testing
software, regular contributors discussing about issues, etc. The main
role we are missing is for maintenance tasks in a regular basis.

I wonder if we could take a turn for maintenance and make all these
contributions more valuable for the project.

So, here is the idea that I have in mind: have more dispatched
maintenance tasks with more official contributors. The idea would be to
have contributors more involved in development and release cycles.

IOW, the more valuable contributions we have ― each contributor doing a
few things ― the more we could still have OfflineIMAP supported. 

Here are some roles I'm thinking about:
- official and unofficial developers sending patches;
- official trusted maintainers (working in rotation?) to review and
  perhaps merge the patches;
- official testers validating patches for releases;
- one main official maintainer blindly pulling from trusted maintainers
  and doing the releases that contributors suggest.

Of course, such workflow would ask an isssue tracker.

Another thing: I suspect some people don't contribute much because of
the work and knowledge it asks.

If contribution were easy, I mean VERY easy, say without even the need
to run git any command, would you contribute from time to time?

If so, maybe it would be of interest to write little scripts to make
each task easier. For example, by role we could have:

- ./contrib/patch.py: auto-magically commit changes, ask for a comment,
  export patch and send it to the mailing list (or send a git pull
  request, or even better, send changes to topic branches in the official

- ./contrib/merge_patches.py: auto-magically fetch requested patches and
  merge them in the correct branch and push result to the official

- ./contrib/test.py: fetch last WIP or last RC and start testing.

- ./contrib/release.py: fetch contributions from the current trusted
  maintainer, auto-magically make a new release, update official
  repository and make announce.

- ./contrib/announce.py: let each trusted contributor send announces.

I could start to write such scripts and prepare an announce for that if
you think it worth.

Also, what about improving documentation for contributors?

What to you think?

Nicolas Sebrecht

More information about the OfflineIMAP-project mailing list