The OpenCPN Development Community

community

General

So, you are thinking about joining the OpenCPN project? You are most welcome! There are many ways to participate, most of which not requiring programming skills.

This manual is about contributing to the code.

OpenCPN is an open-source project. The core parts uses a GPL version 2 or later license (GPLv2+), but there are a lot of other licenses in dependencies used. Contributions to the project must be licensed under an open-source license, normally GPLv2+.

The starting point for developer activities is in many cases the OpenCPN forum at FlySpray. Here, end-user reports problems and sometimes also submits enhancement requests (RFEs).

The core OpenCPN project

For the core OpenCPN project development work is done on the OpenCPN Github site. Github issues are filed for more specific problems or RFEs. Pull requests (PR) is the way used to include patches and new functionality into the program.

The core developers sometimes hangs around in the OpenCPN Zulip instance. Zulip is an open-source groupware resembling of Slack. The instance is available at https://opencpn.zulipchat.com is at the time of writing open to all Github users.

Dave (@bdbcat) is the lead developer and makes decisions on if/when/how to merge a PR. Also Pavel (@nohal) and Alec Leamas (@leamas) has commit rights in the project. There are no formal roles besides these.

To contact the project as a developer, filing issues and/or making comments on existing ones is the easiest way to join the community.

Plugins

The community also has a vast number of Plugins on Github. Development of plugins is highly de-centralized and each plugin effectively forms a separate community. Also plugins tends to use Github issues and PR to synchronize work and submit code.