hpr4157 :: Talking with Halla about the past and future of Krita for its 25th birthday
Krita is celebrating its 25 birthday. Let's celebrate this together on Software Freedom Day!
Hosted by Trollercoaster on Tuesday, 2024-07-09 is flagged as Clean and is released under a CC-BY-SA license.
Krita, Software Freedom Day, Community, Developing Free Software.
1.
The show is available on the Internet Archive at: https://archive.org/details/hpr4157
Listen in ogg,
spx,
or mp3 format. Play now:
Duration: 00:22:20
general.
For the occasion of 25 years of Krita and in preparation of Software
Freedom Day in September 21st of this year, we wanted to talk with
Halla, the lead maintainer of this great project.
We asked around and Arnoud stepped up and offered to visit Halla to ask
some questions about the project's history and future.
The talk is also available as a video on the PeerTube instance of the
Digital Freedom Foundation.
If you know what Software Freedom Day is, I'm confident that your heart
warms up with fond memories.
If you don't know what it is, have a look at digitalfreedoms.org/sfd for
more info.
Basically, it's a grassroots movement from local teams organizing events
to tell others about the benefits and importance of software
freedom.
If you would consider organizing Software Freedom Day where you live,
don't hesitate to visit the blog on our site, and get some inspiration
for what you could do.
With that said, let's listen to the interview between Arnoud and
Halla.
Enjoy it!
Today we're interviewing Halla, who is the lead maintainer of Krita,
to learn all about it and to hear where the project has been and where
it's going.
Halla, to start us off, could you tell us a little bit about what Krita
is?
Sure. I love telling people about Krita.
So Krita is a digital painting application.
It's meant to make art from scratch, both still images and
animations.
So we've got a huge number of brush engines, color spaces for people who
need to print and lots of features really focused at creating art from
start.
For what kind of illustrations would you use Krita?
Pretty much everything. I've seen so many different artworks,
different styles.
People are working on comics in Krita.
People are working with illustrations.
There are people who design those trade book card with Krita.
Games, I mean, whole animated games, like platform games.
It's used for all that sort of thing, for everything, in every style, in
pretty much every country in the world.
Wow. Uh, are there any publications we might know about that have used images created in Krita?
There are so many! We got sent a copy of a book on American wild
birds.
That was entirely done in Krita.
Wow, cool.
Talk a little bit about yourself. What role did you play in the creation
of Krita?
This year Krita is 25 years old.
Which meant I wasn't there at the absolute beginning.
So, in 2003, my parents gave me for my birthday a really small
graphics tablet, a Wacom Graphire.
And I wanted to use it to draw a map for a fantasy novel I was writing
back then.
The novel never got finished, because of course I wanted to use Linux as
my desktop operating system.
And I sort of couldn't get into GIMP, and I started looking around for
an application other than GIMP that I could maybe improve or could maybe
be good enough.
Well, I found Krita.
In 2003, it had already gone through three names: KImageShop. That
didn't last long. Krayon. That didn't last long either. And it was
finally called Krita.
It has also gone through three complete rewrites.
So when I started working on Krita in 2003, it didn't even have a brush
tool.
You could open images, add images as layers, and move the layers
around.
And that was everything.
So, it was a really good place to get started.
Except, of course, that it turns out that I'm not a genius.
I'm not even a computer scientist.
I mean, I'm a linguist.
And writing a good brush engine is pretty difficult.
So, I started blogging about how I was completely failing at creating
a nice brush engine. And how is was failing.
That turned out to be a turning point for the project because people saw
that: "Oh, there's someone working on it, and they're not making any
progress, mmm, I will take a look as well." They started getting
enthusiastic and pretty soon after 2004, we already had our fourth
complete core rewrite.
So that's how I got started.
So how many people were involved in the Krita community by that time?
Mid 2004, it was about a dozen.
Krita was still part of KOffice, which was KDE's suite of productivity
applications.
And KOffice developed that still, because they were porting from one
document format to another document format.
But suddenly there was an application that we really wanted to
release. And that's when KOffice got released again as well.
So it's a bit hard to say how many people are actually working on Krita
because there were also some people working on the core libraries that
every application used, but say a dozen.
And can you speak a little bit about how the community evolved since?
Yes. Until around 2006, we didn't really have a focus. Krita was a
GIMP clone or a Photoshop clone. And, in 2006, David Revoy, a French
artist who only uses free software, tried Krita, and he told us it's no
good. While we thought we had quite a nice application by then.
Afterwards, we started taking this very seriously. So, when we have a
sprint, we also invite artists.
We actually videotape the artists working with Krita.
And that's for the developers a really nice way of getting to know where
the bottlenecks are for users.
So because we involved artists, our developer community also started to
grow.
At some point of time, most growth came through Google Summer of
Code, but those days are over.
That program is not doing a lot anymore. We've only got one student this
year.
So that started the second phase. Let's make Krita good enough for David
Revoy.
We also invited Peter Sicking to a print.
Peter Sicking is the guy who was involved in defining the mission
statement for GIMP.
He sat down with us and asked us: "What do you really want to do?" Make
Krita good for David Revoy.
That's a bit thin as a mission statement.
So we came up with we want to make Krita purely a painting
application.
Sure, there are filters and other stuff, but if it's good for painting,
it goes in.
So we started working on that and that took quite a long time to get
there, especially because we were stupid.
We started doing a complete rewrite in 2007 of everything.
That was the fifth.
So, that continued, everyone was working on Krita as a hobby. Most
people were still students, until our Slovak student, Lukáš, was working
on his thesis.
And his thesis was brush engines for Krita.
And of course he got 10 out of 10 because he could show his professors
that he had created real software that was used by real people all over
the world.
And then he was like, okay, I'm almost done with university.
What should I do? If you guys can pay my rent, then I can work on Krita
full time.
If not, I'm going to flip burgers.
So I ask him what his rent was. It was like 35 euros a month.
So I thought, well, let's do a fundraiser and we can pay you for, say,
six months.
Six months turned into a year.
And after that, Lukas got a job at a different company, but it started
sponsored development.
And that's been really important for the growth of our community,
because by now there are six people working full time on Krita.
The second student we hired on graduation was Dmitry Kazakov, a Russian
guy, and he's currently our lead developer.
So because we're all there, lots of volunteer developers can see that
their patches and merge requests get reviewed, they get merged and that
makes people happy.
So we have a really healthy mix right now of sponsors and volunteer
developers.
That sounds great. You mentioned sprints a couple of times, can you tell us a little bit more about how that is organized?
In theory, we organize one big sprint a year.
Of course, it hasn't been possible.
Some people have had to flee Russia, for instance.
So visa problems are real problems.
And the way it mostly used to happen was I would invite everyone to
Deventer, have some people sleep upstairs, in our spare bedrooms.
And the rest would go to Hotel Royale in Deventer, which has two big
rooms on the top floor.
Then we'd go down in the cellar of the church. It's a 12th century
cellar. Really roomy, and we would just do some hacking, then do a
meeting.
And in the evenings, we would go out for dinner, and just get to know
each other better.
One thing that I really miss about sprints, or rather not having
sprints, is the time we would spend in my study over there.
Just, just a couple of us.
The rest would be hacking around.
And we would try to just go through the list of bug reports.
And for us, sprints are fun.
We also invite developers, artists, documentation writers.
Yeah, that sounds like a lot of fun.
So, if a new contributor would like to join Krita, what would be the
typical on ramps that they could come into?
It used to be that people would mostly join us on IRC. Nowadays, we
also have Matrix, because building Krita from scratch is not easy.
But we've got a great manual for that by now.
So either people join us on IRC and ask for help building Krita, and
then maybe ask, do you know a nice bug or feature ish that I could start
working on?
And then we, we'd help them with that.
But these days it's mostly people who out of the blue, post a merge
request on KDE's GitLab instance.
And then we're "Oh, this person from Serbia, this person from Denmark,
they have suddenly have a really nice patch!" And sometimes a patch
needs to be improved.
Sometimes it can go in as is.
And then we try to get them, in our chat channel, because that's still
the place where we have most development discussions.
And the mailing list is almost dead, but that holds for many mailing
lists.
After that, once you've got three merge requests in Krita, merged into
Krita, we will ask you: "Do you want to have a developer account, so you
can review other people's work, merge it, get full access to
everything?" And sometimes they are "Yes, I've always wanted that", and
sometimes "I'm not really comfortable with that, I just want to send you
more patches", and that's fine.
Sounds great.
In terms of features, are there any particular features of Krita that
you're particularly proud of, or that sets Krita apart from other
drawing programs?
Over the years, we had a number of firsts.
Like, before Adobe even knew that OpenGL existed, we had a hardware
accelerated canvas implementation.
Then, about the same year, I think it was 2005, we implemented support
for all kinds of color models.
Like CMYK, LAB, also painterly color models.
That's stuff that tries to mix spectral wavelengths to simulate the way
paint mixes.
That feature is out because it never worked well enough.
Then we got, I think, a really nice way of doing animations.
Of course the brush engines are great.
Oh, and this is something that almost nobody knows, but we support
painting in HDR.
So color values lower than zero and bigger than one, fully
dynamic.
And the way we work with those images is compatible with the way
Blender imports images.
So, you mentioned Blender, are there any other products that Krita works particularly well with, or that are nice complements to Krita?
Scribus. Scribus is a desktop publishing application, it's also free
software.
Development is a bit slow at the moment, but it's really solid.
We used it for our 2006, I think it was 2006, Krita art book, for
instance.
And Inkscape of course, as well.
Krita does have vector layers, and they are quite advanced, but still
Inkscape is a really good complement.
Krita and Inkscape are the only applications that currently implement
the W3C mesh gradient standard.
Cool, and in terms of current development, which features are you most excited about which are coming up?
What's coming up is the port of Qt6, new version of our development
library.
That's going to really eat development time.
But again, we've got some volunteers who already started working on
that.
I'm not sure I'm really excited about it, but, but we have to
investigate it. We are looking into AI assisted inking.
So you would train Krita on the way you would normally ink your
sketches.
And then Krita should be able to semi-automatically ink your sketches
for you.
Because for many artists inking is a bit of a boring step, because when
you're doing inking, you're often really, really careful.
And that means that the lines are a bit, often a bit deader compared to
the sketch, um, Trying to use AI to assist with that is something we are
investigating.
We are working on that together with Intel because Intel is one of
our corporate sponsors.
But we are also doing all kinds of projects with Intel. Like, Intel also
worked with us on that HDR feature, for instance.
Oh, and text. That's, that's important as well. Volterra has been
working on that.
The text shape and the text tool, like the object that contains text on
canvas and the tool that modifies it are of course two different
projects.
This will implement full SVG to text including CSS, ligatures, font
features and everything.
And she's already implemented it.
And the text shape itself, it can do vertical text, like for Chinese or
Japanese.
It can do Ruby, which is the furigana, the small, text that in
Japanese you put next to the kanji, the Chinese derived characters, so
you know how to pronounce them.
And she's now working on the UI, and, and it's something we've wanted to
start working on, uh, years ago already, I think it was 2017.
Actually, I was working on that, but then I was distracted by the
Dutch tax office which wanted to have money.
And I had to do difficult stuff and hire accountants and so on.
And it's not easy being a manager.
So that's the two big things that are coming, hopefully: The
experimental assisted inking an a super deluxe text tool.
Cool.
So what does your release schedule look like? Do you have set dates or
is it ready when it's ready?
Ready when it's ready, but it's often ready.
If our infrastructure is working correctly, then we typically do a
bugfix release every two months.
There have been years when we did one every month, but that was just
eating up too much of our time. We try to have one or two full feature
releases a year as well.
Of course, we moved from Jenkins as our binary factory platform to
GitLab CI.
And that means we haven't been able to do a release for six months
because so many bits needed fixing, bits were broken.
The whole pipeline had to be rewritten.
But that's done now.
So we just released 5.2.3 beta 1. And we hope to do the 5.3 pretty soon,
which is a bug fix release.
And 5.3 will be a feature release again.
I think we've got almost enough features in there. We're only waiting
for the text tool to be completed.
That sounds great.
In terms of, uh, volunteers, are there any areas that you would really
appreciate someone helping out and looking into things?
Android experts, because our Android expert started at a very
difficult university and doesn't have any spare time anymore.
And Android is, is a difficult platform.
Platform itself, the libraries, it changes all the time.
We do have a UX designer, Scott Petrovic, but more help there would
also be welcome.
And for the rest, it's actually mostly not what we wish to be done,
but what volunteers wish to do and most work is welcome.
Sounds great. On the topic of platforms, which platforms does Krita support right now?
That's Linux.
We prefer our own binary builds in AppImage format because we have to
patch a lot of the libraries that Krita depends on.
Windows, MacOS, Android.
If and when iPadOS gets opened up, we might port to iOS.
But both for iOS and Android, Oh, we also support Chrome OS, but that's
Android.
For iPadOS and Android, so tablet form factor, we really want to
optimize our user interface for touch and for that we need to have the
port to Qt6 done.
So that's going to take some time.
Sounds like there's a lot of exciting things coming.
I think that's all I have for you today. So I'd like to really thank you
for taking the time to speak to us.
It was a pleasure. Um, is there any things we haven't covered that you would like to, uh, talk about?
Oh, I want to brag a bit.
Go for it.
Because we have about 7 million users.
That's quite a lot.
I mean, I used to do commercial software development.
And most of the companies we worked for never ever released.
So that makes it so much more fun to work on.
Yeah, that's genuinely amazing.
Awesome. Thank you very much.
Thank you, too.