I have been following the Glimpse project – a fork project of GIMP that aims to make the software more accessible while also improving its performance – for quite some time now and have continually asked myself many questions about the vision of this project and other spin-off projects that have come from it. The Glimpse website has many answers to general questions, but still leaves certain ones unanswered.
Well, I recently posed my questions directly to the Glimpse team, and they responded with some great detailed responses that shed light on the project’s future. Read the full Q&A in its entirety below to find out why this project exists, how it’s helped make GIMP better, and how it may lead to an even better Free and Open Source image editor in the future.
You can also check out my other article on this topic: Is Glimpse the Future of GIMP?
DMD: How many developers are currently working on Glimpse regularly?
GLIMPSE: We have multiple “streams” of development. Glimpse Image Editor is a fork of GNU Image Manipulation Program 2.10.18 and Glimpse NX is a planned rewrite using GTK-RS and the GEGL/BABL components from upstream.
Bobby Moss (career summary here: https://trechnex.github.io/about/) does most of the development work on the forked code. We have had contributions from Mathieu Bridon (Flatpak) and Heather Ellsworth (Snapcraft), and both are GNOME project contributors. Atra and James Daniel have also made most of our iconography and artwork changes. Cynthia Revström (renowned security researcher) also signs our Windows installer for us. This is watched by hundreds of people on our Matrix channel.
Christopher Davis (GNOME contributor) is heading up the new Glimpse NX, which will be based on GTK4, be written in Rust, and re-use upstream components like GEGL/BABL. The focus will be on the UI and UX specifically, and there are about a dozen people watching that on that Discord server.
Luna (an amazingly talented developer) works on and heads up “Yuzu Studio”. She is assisted by three artists and UI designers, and is a spin-off project that aims to do a ground-up rewrite. There are about 40 people watching that on her Discord server.
Christopher Davis (GNOME contributor) assists with governance and comms channel moderation with Bobby and Luna. Chaomodus (an experienced Linux sysadmin) also assisted with governance, moderation and server infrastructure for five months.
DMD: How many of those developers are simultaneously working on GIMP, and how many are solely working on Glimpse?
GLIMPSE: None of us contributed to the GNU Image Manipulation Program before we started the project. We were end users that had become frustrated about problems that we felt were not being addressed.
Bobby Moss acts as our liaison on the upstream project’s IRC channel because he has the most experience. We deal with any concerns that the upstream contributors would like to raise with us on that IRC channel. Bobby also raises bugs we spot on upstream’s Gitlab server and tries to help get them resolved.
While we have stated a willingness to contribute code changes back upstream, usually any changes we produce (or plan to produce) get reimplemented quickly because they have a much greater number of developers than us. Alternatively, the changes we get asked for most often regularly turn out to already be in upstream’s main branch, but the world has not been made aware of it yet because such changes have been earmarked for the GNU Image Manipulation Program 3.0.0. Upstream often backports changes from 3.0 onto the 2.10 branch, and it has been very cool seeing them post about those on Twitter over the past year or so.
Our most direct contribution so far has been sharing our donations. We have passed along $500 USD so far. We also had a hand in improving the install size on Windows, because we explained how we had improved that in our project.
There have also been less direct benefits for them that have emerged as a result of our project existing. For example, they can now direct people towards us if they do not want to make specific changes. Also, people who have not tried the GNU I.M.P since 2.8 (or even just earlier versions of 2.10) are revisiting the software again because they can see something new and interesting is happening. Disgruntled people who may have defected to proprietary alternatives have been known to “bounce” between our project and theirs, so we are also contributing a little to their user retention as well. We have heard cool stories about teachers managing to convince their school IT department to finally deploy the software because of the work we have done.
We tend to get quite a bad rap because people incorrectly think we are a politically-driven project. Upstream often views us as a competitor and an adversary, which is a shame because if that were our intention, their significantly larger development capacity and userbase would definitely make it a rather easy victory for them! For the past year, we have run our project as a kind of “task force” that is trying to reach people that upstream currently doesn’t with the same codebase, and also with the higher objective of trying to get more people using free software for their creative work. The numbers do not lie, we have clearly had some early success.
DMD: What are the major usability fixes/improvements you are working on, and when can we see these fixes implemented (i.e. a general timeline)?
GLIMPSE: We had originally intended to radically change (or even replace) the front-end UI, but there are a number of reasons why that will not happen:
- This is a 25-year-old codebase with tens of millions of lines of code, hundreds of dependencies and plug-ins, and half-finished modernizations on top of half-finished modernizations. Even the smallest of changes can snowball on you! (A good example was changing the name of the “Gimpressionist” plug-in. That required 1029 manual file edits)
- We have now seen what is coming in upstream version 3.0.0. We also know that any changes we make on the 2.10.x base would have to be recreated from scratch because 3.0.0 makes significant changes to the technology stack we would be building on top of
- The contributors our project has attracted want to make a new image editing application instead because they want to create their own technology stack instead of puzzling out someone else’s
That does not mean that improved usability on the forked code has ceased to be one of our goals. We would like to pick up changes that users have asked us for, and we will continue to do that as best we can. We are particularly excited about the idea of incorporating changes from PhotoGIMP for example (although we are assessing the legalities of some of those first!) and writing our own pre-bundled plugins to extend the functionality of what is there. But this is a marathon, not a sprint. It will take time to deliver those kinds of changes.
Our first three releases (0.1.0, 0.1.2 and 0.2.0) were intended as “rebase, refactor, replace, repackage” releases that have by and large achieved most of our technical objectives. Now that we are shifting focus and resources more towards the rewrite, our new plan is to create two forked releases a year. One that rebases on a new version of the GNU Image Manipulation Program each July, then a release that iterates on it each January. That timeline coincides with the academic calendar in the Northern hemisphere, and places less pressure to deliver on Bobby Moss specifically.
You can read more about our development priorities here: https://github.com/glimpse-editor/Glimpse/wiki/Development-Priorities
DMD: What are some of the major easter eggs or clutter you see in GIMP currently that you are either working to remove or would like to remove in the future to improve Glimpse’s performance?
GLIMPSE: We have already removed the “jump scare” easter egg where Wilber’s eyes light up in the main window if you leave the application unattended too long! Similarly, we removed the “fun” brushes like the green pepper and red tomato. We will also be omitting the “Goat Exercise” filter in 0.2.0. (We don’t mind easter eggs, but because we didn’t create them, and they can sometimes be perceived as “unprofessional”, we have a policy of removing them when we spot them)
The biggest performance gains have been on Windows. We wrote our own installer using WiX Toolset instead of re-using the upstream one built with Inno Setup. The most obvious result of this is that the installer for Glimpse Image Editor 0.1.2 runs much faster and the installed application only uses 507MB disk space, compared to the 3.5GB space that the GNU Image Manipulation Program 2.10.12 did. (We briefed upstream on how we did that via IRC, and they have since brought their own footprint down to 1.02GB for 2.10.20). We are hoping to shrink our installed footprint still further for Glimpse Image Editor 0.2.0.
Glimpse Image Editor also typically loads faster on Windows because it does not load a Python subsystem for plug-ins. Originally that was a bug we inherited from the upstream build process documentation, but we were surprised to discover that users appreciated the improved launch speed and didn’t notice the missing filters and plug-ins until we specifically pointed them out! Now that Python 2 is end of life anyway, we have taken the decision to continue not including support for Python plug-ins on Windows as the benefits seem to outweigh the drawbacks, and we can tout that as a software security fix to schools and workplace IT administrators. Our Linux ports are packaged in sandboxed containers, so the inclusion of Python 2 for those versions still makes sense.
For a time, Glimpse Image Editor did install faster from Flathub, but upstream has since made significant improvements to their own Flathub entry. In fact, you can now even install third party plug-ins as extensions through Flathub. We have not replicated that ourselves yet! Snap and AppImage support is roughly equivalent.
Other UI changes you may notice are the ditching of the “drag and drop” area because only power users seemed to understand what that is for, so we reclaimed the space in the main window. We have also gone through the entire application replacing the Wilber mascot with our more generic logo, and that work will be fully completed in 0.2.0.
DMD: Do you foresee GIMP implementing your changes directly into its future versions, or will your changes/updates be exclusive to Glimpse?
GLIMPSE: As mentioned from previous questions, the GNU Image Manipulation Program as a project has far more developer resources than we do, and the support and infrastructure of the GNOME foundation. As a result, they usually prefer to re-implement rather than re-use our work. However, we do brief them when we make cool changes and we are incredibly open about our future plans. That usually spurs them on to improve their own software or “beat us to the punch”. 🙂
DMD: In regards to Glimpse NX – how will this image editor be different from Glimpse aside from its new programming language (i.e. what features will it have, what will the UI be like, how will it perform relative to GIMP and Glimpse)?
GLIMPSE: It should be smaller, easier to package/distribute, and run faster because we will be using a more modern technology stack. We can’t say much more than that because the design work still needs to happen.
A key difference from the outset will be in our approach. The GNU Image Manipulation Program is generally intended for people who are already Linux users and/or have already bought into free software ideology. We want to reach people who are in neither of those situations and convince them to switch!
DMD: And on the subject of the programming language – why did you choose to base it on the D programming language?
GLIMPSE: So the D programming language has been chosen for Yuzu Studio, which has now been spun out as a new project separate to Glimpse. Luna can elaborate more on the low-level technical reasons why this programming language is one she is enthusiastic about. The discussion here may be a good starting point: https://twitter.com/Clipsey5/status/1277326964840443907?s=20
We now intend to use GTK4 and Rust because it is a better fit for the choice of technologies we want to use, and for the GNOME contributors that want to make it happen.
DMD: Will Glimpse NX always be free or do you intend to charge for it some day?
GLIMPSE: Our project is not-for-profit and always will be. Glimpse NX will likely be licensed under GNU GPLv3.
We cannot pre-empt our own project’s future decisions because of the nature of how we run it. You can read more about that on our FAQs page: https://glimpse-editor.github.io/about/#how-does-this-project-govern-itself
The current stance however is that we do not charge for our software and have no plans to do so in the future. There is also little or no support within our project to change that stance.
DMD: Do you have a general timeline for its (Glimpse NX) release?
GLIMPSE: As this is a project being made entirely by enthusiasts in their free time it is hard to put a fixed timeline on this.
We are hoping we can deliver it within two years, but that is dependent on the momentum we can get behind it.
If it does not get delivered, then we can continue to produce a meta fork for as long as there are users who want it. We have now started a new initiative called “Glimpse Redux” which is specifically intended to help us rebase when upstream finally release version 3.0.
DMD: Do you foresee Glimpse being a “Photoshop Killer?”
GLIMPSE: For as long as we continue to be a fork of the GNU Image Manipulation Program, no. That initiative is intended to expand the already large userbase of an existing free software program. While we have had some success, the size of our userbase is a rounding error compared to upstream.
Glimpse NX is being specifically engineered to appeal to people who are using programs like Adobe PhotoShop, Corel PaintShop Pro, and others. However, such an effort has to be a marathon and not a sprint. Also, we do not have people working full-time on the project, there is no overarching organization supporting us, and we lack the resources and expertise we need to make that happen.
What we aim to do over the next few years is to produce something new and exciting that fires peoples’ imaginations and harnesses the enthusiasm of the FLOSS community. We will then see how our project develops, and the kind of interest that we attract.
Even if Glimpse NX or Yuzu Studio never become “Photoshop killers”, we would still be introducing more choice into the free software landscape. Our “big picture” goal of convincing more people to use free software would remain the same, and we will continue to believe in peaceful co-operation between ourselves and the GNU Image Manipulation Program in service of that goal.