Don’t be a stranger to GIMP, be GIMP…

I can try and do more coding, more code reviewing, revive designing discussions… that’s cool, yet never enough. GIMP needs more people, developers, designers, community people, writers for the website or the documentation, tutorial makers… everyone is welcome in my grand scheme!

Many of my actions lately have been towards gathering more people, so when I heard about the GNOME newcomers initiative during GUADEC, I thought that could be a good fit. Thus a few days ago, I had GIMP added in the list of newcomer-friendly GNOME projects, with me as the newcomers mentor. I’ll catch this occasion to remind you all the ways you can contribute to GIMP, and not necessarily as a developer.

Coding for GIMP

GIMP is not your random small project. It is a huge project, with too much code for any sane person to know it all. It is used by dozen of thousands of people, Linux users of course, but also on Windows, OSX, BSDs… A flagship for Free Software, some would say. So clearly coding for GIMP can be scary and exciting in the same time. It won’t be the same as contributing to most smaller programs. But we are lucky: GIMP has a very sane and good quality code. Now let’s be clear: we have a lot of crappy pieces of code here and there, some untouched for years, some we hate to touch but have to sometimes. That will happen with any project this size. But overall, I really enjoy the quality of the code and it makes coding in GIMP somewhat a lot more enjoyable than in some less-cared projects I had to hack on in my life. This is also thanks to the maintainer, Mitch, who will bore you with syntax, spaces, tabs, but also by his deep knowledge of GIMP architecture. And I love this.

On the other hand, it also means that getting your patch into GIMP can be a littler more complicated than in some other projects. I saw a lot of projects which would accept patches in any state as long as it does more or less what it says it does. But nope, not in GIMP. It has to work, of course, but it also has to follow strict code quality, syntax-wise, but also architecture-wise. Also if your code touches the public API or the GUI, be ready for some lengthy discussions. But this is all worth it. Whether you are looking for improving an already awesome software, adding lines to your resume, improving your knowledge or experience on programming, learning, you will get something meaningful out of it. GIMP is not your random project and you will have reasons to be proud to be part of it.

How to choose a first bug?

Interested already? Have a look at bugs that we think are a good fit for newcomers! Now don’t feel obligated to start there. If you use GIMP and are annoyed by specific bugs or issues, this may well be a much better entrance. Personally I never contributed to fix a random bug as first patch. Every single first patch I did for Free Software was for an issue I experienced. And that’s even more rewarding!

Oh and if you happen to be a Windows or OSX developer, you will have an even bigger collection of bugs to look into. We are even more needing developer on non-Linux platforms, and that means we have a lot more bugs there, but also most likely a good half of these are probably easy to handle even for new developers.

Finally crashes and bugs which output warnings are often pretty easy since you can usually directly investigate them in a debugger (gdb for instance), which is also a good tool to learn if you never used. Bugs related to a graphical element, especially with text, are a good fit for new developers too since you can easily grep texts to search through the code.


Now there are whole other areas where you could contribute. These are unloved area and less visible, which is sad. And I wish to change this. One of these is infrastructure! GIMP, as many big projects, have a website, build and continuous integration servers, wikis, mailing lists… These are time-consuming and have few contributors.

So we definitely welcome administrators. Our continuous integration regularly encounters issue. Well as we speak, the build fails, not because of GIMP, instead because minimum requirements for our dev environment are not met. At times, we have had a failing continuous integration for months. The problem is easy: we need more contributors to share the workload. Currently Sam Gleske is our only server administrator but as a volunteer, he has only limited time. We want to step up to next level with new people to co-administrate the servers!


While we got a new website recently (thanks to Patrick David especially!), more frequent news (here I feel we have to cite Alexandre Prokoudine too), we’d still welcome new hands. That could be yours!

We need documentation for GIMP 2.10 coming release, but also real good quality tutorials under Free/Libre licenses. The state of our tutorials on were pretty sad before the new website, to say the least. Well now that’s pretty empty.

Of course translations are also a constant need too. GIMP is not doing too bad here, but if that’s what you like, we could do even better! For this, you will want to contact directly the GNOME translation team for your target language.


And finally my pet project, I repeat this often, but I think a lot of GIMP workflow would benefit from some designer view. If you are a UX designer and interested, be welcome to the team too!

So here it is. All the things which you could do with us. Don’t be scared. Don’t be a stranger. Instead of being this awesome project you use, it could be your awesome project. Make GIMP! 🙂

The making of ZeMarmot: planning

Hi all,

Not many news, but you know, summer, exhausting crowdfunding, the dozen of Free Software meetings and events in summer… well it didn’t help! Anyway we are still there, and not dead. 🙂

July and August are a little out for Aryeom since she has to finish another project by end of August. As for I, I have been working on the design and spec of our custom software to manage Animation projects. I already had some C code back from June, but since I had been discussing with Konstantin Dmitriev (maintainer of Synfig and Morevna project…) about a possible collaboration, I may redo a new implementation from scratch anyway (Python maybe this time?…). I am also back working on GIMP, and the animation plugin. And of course, I am working on the movie script. I hope I will be able to tell you more about one of these topics soon.
Well that’s a lot, right!

We have been planning going into more visual ZeMarmot pre-production, with concept design, research and reference gathering from September. So in a month, we should be able to propose you cool images to chew on! 🙂
In the same time, we are discussing with AMMD and are meant to meet them in October about their first musical productions made for the movie. Really looking forward to it!

Also, even though the crowdfunding has officially stopped, Indiegogo allows successful campaigns to continue raising funds. So if you still want to fund ZeMarmot, be a part of its credits and/or get some cool goodies, you still can!
The way we see this, the funding should never stop: the more we get, the better will the movie be.

Oh by the way: thank you very very very much to all our current and coming funders! ZeMarmot movie will exist thanks to you!

See you soon.

Our Open Animation Film crowdfunding has been launched!

So we just launched the crowdfunding for our 2D animation film, “ZeMarmot”!
You’ll find a small 1-minute teaser there. We hope you’ll like it.

Marmot Crowdfunding

As already explained, it will be made fully with Free Software, even the music as we work with a collective of musicians working with Free Software as well, and it will be released under Creative Commons Attribution Share-Alike (double licensed Free Art).
What not to like?

To know more and support us, go get a look to the crowdfunding page!

Symmetry Painting in GIMP ready to be merged

Hi all,

So I started a small crowdfunding for mirror painting in GIMP some time ago. It took some time since I had other priority (like our ZeMarmot film project) and my only time restriction was to get it out before GIMP 2.10 is out. And I knew it would take some time anyway.
Also I wanted to do things well. I know that some people were complaining that I could already release the code from the early demo I showed a video of, long ago. But seriously this was horrible crappy broken code. As a developer with some self-respect, I would never release such a code publicly, which was clearly done only to give an “idea” of what it could look like, not for solid code base of a good application.

Well I finally reached this state of a solid code base. I actually saw very quickly the need for something much more generic than just “mirror” painting. So I implemented what I called a generic “Multi-Stroke” feature, though Mitch did not like this naming at all and proposed to just call it “symmetry” (which I, in turn, don’t think defines the feature well, since it allows more than only symmetries, but well…). Basically from a single stroke coordinates, a “symmetry” would outputs 1 or more strokes (at different coordinates, but also with optional brush transformation too, using the new GEGL engine of GIMP).
With this base feature, which takes most of the code, I implemented the originally funded mirror symmetry, as well as a rotational symmetry, and a tiling symmetry (once the base code is there, adding any kind of “symmetry” is just a matter of minutes).
Well a video is worth any words. So here is the current state of the code:

For those who are interested into the resulting code or want to test, it is available publicly in a branch (hopefully soon to be merged to master):
Probably the next step of such a feature would be to have an API to allow plug-in developers to easily implement their own symmetries. I believe this would not be very complicated to implement too.

About the authors of ZeMarmot

ZeMarmot logo

“ZeMarmot” project is currently being made by 2 people: Aryeom and Jehan. I guess it is time to present ourselves:

Aryeom Han
Aryeom Han, photo by Patrick David

Aryeom is a young South Korean independant animation film director and animation artists. She studied for 4 years in Sangmyung University in the Fine Arts department, with “Animation Film” specialty. Her first co-directed short animation, “Grandma Ocean” got screened in more than a dozen festivals and won 2 prices: “Best Short” in category “Traveling shorts in Korea” at 10th Asiana International Short Film Festival, and second price in the 3rd Busan Women’s Film Festival 2012.

She is now an artist in residency in the association LILA in Paris, and is trying to create her own animation studio, Studio Girin. Also she is an awesome user of GIMP.
Aryeom is the movie co-scenarist and film director.

Jehan, photo by Patrick David

Jehan has been an actor as a young kid for a dozen of years, especially for movie dubbings, and also won an “Outstanding Youth Actor in a Foreign Film” award in the Young Artist Awards 1995 for his acting in the cinema movie “Dust of Life” by Rachid Bouchareb. Nowadays he spends time as a software developer (among others for GIMP…).

Jehan spent a few years traveling the world alone on a motorcycle (from France to Japan, crossing all Europe and Asia through Turkey, Kazakhstan, Mongolia, Russia, etc.), then he traveled with Aryeom across South Korea, Japan and New Zealand. Their travels are inspirational of ZeMarmot’s story.
Jehan is the movie co-scenarist.

Note that the Marmot is even more physical that one might think since Jehan has always been traveling with a plush toy (Marmot actually “pretends” to be a plush toy, in order to pass borders safely of course! But ssshhhh that’s a secret…) as a “copilot” on his bike and on every trip.
Here is the original Marmot, crossing by motorbike the vast desertic steppes of Mongolia (this is not a joke!):

Marmot Crossing Mongolia
Marmot Crossing Mongolia

ZeMarmot project at Libre Graphics Meeting 2015

Studio Girin has participated to Libre Graphics Meeting for the last 2 years, and we will again this year! This time, it happens from 29 April to 2nd of May in Toronto, Canada.

We will do a presentation for funding of ZeMarmot; 2D animation film made fully with open source software at LGM.

We are planning to start funding our project for production cost from that day and are preparing a short teaser movie for this.

The clip of presentation will be posted on May, at LGM 2015 closure.

ZeMarmot Recent news

Last week, we applied for support on scenario writing for the Project ZeMarmot.
We hadn’t decided the running time until now, but we finally settled for a time as we wrote the files. The running time is 45 min. Yeah, that’s mid-long. Of course, the actual finale time may vary depending on funding. Let’s say this is our goal. We will keep applying to get other supports anyway.
We are trying not to raise expectation too much… But if it happens, it would be great.

Below are a few sketches, related to the current state of the synopsis. For instance Marmot’s India travel.

taj mahal
Marmot flying over the Taj Mahal in India
An Indian cattle. It looks like wise (or sleepy).

Below pictures depict sample cut strips. These might be small spoilers. So, I won’t explain these strips!


The Marmot’s burrow

So our animation projet has got a Marmot as main character. His burrow is therefore quite important. So we did some research. Of course our character being of the specific “Alpine Marmots”, we focus on this subspecies.

So the Alpine marmots live mainly between 1500 and 3000 meters high, above forests. It seems they prefer clear largely exposed area so that they can spot any predator from far away. They live in group, in large burrows, up to 3 meter deep and 10 meter long, with a main room, toilets, a main entrance facing south (they like their sun!), and even emergency exits.
Well we won’t bore you more with details, you can find these all and more on the web. Funny also as it seems more than a kid must have had homeworks on the marmot’s burrow out there! Pretty funny. 🙂

Here are some research images.

go out entrance concepts homeresearch