KDE and Season of KDE (SoK)

anu mittal
7 min readDec 21, 2019

--

KDE and Mascot Konqi

KDE stands for K Desktop Environment. It is a desktop environment for Linux based operation system. You can think KDE as a GUI for Linux OS.
KDE has proved Linux users:

  1. to make it use as easy as they use windows.
  2. a graphical interface to choose their own customized desktop environment.

Why should you choose KDE?

Easy Integration: KDE is well integrated with many applications of all kinds. Applications do not have to be written specifically for KDE, and all of the applications that are typically part of the GNOME desktop also work just fine in KDE
Look and Feel: I like the many ways in which I can change the look of the KDE Plasma workspace. Sometimes we like to set colors and looks that suits our mood. Icons, widgets, fonts, pointers, the window decorations, and much more can also be changed, and you can download and install new ones if those already installed are not right for you.
Flexibility: KDE allows me to define the functions of the mouse buttons, how windows behave, and how to deal with new devices that are plugged in such as whether to mount them if they are storage devices and which applications to open automatically.

And here is where the GUI desktop combines with the CLI to enhance user exp. The feature I find most useful is the fact that the Konsole window allows for multiple tabs with a separate terminal session in each tab.

It took me by surprise, how huge the KDE community is and how flawlessly this team works co-operating on development and distribution of Free, Open Source Software for desktop and portable computing. It is an amazing community with more than 50 million users, where people can:

  1. Download and use an app for free
  2. Read the source code, learn, grow and contribute.

And the best part is for contributing in KDE and become a part of you need not necessarily be a developer, There are many different ways you can become part of this,

  • Development: If you like coding and want to work on a project to add new features or resolve any bug, collaborating with people from all around the world.
  • Translation: If you are good at multiple communicating language, you can help KDE in globalizing by translating texts of KDE software
  • Art: If you have got artistic skills and like creating new images and theme, a large audience of KDE are keen to see your artwork
  • Documentation: If you wish to help users to understand how to use the software and keep text files up to date
  • Promotion: If you want to be part of a flexible team which spreads the word of KDE to expand its user range
  • KDE bug squad: By keeping track of incoming bug reports, verifying them, improving them and cleaning them up, you will help developers figure out what bugs they need to work on and help them get the information they need to fix them.

Do check out the KDE Community Wiki for more details.

KDE has many application domains which can be categorized as

1. KDE — Development
e.g. KDevelop IDE: CPP files KDiff3, Kompare: for creating diff patch

2. KDE — Education
Kalzium: chemistry, Kletters: alphabet edu, KAlgebra: Maths

3. KDE — Games
KDiamond: Three-in-a-row game, KPatience: Patience Card Game, KSudoku: Sudoku Game

4. KDE — Graphics
KPhoto Album: Photo Album, KolourPaint: Paint Program,
Karbon: Scalable Graphics

5. KDE — Internet
KNode: News Reader, KRDC: Remote Desktop Client, KGet: Download Manager

6. KDE — Multimedia
KMPlayer: Media Player, KsCD: CD Player, KMix: Sound Mixer

7. KDE — Office
Kontact: Personal Information Manager, KOrganizer: Personal Organizer Plan Project Management

8. KDE — System
Konsole Terminal: Dolphin File Manager, KSystemLog: System Log Viewer

9. KDE — Utilities
KCalc: Scientific Calculator, KJots: Note Taker, KTimer: Countdown Launcher, KFileReplace: Search & Replace Tool

10. Multiple Addons

There are more than 200 applciations in the KDE domain, refer the list here

Season of KDE

What is Season of KDE?

Season of KDE is a community outreach program that has been hosted by the KDE community for nine years straight, wherein contributors across the globe participate, learn and develop together. This season of KDE is of about 3 months. Student application and mentor application submission begin in December.

Before submitting the proposal, students are expected to have a clear understanding of the project and idea. The first month of the program is communicating period where students exchange ideas with the expected mentor, through IRCs and mailing lists. Mentor verifies the feasibility of the idea.

In case you are not able to come up with your new idea, SoK idea page has few projects mentioned there. If you find any of those ideas interesting, you are supposed to first understand the project and the idea and then start connecting with the mentor mentioned along with the idea.

Mentor of SoK is always available for any kind of help you need though you are first expected to ask your queries in an appropriate mailing list or IRC and in case you are unable to find a satisfactory answer or suggestions from there, you can drop a mail to your mentor. There will be a reply within 24 hours (which is mostly expected as there may be time zone difference between your location and your mentor’s).

Purpose of the SoK program is to support as many budding developers as interested to begin their journey in FOSS world and also, to encourage those students who missed the change to get through the GSoC (Google Summer of Code). SoK support the students with perfect mentor-ship and delivering the best experience of being a part of a big community like KDE, with exciting goodies like T-shirt and certificate. It is managed by the same team of admins and mentors that takes care of Google Summer of Code and Google Code-in matters for KDE, so we can say it is very much like Google Summer of Code.

Why SoK?
Flexible timeline
Best Mentorship
Goodies
Certificate
Experience
Exposure

Getting started with SoK/contributing to any of the projects in KDE?

It is highly recommended for you to first go through some of the applications you like and look at the technologies used, mostly being C++, Qt, QML, and CMake.

Refer link which provides all the information about:

Mailing List/ News
Reporting bugs
Coding.

Now let’s study each if the process a little more in detail:

  • First: how to subscribe to the mailing lists, What are the norms and where can you find the news feeds (The Dot and Planet KDE)
    As already mentioned mailing lists are the best way to know the current status of any project, new features being added and contributions being made currently.
    What is mailing list? It is very much similar to personal e-mail communications with more than one recipient, where you will be getting the notification periodically according to the span that you opt for daily or weekly.
    Mailing list: Click on the list name and subscribe by entering your email id.
  • Second: How to report bugs(search if it already exist or file new bug), Create a new account if not already present, Use phabricator for performing code reviews where every other contributor can cross-check the changes and merge it in the project repo once approved by the team.
  • Third: Getting started with the coding- C++, Qt
    C++ is the core technology being used in most of the projects under any domains, so you are not comfortable with it, it is highly recommended to first learn and how the structure and syntax of C++ language. Qt is a cross-platform framework with tools designed to streamline the creation of applications and user interfaces. KDE Frameworks is a collection of libraries and software frameworks by KDE that serve as the technological foundation for KDE Plasma 5 and KDE Applications

The format of projects proposal should be in this

SoK Sample Project

Find a project that interests you, look at the technologies used, and understand the idea of the project. If you are comfortable with those, you can clone the source code and install the app by referring the documentation. It covers everything from building the framework to configuring file and run-time setup.
Over the time, you will find missing features that could be useful. Or if you find a bug you can report them or try fixing previously listed bugs which can be found on KDE Bug tracking System Main Page.

If you have an idea of any new functionality that can be added or any new feature, you can go to the mailing list of that specific application, propose the ideas and also get to know more about the developments going under that application. If you don’t get help from there then you can at any time mail your queries on kde-devel@kde.org and you will get a reply within 24 hours.

If you are not familiar with the technologies or you get stuck anywhere, you can read blogs and tutorials, ask for help on the mailing list or IRC, ping the contributors. Always Ask. Do not hesitate. Not even once. If needed ask again enlightening any specific part of your query.

Once you are done with the setup and know well enough about a project you can contact a mentor for the same. You can talk about your idea on IRC or mailing list, interested mentor will get in touch and then you can get started with your project.

Thanks for reading. All the best.

--

--