Published 20th June, 2010
Joining a free software project like Krita can be immensely rewarding! Krita is being created by an international community of developers, artists, web gurus and others, people who voluntarily cooperate with each other to create a great software application and make that application known to the world. There are people from all parts of the world, all ages, both sexes involved in Krita. It’s a friendly environment where we build on each others strengths and help each other getting things done.
If you are a programmer, you don’t need to be a C++ guru to start developing on Krita: all you need is an itch, something you want to fix, something you want to add. Many Krita developers didn’t know C++ when they started working on Krita: the team has a lot of patience for explaining things to newcomers. It’s an environment where you can expect to learn fast and do useful work very soon after joining. The most important reason to want to work on Krita is that itch you need to scratch, but the international team of friendly people of all ages and all experience levels is a wonderful place to be. There is much to learn, much to do, much to be proud of. Krita is written in C++ using the Qt development platform. Both are highly regarded in the professional world and very valuable skills to possess.
And you don’t need to be coder, necessarily. Being an artist who tests Krita as it developers, gives feedback and discusses the progress earns you a place in the about box just as much as coding does. Keeping the website up and running, writing chapters for the manual, creating tutorials, designing icons or helping with the interaction design is all considered very valuable by everone on the team. We don’t do second-rate contributors: everyone is considered equal.
You don’t need to be a Linux user, not absolutely. But if you want to use Krita or develop on Windows or OSX be aware that you are going places that are relatively unexplored. We will love you all the more for it, but you will have to figure out some things on your own.
There are some special possibilities open to students who want to join the Krita project.
The first is the Google Summer of Code. A Google Summer of Code project has two advantages: it brings in some money, which makes it possible for a student to work full-time on Krita during the summer, and, more importantly, every student is paired with a mentor. That makes it easier to figure out who to ask questions and there is someone to review your new code. Being part of the wider KDE project, Krita usually gets a small number of Google Summer of Code slots. If you are interested in participating in Krita as a Google Summer of Code project it is extremely important that you engage with the project team beforehand. Show up on irc even before the application period starts. Fix a couple of bugs, implement a little feature, participate in the discussions, make sure we know you. The Krita maintainer, Boudewijn Rempt, can help you create a good proposal that fits in Krita’s vision.
The second possiblity is the Season of KDE. No money here, but quite possibly a nice t-shirt and a certificate, and again a mentor. The Season of KDE does not have as stringent a deadline as the Google Summer of Code. The application period starts when the Google Summer of Code participants are known; most Season of KDE students first enter a Google Summer of Code proposal and then join Season of KDE when their proposal just didn’t make the cut. If that happens to you, don’t feel bad. Krita shares its slots with all of KDE. Generally, there are many hundreds of applications for maybe fifty slots in total — so chances for a Google Summer of Code slot are often quite low, and Season of KDE is the perfect chance to participate anyway.
The third option open for students is doing their thesis on a Krita project, or a practical project on Krita. We really love this! You need to discuss your ideas with your university supervisor and with Boudewijn Rempt. If your supervisor is unsure about your proposal, you can bring him into contact with Boudewijn Rempt. There are plenty of areas in Krita that can lead to original and interesting research, publishable papers and presentations at international conferences.
All students will always be expected to work in Krita’s main branch: working together with the team on what will become the next release. Your work will be used by real users — and that is very valuable in itself. Having worked on a large and complex project like Krita, delivering your work to users can be an important item on your resume.
Note that the Krita team really prefers people who indicate that they will stay around after their project ends: while it is normal for a project that people come and go, we really are most interested in gaining long-term contributors — and friends!
The Krita forums are an excellent place for users: showing art, discussing features, sharing tips and so on. All Krita contributors read the forums assiduously. However, it’s not the place where the development discussions take place. We have four other places for that:
Of course, users are welcome on irc or on the mailing list as well: don’t hesitate to ask your questions, and no Krita contributor would tell a user to go away.
For IRC, you can install an IRC client like Konversation or X-Chat. Join the irc.freenode.net network and then join the #krita channel. There’s no need to introduce yourself. Just say “Hi!” and ask your question. We do not tolerate rudeness, sexism or other unpleasant behaviour. Keep the four-letter words to yourself, and don’t insult anyone. Please note that most Krita developers live in Europe, and even though some people are on the channel 24 hours a day, they do sleep. Questions asked around 4AM Central European Time might only be answered when the developers wake up and check the backlog!
We use irc to ask each other quick questions about code we don’t understand, quickly check a hunch or test a proposal. We also chat about cats, food, weather, houses, jobs — it’s a friendly place and you won’t easily get ticked off for being off-topic. The irc channel is not officially logged. Keep in mind that nearly nobody is a native speaker of English: do not use slang, try to use standard English. On the other hand, it’s no problem if your English isn’t perfect: nearly none of us is a native speaker, we all make mistakes, we all have our accent, even when typing.
The mailing list is the right place for larger proposals, for discussions that need to be recorded, for anything that needs a bit more thought.
The wiki is the place where we record our plans, share design documents and organize meetings.
Sprints, finally, are real life meetings. We aim to have one general Krita sprint every year, where as many Krita contributors as can come get together for a long weekend of discussions, hacking and socializing. There are also the Calligra Suite sprints which some Krita hackers attend: these happen twice a year and are the right place for discussing the Calligra technologies Krita is built on. Once a year, there is a general KDE meeting, Akademy: this is the right place to meet people who are working on other parts of the KDE software collection. Libre Graphics Meeting is a yearly event where contributors to free graphics applications meet. This is a really fun meeting, with people from Krita, Mypaint, Gimp, Scribus, Blender and many other projects meeting, discussing ideas, getting to know each other. This is very friendly and fun conference, with a good mix of artists and developers!
This really is important. While you can work on the website without having a recent, running krita, developing features is impossible and working on the manual is very hard. Just consider a rite de passage: it might be difficult to get Krita from the version control system, build it and run it, but once you’ve succeeded, you have everything you need to become a contributor!
We have an extensive guide to getting the Krita source code and building it on the Calligra wiki: you will have to check out all of Calligra but you can choose not to build the other Calligra applications.
Please follow our build guide! If you have trouble, don’t hesitate to contact us on #krita on irc.