Contributing to Trojitá¶
Any contribution which makes Trojita better is most welcome. If you are willing to work with the rest of us and can deal with well-meant feedback, don't be afraid and get in touch with us.
Previously (up to September 2012), the core IMAP parts were off-limits for third party contributions because this part was subject of Jan's thesis. Now that Jan has got his MSc degree, this obstacle is no longer in place and you are free to hack on IMAP, too.
All areas are open for contributing. Some of them are relatively stable and mature, while others could use a hand. The areas which are most troublesome at this point are:
- GUI. Skilled designers are scarce among the team; Jan is not one of them and experience has shown that he is not good at creating usable GUIs. People who like building user interfaces are invited for collaboration, and the best thing is that one only has to know Qt to start contributing, as most of the GUI is done just using the model-view-controller design pattern. Please note that this means not only desktop GUIs, but also interfaces for various mobile form factors, from Maemo/MeeGo to Symbian. If it runs Qt, it can (and should!) run Trojita, too.
- Touch-based UIs. There's one for Nokia's Harmattan devices, but it can definitely be made more intuitive. Other platforms are welcome, too.
- SMTP. Message submission via SMTP (using Witold Wysota's QwwSmtpClient) could receive more testing and some unit tests.
- Multiple accounts. Trojita currently suports just one IMAP account. It would be cool to have support for more of them, along with real identities. Thomas Lübking is working in this area as of October 2012, so better get in touch before you send patches.
- Anything else. If you like Trojita or something got your attention, please drop by on the #trojita channel on Freenode or write to email@example.com
Finally, even if you cannot code in C++ or have a dislike for Qt, we could still use testers and other community members. Building Trojitá takes two and half minutes on a five-year-old laptop, so why not give it a try?
Getting your changes merged¶
Please use KDE's Gerrit for contributing patches.
Any of the following is fine:
- BSD (see source:src/XtConnect/XtConnect.h@f98870673063ef0a844b225bba8d20dfd2dc8d1b for example)
- "LGPLv2 or later"
- "GPLv2 or later"
- "GPLv2 or GPLv3 with provisions for KDE e.V. to relicense"
Please see Coding style.