Student Application Template
Name: Paul Dumitriu
Contact/Email: email: paulmihaita.dumitriu@gmail.com ; irc: paulmd ; skype: paulm.dumitriu
Background: I am a computer science student at Politehnica University of Bucharest. I started studying programming with the C language in the first year of highschool. I started learning Python a year ago by myself, and recently, I have been accepted at a programming course with development sessions that include work at open source projects. My first first linux distro was Ubuntu (4 years ago), but after one year I switched to Debian. I also have a few hobbies, like playing the guitar and playing basketball, which keep my mind clear and increase my work / study potential.
I believe I am suitable for this project because:
- I have more than 4 years of studying programming
I spent a lot of time gathering information about the project and what it includes from the mentor, my college programming teachers and from another student which worked at this project.
I already set up the Debian Archive Kit in a LXC container, read the AppInstall data code, read the DEP-11 proposal and familiarized with AppStream.
- I know how to work in a team and I am aware about how important is the community and its oppinion.
- I believe in free and open source software. Since we are not being charged for using famous theorems and algorithms, we should also not be charged for using software.
I am very willing to work, learn new things and contribute to the open source world
Project title: AppStream/DEP-11 for the Debian Archive
Project details: The goal of the project is to implement AppStream in the Debian Archive. AppStream is much more specifications than code; it is a cross distribution effort for having a centralized and unified software metadata database. It provides a Xapian database, storing information about all available application in the distribution's repos. First, it makes sense to focus on the AppStream data. Adding AppStream data involves getting a list of packages containing .desktop and / or .appdata.xml files from projectb (dak's database), open them, read their contents, extract the icon, read in the ?AppData and .desktop file and then generate a components.yml file out of it (the YAML data needs to be stored in the database, so it will be updated on demand, and we don't have to open the packages every time we regenerate it). The last step is to implement a parser for DEP-11 in libappstream on the client.
Synopsis: The project aims to implement AppStream to Debian, making it possible to have user friendly application-centers for Linux distributions.
Benefits to Debian: The project will make a lot of things possible in the future, but in the first place, we'll have software-centers running on Debian. Also, this will make Debian more user friendly and will help to increase the number of Debian users.
What i want to learn: I want to increase my programming skills, my experience in programming, my teamwork skills and my thinking. I want to learn how to write better code and even how to be a great mentor for future generations.
Deliverables:
- User friendly software centers with ratings, screenshot services and various other things running on Debian (not only GNOME-Software, even KDE stuff)
- Unified software metadata database
Project schedule:
- May 19 - Jun 7 - 2 weeks: Write SQL code to extract the needed packages (packages with .desktop file in them or meta-info) from dak's projectdb database
- Jun 9 - Jun 21 - 2 weeks: Processing the packages and extracting metadata (icons, .desktop file data, etc), storing it in yaml files and storing it in the database.
- Jun 23 - Jul 5 - 2 weeks : Recovering lost work, bug fixes, code review.
- Jul 7 - Jul 26 - 3 weeks : Add new dak command to generate a full components.yml file and add code to update / mantain the data in the archive
- Jul 28 - Aug 11 - 2 weeks : Implement parser for the components.yml in libappstream
- Aug 11 - end of summer : Help mentor with making GNOME-Software use the parser and any related open source projects
- Work may go a bit slower than expected in the first 3 weeks because of exams.
- I will work about 8 hours a day, 6 days a week.
- Sundays are for rest, but I can recover lost time from unexpected events (if any)
Exams and other commitments: I have exams in the May 24 - June 13 period, but they will not interfere too much with my work.
Other summer plans: Maximum 4 days of family roadtrip, but it can be postponed after August 18.
Why Debian?: I see Debian as one of the most important pioneers of free and open source software. I would be grateful to be a part of Debian's developers community with which i share the same beliefs.
Are you applying for other projects in SoC?: No.