Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Generic RDF-based engine for building collaboration and open publishing web sites
Ruby CSS
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Samizdat: Co-op Engine

Mission Statement

Samizdat is a generic RDF-based engine for building collaboration and
open publishing web sites. Samizdat provides users with means to
cooperate and coordinate on all kinds of activities, including media
activism, resource sharing, education and research, advocacy, and so on.
Samizdat implements workflows that promote values of freedom, openness,
equality, and cooperation.

Samizdat users can publish, view, comment, edit, and aggregate text and
multimedia resources, vote on site structure and resource
classifications, filter resources by flexible sets of criteria (see
Features below, and Design Goals document). 

Samizdat builds its underlying data model on RDF (Resource Description
Framework), and defines a schema of resource classes and properties for
core concepts of a Samizdat site: member, message, thread, tag,
proposition, vote, version, part, and so on (see Concepts document).
Open nature of RDF allows to add new metadata and new uses of site
resources without effort, and to transparently interoperate with diverse
set of applications supporting this standard.

Samizdat project was inspired by Matthew Arnison's Open Publishing
initiative and Active engine used by the project, and by
rusty's Scoop engine used by and other sites (see
References document). Unlike other open editing systems, it uses RDF
model from the ground up and targets other domains beyond publishing,
such as cooperation, education, and resource sharing.

Samizdat is free software and is built using free software, such as Ruby
programming language and PostgreSQL relational database management
system. All Samizdat source code and documentation can be redistributed
and/or modified under the terms of the GNU General Public License as
published by Free Software Foundation; either version 3 of the license,
or (at your option) any later version.


Open Publishing
- open publishing wire
- threaded comments
- multimedia upload (including online viewing of FLV and MP4 videos with
  Flowplayer free Flash video player)
- format messages as text, verbatim plain text, HTML, and Textile
- integrated message translations

Open Editing
- vote for site structure
- vote for dynamic front page
- any message can be voted to become a tag
- moderation interface
- configurable access control to publishing, voting, and moderation

- publish new versions
- author-only or open-for-all editing
- history of changes with colored difference tables

Blogging and Syndication
- personal blog space
- export of RSS 1.0 feeds for front page, blogs, tags, and RDF query results
- import of RSS feeds into the front page

Semantic Web
- site structure follows RDF model
- search with RDF queries, publish queries as messages
- Dublin Core metadata
- uses Graffiti relational RDF store

- all user input is tainted and HTML-sanitized
- CSRF protection
- wiki spam filter
- per-resource moderation logs
- moderation request tracker
- login forms and cookies may be limited to HTTPS connections

- Ruby, PostgreSQL, Nginx
- full Unicode (UTF-8)
- XHTML 1.0 markup with switchable CSS themes
- GetText l10n framework (UI available in 11 languages)
- in-memory object cache, database cache of rendered and sanitized messages
- built-in MVC mini-framework

More Information


   install.txt:         Installation
   design-goals.txt:    Design Goals
   concepts.txt:        Concepts
   translations.txt:    Translations
   references.txt:      References


   oscom3_samizdat.xml: OSCOM3, May 2003, Cambridge, MA
   euruko2003_samizdat.xml: EuRuKo 2003, June 2003, Karlsruhe, DE
   barcampsheffield2007_samizdat.xml: BarCamp Sheffield 2007, May 2007,
                                      Sheffield, UK
   lvee2008_samizdat.xml: LVEE 2008, June 2008, Grodno, BY


Something went wrong with that request. Please try again.