FrancescoMarella

Francesco Marella

Contact information

Project

  • Project Name:

Upstart compatible services-admin

  • Project Description:

Create a services admin for human beings, functional, usable and sleek.

  • If you would be willing and able to do other projects instead, which ones?
  • Why did you like this idea?

I like this idea because it allows me to practice my knowledge in the field of FLOSS development and contribute to the Ubuntu's development.

  • Please describe a tentative project architecture or an approach to it:
    • Backend:
      • Abstract the services, wrap them in objects with attributes and actions. argument them.
    • Management:
      • Show the services in a list (and their respective statuses).
        • Different services for different user types:
          • normal user should not see eg. dbus (reason: stopping it can lead to a crash/unstable system)
        • Different options for different user types:
          • normal user should not see (at first) all the available options, but relevant. (reason: lower the complexity).
      • Start,Stop, Reload, Disable a service.
      • Install/uninstall services.
    • Configuration:
      • Use Augeas:
        • "Augeas is a configuration editing tool. It parses configuration files in their native formats and transforms them into a tree. Configuration changes are made by manipulating this tree and saving it back into native config files."
    • Log modifications to services config files:
      • replicate settings on other machines.
    • Provide a GUI to be written in pyGTK.
    • Provide a textual interface based on curses (optional: not requested but useful in ubuntu server, may take some time to study curses usage)
    • Gui interface: Argument options with tips from the community.
    • Use Python (or Vala), GTK+ toolkit.

    • PolicyKit integration for controlling system-wide privileges.

  • Give us details about the milestones for this project
    • milestone 1:
      1. Extend the UbuntuCentralizedServiceAdministrator specification

      2. Produce short analysis' documentation: identify the stakeholders, context, capability and constraints.
      3. Produce short project's documentation: identify the architecture and the classes, produce diagrams and specifications of the classes.
    • milestone 2: Provide a functional backend/core and tests.
    • milestone 3: Produce a GUI interface and tests.
  • Why will your proposal benefit Ubuntu?

Ubuntu distribution main goal is to make GNU/Linux human friendly. This project will provide an easy way to accomplish a difficult and boring activity: services administration.

Open Source

  • Please describe any previous Open Source development experience
  • Why are you interested in Open Source?

Closed source things make me unhappy and nervous Smile :)

Availability

  • How long will the project take? When can you begin?

Immediately.

  • How much time do you expect to dedicate to this project? (weekly)

~40h per week

  • Where will you based during the summer?

Italy (GMT + 1:00)

  • Do you have any commitments for the summer? (holidays/work/summer courses)

I have to do 2-3 exams in June-July.

  • Please designate a back up student (in case you need to withdraw your application)

Other

  • Have you ever participated in a previous GSoC? (describe your project)

No, I don't.

  • Have you applied for any other 2010 Summer of Code projects? If yes, which ones?

Not yet.

  • Why did you apply for the Google Summer of Code ?
  • Why did you choose Ubuntu as a mentoring organisation?
  • Why do you want to participate and why should Ubuntu choose you?

[1] a working preview

GSoC/2010/FrancescoMarella (last edited 2010-04-09 12:01:58 by 151)