KDE Connect is a perfect project to start contributing to KDE. It is a vast project that supports multiple platforms and includes several functionalities.
The KDE Connect community welcomes new contributors and you can join us in our communication channels via Matrix (#kdeconnect:kde.org), Telegram or the KDE Connect mailing list.
Feel free to ask them any question you may have!
Development
You’ll need a basic understanding of programming concepts, the rest can be learned by doing. Experience with Android or Qt is beneficial, but not needed.
All patches are submitted on Gitlab. Be sure to select the most relevant template. You don’t need to assign any reviewers, the developers are subscribed to notifications. Should this be your first patch, it’s good to know that it might take some time before your patch is reviewed (we all work on KDE Connect in our free time), and you’ll probably have to make some changes a couple of times. That’s not because you’re new, that’s what happens for all reviews (even for long-time contributors).
KDE Connect for Linux, Windows, MacOS and Linux Mobile
The KDE Connect version for Linux, Windows, MacOS and Linux Mobile is written in C++ and QML with the help of the Kirigami framework. KF5PulseAudioQt and KF5PeopleVCard are also needed.
The git repository for this version can be found here.
To build this version, you need a recent version of the Qt Framework and the KDE Frameworks.
KDE Connect for Android
The KDE Connect version for Android is written in Java against the standard Android SDK.
The Android repository can be found here.
The easiest way to build KDE Connect for Android manually is to use Android Studio to build the app and install it to your phone, although it can be done on the command line using gradle.
Running KDE Connect in an emulator is possible, but this requires an advanced networking setup. See the guide posted for the Android_Emulator.
KDE Connect for iOS
The KDE Connect version for iOS is written in Swift and the SwiftUI framework.
The iOS repository can be found here.
Although building to physical iOS devices requires you to be a member of the K Desktop Environment e.V.’s App Store development team (or you can request Apple to give your development team a Multicast Networking Entitlement), you should be able to build to and test the complete set of functionalities using iOS simulators.
For more, please checkout the Contributing section in README.
Junior Job
There are a couple of tasks marked as Junior Jobs on our workboard. Those have some extra information on how to approach them that can help you get started.
Not a Programmer?
Not a problem! There’s plenty of other tasks that you can help us with to make KDE Connect better, even if you don’t know any programming languages!
- Bug triaging - help us find misfiled, duplicated or invalid bug reports in Bugzilla
- Localization - help translate KDE Connect into your language
- Documentation - help us improve our user documentation to make KDE Connect more friendly for newcomers
- Promotion - help us promote KDE Connect both online and offline
- Updating the wiki - help update the information present in the wiki, add new tutorials and improve content in general, making it easier for others to join!
- Do you have any other idea? Get in touch!