Contact information

Open Source

  • Please describe any previous Open Source development experience:

I'm maintaining Xiphos and Sword in Debian/Ubuntu. Due to this effort I've also became upstream developer of Xiphos. I did a few fixes in Ubuntu & bzr plugins. I'm currently Ubuntu Contributing Developer see my contributor application. Most (if not all) of my development experience is on launchpad & PTS.

  • Why are you interested in Open Source?

Hmmm... Because I'm a geek? I've started using Open Source apps because they were free, ad/malware free, stable and usually had more features. After I've switched to Ubuntu and started contributing I've learned a lot from Open Source apps.


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

2.5 - 3 months. Can start part time before June. Full time from June.

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

~ 40 hours. Hoping to start coding early.

  • Where will you based during the summer?

UK (UTC+1) or Latvia (UTC+2)


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

2-3 weeks for exams & dissertation. 1 week in August + a few weekends for linejuding Volleyball (world tour & national league).

I'm hoping to start early to minimise impact. And merge milestones separately.

  • Have you ever participated in a previous GSoC?


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

No. But I might apply for a couple of Ubuntu projects.

  • Why did you apply for the Google Summer of Code ?

I see this as opportunity to experience what is it like to be Open Source full-time developer. In the future I would like my career to involve developing open source software.

  • Why did you choose Ubuntu as a mentoring organisation?

    • I am using ubuntu since 2007. I am ubuntu developer. I want to fix Bug #1. I love ubuntu.
    • I like the friendly developer & user community around ubuntu. During my previous work on ubuntu I've met and worked with awesome and cool developers =) some of which are mentors for GSoC.

    • Every ubuntu developer has cool Brainstorm ideas which would be really amazing to have for ubuntu development and/or ubuntu users. These cute ideas are often put aside to the when-I-have-spare-time box of each developer. With GSoC they can become reality.
  • Why do you want to participate and why should Ubuntu choose you?

I want to make a significant contribution to Ubuntu. GSoC will give me opportunity to do that. Ubuntu should choose me because I am passionate, have sufficient knowledge and ready to learn fast. I want to become Motu/CoreDev in the future.

USB-creator Improvements

Project Description

Let's make ubuntu easier to install without burning CD's.

Ultralight, Ultraportable CDROM-less notebooks are gaining popularity and we would want owners of those machines to still have an easy way to install Ubuntu using USB Stick.

Linux Command-line & mac frontends to usb-creator will open up live-USB creation to all major existing environments.

Merging Windows frontend with Wubi will allow wider distribution of the app. If Mac bundle is small enough we might as well fit that on the isos. To allow anyone install Ubuntu onto USB drive.

Running Software-centre at the stick preparation on Linux will allow endless customization of Ubuntu iso's and live-USB's. I would personally would love to have a live-USB with full TeXLive & emacs installed. It will create an easy way to customise Ubuntu for any purpose.

Why did you like this idea?

Part of it is scratching an itch =) I was once stuck with non-working Ubuntu on my Macbook and I couldn't manage to create bootable live-usb stick.

I own a Macbook and have experience with developing on Mac, porting/compiling open-source software stacks (Gnome) and I would love to make it easier for Mac users to switch to Ubuntu.

It will be fun to learn how to develop apps under Wine. I'm looking forward to that.

Usb-creator is often the first Ubuntu experience for new users. I'd love to make it more accessible.

Please describe a tentative project architecture or an approach to it

Mac backend/frontend

Will use PyCocoa/PyObjC bridge with minimal extra dependencies such that we can fit the app on the CD. GUI will mimic GTK frontend while following Apple Human Interface Guidelines.

CLI frontend

Targetting only udev backend for Linux. Pure command-line utility with options passed as flags. (Not ncurses interface)

Wubi integration

I haven't looked deeply into this, but both projects use Python and can be developed using Wine. The idea is to strip windows backend from usb-creator and included it in wubi; patch wubi interface to become usb-creator frontend.


Mount iso's squashfs using aufs, running software-centre and creating a new iso using the modified squashfs instread of original. Time permitting I'll try to make this work with KPackageKit / Synaptic as well; such that Kubuntu/Debian will benefit as well.

Give us details about the milestones for this project

The milestones are mostly heading from above:

  • Mac:
    • backend using DiskUtils & shipped utilities in OS X

    • Cocoa frontend
    • Packaging App bundle & Publication

  • Linux:
    • CLI fronend
    • Software-centre task test / prove of concept
    • GUI for running Software-centre
  • Win:
    • Analysis of Wubi and Win back/frontend codebase
    • Agreement on merge stategy
    • Splitting backend out of usb-creator & Integrating in Wubi

    • Either modifying Wubi to become usb-creator fronend (porting Win fronted to become part of Wubi)

Mac port, Linux CLI, Running software-centre and merging with wubi can be all merge separately. I will further discuss the exact order of completion and overlap of these with my mentor.

Why will your proposal benefit Ubuntu?

It will make Ubuntu installation accessible to even more people. It will make the process of creating custom CD's / Usb-sticks easier leading to fascinating, cool, new customized *buntus. With these features Ubuntu will become the linux choice for Netbook owners.

GSoC/2010/DmitrijsLedkovs/USB (last edited 2010-03-30 00:09:56 by adsl-83-100-228-246)