Mario Fux

About Fellow No 1's life

One year ago…

May 8th, 2016

… I finally got my diploma for a study that took much longer than I first thought ;-). But then with the knife at my throat (the old study model ran out and thus it was my last chance to finish) and great support of friends and family I found the time and energy to successfully finish and get my Master’s degree. The title of my diploma thesis was “Media Choice and the Media-Synchronicity-Theory – Development of an Instrument for the Study of selected Elements of MST for Free Software Communities” and here you find its English abstract:

This paper will analyse the media choice and media usage of Free Software communities and hence to draw conclusions for a more successful deployment of Computer-Supported Collaborative Learning (CSCL) in the area of education and school. After a history of ten years of CSCL in action, relevant failures and possible causes, we develop a questionnaire on the foundation of the Theory of Media Synchronicity from Dennis et al. (2008). The acertained data will be evaluated regarding the daily media usage on the one hand and the media choice in specific situations on the other hand. Additionally we are going to compare the data with the data of the study of Miller (2014) about "learning strategies and new media".
To validate the ideas of a more successful deployment of CSCL two concrete hypotheses will be established: 1. the characteristics in media usage und choice in Free Software communities and the preferred choice of asynchronous media when being longer within the community, and 2. the importance of email as communication media in these communities. The acertained data and its evaluation do not confirm the first hypothesis. But there are lots of results that confirm the second hypothesis.

Unfortunately this is the only English part of the diploma thesis besides the questionnaire. With this questionnaire I collected some data through a survey. Thanks everybody for participating in this survey and yesterday I finally informed the two lucky winners about their prices.

A paper that might be more interesting for you is the one about “KDE as an example of a Free Software community” from a social-educational perspective. In the appendix you find 9 longish IRC interviews with different people from the KDE community. There you might find some interesting insights and different perspectives.

PS: Oh and one of my sons has his birthday today so: Happy birthday little b.

My Wishion for KDE – Part 1 – Now

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.

Summary

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 bugs.kde.org) 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 conf.kde.in – 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…

New maintainership for the Simon speech recognition

October 17th, 2015

But before I tell you more about my new relationship with and to Simon I need to apologize for the delay of the promised blog series called My Wishion for KDE (and yes “wishion” is an amalgamation of “wish” and “vision”). They will start, as soon as next week. Sorry that you need to wait a little longer but I had my good reasons. Some rather bad things happened last week and they had absolute priority.

This is a very ambivalent year for me. Some great things happened: e.g. the birth of my second son Simon and the finishing of my studies. And then there are these worst case things happened to my family. Oh and for the case you sent me an email recently and I didn’t answer yet. You will get your reply eventually, just be patient.

Now let’s talk about the other Simon – the open source speech recognition program. As you might have read Peter Grasch, the former maintainer of Simon, needed to leave the project and was searching for someone that takes it over. And as I was at this point in time the only person interested in this great tool and framework… So I’m the new maintainer of Simon and would like to thank Peter a lot for his trust and for the great work he did in and with Simon over several years!

These are some pretty big shoes to fill and I (and hopefully with the help of others) will need quite some time to learn and try. I lack a lot of the knowledge Peter has but I’m eager to learn and learn even more. So I’m going to try my best to bring Simon forward and will try to be a good father to both of my Simons.

Currently I’m in the process of reading all the bug reports, get an overview of the Simon forum, add myself as default assignee for Simon bugs, add myself as CC: for the old bugs, do some other administrative stuff and take a look at the code and some patches that already arrived.

I’d like to thank Michael Abrahams for a first port (or start of it) to KDE Frameworks 5 (KF5) and Qt5 and Frederik Gladhorn to commit Michael’s patches to a branch while I was busy with the Randa Meetings 2015.

For the future I hope to make a last Qt4-based release (probably even before the end of this week). Later I’d like to work on the KF5-port and see where it makes sense to restructure some things. Oh and I of course would like to work with Peter’s last gift: Lera.

So if you’re interested in open source speech recognition and Simon in particular don’t hesitate to contact me or subscribe yourself to the kde-speech mailing list.

My Wishion of KDE – Prelude

September 30th, 2015

Now or never – that’s what I thought yesterday when I wrote the notes for this blog post down. Although it might be a bit too dramatic. Yesterday night frustrated me and even made me angry about things going on in KDE. And thus I think and thought it’s finally time to start my blog series. Over the next weeks I’d like to write a blog series with the title My Wishion of KDE. Over the last two years I collected many thoughts and notes and with this blog post I’ll put some more pressure on myself to finally arrange these notes and ideas and finish the blog posts and publish them.

And I want to do this as well because most of the time I prefer to improve things and progress them, fix them, do the work rather than just rant and criticize (destructively, constructive criticism is great and important) and it’s Free Software in its core as well: just do it (others might or will follow).

There are quite some things failing inside KDE but I heard there was quite some positive energy this year at Akademy and we just finished/ended the longest Randa Meetings yet and although these meetings were for me quite exhausting they were another great success and almost the size of half of Akademy this year. Just compare the group pictures. And I met again some great people, new and old, young and old, with great ideas, a lot of energy and willingness to put in some energy and with the incubator projects I sponsor there was and is even more enthusiasm coming to KDE.

So this is the introduction or first part of my series about my Wishion of KDE. With this word creation I’d like to underline the ambiguity of my wishes for KDE on one side and a vision for KDE on the other.

The herewith starting or preluding blog series will have four parts. And the following questions will guide these single blog posts:

  • Where are we now? What is KDE currently?
  • Where and how do I see KDE in the future and the coming years? And where do I think KDE should go?
  • What should we do and change to reach this future?
  • How could we do this and what to achieve this wishion? What could I offer and how could you support me in this?

As I wrote this is my Wishion and thus just MHO (my humble opinion). Nonetheless I think that with the work I did in KDE, in several areas and for quite some time I’ve got a good overview and insight and thus think my Wishion might be of some interest for other people too.

If you like this, please spread the word, translate this blog sories, ask, comment, tweet and Co (I’m not the “social media” guy although I think that I’m quite social and use IT for almost two decades now in a very social way).

Read you soon. At least next week.

Randa Meetings 2015 are History – But …

September 16th, 2015

I’m exhausted and tired, but it was great and a lot was achieved. And as people just start to report about it and publish blog posts it was decided that we prolong the fundraiser for another two weeks. Thus it will officially end on the 30th of September 2015. The reason for this prolongation is the shaky internet connection we had in Randa during last week. Most of the people will report about what they did and achieved in the next days.

And if you are interested you can still checkout what was planned for the Meetings in the middle of the Swiss Alps. And there are some notes about the achievements too. So don’t stop to support this great way of bringing you the software and freedom you love.

Randa and the Importance of Code Sprints for Open Source Hobbyists

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!

A (or the) secret about the Randa Meetings

August 14th, 2015

This year we hold the sixth edition of the Randa Meetings and during the year we had some really important (for KDE and the users of our software and products) and far-reaching events that happened in the middle of the Swiss Alps.

One good example is a huge step and big foundation of what is today known as the KDE Frameworks in their 5.x versions. A big collection of Addons for Qt and its users (aka developers). Another event was the dicussion with Qt Brisbane back in 2010 about the decision on how to continue with Phonon. As you can see today it was a good decision as our Phonon still exists and applications using it didn’t need to be ported to something else. But the Phonon in Qt is (afaik) deprecated. Even another thing is the new design and ideas for the KDE education apps and their new logo which you can see on the website edu.kde.org. And a last one to mention here (and I’m sure I forgot a lot of other important events and decisions) is a big part of the new energy put in one (if not the one) of the best non-linear video editors in the Free Software world: our Kdenlive.

So but what’s the secret behind these Meetings that you teased us with in the title? Mind you, it all started 6 years ago when I organized the first version of the Randa Meetings back then not under this name and unaware of the coming editions which grew much in size and range. In 2009 I invited the Plasma crowd to come to Randa. In the holiday house of my family I would (and did) cook for them, gave them a place to sleep and some electricity and internet connection but most important of all some place to meet, be creative and prosper in work and ideas. It was a huge success to say the least and people loved the family like feeling.

Then the next year we needed a bigger place and it became a bit more professional (I didn’t cook myself anymore) and there was a group already interested to come to Randa: Amarok and KDE Multimedia with Myriam and Markey. But there were some other groups and here starts the secret: these groups didn’t really come to Randa because they needed a place to sprint and we offered it but because I (or we?) thought it would be great to have a KDE edu sprint in 2010 as well and thus that it makes sense to push some more energy and ideas into the KDE edu group.

So is it about the fact that you decide or invite who should come to Randa? Yes, I think that’s a big part of the success of the Randa Meetings. For certain there are still groups that ask if they could come to Randa as it makes sense to participate and use the opportunity of a small organized location and sprints but it’s about bringing the right (IMHO) groups to Randa and push some energy into them. Not directly via deciding what they should work on but about offering a creative and productive environment to them and let them work for a whole week on this. I wouldn’t have time to really direct their development during this week (as I’m mostly too busy with organizational stuff and would really like to develop more myself) and it’s not really only on my plate who to invite to Randa (I always discuss my ideas beforehand with a lot of other people) but in the end it’s this thing that (IMHO) makes the Randa Meetings so successful and thus important for KDE itself.

And these Meetings are even more important then ever if you look at the decline of KDE Sprints on sprints.kde.org.

Oh and you might now think: but hey, the developers, documentation writers, translators, artists etc. do the work in the end in Randa. And that’s of course right. Their great minds and ideas and hacking hands are what culminates in great art, documentation and software and combined with the great place and the good organization we get a great end result. So the perfect combination is in the end the secret about the Randa Meetings.

So support us in doing more of these Meetings and other KDE Sprints by clicking the above banner and donate!

PS: I don’t want to say that only me can and should do this but I do it currently, I like it and I think I do it quite well.

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

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

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

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 freenode.net IRC in #randa.