Hi Jakob, great to hear you want to dedicate some serious amount of work to KDE! Your plan to split your love to (1) a pet project and (2) some higher-impact place sounds about right.
My advise is, to give different corners of the KDE world a try. Having nice people that interact with you, are interested in your contribution, and maybe even provide helpful feedback is worth more then self-actualization by starting your own application, that will have your name all over it. Consider your contribution after the 6 to 12 months time; will it last or bit-rot away because nobody cares? Start with smaller fixes (spelling, fix deprecation or compiler warnings, translation, whatever you spot within a couple of hours) and try to get your stuff included. Then you learn where you feel welcome. You might consider: - KDE Games, they are less complex applications. Some lack some love. - KDE Incubator projects, rough diamonds which bear the potential that your contribution brings the application a leap forward - Help switching from Qt 5 to Qt 6. Many things can be spotted by following the deprecation warnings when compiling with Qt 5.15. Porting to Frameworks 6 could get you involved with layers closer to KDE's inner workings. - You can look for less coding related tasks, to get you started. One example is updating Kile's documentation [2] Have fun! Christoph [1] https://community.kde.org/Incubator/Incubated_Projects [2] https://invent.kde.org/office/kile/-/issues/6 > Jakob Petsovits <jpe...@fastmail.com> hat am 08.05.2023 03:44 CEST > geschrieben: > > > Hi all, > > If it helps, think of this email as some sort of bizarro GSoC/SoK > application, with less detail perhaps, where you can only comment/advise but > not reject. (In return I can't ask for a dedicated mentor, but having a > preferred point of contact or two would be really nice! If any of these plans > below seem worth supporting to you.) > > I last contributed a little bit to KDE prior to the KDE 4.0 release, sometime > prior to 2010, renaming icons to conform to the XDG spec. My energy levels > were never high enough to make meaningful contributions after that in > addition to full-time work. So after a number of years in proprietary > software, I'm quitting my job for the time being to focus on some personal > goals. This includes helping KDE (on Linux in particular) with world > domination as a part-time endeavor. Reserving the right to fail of course, > and to pause at any point if self-care asks for it. > > In short, I'll have an estimated 6-12 months during which I'm hoping to make > some improvements and/or additions to KDE, with notably less intensity than a > GSoC project but with a longer time frame instead. I'd like to produce > something of value that will outlive my sabbatical. I need to get some > practice with modern Qt/QML and get a sense for how to use the different KDE > communication channels in order to be more useful than annoying, and in order > to actually connect with the community. Thankfully Joseph P.D.V.G. posted a > rather neat intro email to kde-soc recently, to which I'm still subscribed > (haha), so that helps with not missing the obvious basics. > > In particular, I'd like to ask for feedback about how to make my development > time count. What to look at, or how to approach it. Here's what I have in > mind right now, feel free to steer me into a different direction if it > doesn't sound ideal. Thanks in advance for any feedback, or even just taking > the time to read through this wall of text. > > --- > > Big picture plan: a two-pronged approach with time split between two separate > tracks. > > (1) Work on a personal pet project, a stand-alone app or plasmoid to act both > as a playground with freedom to learn & experiment, but also with the goal of > ending up in official KDE releases (Gear or Plasma) eventually. Safe space to > tinker with if I need a break from other hard stuff. > > (2) Dive into existing KDE "core" codebases for maximum impact but also to > get exposure to a wider subset of the community. I was thinking it'll be a > good idea to focus on semi-random bugfixing first and then see where that > takes me, it might lead to a spin-off new project or new topics of interest. > > I would switch back and forth between both, but within each track focus > mostly on one thing at a time. > > For (1), I've previously started with some UI ideas for a convergent app with > combined scanning and PDF page re-ordering functionality (think PDF Arranger) > at https://invent.kde.org/jpetso/marascan-concept. Frankly, Skanpage has > improved a whole bunch, after painful introspection I've got to admit that it > barely makes sense to start a competing app now. However, what would still > make sense (imho) is to work on some of the components I had in mind, make > them suitable also for Skanpage and perhaps someday in the future build my > alternative mobile-friendly Kirigami app around them. Things I'd like to see > are: > (*) a pinch-zoomable multi-page canvas that allows editing functionality > such as drag & drop, page cropping and placing page action buttons smartly > around the page in the empty space where they don't get in the way, > (*) grouping disorganized SANE settings into related groups so one can save > and select "quality presets", > (*) a single sidebar for either scanner options or page previews, and > scanner options being close to the "Scan" button, > (*) being able to load existing PDFs so you can also organize pages after > the initial save, > (*) crop after scan, including with perspective distortion which you get > from smartphone pictures. Looks like this isn't quite sticking with "personal > pet project" scope here, but also the multi-page canvas is probably the most > work and that can be prototyped on its own. > > An alternative to the above project might be a game launcher in the style of > GNOME's new Cartridge app, but designed as a plasmoid. Cartridge shows that > one can list and start games from different game launcher apps without > reimplementing their Wine integrations and library management. No reason why > I should have to open a separate app just for launching stuff though, when a > plasmoid can put the launcher directly into a secondary "start menu" in the > panel, or as desktop widget on a dedicated virtual desktop. KDE integration > may furthermore provide useful stuff such as switching from regular monitor > settings for productive desktop use to temporary high refresh rates, VRR, HDR > (in the future), custom key/button mappings, performance overrides, and > whatnot. > > I'd also be interested in having something like the mouse button mapping UIs > that Windows users get from their mouse manufacturer, enabling remapping of > mouse buttons not just to keys but also to modify other mouse (or keyboard) > behaviors while pressed. With Wayland it can be app-/window-specific too, I > think. And of course it would be a good selling point that hey, *any* mouse > can have all the features as opposed to being tied to the driver and > manufacturer. Some changes to KWin will likely be required to power the > configured mapping in practice. Ultimately this kind of configuration UI > should be part of in System Settings. > > I guess there are tons of options for pet projects, so far these ones seem to > strike an emotional chord with me. Important if it's going to be an ongoing > project. > > For (2), I haven't yet prepared much but it shouldn't be hard to find bugs to > fix. Nate always posts links to lists of important bugs, and Bugzilla holds > many more. I may end up somewhere in the area between power consumption, > window management/composition, krunner and peripherals enablement for bugs > and eventually feature work. Or perhaps something less common like SDDM, > Baloo or Kate. But feel free to drop a pointer if there's a need for > something in Plasma/Frameworks 6 that's suffering from a lack of resources, > needs more attention than fly-by contributors can spare, and could make use > of a developer with decent C++ knowledge yet less experienced with today's > KDE codebases. > > --- > > Thanks for reading this far and sorry if there isn't any real question in > here. I mainly wanted to say hi and see if I'm perhaps missing something > substantial, in which case feedback may be useful. Or if I should watch out > for particular habits/approaches/patterns to adopt or avoid. Or if you have > prior art for me to look into. If not, hopefully I'll still turn out as a net > benefit and you'll see me around eventually. > > Located in Toronto btw and will unfortunately only be able to attend Akademy > virtually this year. Is anyone else in the area too? It would be neat to come > up with a semi-regular (aspiring and experienced) KDE developers meetup if > there's a few people around who are now active in KDE. > > Cheers! > - Jakob