How can I help develop ngspice ?

Ngspice is an open project, there is no closed group of developers. Different "groups" gathered and dissolved in more than 20 years of development. To become an ngspice developer is very easy. There is no formal step to take for joining the development team. You have only to introduce yourself and describe your ideas at the developers' discussion forum.

Several open tasks are listed here. The list is by no means complete, your proposals and contributions are welcome. There is also a short summary on the various ways how to contribute.

If you do not want to take an active role in ngspice development, you can always help becoming a beta tester. The quality of ngspice strongly depends on the number of tests we are able to run on each release.

A third way to help develop ngspice is in writing its documentation. Documentation for ngspice is not completed, needs proof reading and some updates.

Ngspice in an international project, so the "official" language used on the lists and documentation is English.

Developers' discussion forum

The primary source for cummunication is the developers' discussion forum. Messages may be quite long (they may contain source code or image attachments). The level of discussion is technical.

There is also the (meanwhile seldom used, because the forums are more flexible) developers mailing list. To join it point your browser to the list administrative interface.

Ngspice source code repository

Ngspice source code is stored in a git repository that is open to everyone for reading. Anyone can get the latest sources or browse repository content with a web browser. Details are explained in the git access page.

Sourceforge summary page

Sourceforge offers many services to help developers keeping up with the development activity. You can access all of them through the summary page.

About the ngspice software licences

The ngspice code is (with few exceptions) licensed according to the new (modified) BSD license. Therefore your code contributed to to ngspice should stick to this license. The license text is available in our COPYING notice, but also as 3-clause BSD license.

As an author you may retain and state your copyright in the header of your code files.

Sticking to this license is necessary because we want to be Debian (and thus Ubuntu) compatible.

If for whatever reason the code should carry another license, it has to be compatible to the Debian Social Contract.

Therefore a "private" license is not acceptable, because we are no lawyers and do not have the money to hire one for checking it to be Debian compatible.

Unfortunately using code that is licensed according to GPL is also not acceptable because GPL forbids a non GPLed source (like ngspice) to link to GPLed code.