There are a number of ways that you can contribute to help make Gnucap a better system. Perhaps the most important way to contribute is to write high-quality code for solving new problems, and to make your code freely available for others to use.
You can add significant value by developing models, even macro models, that can be distributed. Converting Spice models, publicizing which ones already work, or documenting any features that Gnucap needs to make it work, are all valuable contributions.
If you find Gnucap useful, consider providing additional funding to continue its development. Even a modest amount of additional funding could make a significant difference in the amount of time that is available for development and support.
If you cannot provide funding or contribute code, you can still help make Gnucap better and more reliable by reporting any bugs you find and by offering suggestions for ways to improve Gnucap.
If you are a teacher, you are making a significant contribution simply by using free software in your courses, and showing the students that they really do have a choice in software. You can further the contribution by encouraging student software projects that can be released as free software. You can also further the contribution by writing texts that use free software in the coursework, providing an alternative to those texts that promote closed source commercial software.
If you are an academic researcher, you can contribute by releasing your own software under GPL, and collaborating with others who do. You can help by using only open standards and avoiding proprietary languages such as the modeling languages of some proprietary simulators.
If you are a commercial user, you can help by giving financial support or equipment to the developers. Often, (as is the case with Gnucap), the principal developers are in the academic community, so by supporting free software, you are also supporting academic research and providing financial support for students.