Skip to content

Getting involved and contributing

Benjamin Staneck edited this page Apr 10, 2018 · 11 revisions

The KVIrc project is open to contributions in many ways. You can get involved in different tasks that require various degrees of development skill (from almost none to guru).

Contributing code

The main task is obviously code writing. The development of the KVIrc core and external modules requires a reasonable knowledge of C++.

The KVIrc GUI uses the Qt library (and if defined KDE) thus some knowledge of these libraries might be needed too. There are many areas of interest in the source tree: networking, cryptography, data compression, language parsers, etc. Every level of contribution is precious: from two-line patches to core feature implementation and maintenance.

For more information read Contributing code to KVIrc's-repository

Contributing scripts or addons

If you are interested or would like to learn scripting but not so much program development, extending KVIrc to perform other functions can just as well be achieved via the powerful scripting support built in.
KVIrc has an open API and the only main limitation is your imagination.

Anything from full addons to simple aliases or actions can make for interesting additions to KVIrc.

Have a look at the KVIrc's script repo here and see if anything tickles your fancy there ;)

Contributing themes / artwork

The V in KVIrc stands for Visual. Graphics help the users in navigating the program interface and recognizing quickly the many functions the program provides. We need variations of complete icon themes sets, dialog images, release art screens, logos or maybe even a mascot character...

KVIrc Themes are also a way to make contributions in this area, you can do so by submitting your themes or by taking your favorite theme and making it compatible with KVIrc 4.9 via pull request

KVIrc's themes repository is located here

Contributing documentation

Documentation is as important as the program itself. Many KVIrc features are invisible to the average user just because they're not mentioned fully or in part in any publicly available document. Contributing or maintaining documentation means: collecting FAQs and putting them in a readable and searchable form, writing or correcting documents about specific features, the API, writing tutorials, etc.

A good way to get started is extending this Wiki or updating the documentation included with KVIrc's source code.

Translating documentation

The most basic parts of the documentation should be translated to non-English languages so that everyone can understand fully the core features of KVIrc. This requires yet less coding knowledge than translating messages.

Translating KVIrc messages

KVIrc is a text-based application: the interface strings need to be translated to as many languages as possible. You only need the knowledge of a non-English language: the translation scheme is gettext based and requires very little knowledge about coding.

We welcome new translators for new or existing languages, making KVIrc available your language is also important to attract new interest to the program.

For more information read Updating KVIrc's translations

Website management / development / translation

The current website needs to be extended and regularly maintained.

The project website source has moved to kvirc-www any updates there are propagated to http://www.kvirc.net/ within an hour or so of merging.

Current website is looking dated so perhaps a fresh look, removal of content duplication, and alleviation of the maintenance burden is in order. HTML5 was mentioned but no one has stepped forward, maybe you are interested in helping out here?

Current website requires knowledge of PHP, XHTML, CSS and some ideas :)

Mirroring

FTP and WWW mirrors are always welcome: we're actually missing mirrors outside Europe. The WWW site is written in PHP and updated via Git thus the mirroring machine must have a php-capable web server and a Git client installed. The FTP archive is around 1.2GB; partial mirroring schemes can be also arranged. The detailed instructions for setting up a WWW or FTP mirror are available here.

Public relations

We need people that talk about KVIrc, write articles, descriptions, reviews or look for contributors such as application developers, website developers, translators, funding and/or sponsors and generally help spread the word far and wide...

Who to contact

Once you decide that you want to contribute in some way you can:

  • Open an issue describing your proposal to discuss your idea(s).
  • Announce your availability/proposal in the #KVIrc IRC channel on freenode.
  • Open a pull request which is probably the best way for more experienced developers.