Edit page History How do I edit this website?

Micro-Manager Source Code

The source code includes all Micro-Manager files (Java and C++) and all supporting files (project files, build scripts, etc.). However, to build the entire project a number of Open Source libraries and device SDKs must be installed. Instructions for building Micro-Manager are available for Mac, Windows, and Linux.

Note about the source code licensing terms

Micro-Manager is structured in three distinct layers: Graphical User Interface (GUI), Device Adapters and MMCore. All source files, except ones carrying a different license notice in the header, are copyright of University of California. GUI and Device adapters are distributed under the “BSD” license, while MMCore is distributed under “Lesser GPL” license. License text files are included in the source package, and each file should have a header stating the exact type of license. A good starting point to learn more about the Open Source Code licensing is http://www.opensource.org/. If you have any questions or need some clarification regarding our licensing terms please let us know: info@micro-manager.org

Github repository for 2.0

The source code for 2.0-gamma is located on github at:

https://github.com/micro-manager/micro-manager in the master branch. The branch “svn-mirror” is a copy of the 1.4 subversion repository (see below).

As of April 2021 the source code has been split into multiple Git repositories which are used as submodules of the main repository. In order to fully clone the source code please follow these instructions:

1: Clone the main repository: “git clone https://github.com/micro-manager/micro-manager

2: Initialize all submodules: “git submodule update –init –recursive”

When updating to a new revision of the repository using `git pull` it is a good idea to run the command in step 2 in order to make sure that all submodules are also up to date.

Subversion repository for 1.4

To access the subversion repository you will need a subversion client.

https://valelab4.ucsf.edu/svn/micromanager2/trunk/ - Release 1.4
https://valelab4.ucsf.edu/svn/3rdpartypublic/ - 3rd party files needed for Release 1.4

There is a bug in the Subversion 1.8 client that prevents you from checking out our public repositories without a username. If Subversion asks you for a username and password, you can use the username “guest” (password “guest”) as a workaround. Subversion 1.7.x clients should not experience this problem.

Sometimes, a fresh checkout of the 3rdpartypublic repository will fail (possibly due to the subversion server timeout settings) with ra_surf: The server sent a truncated HTTP response body. To work around this, run svn cleanup and then svn up per 1 (on Windows, Tortoise SVN users can right click inside the 3rdpartypublic directory > TortoiseSVN > Cleaup … > Break locks (make sure it’s checked) > OK). Then continue with right-click, ‘SVN update’. This timeout will happen twice during boost checkout because of the large file sizes.

To build Micro-Manager 1.4, you should place the micromanager2 (trunk) and 3rdpartypublic repositories in the same directory. For example, run the following from your projects directory:

svn checkout https://valelab.ucsf.edu/svn/micromanager2/trunk micromanager
svn checkout https://valelab.ucsf.edu/svn/3rdpartypublic

More information on how to build Micro-Manager can be found here:

Source code for previous releases

https://valelab.ucsf.edu/svn/micromanager2/branches/micromanager1.3 - Release 1.3
https://valelab.ucsf.edu/svn/micromanager2/branches/micromanager1.2 - Release 1.2

Code Timeline and Source Browser

If you just want to take a look at the source code and recent development activity check without needing an SVN client see the timeline of recent code submissions and the source code browser.