Where does the name come from ?
Wikipedia says of Quantum entanglement

Quantum entanglement is a property of a quantum mechanical state of a system of two or more objects in which the quantum states of the constituting objects are linked together so that one object can no longer be adequately described without full mention of its counterpart

Entangle is an application that links together a computer and camera to form a photographic system in which each part can no longer be adequately described without full mention of its counterpart.

Why was this application created?
During a presentation with a local photography club, the speaker was using tethered shooting during practical demonstrations to quickly display shots on a projector screen. This seemed like quite a useful thing to be able to do, but while many Linux apps use libgphoto for accessing/downloading images from a camera, at the time, none exposed its remote shooting and configuration capabilities. This was a gap in the open source application suite just crying out to be filled. More recently Darktable has also gained the ability todo tethered shooting.
What cameras are supported?
The recommended cameras to use with Entangle are Nikon or Canon DSLRs, since they offer the broadest level of functionality and are the mostly widely tested with libgphoto2. More generally though it is hoped that any camera supporting remote capture in libgphoto2 will work with Entangle.
What license is the code under?
The code is all made available under the terms of the GNU GPL v3+
What does the build process depend on?
At the time of writing the build dependancies are:

Library Min version License
meson 0.41.0 ASL 2.0
libgphoto 2.5.0 LGPLv2+
glib 2.38.0 LGPLv2+
gtk 3.22.0 LGPLv2+
dbus-glib 0.60 AFL or GPLv2+
gobject-introspection 1.54.0 GPLv2+, LGPLv2+, MIT
lcms2 2.0 MIT
gdk-pixbuf 2.12.0 LGPLv2+
libpeas 1.2.0 LGPLv2+
gexiv2 0.10 LGPLv2+
gudev 145 LGPLv2+
xext 1.3.0 MIT
libraw 0.9.0 BSD and (CDDL or LGPLv2)
gstreamer1 1.0.0 LGPLv2+

Unless otherwise stated, these dependencies are all currently mandatory. It may be possible to build with earlier versions by relaxing the version number checks in the configure.ac script. The current versions were picked conservatively based on what’s been tested to work

Where can I get the source code?
If you are a end user then you probably want to download a official released source archive on the download page. If you are a developer wanting to contribute, then goto the master GIT repository
How do I build libgphoto2 and entangle from scratch?
We strongly recommend installing the OS distributors own pre-built packages. Compilation from scratch is much more error prone, but for those who are feeling adventurous there are some instructions on compiling from scratch
How to I install the build requirements?
Each distro gives packages a slightly different set of names. To build from official release packages, on Fedora use:

# dnf install gcc glib2-devel libgphoto2-devel \
     libgexiv2-devel libgudev1-devel libpeas-devel lcms2-devel \
     gtk3-devel gobject-introspection-devel dbus-glib-devel \
     intltool libX11-devel libXext-devel LibRaw-devel itstool \
     gstreamer1-devel gstreamer1-plugins-base-devel meson gtk-doc

On Ubuntu/Debian use:

# apt-get install gcc libglib2.0-dev libgdk-pixbuf2.0-dev \
    libgphoto2-dev libgexiv2-dev libgudev-1.0-dev libpeas-dev liblcms2-dev \
    libgtk-3-dev libgirepository1.0-dev libdbus-glib-1-dev \
    libraw-dev gobject-introspection meson gtk-doc-tools \
    libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
How do I build from source?
If you got a released source archive, then follow the normal autotools build process

meson build
ninja -C build
sudo ninja -C build install
How do I contribute to development?
Read about the TODO items, checkout known bugs and get hold of the source code. Patches are welcomed via email, preferably sent using git-send-email.
What’s this I hear about plugins?
The Entangle codebase is designed to be friendly to development of plugins, with a strict split between the application object model and the graphical user interface. In cases where a 3rd party library is used, that library’s APIs are first mapped to GObject derived classes. The recently added GObject introspection capabilities can thus be leveraged to expose the entire application backend to scripting languages. Entangle ships with three simple plugins. If these fail to load, it is likely that the GI_TYPELIB_PATH environment variable needs to be set to point to the directory containing the Entangle-0.1.typelib file. On Fedora/RHEL distros this would be $prefix/lib64/girepository-1.0, while on Ubuntu/Debian based distros this would be $prefix/lib/x86_64-linux-gnu/girepository-1.0 (alter as needed for different architectures)