Merging of Tomahawk-Integration into Amarok-Master

Dominik Schmidt domme at tomahawk-player.org
Sat Mar 30 02:20:49 UTC 2013


Am 29.03.2013 22:29, schrieb Lucas Lira Gomes:
> Hey,

Hey,

> I'm doing well to some extent. Thanks to ask. Hope you're well too.

Sure, better than ever ;-)

> But, unfortunately, I must say that I do not intend to integrate
> libtomahawk with Amarok anymore. Please, don't get me wrong. I'm not
> saying that all my GSoC work was in vain and that the confidence that
> everyone had in me was an error. In fact, I have been trying to separate
> libtomahawk from the rest of the Tomahawk code until the end of January.
> However, simple changes were demanding a huge effort. All that just to
> separate, because we still had to do a Macgyver on the database stuff.
> Having another database running just because a plugin required that is
> somewhat difficult to accept in the long run. All that made me feel
> really frustrated for a while, since I haven't met my expectations
> neither in Tomahawk nor in Amarok.

To be honest that really disappoints me:

I had always kept telling you that I was more than happy to help make 
libtomahawk a proper usable library and to work on that myself as well.
I know you had to fight the database stuff a lot. I see that one can 
dislike the second database.. STILL I'm convinced we were very open to 
compromises and offered/asked you *several* times to discuss what you're 
up to - in fact - I demanded you to talk more to me/us during GSoC ... 
you promised to do so in future and now once again you've been fiddling 
around on your own for months without discussion. I'm pretty sure if you 
told us that the second database approach certainly doesn't work you, we 
would have found a solution together...

Furthermore we told you that using the second database should be the 
first temporary step, so we can make sure everything is basically 
working first and you don't start with the most error prone part ...

> Going awol was probably a consequence of that problem. And the fact that
> I care about both communities made this situation bother me even more.
> So, after doing some serious thinking in January, I decided that
> integrating libtomahawk wasn't the right thing to do. I couldn't know at
> the very beginning of my GSoC how that would end and that obviously was
> a tough decision to make.

Once again: not communicating is the worst thing you can do - it's the 
best way to piss people off and make them think you took the money and 
now don't care for the project anymore ...

> Tomahawk is really full of great ideas and I completely understand why
> everybody insisted on the idea of using its code, since making
> everything from the scratch must be always our last card to play.
> Seriously, I'd learned a lot with all the design choices that were made.
> Resolvers, the protocol itself, the way that XMPP and its XEPs were used
> for peer discovery were simply outstanding ideas.

... and I'm still sure it's a terrible idea to reimplement all of this.

> But fear not, as a consequence of everything aforementioned I started to
> develop a new library, even though I knew that Domme was against this
> alternative, to do everything that was planned during my GSoC. I call it
> TPLib, but maybe I should change its name for something that resembles
> more its social features afterwards. In spite of that, I guess many of
> you are now asking yourselves why I haven't told anybody about that yet.
> Well, people tend to accept an ongoing work easier than just promises,
> as both Andy Hunt and David Thomas wisely pointed out in the Pragmatic
> Programmer.

As much as I'm against this in the long run, maybe it will help us 
determine where the problems in the libtomahawk API are and make it 
usable for you at last...

> And speaking of that, I believe that I owe everyone apologies.
> Especially, for you Domme. Your commitment as a mentor was exceptional.
> Your several emails, even after GSoC are a concrete proof of this.
> Tomahawk team, in my opinion, should be really proud of having a
> contributor with such great sense of community.

Thanks, the not so romantic view on this might be:

I was your mentor and let you pass the evaluations, if this doesn't make 
its way upstream I have to justify why ...  maybe not officially but at 
least to myself.

> To be honest, I still need at least three months for having it working
> as desired for a first release. Despite that, I've made all the stuff
> related to sources management, control connection, database sync
> connection and I'm polishing the stream connection stuff right now.
> Although the three connection types were almost done, I'm focusing on
> getting the part of having access to peers collections first. Along with
> units tests to validate my work. Right now, for instance, the library
> has something about 7000 lines of code, regardless of cmakelists and
> non-c++/qt related files.

I would have much preferred, if you merged your already finished work 
first and then worked on improving it (even if it was with your own 
library) ... currently it looks like you just vanished from the face of 
the earth after not completely finishing your project.

<snip>technical details</snip>

Will look at that some time next week after some exam.

> Apart from technicalities, I'm really enjoying the whole experience of
> building up a library from scratch. Up to now this has lead me to
> several improvements in my coding skills; from tests to API design. In a
> way that, TPLib will be a reflect of everything that these 2 years of
> floss and patient friends had taught me.

Certainly good to earn these experiences, I still hope your work can in 
one way or another be integrated back into libtomahawk at some point - 
who knows.

> Last but not least, I don't know if someone from our team still want to
> integrate tomahawklib with Amarok after all that was said in this email.
> Especially now that another GSoC is beginning. Otherwise, I can help
> clarifying what I had done.

I doubt anyone (including me) would want to see another 
Tomahawk-Amarok-GSoC-project right now for understandable reasons.. :-P


We (I'm speaking for the team here) are still convinced that using 
libtomahawk is the much better approach:
1) it will help you because you don't need to try to catch up with our 
development
2) it will help us improve our library for external usage.

Even if you go for your own library _we're still happy to cooperate_, 
but seriously - for one last time - you need to talk to us. Please show 
up on IRC from time to time or at least drop a line to welisten@, tell 
us what you're up to - otherwise we can't support or care for your 
library...


Best regards,
Domme


More information about the Amarok-devel mailing list