Jan Grulich

2+ years with network management in KDE

It has been more than 2 years when I was an intern in Red Hat and Lukáš Tinkl, my leader that time, told me that I should take a look what needs to be done around network management in KDE. I started with contribution to libnm-qt (networkmanager-qt now), because there was a plan to have a separated library for NetworkManager and port the applet to use it later. It took me a few months to get familiar with NetworkManager DBus API and implement all missing stuff and I was ready to start porting the applet. Problem was that the old NM applet was not ready at all, its architecture had been done with more network daemons in mind (like wicd) and the code base became really complicated. I still remember that discussion we had about starting from scratch, it was quite tough decision, because we had to drop such huge code base and years of work. Anyway, we decided to go for it and start from scratch and one of the best journeys of my life had begun. It went quite good, we were able to reuse some existing parts from the old applet and we had first release like half year later. Well, quality of first releases is questionable, not everyone liked them we did, but we have learned from mistakes and now I daresay that the version we have after 2 years currently in Plasma 5 is really great and we enjoyed doing it.

But the real reason why I decided to write this blog post is that I wanted to look to some statistics using gitstats after those 2 years of development and share them with you.

Stats about networkmanager-qt

Total files: 363
Total lines: 41876
More stats here.

Table of top contributors since the beginning.
nm-qt-authors

Stats about libmm-qt

Total files: 120
Total lines: 14695
More stats here.

Table of top contributors since the beginning.
mm-qt-authors

Stats about plasma-nm

Total files: 288
Total lines: 40507
More stats here.

Table of top contributors since the beginning.
plasma-nm-authors

NOTE that those statistics do not include contributions to the old NM applet, which some parts are used in both libraries and even in the new NM applet.

Scroll To Top