Meet Alyssa Rosenzweig and Panfrost

Hi, I’m Gaurav Agrawal, a member of the GNOME Engagement Team. I recently had the chance to interview Alyssa Rosenzweig, who is a lead developer at Panfrost project which is a free and open source driver Mali Midgard and Bifrost GPUs. Alyssa spent her summer as an intern at Collabora working on improving Panfrost’s OpenGL ES 2.0 userspace, which helps GNOME Shell work fluidly on supported Mali Hardware.

A screenshot of panfrost in action, with four open images of a Debian terminal, a logo, a jellyfish, and a computer generated landscape.

How about we kick off with a little bit of background on Panfrost?

Panfrost is a free, open-source graphics stack for Arm Mali GPUs, focused on the popular Midgard series. While these chips are popular among Android devices, they have been historical thorns in Linux’s side, due to the closed nature of the official drivers. Panfrost aims to change that, bringing the benefits of open-source to the Mali world.

What started out as a small community reverse-engineering effort has now matured into a reliable OpenGL ES 2.0 driver. Since May, I’ve been using Panfrost as my daily driver to program Panfrost. And yes, I’m answering these questions from a machine with Panfrost!

How did you get involved with the Project’s team/founded the team.

I’m passionate about spreading free software across the entire stack. To me, it’s not enough to have a free kernel; we also need a free desktop environment like GNOME. Yet it’s not enough to have just a free kernel and free desktop environment — we need free drivers and free firmware. Researching the state of free firmware for x86 systems, I realized that for long-term success, free software needs to win on Arm platforms, where free firmware at the lowest levels is still an option on systems like the Rockchip RK3399. These Rockchip systems have gained considerable mainline support, including support for the on-board video processing unit, thanks to past Collabora contributions. The future looked bright for Linux on Arm.

Unfortunately, despite these freedom wins, these Arm boards featured Mali GPUs, whose proprietary drivers prevented free software from truly taking off here. Frustrated with the GPU serving as the sole obstacle to a modern fully open source laptop, two years ago I purchased a development machine with a Mali — and the rest is history.

We will love to know, what were the issues with existing proprietary Arm drivers, which users were facing?

The issue with proprietary drivers is both practical and philosophical, and the proprietary Mali drivers are no exception. 3D acceleration is a de facto requirement of the modern system; even if a user is not interested in video games, they still need acceleration to run software using OpenGL like GNOME with full performance. Thus, philosophically, the requirement of the proprietary drivers for OpenGL support prevents normal usage of systems with Mali with free software.

Practically, the proprietary drivers pose a number of challenges for Linux users. Arm’s userspace drivers require the use of Arm’s kernel drivers. While these kernel drivers are technically open source, they are tightly coupled with the proprietary stack, which prevents their integration with the upstream “mainline” kernel. Today, most users never have to think about installing a kernel; the kernel for their hardware is part of their distribution, and distributions can easily maintain support for any hardware supported upstream. But a Linux user that needs a Mali chip cannot rely on their distribution for the kernel; the driver is maintained out-of-tree and requires a complex porting process to work against a normal upstream kernel. Far too often, users will resort to use outdated, buggy, insecure, downstream kernels, simply because they cannot use the mainline kernel if they need graphics.

Panfrost changes that. Our kernel module is designed for open-source and is included in the mainline kernel. Likewise, our userspace implementation is open-source and part of the upstream Mesa project, shared with the open-source Linux drivers for Intel, AMD, and Broadcom GPUs. Thus, with Panfrost, Linux users can install the distribution of their choice, using a modern, secure upstream kernel, while 3D graphics works out of the box.

Your project focuses on improving Panfrost’s OpenGL ES 2.0 userspace, we will like to know what this is about, and how it will benefit others?

OpenGL ES 2.0 is the core API for graphics on Arm platforms. Although newer versions of OpenGL ES exist, most software a user will encounter day-to-day can run on OpenGL ES 2.0. By focusing on this API, Panfrost is able to provide a smooth user experience where it counts.

Panfrost uses the open source Mesa implementation of OpenGL ES 2.0 to provide this experience to users. Mesa provides the OpenGL frontend via the common open-source “Gallium” API. Panfrost is a Gallium driver, thus enabling OpenGL ES 2.0 apps to run atop Mali with no proprietary components.

But Panfrost goes further! OpenGL ES is the “embedded subset” of OpenGL, the API used more commonly on Linux. The proprietary userspace drivers only support OpenGL ES, with no support for desktop OpenGL, leaving Linux users forced to specially compile software or use fickle translation layers. Fortunately, Panfrost provides a solution!

Leveraging the power of a strong open-source community via Mesa and Gallium, Panfrost is able to support OpenGL 2.1, a “common denominator” API prevalent on Linux. Other drivers have contributed to the desktop OpenGL support in Mesa and Gallium, and via this shared open-source framework, this work is shared and everyone benefits — including Panfrost users.

In practice, this support means a user running a distribution like Debian can install desktops like GNOME and have acceleration work out of the box. Whereas the proprietary userspace would leave a would-be GNOME user to fend for herself, Panfrost provides a smooth, Linux-first experience.

A young woman, against a blue background, wearing a red shirt. She has long, dark brown hair.We really want to know how are you so creative with commit messages ;) (… , :^, ./test-clear works, woo, I think I got it ?, Fix textures \0/, 🤔 , I tried…, Hmm )

Programming is mentally draining for some and physically draining for others. For me, I think programming is _emotionally_ draining. By the time my code works, sometimes you just have to let out all that emotion into the nearest text box. Sometimes that’s IRC, and sometimes that’s the commit message :-)

You went on a bug fixing adventure with GNOME, and we are excited to know what treasures you got ;)

Sometimes debugging feels like chasing my tail. But that’s not a problem — I’m not going in circles; I’m spiraling out and learning so much along the way. Sometimes that knowledge doesn’t help fix the bug, but it’s always a treasure!

GNOME offered no shortage of treasures. I installed a standard GNOME system from my distribution, which was built with OpenGL 2.1, rather than OpenGL ES 2.0. While OpenGL 2.1 has been tested with Panfrost, at the time, we had not tested it as extensively as ES 2.0, so there were all sorts of little gotcha’s I discovered. For instance, desktop OpenGL uses a slightly different texture specification mechanism, which challenged our previous texture implementation and demenaded a refactor — something I never would have noticed if I weren’t bringing up an app like GNOME.

_The_ bug, as it were, was unrelated to my research into complex topics like textures and tilers. No, in fact, it was a trivial piece of code related to the viewport descriptor. Panfrost’s implementation was correct for OpenGL ES 2.0, but again, OpenGL 2.1 offers more flexibility, so our implementation did not work there. After an agonizing bug search, a little bit of robustness improvements to the viewport code made all the difference in the world, and a moment later, I was running GNOME.

It will be really interesting to know how you all got nearer to the “Rasterization Discard” with the work “Scoreboard Implementation” on Mali’s Tiled Architecture, and we are curious to know simple explanation of these terms.

In graphics with OpenGL, the fundamental unit is a “draw”. Each draw has a pair of shaders, small programs running on the GPU. The first shader is the vertex shader, which determines where on the screen the GPU should render. The second shader is the fragment shader, which determines what colours the GPU should render. For an application like GNOME, these shaders are simple, copying the images of windows onto the screen. For a game, these shaders can be arbitrarily complex to implement fancy rendering algorithms.

Mali’s architecture subdivides draws into two parts, a vertex job (running a vertex shader) and a tiler job (setting up a fragment shader). If a simple app submits 100 draws, the driver will generate 100 vertex jobs and 100 tiler jobs. But these jobs have to run in a specific order: while all of the vertex jobs could run simultaneously, each tiler job (fragment shader) can only run once the corresponding vertex job (vertex shader) has run. Mali lets each job “depend” on other jobs, so one job can only run after its dependencies have run, much like a package in a package manager only installing once its dependencies were installed.

Originally, we hardcoded these dependencies, but this proved inflexible. This hardcoding was replaced by a high-level description of each job’s dependencies, so an automatic algorithm can compute in which order jobs need to be specified. This algorithm is knowing as “scoreboarding”.

The benefit of this automatic approach is seen in “rasterization discard”, an OpenGL feature that runs vertex shaders but does not draw anything to the screen. On Mali, that means we generate a vertex job, but we _don’t_ generate a tiler job. When we hardcoded jobs, this asymmetry was a problem, but once we implemented an automatic algorithm, this is as simple as just… not generating a tiler job. In negative lines of code, we can implement rasterization discard!

What are some popular devices that you believe can adopt your work, and through them it will benefit lots of people ?

A number of Arm-based Chromebooks use GPUs supported by Panfrost, including my personal development laptop, the Samsung Chromebook Plus. Collabora has contributed to the open-source mainline support for ChromeOS on these Chromebooks, and as a result of our open-first approach, Linux users of these Chromebooks benefit from a well-supported mainline stack. With Panfrost in the upstream kernel, these Chromebooks work on mainline _without_ sacrificing critical hardware support!

Beyond Chromebooks, based on the same high-performance RK3399 chipset, the Linux community’s own Pinebook Pro will support Panfrost. On a smaller scale, Mali chips are ubiquitous in phones and tablets; Panfrost will help the postmarketOS project achieve one of their stated goals, running the mainline kernel on phones for Linux for long-term support.

Looking back so far, what did you folks enjoyed the most with working around FOSS projects and communities?

The people! No matter where I go in the FOSS world, there’s always a friendly face. In real life, I can sometimes be timid, but online in the open source community, I can always hop into an IRC channel and strike up a chat with a developer or a fellow user. That sense of community, that despite coming from a myriad of countries, timezones, and identity backgrounds, we’re all united by a common purpose — that is a breath of fresh air from societies so focused on individual competition.

What are some inspirational lessons which you want to share with us, which will inspire newcomers contributing to FOSS ?

You can make a difference in the world of free software. It’s easy to be jaded and feel that nothing we do matters, that the tides of the world are set in stone at the whim of someone more powerful. Sometimes that can be true, but in the free software community, everyone has a chance to make a difference. If you can code, find an interesting open-source project to contribute to. If you’re multilingual, the community is always looking for translators. And even if you’re just an end-user, testing counts — if something doesn’t look right or doesn’t seem right, file a bug report and let the developers know! Or, if you’re a little extroverted and knowledgable on some software (even as a user!), try hanging out on your favourite project’s IRC channel and helping other users with the software — you never know whose day you could be improving with some patience and a little kindness. Little changes add up to making free software the beautiful place it is today, and you can help.

How can someone become involved?

Try Panfrost! Panfrost is shipping with Linux 5.2 and Mesa 19.2, arriving in popular distributions shortly. If you have a board with a compatible Mali GPU, grab the open-source stack and start testing! Maybe try your favourite desktop environment, or grab an open-source video game compatible with OpenGL 2.1, like SuperTuxKart. Give it a spin!

Edited for content and grammar. Images provided by Alyssa Rosenzweig, licensed CC-BY-SA 4.0.

Meet the GNOMEies: Sammy Fung

Sammy is a freelancer, community organizer, and GNOME enthusiast from Hong Kong. For almost 20 years, Sammy has been using, GNOME and building community in Asia.

A photo of Sammy Fung holding up two firefox signs. He is wearing a suit jacket and a blue collared shirt. He has glasses and his hair is sticking up.

Tell us a little bit more about yourself.

Currently, I am a freelancer which works on web scraping, python, data analytics, Linux, and networks. I was an owner and the director of small IT business, with my experiences in the open source, technology, community, and business, I organise local and regional open source communities and conferences in Hong Kong and Asia, travel between Asian and US cities to attend, speak, and organise open source events.

What is your role within the GNOME community?

I co-lead at GNOME Asia committee

Do you have any other affiliations you want to share?

I’m a Mozilla Representative, the President at Open Source Hong Kong, organiser of PyCon HK, and founder of Hong Kong Open Source Conference.

Why did you get involved in GNOME?

I am a GNOME user since 2000, and I think that GNOME is the most important software for Linux desktop. I thought that we should organise an event in Hong Kong for Linux desktop to promote and develop it. GNOME is the key.

Why are you still involved with GNOME?

As a user in Hong Kong, we embrace the different cultures from West and East. I keep my contributions to link up with East and West in different Asia cities when my living and income allows me to do so.

What are you working on right now?

After I take over the leadership at GNOME Asia Committee, I called for meetings for the GNOME.Asia Summit. I communicate with the local team for it.

What are you excited about right now – either in GNOME or free and open
source software in general?

It is not easy to sustain a desktop project, but GNOME is still the number one desktop environment on Linux!

What is a major challenge you see for the future of GNOME?

To sustain and grow GNOME, I hope that more GNOME contributors can be employed to achieve different missions of the project, to create more resources (e.g. marketing and documentation) for GNOME. On the other hand, we should also consider how to integrate GNOME and the open web seamlessly. I hope GNOME can become software that is not just a desktop environment, but a desktop ecosystem. It is not only in technical but also in business, the community, and the market.

What do you think GNOME should focus on next?

  1. Community building;
  2. Educating youth about the open desktop; and
  3. Turning the desktop environment to the desktop ecosystem.

Edited for content and clarity. Photo provided by Sammy Fung.

Meet the GNOMEies: Max Huang

Max Huang has been GNOME since 2010, starting with forming a GNOME users group in Taiwan. Max has a story you may understand: being a user, meeting the right person, and slowly finding yourself more and more deeply involved with a community in terms of working together and making friends.

A photo of three people, holding signs reading "GNOME Asia," "openSUSE," and "COSCUP."
Max Huang, on the left

Tell us a little bit more about yourself

I have contributed to GNOME for the past nine years. I promote free software and GNU/Linux at my school in Taiwan. I am one of GNOME.Asia Committee Advisors members, working with GNOME.Asia team.

I’ve helped organize several GNOME.Asia summits, in Taipei, Chongqing, Tokyo, India, Indonesia, Beijing, South Korea, and Hong Kong. I’ve served on the GNOME travel committee for several years. In 2012, I also worked with openSUSE and KDE to have a conference with COSCUP in Taiwan.

Before I started organizing events, I went to Bangalore, India, learned how to host the GNOME booth, and started making a GNOME user video.

Before that, I started the GNOME Taiwan Users Group, which hosted a lot of workshops with GTK, as well as a party for the GNOME 3 launch.

What is your role within the GNOME community?

I organize and promote GNOME. :)

Why did you get involved in GNOME?

I met Emily Chen at 2010, she led me into GNOME community. I am a GNOME user — of course. :)

Why are you still involved with GNOME?

The answer is “friendship and smiles.” To me, smiles are the greatest power to promote GNOME and FOSS. I have made many new friends in GNOME and FOSS through different events.

Why still get involved with GNOME and open source?

Everyone can be a contributor with different methods. Just spending your time — you will get smiles and friends, learn and grow.

What are you working on right now?

Promoting GNOME through open source, workshops, and speeches.

What are you excited about right now — either in GNOME or free and open source software in general:

Getting the community together more. :)

What is a major challenge you see for the future of GNOME?

We need to work on documentation and the first steps for getting users and organizers involved with GNOME. How can we brow the user and contributor bases?

What do you think GNOME should focus on next?

The GNOME Board tasks. :P I trust them, they will do their best. :)

What should we have asked you about that we didn‘t? (Please also
answer.)

I think the question is great. Thanks again for interviewing me.

Photo courtesy of COSCUP on Flickr. Licensed CC-BY-SA.

Meet Sriram Ramkrishna

Sriram Ramkrishna, frequently known as Sri, is perhaps GNOME’s oldest contributor. He’s been around the community for almost as long as it’s been around!

Can you tell us a bit more about yourself?

I’m one of the oldest members of GNOME having recently past my 50th birthday. I started in GNOME in late 1997, at the time I was a storage engineer working for Intel. I remember feeling amused when someone in GNOME heard my background and asked whether Intel was going to be involved. They weren’t, but it turns out they did later. In fact, it’s because of GNOME that my work life changed from being a simple engineer to a multi-faceted person with not just technical skills but soft skills.

I’m well known in a number of other communities — free software community primarily, but also corporate open source thanks working 20 years at Intel.

What’s your role within the GNOME community?

I primarily do engagement work — social media, public relations, and talks in the community. But I also try help solve specific problems within the project. One current project I’m working on is to help improve the GNOME extensions. I have an on-going project to help with developer documentation using HotDoc. That’s been somewhat lagged and I hope to find time to help lead that effort again.

Why did you get involved in GNOME?

Miguel was a charismatic leader, and attracted me that way. Plus I hate C++, and GNOME was C based. :D But more than that, GNOME was a project that if you think about it was audacious in its purpose. Building a desktop in 1997 around an operating system that was primitive in terms of user experience, tooling, and experience. I wanted to be part of that.

Why are you still involved with GNOME?

Because GNOME is always a forward thinking project. There is still a lot of exciting potential and it’s like we’re only now getting started. The past 20 years was all about getting to the stage so that we can start doing some real innovation. We’ve reached parity with OSX and Windows — mainstream desktops. But now we can leverage the power of ideas even further.

What are you working on now?

Well, right now I’m involved in building a market for Linux applications. It’s no more audacious than the concept of GNOME itself. Five years ago, I had this idea that now that we had come up with ubiquitous app technology, that we can start working on building models that allow for compensation for free software developers, application stores so that developers can know how popular their apps are, and build relationships with the users who use their applications. A lot of this is encapsulated in a conference called Libre Application Summit. We did two iterations of that, and this year we’re expanding the scope and changing the name. Linux Application Summit will be a joint collaboration with KDE and hopefully distros in the future to help create the conditions needed to build modern, useful applications on a free software platform.

What are you excited about right now — either in GNOME or free and open source software in general?

Other than the conference. I’m generally excited about where GNOME is going. I think we have challenges to overcome and I’m excited about overcoming those challenges. In the FOSS community in general, there are challenges with encroachment by big business who I think are still trying to figure out how to exploit the labor of developers and we should ever be vigilant that we keep things fair and balanced between all parties.

What is a major challenge you see for the future of GNOME?

I think for GNOME as a platform, our challenge is to make sure that we have relevant documentation for users and developers. If there is one effort that I wish we could all participate in, it is that. It comes down to how low the barrier of entry is. How one picks one platform over the other is almost always depends on how quickly you can put together an application. Building a library of code, videos, and documentation is what will make GNOME successful. The second thing is that projects like GNOME Builder will also be critical to our success. I’m excited by the idea that I can build an application and have it be easily distributed everywhere and I don’t have to use arcane tools to do it.

What do you think GNOME should focus on next?

Documentation I think is going to be important, building relationships with other organizations and a very active foundation that will put their resources into building a solid infrastructure. So it’s not just one thing, but many.

Edited for content.

Meet Matthias Clasen

Matthias Clasen is enjoys spending time outdoors, having great hair, and working on GNOME Tool Kit (GTK).

A photo of Matthias Clasen. He has short blue hair and is standing amongst trees.

What is your role within the GNOME community?

I have been involved GNOME for a long time. My first commits to GTK are from sometime around 2002. GTK is where I spend most of my development and project maintenance time. But I’ve been involved in many other parts of GNOME at one point or another, from GLib to GNOME Software.
Apart from writing code and fixing bugs, I am a member of the release team, and do a few of the GNOME releases every cycle. In recent years, I’ve often done the .0 stable releases.

Other affiliations you want to share?

In my day job, I manage the “GNOME” part of the Red Hat desktop team, which is an outstanding group of engineers. We juggle upstream work on GNOME and related projects with maintaining the workstation products in Red Hat Enterprise Linux and Fedora.

Why did you get involved in GNOME?

That is a tough question to answer — these things usually just happen, and we try to retroactively make sense of them. To give some answer: My first love in software was typography — I spent my university years in Germany happily doing math and TeX. At some point, I got interested in window managers, and trying to write a better menu system for fvwm is what created my first contact with GTK. And things just grew from there, with many lucky coincidences along the way, not the least of which was that I got a job in the Red Hat desktop team.

Why are you still involved with GNOME?

On the one hand, it is part of my job (and I am extremely lucky that it is). But, really, it is just a way of life. There are so many good friends and colleagues in the GNOME community that I can’t imagine not being involved in it anymore.

What are you working on right now?

It is always a mix of things that are going on at the same time. The big tasks are getting Fedora Silverblue ready for prime time and trying to push GTK4 over the finish line. But there are a whole lot of smaller things that take up some of my time. A few weeks ago, I took a day to write a Flatpak portal that lets applications update themselves. And last week I spent a day working with Behdad on pango (I still have a soft spot for typography) and wrote a post about it.

What are you excited about right now — either in GNOME or free and
open source software in general?

I am feeling quite positive about Flatpak, and the opportunities it opens up for getting out of the “Linux distro” conversation. It is exciting to see many apps on flathub that I had no idea existed. And now it is just one click for me to try them out. Together with gitlab and its CI, flatpak has also changed the way we develop GNOME. It is like night and day, compared to a few years ago — things generally just build and work these day, and you can download flatpaks to try out branches — it is fantastic.

What is a major challenge you see for the future of GNOME?

I think it is a challenge to teach generations the value of having a local computing device (e.g. your laptop) that is powerful and accessible enough to let you explore and build things. Between phones and the online world, there is a risk that we lose that important aspect of the freedom to tinker an explore — you don’t compile things on your phone, and you can’t reboot the cloud…

What do you think GNOME should focus on next?

I have a hard time answering this, because GNOME is thousands of individuals, who all have their own motivations and goals, not a monolithic block that can be turned in a different direction with a quick command. I think the work Endless has been doing for bringing computers (and GNOME) to people in the developing world and to young people is very relevant for the long-term future of the project, and we should support them.

What should we have asked you about that we didn‘t?

You could have asked me about my kids and my cats.

My kids are 21 and 19, and in college. Thankfully, they are both at home for the summer, so we can share the cooking and do some hiking and kayaking together.

The cats are not in college.

A bright red leaf on the stony grey ground.
A lovely leaf Matthias found while hiking in the White Mountains.

This interview has been edited for clarity.

Giving Spotlight | Meet Tanu Kaskinen, PulseAudio maintainer

Tanu, CCo

We have this week had the pleasure to interview Tanu Kaskinen about his work as PulseAudio maintainer

Do you want to introduce yourself?

Hello, my name is Tanu Kaskinen and I’m a PulseAudio maintainer (and also involved in the OpenEmbedded project a little bit).  I spent my childhood in Järvenpää, Finland, and moved to Tampere when I started my software engineering studies at Tampere University of Technology. I’ve been living here ever since (13 years, if my calculations are correct).

How did you become involved with PulseAudio and why do you think its’ an important project? 

At a time (2007, I think) I had a MIDI keyboard, and I wanted to play along while listening to music in Rhythmbox. That required running software synthesizers with JACK, but I couldn’t make Rhythmbox work properly with JACK. PulseAudio seemed like the future of desktop audio, and Rhythmbox certainly worked with PulseAudio. There was a PulseAudio module for bridging to JACK, but that was glitchy, so I decided to try to fix it (my first open source code contribution attempt!). In the end my fix was not needed after Lennart rewrote big parts of the PulseAudio core.

Why is PulseAudio important? Well, you need some sound server to manage application streams, be that dmix (in ALSA), JACK or PulseAudio. Having an intermediary between the applications and the kernel is required for a lot of flexibility that people expect from their systems.

What are some of the challenges about maintaining PulseAudio? 

I guess all projects have their set of difficult bugs… In case of PulseAudio, hardware specific issues are quite common. Not having the hardware yourself is of course one problem when debugging, but even if the issue can be tracked down to a clear misbehaviour in the kernel driver, the bug may be left unfixed, because I have never learned to work with kernel code, and the ALSA developers may ignore the bug report (I don’t really blame them, I believe ALSA is understaffed too).

Any interesting features that are being worked on right now?

Nothing earth-shattering comes to mind, but here are things that I’m personally excited about: Georg Chini has been working on a long-standing bluetooth bug about bad A/V sync when watching videos.  

I believe the Intel HDMI LPE hardware is becoming pretty widespread on new computers, and the kernel driver for that has certain unusual behaviour that makes PulseAudio enter an infinite loop when the HDMI cable is not plugged in. I’m happy that it will be fixed in the upcoming release.

There have been various small tweaks to automatic routing in recent releases, and those are going to continue. 

What keeps you involved in the PulseAudio community?

I feel a need to do something useful with my life, and maintaining PulseAudio fills that need quite nicely. It’s not always fun, but it’s not so un-fun either that I would feel compelled to quit. PulseAudio has been a significant part of my life for some 10 years, and at this point it’s a pretty big part of my identity.

Can you describe PulseAudio’s role/relevance in a desktop environment such as GNOME?

GNOME tries to make a computer easy to use, and things should “just work”. PulseAudio plays a big role in that when it comes to audio. Also, if the GNOME user interface designers or developers have a vision for how e.g. audio settings should be presented, they have to work within the capabilities of the sound server.

Are you yourself a GNOME user?

Yes I am! I started using Linux when Debian Woody was current, probably in 2003. I don’t remember how I initially chose GNOME, maybe just because it was the default? I’ve sticked with Debian and GNOME pretty much all this time .

Why are you doing a fundraiser?

Because I don’t want a real job :) I like having complete control over how I spend my time, and even if I didn’t feel so strongly about that, not many companies are willing to pay just for PulseAudio maintenance anyway. (Perhaps the number of such companies is even zero, but to be honest I haven’t tried reaching out to Red Hat or similar.)
In 2015 I found myself having enough savings to last at least a few years if I quit from my day job, and so I did. I wanted to spend more time on PulseAudio, because there was a shortage of maintainer resources in the project . In 2016 I launched the Patreon campaign to slow down the rate at which my savings are drained, and this year I started a similar campaign on Liberapay.

Questions for fun 

What is your favorite place on Earth?

Well, there’s a certain quiet spot on the shore of the Näsijärvi lake not too far from where I live. During summertime I sometimes go there to watch the sunset.

Favorite cake?

Hmm, I haven’t pondered this before, but I think the answer is the Swiss roll. Ideally with whipped cream and banana inside. I don’t know if I’ve ever eaten such Swiss roll, but I imagine that would be the optimal filling.

Thanks Tanu for taking time talking with us we wish you continued luck in your efforts!

Mid-June nigth in Tampere. CC0 Tanu Kaskinen

Consider support Tanu through his Patreon or Liberapay campaigns.

Giving Spotlight | Meet Øyvind Kolås, GEGL maintainer extraordinaire

Last month, we had the pleasure of interviewing Øyvind Kolås, aka “pippin,” about his work on GEGL — a fundamental technology enabling GIMP and GNOME Photos.

GIMP Stickers, CC-BY-SA Michael Natterer

This interview is part of a “Giving Spotlight” series we are doing on some long-time GNOME contributors who have fundraising campaigns. The goal is to help GNOME users understand the importance of the technologies, get to know the maintainers, and learn how to support them.

Without further ado, we invite you to get to know Øyvind and his work on GEGL!


The following interview was conducted over email. 

Getting to know Øyvind

Where are you from and where are you based?

I’m from the town of Ørsta – in the end of a fjord in Norway, but since high-school I’ve been quite migratory. Studying fine art in Oslo and Spain, color science research at a color lab and lecturing multimedia CD-ROM authoring in south-eastern Norway, and working on GNOME technologies like Clutter and cairo for Opened Hand and Intel in London, followed by half a decade of low-budget backpacking. At the moment I am based in Norway – and try to keep in touch with a few people and places – among others England, Germany, and Spain.

Øyvind “pippin” Kolås, CC BY-NC-ND Ross Burton

What do you do and how does it relate to GNOME?

I like tinkering with code – frequently code that involves graphics or UI. This results in sometimes useful, at other times odd, but perhaps interesting, tools, infrastructure, or other software artifacts. Through the years and combined with other interests, this has resulted in contributions to cairo and Clutter, as well as being the maintainer of babl and GEGL, which provide pixel handling and processing machinery for GIMP 2.9, 2.10 and beyond.

How did you first get involved in GNOME?

I attended the second GUADEC which happend in Copenhagen in 2001. This was my first in-person meeting with the people behind nicknames in #gimp as well as meeting in-person GIMP developers and power users, and the wider community around it including the GNOME project.

Why is your fundraising campaign important?

I want GIMP to improve and continue being relevant in the future, as well as
having a powerful graph-based framework for other imaging tasks. I hope that my continued maintainership of babl/GEGL will enable many new and significant workflows in GIMP and related software, as well as provide a foundation for implementing and distributing experimental image processing filters.

Wilber Week 2017, a hackathon for GEGL and GIMP, CC-BY-SA Debarshi Ray

Getting to know GEGL

How did your project originate?

GEGL’s history starts in 1997 with Rythm and Hues studios, a Californian visual effects and animation company. They were experimenting with a 16bit/high bit depth fork of GIMP known as filmgimp/cinepaint. Rythm and Hues succeeded in making GIMP work on high bit depth images, but the internal architecture was found to be lacking – and they started GEGL as a more solid future basis for high bit depth non-destructive editing in GIMP. Their funding/management interest waned, and GEGL development went dormant. GIMP however continued considering GEGL to be its future core.

How did you start working on GEGL?

I’ve been making and using graphics-related software since the early ’90s. In 2003-2004 I made a video editor for my own use in a hobby collaboration music video/short film venture. This video editing project was discontinued and salvaged for spare parts, like babl and a large set of initial operations when I took up maintainership and development of GEGL.

What are some of the greatest challenges that you’ve faced along the way?

When people get to know that I am somehow involved in development of the GIMP project, they expect me to be in control of and responsible for how the UI currently is. I have removed some GIMP menu items in attempts to clean things up and reduce technical debt, but most improvements I can take credit for now, and in the future, are indirect, like how moving to GEGL enables higher bit depths and on-canvas preview instead of using postage stamp-sized previews in dialogs.

What are some of your greatest successes?

Bringing GEGL from a duke-nukem-forever state, where GIMP was waiting on GEGL for all future enhancements, to GEGL waiting for GIMP to adopt it. The current development series of GIMP (2.9.x) is close to be released as 2.10 which will be the new stable; it is a featureful version with feature parity with 2.8 but a new engine under the hood. I am looking forward to seeing where GIMP will take GEGL in the future.

What are you working on right now?

One of the things I am working on – and playing with – at the moment is experiments in color separation. I’m making algorithms that simulate the color mixing behavior of inks and paints. That might be useful in programs like GIMP for tasks ranging from soft-proofing spot-colors to preparing photos or designs for multi-color silk-screening, for instance for textiles.

Which projects depend on your project? What’s the impact so far?

There are GIMP and GNOME Photos, as well as imgflo, which is a visual front-end provided by the visual programming environment noflo. GEGL (and babl, a companion library), are designed to be generally useful and do not have any APIs that could only be considered useful for GIMP. GEGL itself also contains various example and experimental command line and graphical interfaces for image and video processing.

How can I get involved? 

GEGL continues needing, and thankfully getting, contributions, new filters, fixes to old filters, improvements to infrastructure, improved translations, and documentation. Making more projects use GEGL is also a good way of attracting more contributors. With funds raised through Liberapay and Patreon, I find it easier to allocate time and energy towards making the contribution experience of others smoother.

And now a few questions just for fun…

What is your favorite place on Earth?

Tricky, I have traveled a lot and not found a single place that is a definitive favorite. Places I’ve found to be to my liking are near the equator and have little seasonal variation, as well as are sufficiently high altitude to cool down to a comfortable day high temperature of roughly 25 degrees Celsius.

Favorite ice cream?

Could I have two scoops in a waffle cone, one mango sorbet, one coconut please? :)

Finally, our classic question: what do you think cats dream about?

Some cats probably dream about being able to sneak through walls.

Øyvind Kolås, CC BY-NC-ND Ross Burton

 

 

Thank you, Øyvind, for your answers. We look forward to seeing your upcoming work on GEGL this year and beyond!


Please consider supporting Øyvind through his GEGL Liberapay or GEGL Patreon campaigns. 

Iulian Radu: GSoC student and GNOME Ambassador

Iulian Radu is in his final year at the University POLITEHNICA of Bucharest, and he has been involved in his oncampus open source community. Over the last couple of years, he has brought GNOME to his campus, and generated interest around encouraging other students to get involved in GNOME, contribute, and even apply for GSoC. Read on to learn about his experience in getting involved and spreading GNOME to his university in Romania!

Julian
Courtesy of Iulian Radu

Where are you from and where are you based now?
I’m from Romania and living there now.

How long have you been contributing to GNOME?
I made my first contribution 2 years ago during the summer and it was for Iagno. 

How did you first hear about GNOME and become a user?
I was a user before I became a contributor. The first time I heard of GNOME was in university, and we had a course where we had a slide with different logos. We had to name those logos, which were all open source and Linux related. Soon after that I got to use Linux in my university classes; it was used and required almost everywhere, classes and homework. I got it installed for the first time during Linux Install Fest, an event where the community (students, teachers) helps first year students, and anyone interested, install Linux on their personal computer.

We know this year isn’t your first year with GSoC, how did you first get involved?
Yeah, my first year with GSoC was in 2015. I heard of it in university when my teacher and some colleagues a year above me told me about it. I actually tried applying in 2014 as well but the steps were not that clear at the time. I was under the impression that it was way too complicated for me and I just gave up on the idea. The next year, in 2015, I just asked around more and it was really different. Everyone was really supportive and everything made sense; I didn’t have many problems getting accepted. Then this year, in 2016, I already knew what I had to do and everything went smoothly. 

What motivated you to join for a second year?
I was in between deciding whether to do GSoC again and getting a job at a company to experience office life, working in a team, and participate in meetings. Michael, my 2015 GSoC mentor, told me he wanted to be a mentor again and said he had a project on Epiphany for me. It sounded really interesting, so I applied again to GSoC.

What has been your project with Google Summer of Code?
My project was “Web: Bookmarks Subsystem Update. I basically had to redo the bookmarks system in GNOME Web and I kind of started from scratch because the code was old. 

Interns GUADEC 2016
GSoC and Outreachy 2016 Interns, Photo by Bin Li, CC-BY-SA 4.0

You’re very active within your community, especially when it comes to planning events. What exactly is it that you have done?
I’m active within the open source community at my university. There’s a non-profit organization called ROSEdu (Romanian Open Source Education). That’s how I got into open source. They organize workshops, summer schools, mentor programs, and more. My first contribution was to an open source browser game organized at our school; a platform with questions related to linux designed for the first year introductory course to operating systems. You can play the game and learn more about the subjects studied throughout the course. I became a core contributor after a while then I applied to be part of the organization. I started helping out by mentoring students at  different workshops and events they organize.. During those events we always talk about what we are working on and share our experience so I helped spread the word about GNOME (as I was also contributing to it during those times). Razvan, another GSoC student that worked on Nautilus, was one of the first that got really interested and asked me to give him directions. Then there was Gabriel, whom I helped with his first contribution and application process.  There were also multiple students that started to seek me out to learn more about GSoC and my GNOME experience to whom I have offered help based on the intereset they showed.  A community around GSoC already existed, but I helped with bringing GNOME to the campus and now we have a small community. Every now and then we get together to work on our projects, and I’d like to invite more people to join us in the future. 

What are some challenges you have faced in planning events and unifying your local community?
The main challenge is keeping people interested. They usually become quite curious when you start telling them about the community, your work and your experiences, but they lose interest when they try to make their first contributions and realize that some things take longer than they initially expected. As the students that are reaching out are usually at the start of their open source experience, it’s even harder for them as they need to become used to different means of communicating (IRC, mailling lists), version control systems, bug trackers etc.

Iulian
Courtesy of Iulian Radu
What is your favorite place on Earth?
My favorite place would be a cabin in a forest with fresh air and a nearby river. But there has to be a laptop and WiFi! 

What is your favorite food?
Grilled food, probably a grilled steak. Nothing too special!

Favorite ice cream?
Anything with chocolate icing.

Last question… What is your spirit animal?
I guess it’s a panda, because I’m a bit clumsy and lazy!

If you’re interested in learning more about Google Summer of Code and submitting an application for Summer of 2017 check out their website here: https://developers.google.com/open-source/gsoc/
And if you’re interested in learning more about GNOME Bucharest, or getting involved with GNOME in Romania, get in touch with Iulian and his colleagues via…
IRC: #gnome-bucharest on GIMPNet
Wiki: https://wiki.gnome.org/GnomeBucharest
Thank you Iulian for answering all of our questions. We’re really looking forward to seeing how this local group grows!

Meet the 2016 Pants Winner – Alex Larsson

Every year at GUADEC, the Board of Directors presents the prestigious Pants award. It recognizes a GNOME contributor who has made significant contributions and who has really embodied the GNOME spirit. Among recipients are Emily Chen, Alexandre Franke, and Allan Day, the three most recent winners. This year, the Pants were presented to Alex Larsson, who was recognized for contributing since 1998 to a number of technologies, being the “fixer” who always gets to the root of a problem, and his invovlemt with GTK, GDK, the old GDM greeter, hidpi support, Nautilus, Spice, GIO, and Flatpak. We sat down with him shortly after the announcement was made, to learn a bit more about him.

Where are you from and where are you based now?

Alex Larsson
Photo taken by Cassandra Sanchez, CC-BY-SA 4.0
I’m from Sweden, born in Stockholm and I live there now. I spent a year in North Carolina during my first year at Red Hat in 2001.

How long have you been contributing to GNOME?
My first contribution was in 1998 to Dia.

How did you first get involved in contributing?
I wrote that app because I needed it for school. It’s a diagram app that I needed in university and there wasn’t anything like it. Plus, I wanted to learn GTK and toolkit programming.

We know you’ve worked on a lot of different important projects. You have made a lot of important changes. We’re wondering how you decide what to work on.
I just work on what I think is interesting. Curiosity, interests, also bug reports and requests from customers or the general public. Actually, I mostly see feature requests coming in from bug reports. I have a huge backlog of things I know we need to fix.

You were the developer of Nautilus for 8 years and wrote a lot of code for it. What made you switch from Nautilus to now working on Flatpak?
I maintained Nautilus for a long time, and it was using gnome-vfs and that was problematic, so I spent some time writing GIO and GVfs to replace it. After that I moved to Spice, a protocol for connecting to VMs, because it needed a tech lead. I was on that for 2 years, and I worked on various aspects of it. After that I did mostly GTK, but I’ve had a long history of interest in bundling stuff. That led me to be one of the Red Hat developers working on Docker. Docker was becoming very popular and we needed it to work for Red Hat. All this experience working on the Docker infrastructure inspired my work on Flatpak, and that’s why I chose that time to prioritize the project. I had been experimenting with three other bundling systems before, but they had always been prototypes.

This is the very early beginning of Flatpak, how do you see it evolving in terms of features?
I think the core doesn’t necesarily have to be that much larger, and it’s more about evolving the infrastructure around it. The application store, developer portal, making it easier to build and distribute flatpaks, and eventually include some sort of donation/payment system. I think we also need more work on portals, but the basic core is good enough. Obviously there will be bugs and minor changes, but I don’t expect anything huge.

What’s next after Flatpak?
I am interested in Emmanuele‘s work on the scene graph. I’m reviewing that and looking at it a bit, but I’m focusing on Flatpak for the forseeable future. 

Alex Larsson 2
Photo taken by Bin Li, CC BY-NC-SA 2.0

What has been keeping you at Red Hat for the last 15 years?
It’s just a great place to work. I get to work on what I love, and I have the freedom to choose what to work on. And there’s not a lot of bullshit.

How do you see the interaction between companies like Red Hat and GNOME?
Historically we had more companies involved, and I wish we had more again, to have more opinions and more resources in general. The ones we have now though are interacting quite well with the community. There was a time in the early 2000s when there was more corporate interest, but now desktops don’t have as much interest, it’s more about mobile. I‘d like to see more companies investing in the desktop.

Alex Larsson Pants
Photo Taken by Rosanna Yuen, CC-BY-SA 4.0

What do you think about having won the Pants award? The Pants award is quite prestigious and now you’re part of a sort of hall of fame!

I was really glad to get the pants, but I haven’t really thought about it much. It was moving and I’ve seen people getting them over the years, so it shows that there’s interest in what I’m doing. It means I’m doing the right thing.

We hear you play pokemon GO! What team are you on? 
Team blue, of course!

What is your favorite place on Earth?
Home.

What is your favorite food?
Beef and french fries are good! 

What is your spirit animal?
It would probably be a cat. I’m a cat person. Right now I have 2 cats, but I’ve had cats my whole life, more or less.

Finally, our classic and important question; what do you think cats dream about?
I’d say they’re chasing something. My cats are not chasing mice, I can tell you that! So I’d say they’re chasing toys probably. 

Thank you, Alex, for spending time answering our questions. And, once again, congratulations on being the 2016 Pants winner!
 
Catch Alex talking more about Flatpak at LAS GNOME this September 19th in Portland, Oregon! Find out more on: las.gnome.org

Get to Know Julita Inca – Building a GNOME Community

As GUADEC draws near, we’ve been curious about the people behind community events. We’ve sat down with Julita Inca to learn more about what it takes to rally a community and organize and plan events. Julita is a professor in Peru, teaching database and operating systems, and is also involved in High Performance Computing (HPC) research. She’s been organizing and hosting events in Peru for the last 6 years. Read on to learn more about what it was like to start and build GNOME’s community presence in Peru!

Julita
Image courtesy of Julita Inca

Where are you from and where are you based now?
I’m from Perú, and I’m based in Lima.

How long have you been contributing to GNOME?
Since 2011. Before joining I began preparing myself by learning more about Linux Programming starting in 2009. I officially started contributing in 2011. I started getting involved in communities. In universities here they have the philiosophy to share knowledge, so I started getting in touch with friends at other universities who were also studying Linux, and I met a member of the board in 2010, Diego Escalante, who is also Peruvian. He started to get me interested in combining both work with Linux and communities, and he told me about GNOME. I was using GNOME, but I didn’t know it! So I applied in 2010, read more, got to know more about the community, and entered officially in 2011.

You’re very active within your community, especially when it comes to planning events. What motivated you to become so involved?
I won an internship, and it was my first travel abroad. I went to Cincinatti because Shaun McCance organized Open Help 2011 and gathered all of the GNOME Documentation guys there in his event. I started understanding how people behaved, which was different from how Peruvians do. Three months later I traveled to Germany to present my work with GNOME. There I met more people, and attended GUADEC, and I saw a very active and huge community. I hadn’t seen that here- the conferences in Peru were just based around lectures, but at GUADEC it was more about people, how they knew each other. In Peru we just didn’t have that.  I’m trying to get that here.

What are some challenges you have faced in planning events and unifying your local community?
I have faced many ones. The first one is to get partnerships or allies. Every year I try to get bigger and bigger events. The first one in 2011 was with 13 people. I was contacting friends, “Come on, we’re going to do Linux!” The first ones all said, “No, thank you, not today!” Those first 13 were a challenge for me. The next year I went to Spain for GUADEC and it was different, with different resources, so I started applying those. In 2012 I organized a Linux camp. GNOME sponsored my event with $400, and we celebrated Linux for one day, in a place 2 hours outside of Lima, and that was with 30 people. I knew the best way to start projects was by having a good time. The third year in 2013, I hosted one at my university with 86 people, in 2014 at IBM with more than 200 people, and in 2015 it was the biggest, with more than 300 people. Wherever I am I try to get along well with authorities so they let me host my events. Now it’s part of my life. When I worked at IBM, it took me 6 months to convince the authorities to let me host the event there. They were hesitant to have the IBM name paired and partnered with GNOME. I knew their name would attract people, and we had more than 200 people that year!
Linux Camp 2012, Image courtesy of Julita Inca
Linux Camp 2012, Courtesy of Julita Inca
I also want to get more Peruvians involved in GSoC and other things like that, but it has been a challenge. I’ve known 13 countries because of GNOME, and I try to tell people my story. I’ve realized that people don’t come just for install parties, they want more than that. I started to develop strategies. For example, the 6 of us who organized the event in 2013 presented our jobs and how they relate to GNOME. There was a movement, the Harlem Shake, and we did that there! This year my camp was 5 days long, and I helped them do everything for their applications for GSoC, even fill out the forms! I got more people applying to GSoC, nobody was chosen, but they promised me that they will apply again next year. So I have a plan now- it’s not just one event, its a plan with many different projects.

Do you have any tips for people who want to plan events or get their local community interested and involved in GNOME?
One is getting good sponsors that believe in Linux. That Linux is education. Sponsors give gifts and little things, but they have to believe in the event, so it’s important to present benefits and give a talk on it. For Peru it’s a social thing. I opened my mind with Linux, it fostered me to do my PhD, and it has encouraged me to want to use Linux in all aspects of my life, it developed the sharing philosophy, and to be grateful with the people that helped me, contacts from around the world.
The last event that I did this year, I didnt want just users, I wanted developers too. I had contact with HackSpace Perú, which does similar things, training people, and doing volunteer things related to any operating system. I decided to do the event with them. They gave me people who develop, I showed them Linux. And something that really helped me a lot to have more audience to my conferences was local news. One of my tips, besides having people that believe in you, have the same interests, it’s also kind of a business. It’s important to have those allies and partnerships.

And now for some fun questions…
What is your favorite place on Earth?
The beach. Anywhere with sand, beach, a laptop… and wifi if possible!

If you were an ice cream flavor, which one would you be, and why?
Maybe Lucuma, because it’s native from Peru, originally. It’s so intense, like me!

What is your spirit animal?
A bee. I’m always in movement, I like to do many things, and I believe that if people do something together as a team they do many amazing things. Alone you cannot do anything. …And I like sugar! *laughs*

Finally, our classic and important question; what do you think cats dream about?
They’re thinking about what to do next… they’re cold thinkers. Calculating what’s next! They are mischievous, they are so smart!

A huge thank you to Julita for taking the time to answer all of our questions, and for all of her hard work in organizing events and building GNOME’s presence in South America!
GNOME Peru Fest 2015, Image courtesy of Julita Inca
GNOME Peru Fest 2015, Image courtesy of Julita Inca