Camlistore
Screenshot | |
Developer(s) | Open Source Community |
---|---|
Stable release | 0.8 ("Tokyo") / 3 August 2014 |
Development status | Active |
Written in | Go |
Operating system | Cross-platform |
Type | Personal Datastore |
License | Apache 2.0 Licence |
Website |
camlistore |
Camlistore (Content-Addressable Multi-Layer Indexed Storage) is a personal data storage system with the goal of providing a backup for social content spanning a lifetime. Influenced by the relative short time blogging and storage platforms typically stay around compared to family heirlooms passed along such as photograph albums. Unlike many social online storage systems that default to public sharing, Camlistore requires personal hosting and sharing defaults to private.
Storage
Camlistore's content-addressable storage uses a mutation model based on GPG signed claims called Permanodes. Permanodes provide modeling, storing, searching, sharing & syncing data in the post-PC era. Think of it as Git for personal information storage: your Camlistore is the master repository. Camlistore is graph based rather than a working tree in data model terminology: Entities are permanodes and relations between them are claims on the permanodes. Entities are named by their cryptographic hashes. Search is enabled over permanodes & the claims.
Use Cases
- Social Backup: Importers for popular social blogging services, after completing the process of downloading your archive, import your archive.
- Social Sync: Includes the ability to synchronize in either direction between Camlistores; typical case, off the grid mobile Camlistore is synced to cloud based Camlistore when back online.
- Selective Sharing: Between Camlistore systems, say at home in city vs in the mountains (without internet). After social content is backed up to your personal Camlistore, selectively share Camlistore content with family and friends.
Development
The Camlistore project is under active development led by Brad Fitzpatrick, a Googler, for whom it is a 20 percent project. The project has two goals: expand the standard library of the Go programming language, and implementing Camlistore open source formats, protocols, and software for modeling, storing, searching, sharing of a personal datastore system for life.