[Pkg-utopia-maintainers] How to determine the license of D-Bus interface spec files (XML)?

Simon McVittie smcv at debian.org
Mon Mar 19 09:38:48 UTC 2018


The usual term of art for the D-Bus interface descriptions you're talking
about here is "introspection XML".

On Mon, 19 Mar 2018 at 16:09:02 +0800, Boyuan Yang wrote:
> * Vala source code files are generated from D-Bus interface spec files
> (XML format) using "vala-dbus-binding-tool" (exist in Debian Archive)
> * Some of XML spec files are generated using "dbus-send" tool (exist
> in Debian Archive)

dbus-send doesn't "generate" anything. It sends a message and prints
the reponse. Saying that dbus-send generates introspection XML is like
saying that wget generates the content of a web page.

Depending on the service you're using as the destination in your
dbus-send request, the introspection XML might either have been copied
from the source code into the service binary as a large string literal, or
constructed on-demand from data structures like GLib's GDBusInterfaceInfo.
I've seen both approaches used.

> * Other XML files are copied from Freedesktop.org website [4] and gnome-shell
> source code

> Now, here is the problem: contents in fd.o website has no licensing
> information. I asked (daniels) at irc #freedesktop and the person said
> that the status quo is "undefined" and it is not likely to change in
> near future.

If a particular freedesktop.org specification (in your case the File
Manager interface) doesn't have copyright/licensing information at its
upstream source, the only people who can give you that information are
the authors of that specification. The fact that a specification is
hosted on freedesktop.org isn't really any more significant here than
the fact that something else is hosted on Github.

> However, I'm not sure about the license of D-Bus interface itself as
> well as the XML file that describes such interface.

There is no single required license for D-Bus introspection XML, in the
same way that there is no single required license for C source code.

The org.freedesktop.DBus interface is defined by the D-Bus Specification
and its reference implementation "dbus", which are both available
under a dual-license: GPL-2.0 or any later version, or AFL-2.1 (see
/usr/share/doc/dbus/copyright); so the most restrictive terms that could
possibly be applied are that dual license.

The freedesktop.org File Manager interface is presumably defined by some
freedesktop.org specification: you know as much about this one as I do.

The org.gnome.Shell Screencast interface is presumably defined by GNOME
Shell and released under the same licensing terms as the rest of Shell.

> Anyway, it is an interface, not any concrete implementation.

I am not a lawyer, but I suspect that a bare interface description without
documentation, like
<https://github.com/phw/peek/blob/master/src/dbus/org.freedesktop.DBus.xml> and
<https://github.com/phw/peek/blob/master/src/dbus/org.freedesktop.FileManager1.xml>,
might be considered to be sufficiently un-creative that it is not
protected by copyright: it's a purely functional description of what
is necessary to interoperate with a fd.o file manager.

An interface description that contains comments/documentation should
probably be treated like source code, though. Ideally the upstream
developers of GNOME Shell would put copyright/licensing information in
their introspection XML just like they should for any other source code.

> P.S. I'm asking this question looking for an answer to make sure that
> this package won't get rejected during the NEW process by ftp-masters
> due to licensing problems.

Only the ftp team can tell you whether they would accept or reject a
package and why. The debian-legal mailing list has no authority over
the ftp team.

    smcv



More information about the Pkg-utopia-maintainers mailing list