Re: [Evolution-hackers] Camel no longer depends on libedataserver
- From: Chenthill <pchenthill gmail com>
- To: Matthew Barnes <mbarnes redhat com>
- Cc: evolution-hackers gnome org
- Subject: Re: [Evolution-hackers] Camel no longer depends on libedataserver
- Date: Fri, 18 Nov 2011 10:22:04 +0530
On Wed, 2011-11-16 at 15:38 -0500, Matthew Barnes wrote:
> On Mon, 2011-11-14 at 23:33 -0500, Matthew Barnes wrote:
> > There is no longer any _technical_ reason why Camel needs to be bundled
> > in the evolution-data-server module. I DO intend to split Camel off at
> > some point, but not yet. Parts of its API are still a complete mess and
> > I'd like to give them some attention and also reach some semblance of
> > API stability for the library as a whole. We're not there yet.
>
> Chen asked me in the IRC meeting today [1] to clarify my position on
> splitting off Camel.
>
> My vision for Camel is simply for it to be a nicely crafted, reusable,
> well-documented mail client library with tight GIO integration. I do
> believe that's in line with what it was intended for all along.
>
> But as long as it stays arbitrarily bundled in E-D-S it's not really
> reusable. Any project looking to use such a library would be scared
> away by having to drag in E-D-S for no reason. And I want Camel to
> be a viable choice. [2]
>
> Picking up just one additional user besides Evolution, like perhaps
> something from the XFCE or LXDE projects, would be really healthy for
> Camel. It would demonstrate that Camel _is_ reusable. It would force
> us to consider other users of Camel before making changes. That's a
> good thing. It's a sign of library maturity.
>
> Camel is a base library for E-D-S. Always has been, for as long as I've
> been around anyway. We already treat it as a base library. Splitting
> Camel out of the E-D-S git repo would have minimal impact. In concrete
> terms, it would involve moving the "camel" source directory, its API
> docs, and some autoconf goo to a separate git repo. Then we would start
> releasing Camel tarballs. That's it. Aside from maybe some pkg-config
> tweaks there would be ZERO impact to Evolution or the extension modules.
>
> [It occurred to me that we would first need to give Camel the ability to
> load provider modules from both built-in and custom directories, so the
> evo-specific providers stay evo-specific. IMAPX, POP, SMTP, etc. would
> move perhaps to /usr/lib/camel/providers; but MAPI, EWS, GroupWise, etc.
> would stay where they are. Perhaps that's where the resistance is
> coming from? That's an easy fix.]
>
> Let me emphasize again that Camel is not yet ready to be split off from
> E-D-S. This is a long term goal, and in fact I've been nudging Camel in
> this direction for years. Porting Camel to GObject, sealing up object
> structures, moving to a single-include paradigm like GTK+ did, adding an
> asynchronous API, keeping its API docs up-to-date, and now severing its
> libedataserver dependency... all done in the service of molding Camel
> into a standalone GLib-based mail library.
>
> I think an actual split is probably a year or two out yet, at least.
> Splitting off Camel now would create API stability expectations that I'm
> not ready to meet. Parts of Camel's API still need a lot of love, and
> sheltering the library in the E-D-S repo for the time being gives us
> cover to break the API to fix it, until everything is hammered into
> shape and nicely polished. Camel is still "in the shop", so to speak.
>
> I view the split as just a logical step in Camel's path to maturity, so
> I was a bit taken aback by the resistance expressed. Hopefully I've now
> clarified myself.
Thanks for a detailed explanation. Rather than calling resistance, i
would say everyone wanted a clarity :) My concern is that, the above
stated reasoning would hold good for libebook and libecal as well. But I
think it might be too early to discuss this, later.
Thanks, Chenthill.
>
> Matthew Barnes
>
>
> [1] http://projects.gnome.org/evolution/meeting-logs/2011-11-16.shtml
>
> [2] Some distros like Debian already package Camel as a standalone
> library. "apt-get install libcamel-1.2-23" Perhaps the point
> to all my rambling is it should be packaged this way UPSTREAM
> too.
>
>
> _______________________________________________
> evolution-hackers mailing list
> evolution-hackers gnome org
> To change your list options or unsubscribe, visit ...
> http://mail.gnome.org/mailman/listinfo/evolution-hackers
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]