Welcome to the Grive project homepage!

The purpose of this project is to provide an independent open source implementation of Google Drive client for GNU/Linux. It uses the Google Document List API to talk to the servers in Google. The code is written in standard C++.

The source code of Grive is released under GPLv2.


Currently as of version 0.2.0, grive can do two-side synchronization between the Google Drive and local directory. It can download and upload changed files. New directories in Google Drive and local directory will also be downloaded/uploaded.


The following features are not planned to be supported in the near future. The main reason is that Google Drive supports much more features than a local file system. It is not easy/feasible/practical to mimic everything in Google Drive to a directory in a computer.

See also the FAQ for the rationale behind them.

Folders/Files with multiple parents

The structure of a Google Drive is not exactly organized in a hierarchy. It is more similar to an interconnected net attached to a single root point (quoted from the API reference). Obviously the files and directories in the file system have only one parent. Therefore, this feature cannot be implemented very easily.

Downloading Google Documents

This feature is not currently implemented. If the demand for it is big enough, it may be implemented later. Patches are welcomed.