celix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dsh <daniel.hais...@gmail.com>
Subject Re: [Report] Apache Celix Hackathon
Date Thu, 11 Jul 2013 16:55:46 GMT
Hi Alexander,

On Thu, Jul 11, 2013 at 4:59 PM, Alexander Broekhuis

> Hi Daniel,
> >
> > Avahi is available on most if not all Linux distros and on BSD. Where
> > Bonjour is more or less OSX specific. That means both are complementary
> in
> > a way if you'd like to target Linux, Unix and OSX and thus your code base
> > must address this. AFAIK you are using CMake which could provide the
> > appropriate macros to allow building Celix against Avahi on Linux/Unix
> and
> > against Bonjour on OSX.
> >
> We don't think compiling is a problem at all, indeed CMake can handle this
> without a problem. But the actual problem has to do with licenses, the
> Avahi implementation uses the LGPL license, see [1]. And following [2] we
> can't link with Avahi. Since the Bonjour implementation uses the Apache
> License we decided to (by default) link against Bonjour. Bonjour compiles
> and works fine under Linux and also provides a Windows implementation (not
> yet tested).
But we do understand that Avahi makes more sense under Linux, so we already
> talked about some documentation about how to compile Celix/Remote Services
> with Avahi instead of Bonjour. Since Avahi has the Bonjour compatibility
> layer, we don't think this is a big/difficult problem. And as long as it is
> the user who does it, and not the default way of Celix, it shouldn't be a
> problem concerning licenses.

I think the point with Avahi is that it simply has the greater ecosystem in
terms of bindings and integration and of course it has a community. I am
not sure what the status of Bonjour is in this regards. But you are right,
if it's not possible to link against Avahi, it's probably not worth to
discuss that subject any longer.

Btw, linking does not mean that you would include or redistribute Avahi
material right? Instead Avahi is a prerequisite that must exist on the
system. It's up to the user to compile either against Avahi or Bonjour on
the respective system. You could as well provide a Celix DNS SD core
library and an additional one for both Bonjour and Avahi where the latter
would be distributed on a non ASF site if linking and redistributing such
binary artifacts is really prohibited. I guess that all depends on how
users are consuming Celix currently - mainly via source that they compile
on their own or via a binary download (preferably packaged for a particular
target OS).


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message