KiCad (http://kicad-pcb.org) is an open-source collection of tools for designing circuit schematics and printed circuit boards (PCB). Pretty good documentation is available at http://kicad-pcb.org/help/documentation/.
Ubuntu PPA For Latest Version
KiCad binary packages are available for download for various computing platforms. KiCad is also available from the Ubuntu repository. However, the default packages in the Ubuntu repository may not be the latest version of KiCad with the critical features or bug fixes that you may need. Visit this page with instructions for adding a personal package (PPA), which provides the latest version packaged by a KiCad project member.
Building From Source
You may also want to build KiCad from source. Here is roughly how:
KiCad source code versioning used to be Bazaar but they recently switched to Git. Fetch the source code via
git clone https://git.launchpad.net/kicad KiCad
Inside the new folder use git to check the tags and to create a local branch of the latest tagged stable version.
git tag git checkout -b v4.0.4 4.0.4
On Ubuntu Linux install (some of) the dependencies via
sudo apt install libwxgtk3.0-dev libglew-dev libcairo2-dev libbz2-dev libboost-context-dev libboost-iostreams-dev libboost-locale-dev
Create the build subdirectory and call cmake from there
cmake -DCMAKE_BUILD_TYPE=DEBUG -DKICAD_SKIP_BOOST=YES ..
where the flag KICAD_SKIP_BOOST prevents the generated build scripts from attempting to download and build a certain version of boost from source. For better runtime performance you may prefer to build the RELEASE configuration instead of DEBUG. If performance is not critical I prefer the DEBUG configuration in order to get a more meaningful stack trace in case of a crash.
make sudo make install
to build and install KiCad to its default installation directory /usr/local.