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

   Linux 2.x (x86), Solaris 2.5, 7, 8 (Sparc), OSX (PPC), DEC Alpha, FreeBSD 4.7 (x86) and HP-UX 10.

   it configured, built and tested out of the box on all of these.

   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, Redland - not related to an area near Seattle, Washington State, USA home to an illegal monopolist.

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

   Redland provides 6 language interfaces (at 2003-02-13) 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 a query language?

   Not yet, but if it did, it would probably be RDQL RDF Data Query Language

9. Does it run on MS Windows?

   I don't know since I don't use it. I've had reports it builds under the Cygwin environment relatively easily. As far as portability and "unix"-isms in the code, they are flagged in comments and only related to file name handling, maybe in creating temporary files.

10. Does it run on Apple OSX?

    Yes - mentioned above. This was done with the Fink environment to get some of the GNU toolchain (GNU make, others if you are building from CVS). It probably can be done without Fink, since the external requirements are low - Berkeley/Sleepycat DB required and libxml2 recommended but not required.

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.

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