All posts by Dominik

Dominik is a PhD student at the Control Theory and Robotics Lab, TU Darmstadt, as part of the Research Training Group GKMM (GRK1362). My research focuses on state estimation in distributed systems. As hobby, I contribute to the KDE project and work on the Kate application and editor component.

Kate/KDevelop 2015

From the 7th to the 11th of October Kate and KDevelop contricutors once again met to work on both Kate and KDevelop.

The work in Kate was mostly spent on fixing bugs, as can be seen by the following bug chart for Kate:

Kate Bug Charts

That is, more than 300 bug and wish reports were closed. Granted, many of the reports were just old and given our limited manpower we were closing many wishes since it is unlikely that old wishes get implemented. Then again, we also fixed a lot of bugs that required code changes, and also fine tuning of KTextEditor and Kate. The fixed bugs are roughly KDE bug tracker (yes, the auto-brackets option is back!), besides there are also a lot of changes there were not listed in bug reports. We hope the changes are useful to you, so be sure to get the KDE Frameworks version 5.16 as soon as it’s released :-)

Again about Relicensing KDE’s Source Code

To get started with KDE development, newcomers usually first sent patches. Having sent several patches, the newcomers are typically encouraged by us (the reviewers) to apply for a KDE contributor account. This application includes the question of “who encouraged you to apply for a KDE contributor account”.

Then, the KDE sysadmins contact the mentioned developers to make sure the application is valid and trustworthy.  Hence, you, as someone who encouraged others to apply for an account, get a mail with the subject “Developer account application approval […]”.

To all KDE contributors: Given you probably also were involved with getting other contributors involved with KDE, please follow these steps:

  1. Filter your KDE mails for “Developer account application approval”
  2. For each contributor, get the contributors commit name (you can look this up on > Prople.
  3. Check, whether the new contributor added him/herself to the script.
  4. If not, please send this contributor a mail and encourage him/her to add him/herself to this script.

You really should check this, since you are also responsible for getting these new contributors commit access.

I did that with 8 contributors. 7 already added themselves within one week. Only one is not reachable by mail anymore… So it seems to work quite well.

Plasma 5: Keeping an Eye on the Disk Quota

At this year’s KDE conference Akademy, I was working on a small plasmoid to continuously track the disk quota.

The disk quota is usually used in enterprise installations where network shares are mounted locally. Typically, sysadmins want to avoid that users copy lots of data into their folders, and therefor set quotas (the quota limit has nothing to do with the physical size of a partition). Typically, once a user gets over the hard limit of the quota, the account is blocked and the user cannot login anymore. This happens from time to time, since the users are not really aware of the current quota limit and the already used disk space.

Disk Quota as Plasmoid

Here is where the “Disk Quota” plasmoid helps: Once added to the panel, it shows all quota limits when clicking on the plasmoid:

Disk QuotaOn mouse over, a nice tool tip shows the used quota in percent (in case multiple quota limits exist, the highest quota is displayed):

Disk Quota ToolTipWhen a quota is > 50% but smaller than 75%, the quota icon gets orange:

Disk Quota > 50% And if the quota is between 75% and 90%, the quota icon gets red: diskquota-mediumFinally, a quota > 90% will urge the user to cleanup data by showing a exclamation mark as well:

High Disk QuotaClicking on a quota entry will launch Filelight in the correct folder, if it is installed.

Disk Quota in System Tray

If the quota plasmoid is shown in the system tray (configure the systray and add it there), then the quota information is shown inline in the system tray popup:

Disk Quota in System TrayAs soon as the quota is equal to or greater than 50%, the quota icon automatically gets visible in the system tray panel:

Disk Quota - AttentionFinally, if the quota is >= 98%, the quota icon pulses to get the user’s attention (a nice Plasma 5 feature!).

To decrease the quota again, simply click on the respective quota entry in the list view. This launches Filelight with the correct location.

Code Internals

As of now, the Disk Quota plasmoid internally calls the command line tool ‘quota‘ to retrieve the quota information. The output of this tool is parsed and then interpreted to show the quota information as can be seen in the screen shots. If the quota command line tool is not installed, then the Disk Quota plasmoid shows diagnostics like this:

Disk Quota missingInfos for Packagers

Since Disk Quota uses the command line tool ‘quota’ and launches ‘filelight’ when clicking on quota entries, you should ship ‘quota’ and ‘filelight’ when installing this applet. Most certainly, this plasmoid is only useful for networked systems (with remote mount points) and enterprise installations.

Release Info

Status: Pending Review Request: Disk Quota for inclusion in Plasma 5

Credit where Credit is Due

During implementation lots of questions popped up. Thankfully, we were all at the KDE conference Akademy, and Kai, Sebas, Marco, Martin and the Visual Design group (for design help and icons) were there for quick help – Thanks a lot! Hope you all like the result :-)

Licensing of KDE Code

Akademy, the yearly KDE conference is alive and kicking. During the last days we were discussing again about potential KDE licensing issues (for instance code that is licensed under GPLv2, but not GPLv3). That’s why KDE is maintaining a relicense checker script, that every KDE contributor should enter herself/himself. I’ve blogged about it already in January 2015, but it cannot hurt to repeat it from time to time: From the KDE relicensing page:

A couple of KDE dependent projects or even libraries have moved or are going to move to GPLv3.

Unfortunately, GPL v3 is incompatible with GPL v2. This means that it is not possible to create a project linking GPL v2 and v3 code together. There is no problem for projects which are licensed GPLv2+ (version 2 or above).

A few parts of KDE are currently licensed as GPLv2 only. So far we have no reason to believe that this was something other than an oversight. However, we still need to validate with the individual copyright holders that a relicense to GPLv2+ or GPLv2+v3 is okay with them.

Therefore, in an effort we’re trying to identify the contributors that have contributed under the terms of GPLv2 and where the “+” part was not explicitly mentioned. If we know that all contributors agreed to a relicense, we can go ahead and flip the license of the individual source file.

Short story: If you have not done so yet, please add yourself to the kde file!

If you cannot add yourself right now, please consider sending a mail to publically stating that you’re ok with relicensing all your contributions hosted on the KDE services under either  GPLv23, LGPLv23, GPLv2+, LGPLv2+. Additionally, you can give the membership of the KDE e.V. the credentials to relicense your contributions in future (this makes a lot of sense if you cannot contribute to KDE anymore and are no longer around). Many of the KDE contributors did this already. Thanks! :-)

PS: The official way to give KDE the rights to change licenses would be by signing the KDE e.V.’s FLA. Please note, that the KDE e.V. will not abuse this by immediately changing licenses you chose. Instead, this mostly about emergency cases (think of someone who suddenly passes away). But the script mentioned above is already a good start, since we can use it to quickly scan our code and identify problematic parts.

Update: With signing the FLA, you give the KDE e.V. several rights:

  • update KDE SC license
  • can protect KDE projects/code
  • can proect you (e.g. in copyright lawsuits)
  • make sure your code will live on even if you can’t contribute anymore

It is important to note, thought, that signing the FLA also includes that the KDE e.V. gives you back all your rights, so for you and your contributions, nothing changes. There is a BOF session about all this on Monday, so make sure you attend if you’re interested!