Student Application Template
Name: Milán Unicsovics
Contact/Email: firstname.lastname@example.org // thesnapdragon @ IRC
- I am not just a coder, rather an engineer. I can design and implement a good, maintainable software with a good architecture and great performance.
- Creating a nice code is very important to me. Every programmer can code, but creating a reusable code is much harder (well use of software patterns).
- I am a Python developer, so using best practices and idioms is the default for me.
- I am an open source software enthusiast.
- I love coding, and the required technologies for this project are my favorite ones.
- Debian is my favorite distribution, and I want to use my knowledge to improve the distribution.
Project title: AppStream / DEP-11 Implementation
Project details: The aim of the project is to implement AppStream on Debian. The AppStream project is a cross distribution effort that provides metadata about available applications, which metadata can help to create a common application installer for all distribution. My work is to modify Debian Archive Kit (dak) to be able to handle software metadata. The software's metadata is going to be extracted from software packages (.desktop files and AppStream XML files). After the extraction the metadata is going to be stored in YAML format in the database. In the end libappstream package is going to be extended with a DEP-11 parser to parse the software metadata. If we have time libappstream will be implemented in GNOME-Software.
Synopsis: This project aims to implement AppStream on Debian and to extend Debian Archive Kit (dak) with the ability to handle software metadata. In the future it will be possible to create a unified software-center with some advanced features.
Benefits to Debian:
- Various metadata (ratings, reviews, screenshots) will be provided about applications to other applications and users (implementation of DEP-11)
- Describing components of a package (provided and suggested packages)
AppStream depending application (like GNOME-Software) to be run on Debian
- Creating a cross distribution software-center will be available
- Implementation of DEP-11 in Debian
- Ideally a working GNOME-Software on Debian
Project schedule: I can start working on this project as soon as I am allowed to start (even right after the application :). A possible roadmap:
- - 0 - Experimenting with the required tools and creating prototypes
- - 1 - Extracting package metadata from dak's database
- - 2 - Changing database schema
- - 3 - Transforming metadata into YAML format and store it in database
- - 4 - Extending dak with the DEP-11 generator
- - 5 - Extending libappstream package with a parser
- - 6 - Making GNOME-Software to be run on Debian
Exams and other commitments: I am doing my MSc degree, that's why I am going to have some exam (few hours per day).
Other summer plans: Maybe a couple of days camping with my girlfriend at a hungarian lake named Balaton.
Why Debian?: I always used Linux: when I was a beginner Linux user I used Ubuntu, later I moved to Debian. It was a good decision, because I think Debian is the perfect balance between useful and efficient distribution and a good source to learn about Linux systems.
Are you applying for other projects in SoC?: No.