Camlistore
Developer(s) | Open Source Community |
---|---|
Stable release | |
Development status | Active |
Written in | Go |
Operating system | Cross-platform |
Type | Data store |
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. Camlistore can be thought of as Git for general personal information storage: a user's 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. While Camlistore can store files like a traditional filesystem, it specializes in storing higher-level objects (pictures, videos).
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 Google employee, for whom it is a 20 percent project and co-maintainer Mathieu Lonjaret , programmer and community committers. 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.