Mario Fux

Posts Tagged ‘promo’

My Wishion for KDE – Part 1 – Now

Monday, October 26th, 2015

So this is the first real blog post of the series My Wishion for KDE where I will write about my presonal view, wish and vision for KDE. This time the following questions will guide us or me: Where are we now? What is KDE currently?

But before I start – and below you’ll most probably find quite a long text – I’d like to include here a short summary that includes the most important thoughts and facts of the following wall of text. Though I highly recommend to not just read this summary but the whole article as there are many thoughts and ideas included (and even more not yet included) than the summary can handle.


KDE is mostly about people. We are a huge project with an almost 20 years old history. We’ve great infrastructure and values (Manifesto) and our software is targeted towards end-users and normal people. But do we really succeed and achieve what we want? Are there problems and what are they?

KDE is about people

KDE makes software – that we probably all know – but let’s first concentrate on the people of KDE. So KDE is the community and thus a rather big group of people (depicted as the foundation in the graphics below).

Estimations go as high as several thousand contributors world wide and several millions of users. But do we have some more concrete facts? When I posed a question about this to one of our system administration team members (thanks Ben) three days ago he delivered me the following numbers:

  • 2320 active developer accounts
  • 1167 disabled developer accounts
  • 268,589 posts, comprised of 56,274 topics on the forum

Additionally we have several dozens of mailing lists which our besides the forums the most important internal communication channel. Another communication channel (Bugzilla on which is currently the main channel to our users will get some more details in a moment.

KDE’s infrastructure

And there is even more infrastructure and services that KDE people use on a daily basis. E.g. the different wikis we use:

  • Userbase provides information for end users on how to use KDE applications.
  • Community provides a place for sharing information within the community.
  • Techbase is for technical information about KDE software targeted at developers, ISVs and sysadmins.

For the synchronous communication (if it’s not a live meeting, see next paragraph) we use IRC, Jabber, Hangout, Jitsi, Telegram and Co.

So called real life (as if IRC and Co weren’t real life) or face-to-face events are depicted on the above graphics too. Akademy as the annual big KDE conference and community meeting and the Randa Meetings as the technical summit. Then there are the almost annual – KDE conferences in India, Lakademy in Latin America and Akademy-fr and Akademy-es in France and Spain. And besides all this bigger events we see developer and contributor sprints that span from 2 to 4 days and from 2 to 20 people every other month.

KDE’s communication channels

And all the communication happening via these channels, on these events and through these media is governed through rules, guidelines, netiquettes and guared by common sense in KDE and our own Community Working Group. But probably the most important document we gave us is The KDE Manifesto which recordes our strong values like Free Software and End-User Focus and also defines the benefits and commitments of us and all our KDE projects.

KDE makes software

And thus we jump to the things that most people will connect with “KDE”: our software. Let’s zoom in to the software section of the overview picture above.

First some more information from the system adminstration side. We have:

  • 837 mainline repositories
  • 348,555 bugs [opened since 1996]
  • 16 machines in total:
    • 6 hosting core services
    • 2 hosting anongit’s
    • 4 hosting other various services
    • and 4 machines powering the CI

Additionally (and this information is not from the precise sysadmins) our software consists of more than 5 million lines of code. And these lines of code don’t just consist of C++ and Qt code. No, you find in our repos as well C and GTK code, Javascript and Java, Bash and Python scripts, PHP projects and I’m sure I missed some projects. But where does this code run on? Mostly on GNU/Linux of course, but it runs on other free operating systems as well and on Windows, Android and MacOSX too. And we’re even exploring porting code to iOS (which is not easy and I don’t speak about the technological barriers) and probably even Windows Phone (does anybody know a KDE project there?). And at the end don’t forget some smaller mobile OSes like SailfishOS, UbuntuPhone and Blackberry.

KDE makes a variety of software

You might already know that it covers topics like Personal Information Management, games, education and multimedia, general internet stuff (whatevery that means), financial, sports and food topics, workspaces, design and artists themes, Office work, photo management and much much more.

And with this I’d like to take another look at the graphic I inserted above. There you see four areas of software we currently develop, create and release:

The last two sound a bit similar and that’s just a sign of bad naming (IMHO, but all I write here is my humble opinion). Interestingly enough for a certain definition of successful the most successful projects in KDE are part of “Applications” namely:

  • Amarok – a powerful music player for Linux, Unix and Windows with an intuitive interface
  • digiKam – Photo Management Program
  • Krita – a FREE sketching and painting program
  • Rkward – an easy to use and easily extensible IDE/GUI for R

All of them are released independently of the three big software collections we release in regular intervals.

KDE has very successful software projects

There are two other very successful pieces of software. One is Kdenlive – a free and open source video editor for GNU/Linux, Mac OS X and FreeBSD which is now part of the KDE Multimedia module which itself is part of the KDE Applications releases. The other is Plasma and probably currently mostly known for its desktop version and has its own release schedule.

But before I finish this first article I’d like to take a look at the less good sides of the KDE things. Shed some lights on more difficult or to-be-improved parts. I don’t want to dig deeper into these problems and I don’t want to propose solutions here and now (but soon). But I want you to think about these things as well.

KDE has problems too

Let’s take a look at a projects or community that once shared the office with us: Wikimedia Germany. There was even a time when our business manager worked half of the time for them. Today we don’t have a business manager anymore, the office is most of the time empty and Wikimedia occupies half a building in Berlin where they have several people working full-time on stuff for this great open knowledge and data projects. Another glimpse should be spend on our Sprint page. Just compare the number of sprints from recent years with this year… And then several people already talked, wrote and blogged about the decline of activity in our git repositories. So do we stagnate, decay or what is happening?

And there are some other problems or situations to consider:

  • Hardware: We are now here and in the IT for almost 20 years and is some of our software somewhere pre-installed on everyday devices? Does anybody know of some? It should be as it’s good software but as far as I remember there was just some KDE software on Netbooks back when they were still sold with GNU/Linux…
  • Software: Application Stores like the ones from Google, Apple, Amazon or even Microsoft are a dominant way how software is distributed today. And we’re still just starting to port some of our great software to Android…
  • Money: Let’s compare us again with another free software organization: Mozilla. They can spend millions and what they offer is mostly a webbrowser. There were times when KDE offered at least three different webbrowsers and it’s still the case that the most widely used web rendering engine world wide has its origins in KDE. But we even fail to reach a fundraising goal of 40k…

Where is KDE’s future?

So we succeeded in the vision set 19 years ago, we’re still here and we’ve a lot of software and a great and welcoming community to offer. Currently we seem to be a bunch of projects creating and working on free end-user software that’s mostly based on Qt and running on GNU/Linux. But where should we go tomorrow, what should we target today, how should we define us and what’s the future of KDE? My personal vision, wishes and ideas for this can be read about in the next weeks part of “My wishion for KDE”… Read you then…

Randa and the Importance of Code Sprints for Open Source Hobbyists

Thursday, September 3rd, 2015

Guest blog by Holger Kaelberer (GCompris):

This year I will participate at the Randa Meetings for the second time. The last year was a great experience and I am really grateful that there was this opportunity to get in touch with the KDE community as a new developer of the recently incubated QtQuick port of the GCompris project.

As Randa is mostly financed by donations, it is obvious that this opens the door for students and hackers, that don’t have the financial means to join such an event. Working full time I can afford to pay my travel costs myself and personally I see the benefit of code sprint events first of all in the time, they give you for your project. Before talking a bit about what I plan to work on this year at Randa let me say some words on the importance that such code sprinting events have to open source hobbyist like me.

The Neglected Feature Branches

As probably many people involved in open source software development I work full time as a software developer and hack on open source software in my free time, because I dreamed the dream of making my hobby and my passion my job.

But — ay, there’s the rub!

When you come home after 8, 9, 10 hours of concentrated work on source code, maybe project controlled and sometimes under time pressure you can imagine that there is not much passion left for more hours doing the same activity. Of course, there are the weekends, that leave you more time for your own projects, unless you spend them with your friends or your family and your children, that you don’t see a lot during the week. So, this dream sometimes turns into frustration about not having enough time for what you really want to do. The concrete victims of the lack of time for your hobby are a bunch of uncompleted feature branches that have been started driven by a great idea, but slowly forgotten in the highs and lows of everyday life.

Now you can imagine that a whole week of time available exclusively for these feature branches brings a big smile to my face :-)

Now to the concrete feature branches I plan to work on this year in Randa:

Balancebox and Box2D in GCompris

The first one, balancebox, is about a new activity in GCompris I started last winter, that introduces a 2D physics engine in GCompris. The idea of the activity itself is simple and should probably placed in the “Fun” section of GCompris. The user is supposed to navigate a ball through a labyrinth of walls populated with holes and numbered buttons to a door by tilting his device. The numbered buttons have to be hit in the correct order to unlock the door. This obviously mainly targets mobile devices that provide sensoric information about device rotation (on desktop platforms tilting is simulated by using keypresses) and addresses fine motor skills as well as basic numeric counting capacities of the child.

After having experimented a bit with self written code for collision detection needed for collision dynamics between walls and the navigated ball, which becomes more difficult with complex, non-rectangular objects, I evaluated different libraries doing this work for me. I ended up with the QML bindings of the well known 2D physics engine Box2D by Erin Catto. As all activities in GCompris are developed only in QML and Javascript, those QML bindings integrate perfectly well with only a few wrapper elements. A bit of work had to be done to scale down the optimal dimensions of Box2D world objects (which are tuned to real world dimensions of 0.1 to 10 meters) to the smaller dimensions of my balancebox by calculating an appropriate scale-factor. But once done, the engine does a good job.

Once integrated, a 2D physics engine opens the door for a variety of other activities that cope with real world physics. As a next step I plan to use Box2D also for porting the Land safe activity from the Gtk+ version, where the player has to land a rocket smoothly on planet surfaces with different gravitational forces.

I am looking forward to discuss the possibility to use Step (or more precisely stepcore), KDE’s physics simulator, as an alternative physics engine with other members of the KDE Edu team in Randa.

Desktop-to-Mobile Notifications in KDE Connect

Besides working on GCompris, I’d like to benefit from my week at Randa by coming a bit closer to the KDE Connect code-base, that is still pretty new to me. Since using KDE’s Plasma on the desktop I discovered KDE Connect as a really useful tool in everyday work and use is mainly for file-transfer and notification synchronization.

A feature I missed in everyday use so far was the synchronization of notifications in the other direction: from desktop to mobile. Thus you can get notified e.g. of incoming messages of your jabber/IRC client when away from keyboard or whatever event that is not available on the mobile side. First I hacked around that by implementing a small wrapper that proxied all Notify calls on my desktop’s DBus org.freedesktop.Notification interface using a kdeconnect ping-message to my mobile device.

This was the beginning of another pair of feature branches, that integrated this feature directly into kdeconnect-kde core and kdeconnect-android, resp. The code is mostly working already, although there are some issues with specific Android-versions. As KDE Connect is one of the major topics this year in Randa, there will be the right place for resolving these missing bits and discuss some more questions regarding configuration of the notifications module directly with the KDE Connect developers there.

The Randa Meetings will start next week, enough time for you to help making it happen by donating to the still running fundraiser campaign:

A big “Thank you!” to all donors and the organizer(s) of this event!

Count downs: T -10 hours, -12 days, -30 days, -95 days

Tuesday, June 2nd, 2015

It’s already for quite some time that I wanted to write this blog post and as soon one of the fundraisers I’d like to mention is over I finally took the time to write this now:

So the first fundraiser I’d like to write about is the Make Krita faster than Photoshop Kickstarter campaign. It’s almost over and is already a success but that doesn’t mean you can’t still become a supporter of this awesome painting application. And for the case you shouldn’t have seen it there was a series of interviews with Krita users (and thus users of KDE software) you should have read at least in part.

The second crowd funding campaign I’d like to mention is about the board game Heldentaufe. It’s a bit a family thing as this campaign (and thus the board game) is mostly done by a brother-in-law of mine. He worked on this project for several years – it started as his master thesis. And I must say it looks really nice (don’t know if the French artist used Krita as well) and is “simple to learn, but difficult to master”. So if you like board games go and support it.

And the third fundraiser it’d like to talk about is one of our friends from Kolab. They plan to refactor and improve one of the most successful pieces of webmail software. And as everybody here should be aware how important email is, I hope that every reader of this blog post will go to their Indiegogo page and give at least 10$.

So some of you might ask now: and what about the -95 days? In 95 days the 6th edition of the Randa Meetings will start. And as I’m sure it will become a very successful edition again and a lot of people want to come to Randa and work there as hard as they can and we want to help them with sponsoring their travel costs we plan another fundraiser for this and other KDE sprints in general. So if you would like to help us don’t hesitate and write me an email (fux AT kde org) or ping me on IRC.

UPDATE: As the first comment mentions the Heldentaufe Kickstarter was cancelled this morning and you can read about the reason on the latest update. But I’m optimistic that there will be a second fundraiser campaign in the future and if you’re interested about it don’t hesitate to write me an email and I’ll ping you when the new campaign starts.

Last chance to register for the Randa Meetings 2015

Wednesday, May 13th, 2015

Konqi - the KDE mascot in the Randa Meetings edition

If you are interested in participating in this year’s Randa Meetings and want to have a chance to be financially supported to travel to Randa then the last 24 hours of the registration period just began.

So it’s now or never – or maybe next year.

You can come to the Randa Meetings 2015 – Please register now

Monday, April 13th, 2015

The dates for the sixth edition of the Randa Meetings are set: Sunday, 6th to Sunday 13th of September 2015. The first Sunday will be the day of arrival and the last Sunday accordingly the day of departure.

So what about you? If you know about Qt and touch gesture support, want to bring your KDE application to Android and Co, plan to work on KDE infrastructure for mobile systems, are a UI or UX designer for mobile and touch interfaces, want to make your software more accessible or just want to work on your already ported KDE application please register as soon as possible on our Sprints page.

The registration is open until the 13th of May 2015. Please add your estimated travel cost and what you plan to work on in Randa this September. You don’t need to include any accommodation costs as we organize this for you (see the Randa Meetings wiki page for further information about the building). After this date we will present a budget and work on a fundraiser (together with you) to make it possible for as many people as possible to come to Randa.

If there are any questions or further ideas don’t hesitate to contact me via email or on IRC in #randa.

Participate in the date selection for the Randa Meetings 2015

Monday, March 9th, 2015

I’m close to being back to KDE joy and work. Just one last exam on Thursday and I’m done with my final exams. But let’s concentrate on the subject.

For the topic of the Randa Meetings this year it’s planned to focus on tablet/smartphone and touch platforms and make our software fit for them (e.g. touch ui for Kdenlive or Android CI) and work further on already adapted software (e.g. KDE Connect, GCompris or KPhotoAlbum). And e.g. the Visual Design Group of KDE might help to design these new UIs (e.g. a tablet-ui for KRecipes where you can recook all the great dishes of the recent Randa Meetings ;-) or make them better. Or what are your ideas for this topic?

So if you think you should be part of this endeavour and you want to come to Randa this year please go to Doodle and select the start date that fits you best. The dates that can be selected are the possible start dates of the respective Randa Meetings. Just add another 6 days till you need to leave Randa again ;-) .

Oh and please forward this information to potential other participants and people you think should come as well.

Third CI IRC meeting and more

Monday, January 5th, 2015

There was another successful IRC meeting about KDE CI before xmas and you can read about it in the summary. For our third meeting we’d like to do another Doodle to get as many people from as many timezones as possible.

And in general we’re making quite some progress. Most of the work is currently done for a QStandardPaths upstream patch to get our apps running under MacOSX and Windows and there is even more to read about the amazing work our SoK student Scarlett Clark is doing.

Oh and don’t forget to help our new member GCompris to get some new looks.

How to contribute as a non-developer and the KDE-CI meeting date is set

Thursday, November 27th, 2014

First about the upcoming IRC meeting about KDE’s Continuous Integration (CI) system. The Doodle resulted in the 2nd of December us our meeting day. We’ll see you in #kde-devel at 20.00 (8pm) CET (UTC+1). See this notepad about the agenda and Co.

And now about the way you can contribute to KDE even though you can’t program:

  • Do you like to write thrilling articles about KDE and its software?
  • Do you like to interview people?
  • Are you an English native speaker and spot writing errors on first sight?
  • Would you like to take care of regular and repetitive jobs like e.g. the beta release announcements?
  • Do you know something about promo work and marketing?

Then we want you! Come to our mailing list or ping me on IRC in #kde-promo and tell us on what you’d like to work, what you’d like to improve and what your ideas are.

As a first task you can read the Promo and Dot page. As it’s a wiki and these pages might be outdated please fixed them and ask on the kde-promo mailing list if you’re not sure.