GSoC/GCI Archive
Google Summer of Code 2014


License: GNU General Public License version 2.0 (GPLv2)

Web Page:

Mailing List:,


The Subsurface project develops an open source dive log program that supports Linux, Mac, and Windows. It is targeting mostly recreational scuba divers, but tech divers, rebreather divers and even freedivers are able to use it as well.

Subsurface is able to track single- and multi-tank dives using air, Nitrox or TriMix. It also allows logging of weights and exposure protection used, dive masters and dive buddies and enables the user to rate dives and provide additional dive notes.

With Subsurface the user can track dive locations including GPS coordinates (which can also conveniently be entered using a map interface). Subsurface calculates a wide variety of statistics of the user’s diving and calculates and tracks information like the user’s SAC rate, partial pressures of O2, N2 and He, calculated deco information, and many more.

We are an all volunteer team of about 160 members, with more than 70 people contributing code and about 20 active developers. The project was started by Linus Torvalds and is now maintained by Dirk Hohndel.

Learn more about Subsurface at

Please also look at our Ideas Page.

There are two easy ways to contact us:

  • send email to the mailing list (be aware that posts from non-members will wait for moderation as we have been overrun with spam - so it might be better to join the mailing list, first)
  • connect to us on #subsurface on FreeNode IRC.


  • Configuring Dive Computers Via Subsurface Dive computers are important devices for divers, and thus they form a central part in the working of Subsurface. Some dive computers allow configuration via software. The project I am proposing adds this feature to Subsurface. I intend to add a feature to enable users configure dive computers from the Subsurface GUI. Implementing dive computer will make it easier for users to configure their devices using a computer GUI, and also back up their settings and restore them later if necessary.
  • Divecomputer Downloader for Android My project is to develop a framework for download of dive logs to android device directly from the dive computer. This would help in porting of the Subsurface application to android platform.
  • Exporting HTML logbook Subsurface is a very interesting project with great programmers where I can learn great things and gain experience. I selected this project because it fits well within my skill set, I have a strong background in C++ , HTML5 and Javascript so This project perfectly fits me. Exporting HTML logbooks is useful feature that will allow users to export files that can be viewed easily regardless of the platform.
  • iOS Subsurface Companion Application Proposal idea is chosen from suggested by Subsurface mentors: iPhone Companion App. The idea is clear — build an universal iOS application both for iPhones and iPads, that is similar to existing android app.