Student Application Template
Name: Abhishek Bhattacharjee
Contact/Email: email: abhishek.bhattacharjee11@gmail.com, irc: abhishek
Background: I am a Computer Science student.I live in Pune,India. I am pursuing my undergraduate degree in Information Technology from Pune Institute of Computer Technology. I have been coding for the past 4 years. I am well versed in C/C++ and Java which is a part of my degree curriculum. I have some experience in Python as well and some of my projects can be found at my GitHub account. I have a good understanding of databases as I have done projects related to databases as part of my curriculum. I have slight experience in NoSQL database as well(MongoDB).
I am right for this project because:
- I have a good programming background. I can code in C/C++ Java and Python.
- I have already setup DAK and have started experimenting with it.
- I have good idea of what the project seeks to do.
- I have a good understanding of Debian package management.
Have also done small work to show my interest in the project.
A little more about me here.
Project title: AppStream/DEP-11 for the Debian Archive
Project details: The project will make use of software like GNOME-Software(or other Software centers) possible for Debian users. The project aims to create a central repository of metadata for packages. It will help in cross-distribution collaboration. The Project will analyse different sources of metadata for a package(for eg .desktop, Appstream metadata etc) and combine it into a YAML file, the file thus generated will be stored in some other database and can be updated with newer versions. Later, on the client, this data can be accessed by tools like PackageKit (or Apt) and then can be used to rebuild a Xapian db, which in turn can be used by Software-center like applications(like GNOME-software etc). Project will mainly make use of Python and SQL(PostgresSQL).
Synopsis: Managing packages and components has always been tedious for a common user and somewhere discourages common users to use Linux distros. This project aims to implement Appstream for Debian, which will allow applications like GNOME-Software to be run on Debian.
Benefits to Debian: It will make managing packages more user friendly. Thus,will also help Debian to broaden it's user-base.
Deliverables:
- Allowing GNOME-Software like applications to be run on Debian.
- Making installation where the exact package name is unknown. For eg: install missing codec for X or install firmware for hardware Y.
- An important step towards cross-distribution collaboration.
Project schedule:
- Mar 10 - Mar 21 : Application Period.
- Mar 21 - April 21: Applications evaluation period.
- This time can be utilized to learn more about the project and clear any doubts regarding the projects. Communicating with the mentor and performing tasks that are assigned by the mentor. Playing around with DAK. Understanding how DAK works and getting familiar with the code-base. Learning about other tools that will be essential for the project most importantly Xapian and PostgreSQL. This is the period to prepare myself for the project and making sure there will as less hindrance as possible during the implementation phase.
- April 21 - May 19: Community bonding.
- April 21 - May 12: Continue communications with the mentor.
- Learning more about Debian community. Understanding how code and patches are submitted. Reading documentations.
- May 12 - May 19: Off for exams.
- April 21 - May 12: Continue communications with the mentor.
- May 19 - August 18:
- May 19 - May 26 : Off for exams.
- May 27 - Jun 2 : Identifying different sources of metadata.
- Jun 3 - Jun 9 : Implementing the extraction of data from the identified sources.
- Jun 10 - Jun 16 : Creating the yaml file and storing it in the database.
- Jun 17 - Jun 22 : Bug checks and fixes.
- Jun 23 - Jun 27 : Submitting the work for evaluation. Start preparing for the second phase of the project.
- Jun 28 - Jun 30 : Off for 3 days.
- Jul 1 - Jul 9 : Implementing the DAK command to assemble the Components.yml from the stored data.
- Jul 10 - Jul 16 : Understanding libappstream.
Jul 17 - Jul 26 : Implementing an interface in libappstream to communicate with a Xapian db. To be used by PackageKit(or Apt).
- Jul 27 - Aug 5 : Implementing an interface in libappstream to communicate with a Xapian db. To be used by the software-center applications
- Aug 6 - Aug 12 : Bug checks and fixes. Polishing the code.
- Aug 13 - Aug 17 : Documentation of the work. This involves proof reading and correction of the documentation.
- Aug 18 : Submitting the final work.
Exams and other commitments: Exams for 2 weeks( May 12 to May 26) which will consume the first week of coding period but I'll make up for it later. No other commitments.
Other summer plans: No summer plans.
Why Debian?: From technical point of view Debian is offering me a project which I can contribute the most to. It fits my skill-set. Moreover, I have been using Debian for a long time now,roughly 4 years, and I have done all my projects and other academic works on Debian. I will be proud to give something back to the community. It would be bring me a huge sense of satisfaction if I am able to contribute to Debian.
- Are you applying for other projects in SoC? No. Concentrating on only one.