Re: [GSoC] Questions about DPAP implementation
- From: "W. Michael Petullo" <mike flyn org>
- To: Song Gao <song gao beta gmail com>
- Cc: f-spot-list gnome org
- Subject: Re: [GSoC] Questions about DPAP implementation
- Date: Wed, 6 Apr 2011 08:54:12 -0500
> I am interested in one of the Mono GSoC projects for F-Spot, aiming to
> implement a managed DPAP library, and I wish to apply to GSoC with this
> project. I have a few questions here:
> 1) It seems that DPAP is not an open protocol. I could not find any detailed
> document describing it. There's some document about Apple's services' ports
> usage, but it's far not sufficient to implement a library which is
> completely compatible with iPhoto. Do I need to analyze its network packets
> to acquire its details?
Libdmapsharing is a DMAP/DAAP/DPAP/DACP implementation written in C
(http://www.flyn.org/projects/libdmapsharing/). The project uses GNOME
Git and GNOME Bugzilla. I think libdmapsharing is a good basis for a
C# DPAP implementation. In fact, I included F-Spot DPAP support in the
GNOME Google Summer of Code project idea page. I am a Google Summer of
Code mentor and would be willing to sponsor such a project, assuming 1)
it has a solid proposal and 2) someone in the F-Spot community indicates
that they would be interested in a well-written DPAP patch. I don't have
any experience with C#, but am the primary maintainer of libdmapsharing.
> 2) There's a DPAP library in Perl written by Leon Brocard (
> http://search.cpan.org/~lbrocard/Net-DPAP-Client/lib/Net/DPAP/Client.pm). Is
> it a good way to derive from it? (Of course the DPAP API in mono should be
> designed similar in usage to the DAAP used for banshee.) However it does not
> support password-protected shares. Is it because that encrypted data is hard
> to analyze? Is encryption included in the plan of this Mono library?
Libdmapsharing is written in C using GObject. I think it would make a
good starting point for your project.
> 3) I found this in an Apple's mailing list:
> http://lists.apple.com/archives/bonjour-dev/2008/Jan/msg00022.html It seems
> that it is not allowed to implement DPAP independently from Apple, at least
> not allowed for commercial use. However, according to Mono GSoC rule, all of
> the code submitted must be contributed under the terms of the Apache 2.0
> License, and Apache 2.0 allows commercial use. Is this a conflict?
Libdmapsharing, dmapd, mt-daapd, the Perl code, etc. all implement
DMAP. Roku, who is the only vendor to actually license Apple's DAAP,
recommends using mt-daapd with their products (and Apple must be aware
of this). Libdmapsharing is licensed under the LGPL.
] [Thread Prev