This is an old revision of the document!
Zotero Source Code
Note: If you do not plan to make any code changes yourself, and only wish to run the latest prerelease versions of Zotero, you can just install a development build.
Licensing
Zotero code is available under the AGPLv3 license, except where the source code specifies otherwise.
Code Repositories
Zotero Code
Zotero source code is hosted on GitHub.
Branches and Tags
Zotero's Git repositories often have multiple branches for different lines of development. The default branch, master
, is the main development branch where development is most active and where most new features are first introduced. Because of this, master
code may be less stable and may be riskier for production use. Once a major version has been out for a while, a branch is created, and that branch then receives mostly bug fixes and small changes. When a release is made (e.g., Zotero 5.0.30), a snapshot of the relevant code is tagged with its version number. See Git documentation for more information on working with branches and tags.
Third-Party Components
Issue Tracking
In order to keep product discussions open to as many people as possible, Zotero does not use an issue tracker for bug reports or feature requests. Zotero users should use the Zotero Forums rather than GitHub to report issues and feature requests.
For confirmed bugs or agreed-upon changes, new issues will be created in the relevant repositories on GitHub by Zotero developers. Commit history can be viewed using the GitHub web interface or a Git client. Zotero developers previously used Trac as a source code browser and internal issue tracker, and very old tickets are still archived there.
Working with the Zotero Source Code
Zotero Client
Zotero Connector for Chrome
To run a Git build of the Google Chrome Connector, you need to:
git clone --recursive https://github.com/zotero/zotero-connectors/
cd zotero-connectors
npm i
./build -d && gulp
- Run Zotero and Chrome
- Load the Connector extension in Chrome
- Browse to chrome://extensions/
- Expand the “Developer mode” bar
- Click the button “Load unpacked extension…”, and give the path to the
build/browserExt
directory within the local repository
You should now see a Zotero icon in the address bar when visiting translatable webpages (e.g., this article or this book), and clicking the icon should add the item to your Zotero library.
After making changes, click Reload for the Connector entry in the Chrome Extensions pane and reload any open pages where you want to use the Connector. (If gulp
isn't running, you'll need to run ./build -d
after each change.)
Contributing patches
The preferred way to contribute code is to fork the relevant Git repository, commit your changes, and send a pull request.
See Client Coding for more information on coding for Zotero.