]> git.tuebingen.mpg.de Git - osl.git/blobdiff - README
Add README/INSTALL and webpage generation stuff.
[osl.git] / README
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..19c61e1
--- /dev/null
+++ b/README
@@ -0,0 +1,39 @@
+libosl, the object storage layer, is a library for storing small to
+medium-sized data in relational tables. It is easy to use, lightweight,
+fast and portable. libosl is suitable for applications that need
+only a small fraction of the features a full database management
+system provides.
+
+Libosl is simple:
+
+       - For libosl, all data stored in the osl tables are blobs,
+       libosl will never try to interpret the table contents.
+
+       - There is no fancy query language but only a relatively
+       simple C-API.
+
+       - There's no support for network-access and libosl does not
+       use any table locking.
+
+Libosl is fast:
+
+       - It uses sha1 hashes for content-based addressing.
+
+        - An augmented version of the rbtree implementation of the
+        linux kernel is used for lookups.
+
+Libosl is portable:
+
+       - It is known to compile and run on Linux, MacOS, FreeBSD,
+       NetBSD and Solaris.
+
+       - Content and metadata is stored in an endian-agnostic way.
+
+Libosl is open source:
+
+       - Licensed under the GLP, version 2.
+
+Apart from the library itself, the package also contains simple
+examples and an fsck program, oslfsck, which can be used to recover
+from corrupted tables due to system crashes or bugs in the application
+or the library.