Student Application: David Kalnischkies
Name: David Kalnischkies
Summary/Work Product: https://david.kalnischkies.de/blog/posts/2016/gsoc_2016_summary/
Project title and details APT↔dpkg communication rework (the proposal was written by me, so do a mental copy&paste if you like)
Benefits to Debian: Providing an archive of multiple thousand packages is only good for users if they can also install them. The dirty details of this job are delegated to be worked out by APT and dpkg, but this job gets ever more complex and has grown to a point that nobody in Debian can firmly claim to be capable of debugging or improving the responsible code in APT anymore. Regaining the upper hand in this fight is important to keep installing and upgrading thousands of packages a piece of cake (for users).
Project schedule: The project is ambitious even considering my 6-years head-start as you learn pretty early in your APT life that this code area is to be avoided at (nearly) all costs as its an endless time-sink – and the projects intend is to jump head first into it… reassuring, isn't it? The overarching battleplan is simple through: Bonding over completing a protocol proposal and implementing it so that around code-start we get a way to export the problem space, which by the time of midterm can be feed back into the new architecture driving good old ordering code, which would leave us with time to implement an alternative in this infrastructure until the end. Given that this project is intended to return us to a state in which it is reasonably possible to make and test changes in the installation logic the effective usability of an implemented alternative isn't as important as its mere existence through as currently there are only general what-ifs like selection usage which can't be just tried out to see what breaks [as the real test for any change in ordering you do in release is the upgrade to release+1, which not only means the change is now at least 2 years old, but that you can fix any fallout in release+2 effecting upgrade to release+3 only…]. So, what I am trying to say is a) stretch is unlikely to have a new default, but should be able to collect examples (aka tests) and b) that I will take an agile approach similar to 2010 in which lengthy weekly blogposts detail last week, look out for the next and tackle issues as they come up rather than trying to stick to a pre-defined micro-managed schedule – after all the project is rooted in issues with micro-management…
Exams and other commitments: Lectures run from 11.04.2016 to 15.07.2016, exams run after that until 30.09.2016 – so with a bit of luck the later are outside the GSoC timeline, but to say it in the words I used last time: "nothing I could not drop if my time is better invested in the gsoc project"
Other summer plans: No marriage, no vacation and since recently no job1, the later being a reason for applying for GSoC instead of a normal job. Full disclosure: Currently debating DebCamp/Conf16 with myself I am not going to ?DebConf16 unfortunately, but I was at 13 and 15 (the later with a talk) and will surely return in later editions as its a great experience (← hint to other students to go if they can manage)!
Why Debian?: It is too late for me to choose something else, isn't it? Seriously through, Debian has helped me even before I knew of its existence (funfact: The dialup modem I used for the first steps on the Internet had no [compatible] Windows drivers, but it was well supported by this other OS which was a gimmick on a magazine CD: Knoppix – of course a Debian derivative as I learned much later) so roughly seven years ago while encountering a minor annoyance in apt I thought I should at least try with my meager skills to contribute a tiny bit back… "the rest is history": I traveled places, meet countless great people and tackled personal, social and technical problems I would have never even imagined to ever have a stab at. So, why not?
Are you applying for other projects in SoC?: No.
Some additional answers to various questions raised by GSoC/StudentWikiPages which do not really fit in any from the template:
Locations: Somewhere in the middle of Germany: While my university is in Darmstadt, I am usually roughly 60km (by car; 90min by public transport) away in the small town Erbach im Rheingau (a Stadtteil of Eltville; not to be confused with the much bigger Erbach im Odenwald close to Darmstadt). The town is close to the capital city of Hesse, Wiesbaden, but for international readers perhaps better know: Its also not too far away from Frankfurt with its big airport.
Other students near me: The closest seems to be roughly 260km away: SummerOfCode2016/StudentApplications/NikVaes
Subscribed mailinglists: Too many (I tend to be subscribed to all lists I write to), but just because I am subscribed doesn't mean I read them all, so if you want me to read it make sure you CC me and if I haven't responded but should have poke me on IRC. Lists I do read in full include deity@ and debian-dpkg@ obviously through.
Local groups: There are probably various if you define local to include the big cities I mentioned above. I don't participate in any through – I prefer to keep my local activities to be mostly unrelated to computers and instead focus on community and youth work in walking distance.
Hardware: My main workhorse is a three year old 15,6" laptop with a broken 'e' key. I work from "everywhere" with my laptop as my companion, but mostly from home, sometimes in the train or at the campus. Older and partly broken laptops and other mostly armel hardware builds "my cloud". I don't trust other peoples machines much. The most troubling thing about my hardware is perhaps through that I have no smartphone: I own an Openmoko FreeRunner (gta2), but that isn't really in active use and even then I used it, it had no active GSM. So I tend to be blissfully ignorant of all mobile tends of the day. In general: If the hardware doesn't run Debian (or more specific: If I can't manage it with apt) I haven't much interest in it.
Editor of choice: vim-nox (with vim-youcompleteme) – like if that would be important to know… I generally prefer software I use to run in a terminal. Pretty much the only exception I run frequently which has a GUI is my browser of choice: Iceweasel Firefox.
If you have further questions just ask me.
reference to the template which mentions those three (1)