Differences between revisions 5 and 8 (spanning 3 versions)
Revision 5 as of 2012-04-01 09:29:35
Size: 4907
Revision 8 as of 2012-04-01 09:38:48
Size: 5111
Deletions are marked like this. Additions are marked like this.
Line 29: Line 29:
  * (Possible plugin for AppStream)   * (Possible plugin for [[AppStreamDebianProposal | AppStream]])
Line 47: Line 47:
    * the AppStream specs and metadata     * the [[AppStreamDebianProposal | AppStream]] specs and metadata
Line 80: Line 80:

  [1] [[http://cdl.rosedu.org/2012/english | Open Source Development Course]]
  [2] [[http://rosedu.org/ | Romanian Open Source Education]]

Student Application Template

  • Name: Bogdan Purcăreață

  • Contact/Email:

    • IRC: dodgerblue on OFTC, Freenode

    • bogdan.purcareata AT gmail DOT com
  • Background:

    • senior undergraduate student at Computer Science and Automatic Control Faculty, Politehnica University of Bucharest
    • knowledge in C (8 years), as well as C++, Java and Python

    • knowledge in Algorithm Design, Data Structures and Project Development Workflow

    • knowledge in Compilers, Operating Systems, Networking, Distributed Systems

    • highly dependable and efficiency oriented professional
    • ambitious, focused and enduring individual
    • familiar with the concepts of Open Source Development - I've pursued an Open Source Development Course[1], organized by ROSEdu[2]
    • refactoring, optimizing and unifying the metadata acquire system for APT would significantly improve the whole Debian user experience, as well as improve the Package Management System's consistency. To me, this is both a thrilling challenge and a great opportunity to analyze the Debian OS internals and core features.
  • Project title: Pluggable Acquire-System for APT

  • Project details: TODO

  • Synopsis: TODO

  • Benefits to Debian: TODO

  • Deliverables:

    • A consistent configuration file / set of files for all Debian package metadata tools
    • An insightful configuration interface
    • An efficient and secure acquire logic
    • A parser for the sources.list file, to build the main config file (and others)
    • A generic, extensible model for a plugin - what it handles, how does it handle it, when does the information change
    • Plugins for present tools - apt-get, apt-file, debtags, ...
    • (Possible plugin for AppStream)

    • All of the above would result in a powerful apt-get update tool capable of handling all OS package management metadata in a structured and coherent way

  • Project schedule:

    • April 23 - May 21:

      • Administrative Tasks

        • get in touch with the mentor
        • install a local build environment
        • get familiar with the Debian community and development model
      • General Research

        • Debian source code structure
        • C++ is a very powerful language - how much of its cutting-edge features are used by DD, do I need to improve language knowledge cu cope with understanding the code?
        • Security issues - authentication, authorization, types of attacks, data integrity
        • Efficiency issues - responsiveness, bandwidth usage, caching
      • Research State of the Art

        • the present package metadata acquire logic
        • the format of the configuration files
        • the relanshionships between different pieces of metadata
        • the Debian Archive format
        • the AppStream specs and metadata

      • Design Tasks

        • configuration model
        • acquire-logic
        • plugins model
        • parser model
    • May 21 - July 13

      • implement the configuration model and acquire logic - first draft
      • implement the metadata acquire backend - first draft
      • integrate apt-get update with the new metadata acquire backend - assert functionality
      • implement the first supported plugin
      • integrate apt-get update with the backend using this plugin - assert functionality
      • implement sources.list parser - first draft
      • generate configuration file using the parser - assert functionality
      • at this point there should be a complet proof of concept upon the functionality of the new model

    • July 13 - August 13

      • configuration interface for the user
      • support for other plugins
      • sources.list parser - final implementation
      • configuration and acquire logic - final implementation
      • metadata acquire backend - final implementation
    • August 13 - hard deadline

      • final touches
  • Exams and other commitments:

    • During this period I'm developing my Bachelor Thesis project, which is expected to be done until de 30th of May. After this date, my main interest will switch to GSoC.
  • Other summer plans:

    • this is not certain, but I'm planning to leave the country for a few days on a trip this summer - a week at most. During this time, I won't be able to code at GSoc.
  • Why Debian?:

    • my first real contact with Linux - I had a first try with Slackware, but I failed miserably.

    • Open Source - powerful in learning new technologies and meeting new professionals.
    • used worldwide - currently one of the most popular Linux distros (along with Ubuntu, which is basically Debian as well).
    • C/C++ - my first programming playground, and the one I'm most familiar with.
  • Are you applying for other projects in SoC? No.