Thursday continued the Akademy 2020 BoFs, meetings, group sessions and hacking. There is a wrap-up session at the end of the day so that what happened in the different rooms can be shared with everyone including those not present.
Watch Thursday's wrap-up session in the video below
Wedneday continued the Akademy 2020 BoFs, meetings, group sessions and hacking. There is a wrap-up session at the end of the day so that what happened in the different rooms can be shared with everyone including those not present.
Watch Wednesday's wrap-up session in the video below
Tuesday continued the Akademy 2020 BoFs, meetings, group sessions and hacking. There is a wrap-up session at the end of the day so that what happened in the different rooms can be shared with everyone including those not present.
Watch Tuesday's wrap-up session in the video below
Monday was the first day of Akademy 2020 BoFs, group sessions and hacking. There is a wrap-up session at the end of the day so that what happened in the different rooms can be shared with everyone including those not present.
Submitted by Paul Brown on Sun, 2020/09/06 - 11:51pm
Day 2 of the conference stretch of Akademy (day 3 of the overall event) kicked off with a heavy-duty programming courtesy of Ivan Čukić who talked about C++17 and 20 Goodies. Most KDE applications are developed using C++ so Ivan covered the new features that C++17 and 20 bring and how they could be combined with each other.
Something more user-centric was going on in Room 2, where Marco Martin and Aditya Mehra were Showcasing Plasma Bigscreen, KDE's interface for large smart TVs. Marco and Aditya took attendees through the various features and the technology that powers Bigscreen, such as Plasma, Kirigami, and KDE Frameworks with a touch of Mycroft's open-source voice assistance platform. You can try Bigscreen now by burning it to a micro SD card and loading it into a Raspberry Pi 4 hooked up to your TV.
In the next slot, the audience in Room 1 was subject to another talk about programming languages, in this case, Rust from a KDE Perspective. In this talk, Méven Car explained what Rust could offer to the KDE developer community and the features that made it a unique programming language.
In Room 2, we learned about a success story of KDE in the Real World™: back in October 2019, the staff of Janayugom, a local daily newspaper in Kerala with 100,000 readers, decided to move their publication to Free Software. In his presentation on Free Software, Press Freedom & KDE, Ambady Anand S., a sysadmin involved in the move, told us the story of how the migration went.
Later, back in Room 1, Andreas Cord-Landwehr introduced a different way of developing in his talk Test It! – Unit testing for lazy developers. Andreas proposed developers turn things on its head and prepare tests for the code before actually writing the code. He argued that code written to pass tests was leaner and more focused. Andreas also discussed why automated tests are important for projects and strategies on how to design them.
Meanwhile, in Room 2, Timothée Giet was Celebrating 20 Years of GCompris, as well as the fact that the universally acclaimed classic FLOSS toolset for teachers is nearing version 1.0. It only took two decades! Seriously though, Timothée showed us some of the new activities which are coming to GCompris, such as new counting and arithmetic games, and a fun-looking electric circuits simulator.
Next up in Room 1, David Faure told us about KIO: A Story of Young and Old Jobs. The presentation aimed at application developers and KIO contributors gave an overview of the job mechanism as it is used in KIO, laid out the jobs added in the last two months and explained the concept of "delegates" which are used to solve the inverse dependency problem.
In Room 2, Marta Rybczynska told us about her Year in KDE from Outside. During her year "away," she analyzed media reporting on KDE and tracked what news sites, blogs, and podcasts chose to focus on when they talked about KDE.
Next up in Room 1 Daniel Vrátil talked about Static Code Analysis with Gitlab CI. Daniel showed the benefits of using static analysis tools and linters to automatically check code quality, and explained how to configure GitLab CI to run those tools automatically on each pull request or as a part of regular builds.
In Room 2, Leinir and Andrew Shoben literally couldn't hide their excitement while presenting KDE Wags Your Tail, in which they explained how to control animatronic tails and ears using software based on free software and KDE's Kirigami framework.
The first set of the day's talks wound up with three 10-minute fast track talks in which Bhushan Shah talked about his experience with and gave advice on online sprints; Adriaan de Groot explained the Fiduciary License Agreement, a tool that the KDE community uses to manage licensing in the long-term; and Kai Uwe Broulik revealed some of the less obvious tips and tricks to get the most out of KDE's Plasma desktop.
After a four-hour recess, the KDE Community got together again to listen to the event sponsors.
KDE displayed deep gratitude to Canonical, KDAB, MBition, openSUSE, GitLab, Froglogic, Collabora, CodeThink, FELGO, DorotaC.eu, The Qt Company, Pine64 and Tuxedo for their generosity thanks to which Akademy is made possible.
Next up in Room 1, Dimitris Kardarakos talked about Creating a Convergent Application Following the KDE Human Interface Guidelines. Dimitris introduced attendees to the primary components of Kirigami and showed how an application can look equally good on the desktop and mobile. Using the Calindori calendar app as an example, Dimitris aimed to inspire attendees to create their own Kirigami applications.
Meanwhile, in Room 2, Nicolas Fella explained in Konquering the Droids that, to stay relevant, KDE needed to expand from its traditional desktop space and into the mobile world. He argued the most realistic and quickest way to do that was to create apps for the Android ecosystem, and explained the porting process.
Aleix Pol took to Room 1's virtual stage again in Getting into KWin and Wayland to explain how contributors could get involved with the development of KDE's Wayland experience.
In Room 2, Doctor Luis Falcón told us about MyGNUHealth: GNU Health Goes Mobile with KDE and Kirigami. GNU Health (GH) is a Libre Health and Hospital Information System which has been deployed in many countries around the globe, from small clinics to very large, national public health implementations. MyGNUHealth is the GH's Personal Health Record application that integrates with the GNU Health Federation and is focused on mobile devices. Dr. Falcón told us about what led him to choose KDE's Kirigami framework to develop MyGNUHealth and the technical insights gained by the community behind the project.
Following these two talks, Neal Gompa presented Fedora KDE in Room 1, explained how it started and what makes it special within Fedora; while at the same time in Room 2, Aniqa Khokhar introduced us to Change Management and helped us learn how to accept changes and newcomers in KDE.
A bit later in Room 1, Volker Krause showed how, by Using Wikidata and OpenStreetMap data, it was possible to make applications smarter. Volker went into depth and explained how those two data sets are structured, how they can be accessed, how to comply with their licenses, and how developers can make use of them for their apps.
In Room 2 Catharina Maracke spoke to attendees about Open Source Compliance. Catharina told us about how in today's complex world of OSS license compliance, it is very important to know the basics of copyright and licensing structures as well as some of the relevant tips and tricks for the most common OSS licenses.
A little later in Room 1, David Edmundson and Henri Chain co-hosted a talk on Next Generation Application Management and explained how using cgroups, developers could contribute to making everything amazing.
And, speaking of amazing, in Room 2, Massimo Stella told us about Kdenlive's Journey to Being a Leading Open Source Video Editor. He showed us a video of Kdenlive's new capabilities and provided a live demo of the new features of KDE's powerful video editing software.
The regular talks wrapped up with two technical talks aimed at developers: In Room 1 Carson Black talked about API Design and QML and in Room 2 Benjamin Port explained how Plasma's System Setting have recently all been ported to KConfigXT and the advantages gained from the move in System Settings: Behind the Scenes.
To finish off the day, we had a star keynote presentation delivered by Nuritzi Sanchez, Senior Open Source Program Manager at GitLab and prior President and Chairperson of the GNOME Foundation. In her presentation, Open Source Resilience and Growth: Creating Communities that Thrive, Nuritizi talked about some of the initiatives that KDE is involved in that help it become a more resilient community, while at the same time pointing out areas of opportunity. She also explored topics around building more diverse and inclusive communities, including collaborative communication, and ideas for outreach.
As usual, YouTube recorded the streams which allows you to enjoy the conference in case you missed anything, albeit in a big blobby, unformatted form:
We will post edited and cut versions of the talks to PeerTube and YouTube soon. Watch this space!
From Monday to Thursday, Akademy attendees will participate in Bird of a Feather (BoF) meetings, private reunions, and hackathons.
We'll be back with more talks on Friday, September 11, when we will hear from students working on KDE projects and some of KDE's most active veteran contributors.
Submitted by Paul Brown on Sat, 2020/09/05 - 10:35pm
Written by Blumen Herzenschein, David C. and Paul Brown
The first day of Akademy talks were varied and interesting, covering a wide range of topics, from managing project goals and technical advances in Qt and KDE technologies, to Open Source in dentistry and Linux in automobiles.
Aleix Pol, President of KDE, kicked off the day at 8:50 UTC sharp by playing a video made by Bhavisha Dhruve and Skye Fentras welcoming everybody to the event.
After acknowledging the very special circumstances of this year's Akademy, Aleix introduced the first keynote speaker Gina Häußge.
Gina is the creator and maintainer of OctoPrint, a highly successful and feature-rich system for controlling your 3D printer over a web interface. Gina used her time to reveal the good and not so good things about becoming an independent Open Source maintainer. She talked about the sense of freedom and purpose gained through Open Source work, but also the downsides of monetary instability and frequently feeling on her own despite working for hundreds, maybe thousands of users. Despite these disadvantages, she happily admitted that she would do it all over again, that the sensation of helping others and the fulfillment she experienced made up for all the darker patches.
After that it was time for another veteran Open Source contributor: Jonathan Riddell talked about his steering of one of KDE's current Community-wide goals: It's All about the Apps, the project in which KDE community members work to promote and distribute KDE applications on their own merits, beyond their link to KDE's Plasma desktop. Jonathan gave us the motivations behind proposing the goal and its evolution since it was officially announced in Akademy 2019.
Likewise, Niccolo Venerandi talked about the Consistency goal. This goal seeks to unify the look and feel of Plasma and all KDE apps to provide a coherent experience to users. Niccolo pointed out that Plasma does not have serious consistency problems, but different approaches to design in apps that sometimes lead to a bewildering array of looks and behaviors. Niccolo then showed us the future of KDE applications and, frankly, it looks amazing.
The presentations covering individual goals wound up with Méven Car talking about Wayland. It is no secret that the ride of porting KDE software and technologies to Wayland, the replacement for our venerable X window system, is being a bumpy one. That is why the KDE Community decided to make Wayland a priority. The Wayland goal is a big task requiring updates to multiple components and forcing to refactor KDE's whole display stack. But as Méven explained, the community has made significant progress since Akademy 2019.
Following the presentation of individual KDE goals, Niccolo Venerandi, Méven Car, Jonathan Riddell, Lydia Pintscher and Adam Szopa got together for a round table that tackled how the first year of their goals went and what they learned along the way.
Following the round table, Andreas Cord-Landwehr used a ten-minute fast track slot to talk about SPDX, a system for better license statements. In the talk we learned that SPDX identifiers are an important step towards enabling automatic tooling for checking license statements. Andreas explained the advantages of using license statements and how simple it is to apply them. He also gave a short overview of what has already happened inside the KDE Frameworks and where contributors could help to support the conversion to SPDX.
Then Shawn Rutledge covered Editing Markdown with QTextDocument in another 10-minute talk. Shawn added markdown support in Qt 5.14 as a first-class format and as an alternative to the limited subset of HTML that QTextDocument had traditionally used. During the talk he demoed WYSIWYG editors written with widgets and with Qt Quick.
In the final fast track talk before lunch, Carl Schwan expounded on How to Create a Good Promotional Website for your Project. Carl has been the main developer behind the overhaul of many of KDE's main sites, including kde.org. During the talk, Carl presented the KDE Jekyll theme, the motivation behind the project, and briefly explained how it could be used to create a KDE website. He also showed some counter-examples, examples of poorly designed websites and how they could be improved to make the projects more attractive to potential users.
In the afternoon, things started with a presentation from the KDE e.V. Board and reports from the Working Groups. The Board told the attendees all about the things they had done over the year since the last Akademy. Highlights included expanding the number of paid employees from three to five, the migration to GitLab, and the funding of more support for community members. The Board followed up with details on the activities of the different working groups, although some of their presentations had to be moved to the end of the day due to time constraints.
Then we launched back into the talks proper with the Input Handling Update, again by Shawn Rutledge. In this talk, Shawn talked about what's coming up and the several goals for input events in Qt 6.
Meanwhile, in Room 2 Cornelius Schumacher was talking about the KDE Free Qt Foundation. Established in 1998, the KDE Free Qt Foundation was founded to keep the Qt toolkit free for KDE and all other free software projects. The Foundation has held steady during the more than two decades of sometimes turbulent times Qt and KDE have gone through together. Cornelius told the story of how this worked.
And speaking of The Qt Company... A little later, back in Room 1, Richard Moe Gustavsen, talked about Native Desktop Styling Support for Qt Quick Controls 2 and the ongoing work at The Qt Company to support writing desktop applications using Qt Quick Controls 2.
At the same time, in Room 2, Aleix Pol was talking about KDE's Products and how to visualise their relationship with users. In the talk, Aleix introduced a framework to help developers make sure the Free Software community and its users are best taken care of.
In the next slot, Patrick Pereira presented in Room 1 QML Rapid Prototyping -- Developing tools to improve QML prototypes and development. In his talk, Patrick talked about how QML prototyping is something that all developers do, and how it can be achieved more efficiently. He used two projects as examples: QHot (a hot reload for nested QML files) and QML Online (an online QML editor created with WebAssembly) to help explain how to bring down the development time and learning curve for QML.
In Room 2, Johan Thelin introduced his talk Linux in Cars - So What? from, get this, inside his car. Literally. Johan talked about why cars are still also using so much proprietary software you would be hard pushed to find the Open Source bits, even though they may be using Linux deep down. He also talked about what needed to be addressed to improve the situation and how KDE software could work for those use cases.
Following this batch of regular talks, there were another three 10-minute fast track presentations.
In Flatpak, Flathub and KDE: A Quick Summary, Albert Astals Cid introduced the audience to Flatpak, explained what Flathub was and how KDE interacted with both of them.
Then Nicolás Alvarez spoke of Improving KDE Server Infrastructure, the formation of the Sysadmin Working Group, and told attendees how the Sysadmin team was making KDE servers more manageable by reducing "technical debt", moving manual tasks into scripts, improving documentation, and making more things testable locally before putting them on the real servers.
In the last fast track of the day, David Edmundson gave tips on How to Win an Argument with a Maintainer, having partaken in and witnessed hundreds of discussions on Bugzilla and Phabricator that then turned into arguments that yielded angry stalemates. He shared with the audience the methods he had seen work to achieve happy mediums and warned against attitudes that escalated situations into miserable experiences for everybody.
Next came one of the more surprising presentations of the day, delivered by Tej Shah, a Doctor of Medicine in Dentistry from the US. Tej talked about his project Clear.Dental and his attempt to move dentistry to Open Source using the power of Linux, Qt, and KDE. He reviewed the state of Dental software (which is pretty dire), the problem with the current software available, and how Clear.Dental could contribute to solve it.
At the same time, in Room 2, Camilo Higuita was talking about his own passion project: Maui and gave the audience a rundown of all the updates on the group of apps, services, libraries, and UI (User Interface) frameworks Maui provides to produce attractive-looking applications.
In the next session, Rohan Garg gave attendees a lesson in Linux Graphics 101 in which he explained how the growing popularity of ARM devices has led to platform architectures with quirkier graphics hardware. He talked about the basics of how the Linux graphics stack works and the history behind how we've come to the current Gallium design in Mesa.
Finally, Google Summer of Code participant Amy Spark showcased how she Integrated Hollywood Open Source with KDE Applications by porting a Disney Animation technology to Krita. SeExpr gives Krita artists access to procedurally generated texturing, allowing for fine surface details, lighting effects, overlays, and more to be added at the push of a button. As a scripting language, it gives creators the flexibility needed to ensure perfect results every time by tailoring the algorithm to their needs. Amy had to overcome many technical barriers during the porting process, as SeExpr was originally built to run only on a very specific proprietary stack.
In case you missed it, the today's talks are already available online in three blocks — one for the morning and two for each of the rooms used in the afternoon. We have also recorded all the talks and you will be able to watch each talk separately on KDE's available video platforms soon.
Tomorrow, we will again be streaming via BigBlueButton, directly from our servers, and through YouTube.
Submitted by Paul Brown on Fri, 2020/09/04 - 7:31pm
Akademy kicked off today with training sessions on several KDE-related topics.
In the morning, Nuno Pinheiro from KDAB conducted a class on UI/UX Design in QML for Desktop. This online workshop contained practical exercises on dos, don'ts, and integration; and tips on outside of the box UI design. The session started out with attendees relaying to Nuno the projects they were working on and how they hoped the lesson would help them.
Meanwhile, in room 2, Milian Wolff, another Senior Software Engineer at KDAB, taught us about Debugging and Profiling on Linux. This training was at a slightly higher level and required some knowledge and experience with Qt and C++ as well as basic understanding of multithreaded programming. The session covered the most essential debugging and profiling tools on Linux and attendees learned how to use the tools and how to interpret the results.
In room 3, Michael Friedrich, a Developer Evangelist at GitLab, told us how to Speed Up Your Development Workflows with GitLab in his best practice workshop. Michael took us through our first steps in GitLab with project management (issues, boards, labels, templates, etc.) and combined it with development workflows. We learned how to start our first merge request to solve an issue and got ideas on branching, code reviews, approval processes and added automated CI test feedback in MRs.
In the afternoon, Albert Astals Cid conducted a session called Introduction to QML in room 1. Albert taught us how to compose fluid user interfaces using the QML language and we also learned how to hook the QML side up to the business logic in C++.
In room 2, David Faure told us about Multithreading in Qt, which is essential for developers who want to create fast and responsive applications on computers, phones, and embedded devices with an increasing number of cores.
Finally, for something quite different, Dr. Carlee Hawkins talked about Implicit Bias in room 3. In this session, we were asked to consider our own biases regarding race, gender, age, etc. We explored how researchers understand biases and learned how to mitigate the influence of our own biases on our thoughts.
The advice offered by Dr. Hawkins will help us make KDE more welcoming and diverse for everybody.
Submitted by Anonymous (not verified) on Wed, 2020/08/26 - 7:33am
By Bhavisha Dhruve
Valorie Zimmerman is a veteran member of the KDE community. In her decade-long tenure, she has worked on making the open source community easier to access for newcomers; especially women and members of the LGBTQ community. As a council member for Kubuntu, she plays a vital role in ensuring that the Kubuntu project aligns with the goals of the Ubuntu community. In her free time, she volunteers in her chapter of the LinuxChix, Ubuntu-Women, and of course KDE.
In September, Valorie will be one of the keynote speakers at Akademy 2020 and agreed to talk to us about her work at KDE and the importance of diversity in the open source community.
Bhavisha: Hi Valorie, how are you?
Valorie: I'm good, thank you.
Bhavisha: Great, let's start by getting to know you a bit. Why don't you tell us a bit about yourself?
Valorie: I'm a geeky parent, grandmother, and lover of history, research, writing, humans, and the rest of the natural world. A lot of my time is spent in genealogy research and working with my local genealogy society. I lead the Publicity team and will be standing for Vice President in September. I'm looking forward to reaching out to other genealogy and history organizations and creating joint projects with some of them. Right now, we're researching the Black miners of Franklin, a local mining ghost town. Many local people do not realize how many people of color used to live in this part of the county.
Bhavisha: Conducting research into a deserted mining town sounds like a story I need to hear.
Valorie: I live about half a mile outside of an old mining town, Black Diamond. Franklin was a town just 2 miles away. Now it’s a ghost town. There is a very cool local history museum there, created out of the old train station. A bunch of the old-timers started it years ago, and the local people have donated their money, time, and relics. My neighbor across the street is very active in it; her family has lived and worked in the town for over 100 years. Anyways, we began talking about doing genealogy (right before COVID-19 hit here) and she eventually thought about this project that the museum wanted to do. So, she wrote to the genealogy society asking if anyone was interested in helping out.
I thought it sounded fascinating, as did another researcher so we dived right in, finding records and other resources, including newspapers from 130 years ago. There was a coal miners' strike, and the mine owners went to the south of the US to recruit black men to come to break the strike -- but they didn't tell them that part until they reached the mine. You should know that the US has been very racially divided -- it's really a caste system so this was explosive and there was some violence, eventually though there was peace, but there are almost no people of color living in this part of the county, so we would like to bring this old history to light, and we hope to involve the Northwest African American Museum as well to oversee the project. If people are interested, they can check it out here.
Bhavisha: It is fascinating you mention genealogy; we are actually seeing the beginning of a whole new industry intersecting genomics with technology with the advent of modern day genetic tracing. Have you tried one of the genetic marker tests yourself?
Valorie: Oh yes, I'm on all the sites and have done 4 different tests and had my father do two of them. It's a very geeky way to research even more geeky than genealogy with records.
Bhavisha: I have been meaning to do a few myself once this pandemic subsides, I noticed that you actually majored in Anthropology and Women's Studies. What led you to the open source community and KDE?
Valorie: I heard about free software many years ago, soon after we got our first computer, a Coleco ADAM. I didn't know much about how to use the computer so I did the only logical thing: started a user group! We all learned together; my husband and I along with our children and the group members. That was years of fun but it turned out that 240kb was not enough memory! By that time we had an early Windows computer and I got a Mac to do some design work. Eventually my oldest son told me that Linux was ready for the desktop, and put Mandrake on my first laptop. I loved it, and although it was a dual-boot, I never bothered to login to Windows after that. After Mandrake went away, I ended up on Kubuntu where I've been ever since. The LinuxChix helped me a lot in the change from Windows to Linux.
Bhavisha:For our younger readers, Mandrake was the precursor to the current OpenMandriva Linux distribution which uses a lot of products from the KDE ecosystem. You mentioned LinuxChix helped you a lot when you were first getting started with Unix systems, can you tell us a bit more about them?
Valorie: The women I found in Linuxchix, UbuntuWomen, and KDE have been real leaders for me as well as some long time friends. I met both Lydia and Myriam there, among many others. They both urged me to get involved in KDE and Kubuntu and in particular, Amarok (since I was already using it). My studies in anthropology and women's studies are still useful to me in everything I do.
Bhavisha: Computer Science is becoming more accessible than ever before, and there is a growing number of students who are considering college to be unnecessary, do you believe that college, no matter your major, is still worth it?
Valorie: As I often tell students, nothing is ever wasted in your studies, they give you an analytic framework, it's not about learning facts; it's about learning how to learn everything. So this all continues to be useful. I learned how to see structure and not just appearance. One of the reasons KDE is so great is that the governance structure continues to grow and is made up of those who do work and care, not just those who pay.
Bhavisha: I agree, our community at KDE is quite special. When you started here was it difficult to find your footing in such a vast organization?
Valorie: Hmmm, unsure. I keep making new friends, but the long-time connections give stability for sure and I hope that people trust me enough to call me out when I need it and I try to do the same for them.
Bhavisha: You are currently a council member for Kubuntu, can you tell us a bit about the Kubuntu project and your role as council member?
Valorie: Kubuntu brings KDE software to Ubuntu. We think we have the most beautiful, powerful and friendly experience for our users. We have a packaging CI set up which helps our main developers quite a bit and some other tools for the rest of us to help with promo and testing. We mostly meet up at conferences such as LinuxFestNW, that is very fun, oh, and SeaGL - which by the way everyone should submit a talk to! It's online this year so everyone can join.
Bhavisha: That's amazing, I want to pivot here to something that I know is very near and dear to your heart. You have done some incredible work in helping the KDE community become more accessible to coming generations of open source contributors. What made you focus on this particular issue?
Valorie: As I began helping answer questions in more and more KDE IRC channels, I began to notice some pain points. I tried to help fix those or find those who could help. I'm very happy that it is now a wide-spread effort, we need new people because they have the superpower of being new; they can see pain points that we folks who have been around for a while can no longer see. We know the workarounds, so we need people immediately empowered to bring those to our attention, so we can work together to make things easier.
Bhavisha: That's true, you have done some publication in this space as well, The Beginner's Guide to KDE Development, tell us what prompted you to write this, and what were some key takeaways you wanted your readers to get from reading this.
Valorie: Better documentation is particularly important to getting women involved. Most women do not have much free time, they want to read the docs and dive in, ours... still suck. The Beginner’s Guide was great when we wrote it but it is so out of date. Google was doing a book sprint to follow up on that last sentence, it would be great to get that Beginner’s Guide into Sphinx or just Git with markdown, so that it can be more easily updated.
I was also invited to join the writing team by Lydia, as part of a book-writing sprint sponsored by Google and some former GSoC students who wanted to write the book. I'm an editor and a non-coding developer, which was perfect for a book for beginners. I think we did good work, but the book needs updating! I want beginners to be able to dive in and do what they love right away.
The Frameworks Cookbook was a huge challenge, but the fact that I'm a non-coder and that we created the book in Randa, Switzerland while other sprints were going on, again turned out to be a plus. I was able to wheedle very clear English out of the developers and make the book readable. The fact that we had horrible internet connectivity is why we ended up committing it to git, which ended up being perfect! Now each framework maintainer can keep their own section up-to-date.
That task taught me that you don't have to know what you're doing to dive in. You will learn what you need as you go, or find people who know how to do what you don't. That is the magic of working in teams, and the magic of community.
Bhavisha: Do you recall the very first project you worked on?
Valorie: Oh yes: Amarok! I took the user docs and put them onto the userBase wiki, which I thought everyone did. But we were the first. Also that was the year we first participated in GCI, Google Code-in for 12-18 year-olds. I made a task for each page we lacked for the user manual, soooo many tasks, so many great kids who loved music. It was so fun.
Bhavisha: Do you think the Community Working Groups (CWG) make contributing more accessible or communication better?
Valorie: Hmmm... Not more accessible, really. It's more about keeping teams working better and restoring communication where it has broken down. My role has varied: I've actually visited one person just to listen to their side of a bitter fight, I've had to advocate kicking out a long-time member who would not stop hurting others, the really hard cases are when two friends fight, that hurts.
Bhavisha: Yeah that is sad, but it is interesting to know what CWG is about, could you share some details about your volunteer work on the administration team for GSoC (Google Summer of Code)?
Valorie: What I like about GSoC is that I can help both the mentors and the students. It’s usually a lot of fun, reviewing proposals, reminding students about deadlines, etc. Though we need a bigger team, I do have a rough idea about why most people don't want to be part of it.
Bhavisha: Oh, why so, do you mind elaborating?
Valorie: People don't like conflict and dealing with strong emotions, especially angry people. We have even had some hard times such as when one of our students was basically imprisoned in Kashmir last year. That was scary, but India’s Prime Minister Mr. Narendra Modi finally lifted the ban and he was free to finish the project.
Bhavisha: I am glad he could finish up the project. You are planning to give talk on “No Burnout”, something that has become very common in today’s culture. Can you give us a quick summary about your Talk?
Valorie: I wish to enlighten about this subject. How can you recognize it in yourself and others, and what to do about it, by sharing others' experiences on it. I've given it before, I hope those who need it will be able to attend.
Bhavisha: We look forward to hearing more about it. I want to thank you so much for taking the time. It has been such a pleasure talking to you and we are looking forward to seeing you at Akademy 2020.
Submitted by Anonymous (not verified) on Sat, 2020/08/22 - 6:47am
By Allyson Alexandrou
Nuritzi Sanchez is the Senior Open Source Project Manager at GitLab Inc. Previously, Nuritzi has worked at Endless and was the President and Chairperson at GNOME. KDE is excited to have Nuritzi as a keynote speaker at this year's Akademy to talk about Collaborative Communication in the Open Source community.
Lydia Pintscher is KDE e.V.'s current Vice President and Wikimedia Deutschland e.V.'s Product Manager for Wikidata. Lydia is a free software and free culture enthusiast who was the President of the e.V. in years past. As the current Vice President of KDE e.V. you will see her talking about updates on KDE's goals during Akademy.
Today we are lucky to have both of these well accomplished women sit down to take a moment to talk about their lives, accomplishments, visions for the future, and how we can continue to uplift young women in the technology and open source sector.
Lydia: Hey :)
Allyson: Hi there!
Nuritzi: HI everyone!
Allyson: Thank you for being here. Shall we get started?
Nuritzi: Sure, happy to be here :) And nice to see you all
Lydia: Let's do this!
Allyson: First Question: Every superhero has a defining moment in their origin story: Bruce Wayne fell into a cave full of bats when he was a young boy, Jessica Jones was exposed to radioactive material in a traffic accident... What was your defining moment? What happened that put you on course to where you are today? Were you a child? In high school? At college?
Lydia: Haha. There were a few defining moments I'd say but one that definitely changed the course of my career was when a friend and fellow student in college told me to come and join the booth for one of KDE's projects at a big Linux expo in Berlin. I was contributing to the project for a while here and there already but didn't really feel like I'm a part of it.
Anyway - he wouldn't accept a no and excuses like "I wouldn't know what to tell people who ask questions about the program." I went there and didn't know what I was doing for the first day but then it was smooth sailing and I met the best people who welcomed me with open arms. Been with KDE ever since and have no regrets!
Allyson: That is amazing Lydia! Sounds like a very significant moment that pushed you into the world of KDE quite quickly. And Nuritzi, what about you?
Nuritzi: For me, I think there are several defining moments -- I can't narrow down to just one. The first is when I was really young and would visit Mexico with my parents since they're from there and a lot of my family is still there. I developed a desire to do something to help level the playing field for more people around the world, not just in the US, and I was able to see a kind of poverty that I didn't see in Silicon Valley (to be clear, it was a different kind. Poverty in the Silicon Valley still exists). Throughout my career, I've explored ways of doing that and since I am from the Silicon Valley, I think tech seemed a pretty obvious choice for how I could try to influence worldwide change.
Another moment for me was when I was in the 8th grade and a teacher encouraged me to go to a leadership summit. It taught me to have a leadership mindset, and that being a leader was really possible.
Lastly, for open source, I came across it because of the work I was doing at Endless. We created computers for users without internet and did a lot of research in Latin America, and I started to learn about the Linux app ecosystem and the world of GNOME. For me, contributing to open source became a way to work towards the social change goals I developed really early on.
I agree with you Lydia -- that warm reception of people welcoming me with open arms into GNOME was a defining reason of why I joined. The social aspect of contributing to projects is equally important as the technical aspect, in my opinion.
Allyson: Nuritzi, That sounds incredible as well.
And I can most definitely relate to you both with the warm welcome received in the open source communities.
We touched on this a bit already, but I would like to follow up just a bit more. You both have been extremely successful in the technology industry (namely open source of course), while Lydia studied computer programming at uni, Nuritzi you were in international relations.
Nuritzi, How do you think this has affected your mindset and work you have done in your career so far?
And Lydia, what sorts of influences did you have to choose to study computer programming rather than something else?
Lydia: Working with technology and computers in particular has always been interesting and a lot of fun for me. I think that's something I have from my mom. (Thanks, mom!) Being able to make a piece of code or text do what you want is incredibly empowering, starting with something simple like messing with the html of a website many many years ago.
I am dismayed at the world moving more and more into a world where technology is something that's given to you and you take it as it is as opposed to something you tinker with. This feeling of being able to change the world around you is something many many more people should have but sadly don't. That's why I'm spending so much of my professional and volunteer time on opening up software and data so that more people can tinker. If my life had turned out differently I'd probably become a vet (thanks, dad!) or a lawyer. Not sure how I feel about that today ;-)
Nuritzi: I actually studied International Relations and Psychology in undergrad, and I'm really glad to be bringing that perspective into FOSS! Because of my academic background, and my personal interests, I have a natural leaning towards thinking about the experience of products, communities, etc. through a cultural and people-focused lens.
Open source is just as much about social challenges as it is about technical challenges, and so I've found many ways to jump right in and help, even though I'm not a programmer. In fact, there's so much to do in those areas, that I've become passionate about getting more people into open source that are from diverse backgrounds.
Even beyond what's become more obvious (e.g. user experience design, translations, engagement, and documentation). For example, people who are interested in Sales or Business Development might be great fundraisers, and fundraising is something that communities really need! I'm kind of mad that I didn't know about open source sooner. At Stanford University, where I studied, I didn't hear once about open source -- and I think it's a shame. There's a lot of opportunity to get awesome students involved in open source from psych, international relations, economics, medical fields -- everyone!
Allyson: Thats pretty interesting! I very much admire the want/drive/need to give to others that you both have touched on already.
That's a very fair point you made Nuritzi. American universities in general do not tend to use open source software. And it is a pity because there are many students at American universities who could really use the experience and exposure that would come with an internship. Or even just working on open source projects as many students do in the KDE community
Lydia: Yeah all around the world really. Contributing to an open source project for a while gives you so much experience and helps you grow, especially as people in KDE and other projects are willing to take you along and support you along the way.
Allyson: I absolutely think that the welcoming vibes that are common in open source communities could benefit students and younger professionals so much!
Nuritzi: Yes, and an important aspect of getting students in is building relationships and supporting their teachers. Because a lot of teachers are the ones who encourage students to try new things, or help guide them in person.
When speaking at an all woman's college in Oakland, California, a couple of years ago, the feedback I received from the teachers is that they felt disconnected from the open source communities and would be eager to be more plugged in and get their students involved
I think we often focus on the students only and skip teachers, so would love to see more of that relationship-building in the future
Allyson: ^^ Absolutely! Teachers can make such an impact on the lives of their students. It is a special bond that is created with amazing teachers or mentors and their students
To keep on moving, are there any particular projects (volunteering or business opportunity) that you both are most proud of? And are there any current projects you are working on that you are particularly excited about?
Lydia: I think for me that would be KDE's vision and Goals and having brought that to fruition. KDE was becoming so large, diverse and splintered that it was very hard for us as a community to understand what we're really all about and what drives us.
Redefining KDE's vision and the resulting Goals processes helped us grow together again and rally behind a shared vision for the future that we are all working towards: A world in which everyone has control over their digital life and enjoys freedom and privacy. It always makes me happy to see what impact this had on the KDE community over the past few years and what amazing new people joined us because of it.
Nuritzi: I think I'm relatively new to open source compared to many members in the GNOME and KDE communities. I started actively contributing to GNOME back in 2015, and less than a year later I was encouraged to run for the Board of Directors and was voted in as President and Chairperson, so I'm pretty proud of that.
The things that I mentioned before in my approach to open source community building and leadership is really what I wanted to share with the GNOME community and I'm very thankful for how receptive they were to that perspective and how encouraging they were to let me contribute in that way. During my time at the GNOME Foundation we hired an Executive Director after several years of not having one, attracted donations of over $1 million, and saw many people join us or re-join us. We also started a more active collaboration with KDE, which I'm particularly proud of.
I think there's a lot that we can collaborate on and I'm of the bridge-making mindset! We launched the Linux App Summit along with KDE because of our closer collaboration. And I want to add that I was able to do that only because of the mentors I had within the community, the kind encouragement of some individuals, and the positive environment GNOME has.
Lydia: True! I think it has served both projects well.
Do either of you see any new collaborations coming up? More specifically, any sort of collaboration to help get more young women into open source?
Lydia: Nothing particularly exciting right now unfortunately.
Allyson: Do you think this could be a possibility in the near future?
Nuritzi: To answer your other question, I'm still involved in organizing the Linux App Summit this year, although I'm more in a support role this time around. Aleix is doing a great job at leading it this year!
I'm also involved in CHAOSS, which is a community centered around metrics and measuring the health of open source communities. There was a lot of structural change within the GNOME Foundation that we created due to all the awesome stuff happening, and I really think that the next stage of our community's maturity is to measure how we are doing and iterate in order to improve.
My goal when joining the GNOME Foundation was to help get it into a more strategic mindset and not just surviving but growing and thriving. Data is crucial for that. So I'm really excited to be working on that initiative (along with some KDE people, I might add)!
Lydia: Absolutely. I'd love to, for example, make it possible for KDE to take part in initiatives like Outreachy again to give women a good path to contributing to KDE and open source at large.
Nuritzi: I think there's room for collaboration on those metrics, and it's something that's already underway. I also think that we're collaborating more in the Linux app space, which is crucial for both of our orgs. I would love to see that expanded.
Also, I think that there's room for collaborating on things like onboarding initiatives and making more inclusive environments. While each org may have their own spin on it, I think sharing in those efforts would be beneficial since our orgs are likely to need to learn about similar things / might have similar ideas
Lydia: Yeah that's definitely something we should closely collaborate on.
Allyson: Very cool! This is beginning to sound like an interesting upcoming opportunity for open source communities.
Nuritzi: Honestly, I think there's a lot of room for collaborating more on a TON of the social challenges our open source orgs face -- and with orgs beyond that!
I'm also part of another group called FOSS Responders that formed to help orgs that are experiencing financial difficulty because of COVID and I was able to meet people from Drupal, Python, GitHub, Indeed, Spotify, etc...
I think it's important for us to join other communities and create bridges because SO MUCH of what they were also involved with seemed super relevant to GNOME and KDE! Yep! I agree :)
Unfortunately, I haven't been as involved in GNOME since I started a new job at GitLab and am trying to ramp up / make lots of awesome improvements for the open source world there. But this kind of stuff is where my heart lies, and I'm happy to be part of initiatives where we collaborate on newcomer experiences and the like! :)
Lydia: I think that's a common challenge - so many important and worthwhile things to do and only so much time to do them.
Nuritzi: But yeah, Lydia -- I'd love to connect about all of this afterward and start connecting some more dots :)
Lydia: That's one of the things that's hard but you need to learn in open source: prioritize and spend your time on the things that matter the most
Allyson: Absolutely! This is all very encouraging to hear.
Nuritzi: Yeppp definitely. I actually experienced a bit of burnout and so right now I'm in the process of achieving a more balanced approach at contributing. And yes, I 100% agree with that, Lydia
Allyson: Are there any other tips you both would pass along to young women (or younger people in general) about getting started in open source? Was there anything you learned that could be useful to those still gaining experience?
Lydia, prioritizing and task/time management are so crucial. It is good to see you point that out
Lydia: There are so many things, some of them we put together in Open Advice.
Looking back today I would say the best opportunities opened up for me when I stopped saying no to projects/opportunities a mentor offered me simply because I felt I wasn't up to the task. They offered it for a reason after all and they were right that I was capable of it. The world is holding you back enough. You don't need to help it in addition.
Nuritzi: A lot of people are talking about this in the open source world, but mentorship is really key. So finding those people that you can go to when you have questions, or can help guide you is really important. In order to do that, it's important to take advantage of social events that the community has and ways that the community has set up to create 1:1 relationships.
In this COVID era, having a video call can go a long way. Don't hesitate to reach out to people and see if they'd be willing to chat and share their experience with you. I also suggest trying to develop the leadership mindset. If you're willing to take on responsibility, then responsibility usually comes your way in an open source community. You need to show that your reliable and there for the medium-term though in order to really get plugged in and making a difference. I'd say the usual time is 6+ months, and then to consider staying really active for at least 2-3 years. It's hard because it's volunteer-only, so make sure that you pay attention to your mental health and that you prioritize your well-being before anything else!
Being part of a community like GNOME and KDE is so rewarding though -- professionally and personally! For me, the volunteer time was definitely worth it and the experience has enriched my life is so many ways!
Oooo, Lydia, I didn't know about Open Advice! I'll definitely be checking that out and sharing :)
Nuritzi: It's nice to see some familiar faces there!
Lydia: And I completely agree. If you have a mentor or sponsor who supports you that's worth so much. That also means that it is important for people like us to lift up the next generation. If you're in a position where you can be a sponsor for a person: do it! It'll make such a difference for them.
Nuritzi: Yes. 10000000000% agree to that!
Allyson: Great points!
Alright my last BIG question for you both is... drum roll please ...
Allyson: Do you both have any upcoming works that we should keep an eye out for? For example, any podcasts or books?
Lydia: I'm spending a ton of my time working on Wikidata, a knowledge base and sister project of Wikipedia. It's an incredible source of general purpose data and I'd love to see many more open source projects make use of it. One in KDE that already does it is KItinerary for airport data.
Nuritzi: I don't have anything fancy planned, but I'm really excited about a speech I've started to give about collaborative communication. It's a topic that I think is super relevant not only in open source communities, but in life. I've had feedback from people who said it's been really useful as we go over things like cultural differences (and potential conflict that could arise because of it), active listening, giving AND receiving feedback, and some other of my favorite communication hacks. I have a version of it on YouTube somewhere (just search for my name "Nuritzi Sanchez" and "Communication Hacks"), and I'll be giving the speech live (and in some cases an expanded version), at some upcoming events. I encourage you to check it out!
Allyson: Nuritzi we can't wait to hear about this at Akademy as well!
Nuritzi: :) :) :)
Allyson: Lydia, KItinerary sounds quite interesting. I will have to go look it up.
Thank you both so much for taking time out of your busy schedules to have this chat!
Lydia: Thanks for having us!
Nuritzi: Thanks for organizing this -- it was fun!
Allyson: I can't wait to *virtually* see you both next month!
Nuritzi: Same here! Looking forward to it
Allyson: In the mean time, stay safe and healthy. Lydia have a wonderful evening & Nuritzi enjoy the rest of your day!
Submitted by Paul Brown on Sat, 2020/08/15 - 5:39am
Gina Häußge's biggest claim to fame may be OctoPrint, the most popular software for managing 3D printers from small, single board computers -- like the Raspberry Pi, Odroid, etc..
OctoPrint is currently Gina's main occupation, but it wasn't always like that. In this Interview she talks about how a tech-loving child nearly got eaten up by the software industry, but thankfully managed to escape and transform her FLOSS passion project into her day job (plus a whole bunch of other nerdy stuff).
Gina Häußge: Hello there!
Paul Brown: Hello Gina! You are early!
Gina: Well, this gives me a nicer start to the day than having to field endless support requests along the lines of "it's broken, pls fix kthxbai".
Paul: A good place to start, because I understand you just released a new version of OctoPrint. How did that go?
Gina: It's still a bit tricky to say at the moment. I pushed 1.4.1 on Tuesday and rollout looked good, apart from the usual issues experienced by people due to hiccups in their environment. Then I got three bug reports, one somewhat critical and thus on Thursday, I released hotfix 1.4.2. And since then I've been monitoring the rollout of that.
So far it looks like a good update, and that makes me happy obviously. Was quite the weird time developing this the past few months with Corona dominating all our lives one way or the other.
Paul: Two topics in there we will catch up with later, but first let's get into how you got here. Because most superheroes have an origin story: Batman fell into a cave full of bats, Carol Danvers had an accident with an alien device and became Captain Marvel... What is yours? What happened that put you on the road to become the (let's not mince words here) massive nerd you currently are?
Gina: I guess I've just always been that way. I grew up in the 80s in Germany, and I can't remember a time when I was NOT drawn to technical stuff, wanting to know how things tick, wanting to build.
My parents thankfully encouraged that and provided a steady supply of fun stuff to learn and try and build with, like electronics kits, chemistry kits, a microscope, tons of Lego and so on. Not given for a girl in the 80s, so I'm really grateful to them.
At some point when I was maybe six or seven, we got an old computer from my uncle. I wanted to play on this thing obviously, but my dad took me aside and told me "this is a tool to work with, not a toy. I can show you something cool to do with it though". And then he introduced me to BASIC and programming. I was pretty much instantly hooked.
Paul: Ah! The Defining MomentTM!
Gina: It was a bit like playing/getting creative with Lego, but without the bricks running out and the ability to create your own bricks if need be ^^.
And yeah, definitely a defining moment. I continued exploring the world of programming while growing up, went from BASIC to Pascal and then C and C++, and quite early figured out what I wanted to do in life (once I learned that "Software Engineer" existed as a job).
After graduating from school, I went to university to study Computer Science, got my degree there, then after a brief stop in academics, I switched into the industry and started my life as a professional Software Engineer. Apparently, I was fairly good at that, meaning I got promoted... further and further away from the code that I loved shaping so much.
Paul: That seems to be a trend: good developers get promoted up into management.
Gina: It's a horrible trend. I really wish there were more career options for good developers. I think of myself as a good dev, but I really abhor management duties. Can do that in a pinch, but I don't enjoy it. So yeah... that was not so fun.
So back in November 2012, I bought myself a 3D printer after having circled around the idea of getting one ever since seeing them in action at Hacking At Random 2009 (Dutch hacker festival). Built it, set it up, had a ton of fun in doing so.
Paul: Were you still in the industry back then?
Gina: Yeah... I was still living a life as a "Technical Architect" at a somewhat larger IT consulting and custom solution development company. Team manager and architect by day, nerd by night.
Paul: So... 3D printer = "Defining Moment - Part II"?
Gina: I guess so :D. Christmas came around and with it, a 2 week vacation. I figured I might as well scratch the by that point somewhat urgent itch of getting my hands on some code again and wrote a web interface for my 3D printer, mostly from scratch.
I had no idea how printers worked, but I just decided to figure that out along the way and use a communication layer from another project in the meantime. And thus, what is today known as OctoPrint was born.
I publicly posted about what I was working on December 25th 2012 as far as I remember. Just a small post in the Google+ 3D printing community. Threw my work up on Github a couple days later after it did everything I wanted it to do for now. I figured "Ok, that's done now" and went back to work a couple days after New Year's.
And then the messages started. People from all over the world were suddenly getting in touch with me about how what I had built was what they'd been looking for so long now, and that it was almost exactly what they needed, but could I maybe add this little thing or make it work with that particular printer?
I suddenly had a full grown Open Source project on my hands. I did it next to my (quite stressful I might add) day job. Even talked to my boss and got him to reduce my contract to 4 days a week (at reduced pay of course) to be able to dedicate one day per week to what was now called OctoPrint.
But the project grew and grew and ate more and more of my time. No evenings, no weekends, no vacation without taking care of OctoPrint. Sometime in early 2014, I realized that this was not sustainable that way. I was constantly tired, my day job was more and more unfulfilling, what was supposed to be just a pet project more and more demanding, but also actually helping people out there contrary to what I got paid for (or at least it felt that way).
So, when I got an offer by a technology company that also was dipping its toes into 3D printing to get employed by them to work full time on OctoPrint while keeping full control and ownership of it, I took that opportunity.
Paul: Oh! That was lucky!
Gina: Indeed it was, and I'm still really happy that I could do that jump. I quit my old day job and started my life as a full time Open Source developer in August 2014.
Paul: Well, not lucky. Based on merits, obviously.
Gina: I guess it was a combination of luck and being able to display what I could do if given the chance. Full time meant a whole different pace and way bigger sub projects that I could now take on. So, I did. OctoPrint continued to grow and its community with it. It was sometimes a bit lonely working from home, but it also had its big advantages. No interruptions ^^.
Well, apart from the mailman dropping off packages for me or the neighbours.
Paul: Printer parts?
Gina: Printer parts, drones, electronic components ^^. And of course, a stream of test equipment. Printer electronics, Raspberry Pis and other SBCs, as that's the primary platform for OctoPrint to run on. So, every time a new version came out, I had to get one to test the builds against.
Life was all in all good.
But then, in April 2016, there was a big complication. The company that had hired me had to downsize some departments for financial reasons. That meant they also had to pull the plug on our arrangement.
Paul: Oh no! What happened?
Gina: Well, I found myself in the situation that I had this huge Open Source project on my hands that really was not a thing you could still do on the side, but I also had no funding. I could just have said, "well, okay then" and gotten myself a regular job again. No risk, steady paycheck. But not as exciting either.
So, I did what just two or so years prior I had laughed off and decided to go self-employed. I figured I would probably kick myself for the rest of my life if I didn't even TRY to see if I could maybe continue working on OctoPrint full time funded through crowdfunding. So, I went for that. Set up a Patreon campaign, pushed out a "Call to Action" on all social feeds of the project and hoped for the best.
Paul: I am on the edge of my seat.
Gina: To this day it still amazes me that this actually worked. People put their money where their mouth is and actually started supporting me. So did one or two companies. After two months I was back at a sustainable level of income.
Paul: What a roller-coaster. But it makes sense that 3D printer manufacturers would support your work.
Gina: And since then it has just... worked. The only reason why OctoPrint has seen constant maintenance, improvements and growth over the past four years is its awesome community that helps fund it.
Paul: Not to get to deep into monetary details here, but would you say that most income comes from community members then?
Gina: Oh, definitely. I also have some ad revenue and income from kit resales through partners. But the major chunk is and always has been community donations, which absolutely amazes me.
Paul: OctoPrint also has a healthy plugin ecosystem.
Gina: Yes, and I'm really happy about that!
Paul: Many of the plugins are provided by community members. How about the core? Do you get many contributions to that?
Gina: Sadly no. Most of the core development is still done by me alone. I might have partially caused that by introducing the plugin system back in 2015.
That was an intentional decision though, as that way people who want features can implement them but also maintain them. It's not a case of "here is a piece of code that does this and that against this piece of obscure hardware. Have fun keeping it working from now on. Cheers!".
Because THAT isn't really manageable and would have quickly made OctoPrint become a giant piece of hard-to-maintain and impossible-to-test code. I didn't want that, not only for my sake, but also for the sake of its users.
No one wants to install a giant piece of bloatware that does everything but cook coffee, when all you want is to stream files to a 3D printer. So, people can install core OctoPrint and then add and mix and match whatever plugins they want.
Paul: What about a team? Wouldn't you like to have, I don't know, two or three stable colleagues to work with?
Gina: Oh, definitely! But the funding for that isn't there. I have some people who are more or less regular contributors, help me with ticket triage and support and such. But sadly, I've not been able to attract a core team of maintainers.
I sometimes think that might also be due to the audience of OctoPrint. In the beginning, it was mostly used by developers who also happened to have a 3D printer. 3D printers were still expensive and niche, and you needed to know your tech and be prepared to tinker with things to get them to work properly.
These days 3D printers are sold in hardware stores for less than 500 bucks and the people who use them range from miniature hobbyists to RC fans to HAM radio operators, retired engineers who want to print stuff for their model trains, school children...
I think there's not that big of an overlap between people who know how to write code and people who own a 3D printer as there used to be. That means it's a bit tricky to find people with the knowledge and enthusiasm to help beyond "I found this bug, here's a fix, bye".
Paul: But still, it is risky to have only one developer. For the project, I mean. The bus factor and all that...
Gina: I totally agree. It's one of the things I worry about. But I don't really know how to change it other than trying to recruit from the pool of plugin developers here and there ;). Maybe I should leave in more bugs so people feel motivated to help :P.
Paul: That would be just evil. Let's move on to happier topics: your recent release. In the latest, say, two or three releases, what do you think is the biggest change? What things will users most notice?
Gina: That would probably be the granular permission system introduced in 1.4.0. See, before that release, OctoPrint only knew two classes of users. Regular users and admins. In 1.4.0 that changed. There's now a broad range of permissions assigned to all the functionality built into OctoPrint, and users can create their own groups that e.g. allow printer control but no access to the time-lapse functionality, or - since a bug fix in 1.4.1 - create, read-only users that can look but not touch, stuff like that.
This was a feature requested again and again over the years but a behemoth to implement. Thankfully, I got a huge contribution for that from a long term on-and-off contributor and, after some intense refactoring and cursing here and there, we managed to get this implemented in tandem.
Paul: So you can have people watching the print progress, for example, but cannot mess it up by pressing the wrong button?
Gina: Yeah, exactly.
Paul: I must update.
Gina:The other big thing that people probably don't notice, but will notice as OctoPrint continues to simply work, is that from 1.4.0 OctoPrint is also compatible with Python 3. OctoPrint's backend is written in Python and, up until 1.4.0, it only supported Python 2. That version of Python, however, has been deemed end-of-life as of January 1st of 2020 and that meant that OctoPrint had to be ported to Python 3.
Sadly, the two are incompatible here and there, which made it a huge undertaking. But I thankfully also got some help.
Paul: What about the Next Big ThingTM? What does the future hold for OctoPrint users?
Gina: One big thing I'm currently laying the groundwork for by after-hours learning is a new user interface.
Paul: Oooh! That sounds nice!
Gina: Currently OctoPrint still runs a, by now, outdated version of Bootstrap, the UI isn't responsive, it's a bit messy on mobile devices and overall, it just looks aged.
The thing is, I can't just rip it out and build a new one, because there are a ton of third party plugins out there in the ecosystem that rely on it and that would no longer work if it was just removed suddenly.
Hence, I introduced the ability to add alternative user interfaces through plugins two years ago and I am currently catching up on current technologies for browser-based user interfaces to make a technological decision. I am currently working through online courses for both React and VueJS.
The idea will then be to create the new UI as a bundled plugin next to the existing one, offer extension hooks for the existing plugins so that they can hook into the new and old interfaces, and then, once there's some good amount of support, make the new one the primary, but keep the old in a bit longer.
Updates like this get tricky when you have to keep the health of a vibrant plugin ecosystem in mind :)
Paul: You probably realize that about half your userbase will complain when you make the change, right?
Gina: Obviously. But if I didn't push new features or improvements whenever someone complained I would have stopped working on OctoPrint back in 2013 :P.
Paul: Heh heh! Damn right
Gina: People always complain. They even complain when you tell them "Hey, your printer's firmware is known to have a flaw that could mean it can burn down your house, MAYBE you should look into that ASAP".
Paul: OctoPrint reminds me of this ALL THE TIME!
Gina: You should really fix your firmware then; it's not doing that for fun ;).
Paul: What other stuff are you into? You seem like the kind of person who would have plenty of other creative hobbies and interests.
Gina: Just too little time for them XD .
Paul: Have you picked up anything new during lockdown?
Gina: First of all I'm a passionate video gamer. I'm currently working my way slowly but steadily through Witcher 3, still have a bunch of XCOM expansions to work through, and there are also some nice new things coming out this year.
Last year I got into pen & paper RPGs and bouldering, but sadly both got somehow nuked by lockdown due to social distancing mandates.
Gina: Yeah, rock-climbing. No rope, 5 - 6 m height tops, crash pad at the bottom. I have a bit of a fear of heights and sit too much, so when a friend from university asked if I wanted to join him in trying that out, I was "heck yeah" - a chance to combat a fear, get in shape AND solve problems? Count me in
Gina: I also tinker with electronics, just built myself my first custom mechanical macropad in fact.
Paul: What is that?
Gina: Think a stand-alone numpad for your keyboard, with mechanical switches and programmable.
Paul: Any other coding projects?
Gina: Currently not. But I recently did a bit of an extracurricular task related to OctoPrint and built myself a test-rig to help with automating my pre-release tests. That involved playing with a laser cutter, coding up some automation tasks in a tool for that and some enclosure design and such and was a TON of fun, plus it now saves me literally hours per release.
I have two Pis sitting here just for update tests and on each update, I will flash them to various versions of the OctoPi image (a Raspberry Pi distribution for OctoPrint), the provision that, get it up to a base version and then test whether the update from that version to the new release or release candidate works as it should and if everything looks alright after. Having to flash the SD cards for that manually, doing provisioning and all that for a whole test matrix on each release was horribly time consuming. So, I automated that.
Then I pimped a scooter for getting around 36c3, with LED effects and speedometer and so on.
I also have home automation as a hobby, so there are sensors throughout my flat and I sometimes spend way too much time on automating stuff in NodeRED just to save me some time elsewhere. I no longer forget to open the dishwasher after it has run for example, because my home automation now detects when it's done through power consumption and sends me a push notification on my phone. I do small projects like that here and there for fun.
Oh... and sometimes I bake bread ^^.
Paul: Bake bread... Is this a lockdown thing?
Gina: In my case it started in early 2019 and I was a bit annoyed when I couldn't find any yeast and flour anymore due to everyone ELSE starting with that too during the lockdown. But in fact, I wasn't able to pick anything new up during lockdown, as I was too busy not drowning in support requests.
Paul: Oh! Are people printing more during lockdown?
Gina: The thing with lockdown was everyone apparently had a ton of more time all of a sudden to use their 3D printers. And with a huge demand for PPE (personal protection equipment) and not enough availability, a lot of people jumped in and helped printing face shields and such.
So that meant a HUGE increase in prints, more people running into problems that needed help and such. The number of OctoPrint instances I see via the anonymous usage tracking spiked. So did the hours of prints per day. I spent April and May under a ton of stress due to that. Was drowning in mails, tickets, forum posts and so on. It was a bit insane.
It got to a point where I was actually somewhat seeing red whenever I saw some post scroll past me on Twitter along the lines of "now that you have so much free time on your hands, why not learn something new" XD.
Paul: Again it sounds like you need a team! Apart from becoming a stable developer, how else can people help?
Gina: Helping out others on the forums is always good! So is helping the Release Candidates! The current release has once again shipped with some bugs that could have been detected if people with less mainstream kind of setups or workflows would have participated in the month long RC phase.
What we need there is diversity: the more variant in environments the better. I cannot test against every possible hardware and workflow combination under the sun, but if we get a couple hundred RC testers together for each release, and they also take the time to properly report issues, with logs and such, that can ensure that stuff works fine