VCS Research work P2P-Base (recent) Coin Based Storage Minor products/projects File Synching Software Cloud Services Other P2P File Systems Cloud Services CMS/DAM Context Storage Network FS Other
  SOS   git mercurial CVS Subversion OceanStore/Pond Self-certifying file system PAST IPFS Perkeep MaidSAFE/Safenet - with Safecoin Tahoe-LAFS Keybase FS FileCoin SIA StorJ Ethereum's Swarm libchop Peergos Upspin git-annex synchthing RSync Dropbox Google Drive OneDrive Creative Cloud Resilio Sync (prev was BitSync) ext(2/3/4) ZFS FAT AWS S3 Rackspace COS Alfresco Drupal Joomla! Gaia FS WinFS Semantic FS quFiles AFS NFS SMB/CIFS Google File System Hadoop Apple Time Machine
OpenSource Y   Y Y     Y, but URL not available     Y Y ? Y N       Y   Y   Y Y Y N N N N N Y     N           N           N Y N
Source Code https://github.com/stacs-srg/sos     https://www.mercurial-scm.org/repo/hg           https://github.com/ipfs/go-ipfs https://github.com/perkeep/perkeep   https://github.com/tahoe-lafs/tahoe-lafs         https://github.com/ethereum/go-ethereum/tree/swarm/swarm https://github.com/gitGNU/gnu_libchop https://github.com/Peergos/Peergos     https://github.com/syncthing                                                
Website https://stacs-srg.github.io/sos/   https://git-scm.com/ https://www.mercurial-scm.org/           https://ipfs.io/ https://perkeep.org/   https://tahoe-lafs.org/                   https://syncthing.net/                                                
Documentation                   https://ipfs.io/docs/ https://perkeep.org/doc/ https://maidsafe.net/docs/Safe%20Network%20Primer.pdf http://tahoe-lafs.readthedocs.io/         https://github.com/ethersphere/swarm         https://docs.syncthing.net/                                                
More documentation                   https://github.com/ipfs/specs                                                                          
Notes                             based on IPFS     https://ethereum.stackexchange.com/questions/2138/what-is-the-difference-between-swarm-and-ipfs   based on IPFS                                                      
                                                                                               
Distributed Model distributed   distributed distributed client-server client-server distributed   distributed     distributed                     distributed P2P client-server                                              
Location Abstraction Unstructured P2P (but can support DHT)   ndoes specified in configuration       DHT - Tapestry   DHT - Pastry DHT - Kademlia   DHT                     User ad-hoc setup of nodes                                                
Data Type Immutable   Immutable + staging phase (mutable) Immutable + staging phase (mutable)     read-only data (immutable) and changeable data (mutable)     immutable   mutable and immutable immutable                                                                    
Data representation atoms   blobs, content-addressed             block file and bytes (collection of blobs) blob types                                                                        
De-duplication Y   Y       Y   Y Y Y   Y (with convergence secret)                 Y     Y (per user)         N   N Y                            
Object Sharding Not by default   Y             Y                                                                          
Packing N   Y Y (via the file revlog format)                                                                                      
Compression     Y                                                                                        
Object ID Multiformat   SHA-1 (migrating to SHA-256) Numbers (local to repo) and SHA-1 (for revlog, < 0.9v) and SHA-256 (for revlogNG, >= 0.9) numbers numbers SHA-1 or hash(name + pub_key) for mutable data     Multiformat SHA-256 (with blobref format)                                                                        
data integrity Y   Y       Y   Y Y Y   Y                                                                    
erasure coding via contexts   N N N N active data and archival data           Y                                                                    
Concurrency Model Should be supported at the application level   Merge Merge Merge Merge or lock                                                                                  
data sharing semantics immutable   immutable immutable immutable immutable       immutable immutable   immutable   immutable                                                                
Data replication via contexts   manually                                                                                        
Blockchain N   N N N N N N   N N Y N N Y Y Y Y N N N N N N N N N N N N N N N N       N N N N N N N N N N
Links Y (by GUID refs)                 Y (see IPLD) Y (symlink)                                                                        
Data Aggregation Compounds   Tree manifest revlog           list (ordered), tree directory                                                                        
Metadata support     with notes and/or commits                                                                                        
Versioning support     Y Y Y Y       Y Y                     Y Y N           N   N           N N N N N N N     Y
Diff storage     Snapshot: via de-duplication of small blobs deltas (neighbour deltas are merged from time to time to avoid too many deltas being applied) deltas deltas or snapshot                                                                                  
                                                                                               
Network Protocol http   gif (w/wo ssh), HTTP, HTTPS, rsync, email, bundles custom, HTTP, email pserver, ssh svn (w/wo ssh), HTTP, SSL (with WebDAV)       Bitswap, HTTP                                                                          
API REST                 REST - https://ipfs.io/docs/api/                             Y Y Y           REST, SOAP                            
Signed requests Y                 Y     Y                                                                    
                                                                                               
User model Y   Y (committed/authort)                   ?                       Y Y Y Y                                      
Data protection/encryption Y   N N N N           Y Y                                                                    
Granular Protection Y   N N N N             Y                                                                    
Capabilities N                 N     Y                                                                    
Data/Metadata signing                                                                                              
                                                                                               
                                                                                               
                                                                                               
Automatic File Classification via contexts                                                                         Y (w contexts)   Y   N N N N N N
Smart folders                                                                           Y Y Y Y N N N N N N
                                                                                               
Automatic File Management via contexts                                                                                            
                                                                                               
                                                                                               
                                                                                               
                                                                                               
                                                                                               
Useful links                                                                                              
https://en.wikipedia.org/wiki/Comparison_of_file_hosting_services                                                                                              
https://en.wikipedia.org/wiki/Comparison_of_version_control_software                                                                                              
https://en.wikipedia.org/wiki/Comparison_of_file_synchronization_software