KDE and getting started with Season of KDE

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 to make it use as easy as they use windows. KDE provides Linux users a graphical interface to choose their own customized desktop environment.

Why KDE?
> 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
> Looks: I like the many ways in which I can change the look of the KDE Plasma workspace. Sometimes we like to set colours and looks to suit our moods. 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 freely download and use an app or can 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 for CPP files KDiff3 and Kompare creating diff patch

2. KDE - Education - e.g. Kalzium for chemistry Kletters for alphabet edu KAlgebra for maths

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

4. KDE - Graphics - e.g. KPhotoAlbum Photo Album KolourPaint Paint Program
Karbon Scalable Graphics

5. KDE - Internet - e.g. KNode News Reader KRDC Remote Desktop Client KGet Download Manager

6. KDE - Multimedia - e.g. KMPlayer Media Player KsCD CD Player KMix Sound Mixer

7. KDE - Office - e.g. Kontact Personal Information Manager KOrganizer Personal Organizer Plan Project Management

8. KDE - System - e.g. Konsole Terminal Dolphin File Manager KSystemLog System Log Viewer

9. KDE - Utilities - e.g. KCalc Scientific Calculator KJots Note Taker KTimer Countdown Launcher KFileReplace Search & Replace Tool

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

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 4 months. student or the budding contributors 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 programme 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, 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 you,, mentor, and there will definitely 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 programme is to support as many new budding developers as interested, to begin with, FOSS contribution with perfect mentorship, 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, which mostly are CPP, Qt and QML. 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)
    As already mentioned mailing lists are the best way to know the current status of any The project, new features being added and contributions being made currently, it is very much similar to personal e-mail communications with more than one recipient, where you will be getting the notification periodically acc to the span that you opt for daily or weekly. https://mail.kde.org/mailman/listinfo Click on the list name and subscribe by entering your email id, and you will get the mail in as forums.
  • Second: How to report bugs(search if it already exist or file new bug), create a new account of not already present, Review board software for performing reviews on code changes where everyone can cross-check the changes and is 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

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: Framework/Building. It covers everything from building the framework to configuring file and run-time setup. It would be easier to use some library for an actual project. Over 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.

Or 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.