# Redland RDF Application Framework - Frequently Asked Questions (FAQs)

1. What is the license?

   Redland is Free Software, or Open Source if you prefer.

2. Why is the code released under two licenses - LGPL and MPL?

   I originally considered just a GPL version of the library but I considered this 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.

   As an alternative, the entire library can be used under the terms of the Mozilla Public License V1.1 which allow you use it in other ways that aren't so virus-y (ahem) as the (L)GPL.

3. Can I link this library with code under license XXX?

   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:

   - If you choose the LGPL/GPL licenses, the GNU project list of licenses page says that you can link the following licensed software with the code:
     GPLed, LGPLed, Guile, GNU Ada, X11, Expat, Standard ML of NJ, Cryptix, modified BSD, zlib,iMatrix, W3C, Berkeley/Sleepycat Database, OpenLDAP, Python 1.6a2 earlier, Python 2.0.1,2.1.1 and later, Perl (as GPL), Clarified Artistic, Artistic 2.0, Zope 2.0, Intel OSL, Netscape JavaScript, eCOS 2.0, Eiffel V2
     and not these types:
     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
     check the link above for updates, since the above is not a definitive list.
   - If you choose the MPL, you should be able to link with most anything else except you might have problems distributing stuff which includes GPLed/LGPLed parts, in which case, choose the LGPL or GPL licenses.
4. Why is Redland written in C?

   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.

   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):

   Redhat 7-9, Gentoo, Debian 3.0/unstable GNU/Linux (x86); Solaris 2.5, 7, 8 (Sparc); OSX 10.2, 10.3 (PPC); Debian GNU/Linux (DEC Alpha); FreeBSD 4.7-4.9 (x86); HP-UX 10.

   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).

   See also the W3C Library note on C++ in C which covers some of these issues, although I wrote the library before finding this.

5. Why is it called Redland?

   Well, librdf was too boring `:-)`! I work for the University of Bristol and Redland is an 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.

6. Redmond?

   No. It is named after Redland which is a region of Bristol, UK. Not related to an area near Seattle, Washington State, USA.

7. Where is the LANG higher-level language interface?

   Redland provides 7 language interfaces (at 2004-01-30) via SWIG. If SWIG does another language you want and supports it, you should be able to build one yourself relatively easily, following the existing scheme.

8. Does it support an RDF query language?

   This is work in progress initially targetted at the functionality in the SquishQL / RDQL RDF Data Query Language and will be delivered as a separate library Rasqal which Redland will then use.

9. Does it run on MS Windows?

   Yes, from reports others have had success compiling Redland and Raptor for that system. As of Raptor 1.1.0 and Redland 0.9.15 the C++ compilation should be a lot easier which should help this.

   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 some Win32 file URI combinations that it knows of.

   Redland and Raptor build under the Cygwin environment relatively easily.

10. Does it run on Apple OSX?

    Yes. The most recent version of this operating system has most of the basic requirements for using Redland and Raptor - an XML parser (in 10.3). The Fink environment provides the GNU toolchain, GNU make, autotools and others needed if building from CVS. It also provides Berkeley/Sleepcat DB needed for a persistent store. Redland and Raptor can probably be used without Fink but with much reduced functionality.

11. Redland and Raptor - what are they?

    Redland 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.

    Raptor 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.

12. Rasqal?

    The RDF Syntax and Query Library for Redland, pronounced "rascal" - thanks to Phil McCarthy for the name. You can also blame Talk Like a Pirate Day and Pirates of the Caribbean -- The Curse of The Black Pearl. Arrrr!

Copyright 2000-2004 Dave Beckett, Institute for Learning and Research Technology, University of Bristol