Re: Proposed future for Tracker - Smaller modules
- From: Martyn Russell <martyn lanedo com>
- To: Matthias Clasen <matthias clasen gmail com>
- Cc: Desktop Devel <desktop-devel-list gnome org>, Tracker mailing list <tracker-list gnome org>
- Subject: Re: Proposed future for Tracker - Smaller modules
- Date: Mon, 08 Sep 2014 14:26:17 +0100
On 08/09/14 12:30, Matthias Clasen wrote:
On Mon, Sep 8, 2014 at 6:34 AM, Martyn Russell <martyn lanedo com> wrote:
What is the goal?
-----------------
What I would like to achieve is:
1. Make it easier to build just what's needed (e.g. just
tracker-store), i.e. more modular.
2. Make development and maintenance easier by moving components to
their own projects so development can be focused
3. Make a clear distinction between *core* functionality and "nice to
have stuff".
4. I would like to unify the command line utilities a bit more
similarly to how git operates, so instead of 'tracker-control -r',
'tracker control -r', etc.
But is it worth the downside ?
Good question.
- x times as much configure goo
I'm not so worried about the configure stuff, actually, I would like to
have simpler files to work with :) the current configure script for
Tracker is quite long.
- 2^x new module-module interfaces
I agree with you on this one.
- plenty of new opportunities for version skew and build breakage
So I mentioned a lot of reasons which are more personally related since
I'm building and maintaining the project a lot. Let me expand a little...
5. The pace of development for some modules is quite different to others:
$ git log --oneline --since=1.year src/tracker-store | wc -l
8
$ git log --oneline --since=1.year src/libtracker-miner | wc -l
127
Some places have no changes for a while now ...
6. Some use cases for Tracker are limited to a headless system where
only the store is required, this makes half of the code base completely
irrelevant. An example here is embedded cases like set top boxes.
Companies could avoid patching OR building dependencies they're not
going to use or don't want to use anyway making their footprint smaller too.
7. If I want to use a new feature as a developer working with Tracker, I
should be able to build the module with that feature (e.g.
libtracker-sparql) and not ALL of tracker. I guess this is related to
your version fragmentation, but there are advantages too, like micro or
regular releases for each component. I had an example like this the
other day where I wanted to use the ontology from one branch but the
binaries from another to test a bug.
Generally, I don't think it's a good idea to have huge modules (I did
for a while) and that's one of the reasons I split out libmediaart, the
code there (however crap at the moment), doesn't really change that
often either and I can fix that independently and easily.
I am happy to listen to the community and decide based on input
received, after all you guys are using Tracker and building it :)
Thanks Matthias,
--
Regards,
Martyn
Founder & Director @ Lanedo GmbH.
http://www.linkedin.com/in/martynrussell
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]