<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<title>Redland librdf RDF API Library - Frequently Asked Questions (FAQs)</title>
<h1>Redland librdf RDF API Library - Frequently Asked Questions (FAQs)</h1>
<li>What is the license?
<a href="http://www.gnu.org/philosophy/free-sw.html">Free Software</a>,
<a href="http://www.opensource.org/">Open Source</a> if you prefer.
<li>Why is the code released under two licenses - LGPL and Apache 2?
<p>I originally considered solely a GPL version of the library but
this was too restrictive, hence the LGPL version. LGPL also
allows the user, at their choice, to license the software under the
GPL (See LGPL Term 3) in which case this software can also be used
with all the other GPLed code -- see next answer.</p>
<p>As an alternative, the entire library can be used under the terms
<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>
which allows you use the library in most situations.</p>
<li>Can I link this library with code under license XXX?
<p>Firstly, I am not a lawyer, so seek your own legal advice if you
care about it seriously. However, here is an overview of how you
can use this software:</p>
<li>If you choose the LGPL/GPL licenses, the <a href="http://www.gnu.org/philosophy/license-list.html">GNU project list of licenses page</a> says that you can link the following licensed software with the code:<br />
and <b>not</b> these types:<br />
Affero, Arphic, original BSD, Original BSD, AFL 1.1, OSL 1.0, Apache 1.0, Apache 1.1, Zope V1, xinetd, Python 1.6b1+ and 2.0 and 2.1, OpenLDAP V2.3, Vim 5.7, IBM PL 1.0, Phorum V1.2, LaTeX (LPPL), MPL, NOSL 1.0, Interbase 1.0, Sun PL, Nokia OSL, Netscape PL, Jabber OSL 1.0, Sun ISSL 1.0, QPL 1.0, Freetype License, PHP License, Zend License<br />
check the link above for updates, since the above is not a definitive
<li>If you choose Apache 2.0, you should be able to
link with most anything. There is presently a
debate on whether the (L)GPL2 is compatible with Apache 2.0
(FSF says no, ASF says yes) so when linking with LGPL or GPLed
code it makes sense to pick either of the LGPL or GPL licenses.</li>
<li>Why is Redland written in C?
<p>Writing in C allows reuse in lots of ways and the library should
be easy to call from languages since most of them allow importing of
C libraries or calling of C functions.</p>
<p>C is also more "portable" (subject to the usual C problems) and
should be compilable on many different systems. I have access to
and have built it on (at various times):</p>
<p>Redhat 7-9, RHEL 4, 5; Fedora Core 9-13, Gentoo ~ 2007-2009,
Debian 3.0/unstable GNU/Linux (x86); Ubuntu 'D' - 'J' 9.04; Solaris
2.5, 7-9 (Sparc); Open SOlaris 10 (Intel); OSX 10.2-10.4 (PPC); OSX
10.4-10.6 (intel); Debian GNU/Linux (DEC Alpha); FreeBSD 4.7-4.9
(x86); HP-UX 10, OpenBSD, NetBSD and more more.</p>
<p>it configured, built and tested out of the box on all of these (C
interface; the other language APIs depend on the particular support
of each OS).</p>
<p>See also the W3C Library note on
<a href="http://www.w3.org/Library/User/Style/Cpp.html">C++ in C</a>
which covers some of these issues, although I wrote the library before
<li>Why is it called Redland?
<p>Well, librdf was too boring <tt>:)</tt>! When I originally
created it, I worked for
the <a href="http://www.bristol.ac.uk/">University of Bristol</a>
and lived in the <em>Redland</em> area of Bristol which has an 'R' and a 'D'
in the name. Plus I couldn't find a decent word with the letters 'RDF'
in it. Years later I realised there's an area of Bristol called
Redcliffe, but that opportunity has passed.</p>
<p>No. It is named after Redland which is a region of Bristol, UK.
Not related to an area near Los Angeles, California, USA.</p>
<p>No. It is named after Redland which is a region of Bristol, UK.
Not related to an area near Seattle, Washington State, USA.</p>
<li>Where is the <em>LANG</em> higher-level language interface?
<p>Redland provides multiple higher-leval language interfaces
via <a href="http://www.swig.org/">SWIG</a>. If SWIG does another
language you want and supports it, you should be able to build one
yourself relatively easily, following the existing scheme.</p>
<li>Does it support an RDF query language?<br />
<p>Yes. <a href="http://librdf.org/rasqal/">Rasqal</a>
provides query language syntax, formatting and execution of both
SPARQL 1.0 and RDQL.
<li>Does it run on MS Windows?<br />
<p>Yes, from reports others have had success compiling the Redland
libraries for win32. As of Redland 1.0.0 there are packaged pre-built
DLLs for redland available from the
<a href="http://download.librdf.org/binaries/win32/">download site</a>,
including some language bindings.
<p>With respect to portability and "unix"-isms in the code, they are
flagged in comments and only related to file name handling and maybe in
creating temporary files. Raptor's URI module handles win32
file URI combinations which have been working for win32 users.</p>
<p>The Redland libraries all build under the <a
href="http://cygwin.com/">Cygwin</a> environment relatively easily
using the standard configure and make system.
<li>Does it run on Apple OSX?<br />
<p>Yes but may need some development libraries and headers from
MacPorts or Fink.</p>
<li>Redland and Raptor - what are they?<br />
<p><a href="http://librdf.org/">Redland</a> is the
RDF library written in C and including several high-level language
APIs providing RDF manipulation and storage. Redland requires Raptor
and cannot be used without it since it uses URI and WWW retrieval
parts even if no parsing is being performed. The Redland sources
currently include Raptor, although this may change.</p>
<p><a href="http://librdf.org/raptor/">Raptor</a> is the
RDF parser library written in C dealing with reading RDF/XML and N-Triples
syntaxes (more eventually) into RDF triples. It is an entirely
standalone and separate library from Redland, developed and released
on a different schedule.</p>
<p>The <strong>R</strong>DF <strong>S</strong>yntax and <strong>Q</strong>uery <strong>L</strong>ibrary for Redland,
pronounced "rascal" - thanks to Phil McCarthy for the name.
You can also blame
<a href="http://www.talklikeapirate.com/">Talk Like a Pirate Day</a>
<a href="htthttp://www.imdb.com/title/tt0325980/">Pirates of the Caribbean -- The Curse of The Black Pearl</a> (2003). Arrrr!
<li>Why was the license changed from LGPL/MPL to LGPL/Apache?<br />
<p>I outlined my reasons in my
<a href="http://lists.usefulinc.com/pipermail/redland-dev/2004-August/000607.html">message to redland-dev</a> 2004-08-27:
<p>In my opinion, the MPL isn't very widely used - it is mostly used by
the Mozilla project for the browser and it's components. It is based
in US law and rather long(*). This means there is a cost in
evaluating it, so people tend to use Redland's LGPL/GPL terms since
they are one of the most used licenses.</p>
<p>The Apache 2.0 license has had widespread and detailed
consideration including issues with international law. It is a
modern license, clear to read and easy to apply. All the Apache
Software Foundation (ASF) projects either use it or will be switching
to it, and there are lots of similarly licensed BSD-style work that
are compatible. It provides good terms for commercial users,
requiring just acknowledgement notices. I've not written the notices
I'd use for Redland yet.</p>
<p>I think anyone who was using the Redland libraries under the MPL will
be fine with the Apache 2.0 license. Of the commercial users I am
aware of, they are using the libraries under the LGPL so this
shouldn't affect them, or even be beneficial.</p>
<p>So why not Apache 2.0 alone? There is still a dispute if it is
compatible with the GPL, and until the FSF and the ASF both agree
that they are compatible, I will be including explicit GPL
compatibility by using the LGPL 2.1.</p>
<p>(*) Yes so is the GPL/LGPL, but they are very common and familiar.</p>
<p>Copyright (C) 2000-2013 <a href="http://www.dajobe.org/">Dave Beckett</a><br />Copyright (C) 2000-2004, <a href="http://www.bristol.ac.uk/">University of Bristol</a></p>