Improving Python support (fixing testsuite failures) ========================== ## Contact information - Name: Arne Babenhauserheide - E-Mail Address: arne_bab@web.de - IRC-nick: ArneBab @ freenode - Jabber-ID: arne@jabber.fsfe.org - Phone-number: XXXXXXXXX - GnuPG key: http://draketo.de/inhalt/ich/pubkey.txt ## Who I am I am a physics student from Heidelberg, Germany, a passionate free software user and roleplayer, and I started contributing to the Hurd in minor ways about 5 years ago. Now my coding skills are good enough (and I have enough time) that I feel ready to tackle a GSoC project - and I want to take the chance GSoC offers and do a focussed effort for contributing to free software before I am no longer a student. I married 4 years ago and now have a 5½ month old son whoose happy laughing can make you forget everything around you - or at least it does that to me, but what else could you expect to hear from his father about him ;) ## Project For this years GSoC I want to fix all testsuite errors python on the Hurd, which on the one hand ensures, that we have no unexpected errors in Python applications and on the other hand is a dependency for a full featured PyHurd. ## Preliminary Schedule *from simple fixes to complex ones.* … TODO as soon as the testsuite finished and the results are stored → grep + decide. ## Initial Fix … TODO ## Detailed answers ### What I have to learn, and what I already know I need to incrementally learn details of the implementation of Python and the Hurd while I move from one testsuite breakage to the next. I know Python quite well and I know the rough workings of the Hurd and can code in C and C++. ### Why did you choose this project idea? What do you consider most appealing about it? I want the PyHurd project to succeed, and I love Python and the concepts behind the Hurd. So I want full Python support on the Hurd. Every testsuite breakage is a possible stumbling point for Python programs, which is very hard to debug for a Python programmer, as it lies within the platform (Python on Hurd) and not in his/her own code. ### Have you been involved in any free software ("Open Source") projects yet? Which projects, how long, and in what way have you been involved? Have you been active in the Hurd project/Hurd community before? I worked on documentation and news for the Hurd, wrote two plugins and the usage guide for Mercurial and created a bunch of personal Python projects. Also I generally try to nudge other Hurd developers into the direction of actually getting the system useful for people (and communicating its strengths) - and do the same for the freenet project. In my opinion, my major contribution to the Hurd is the Month of the Hurd, a try at fixing the Hurds reputation for never being finished. To achieve that goal, the Month of the Hurd only lists actually testable successes for which I can easily describe how they get the Hurd closer to its vision, ideally those which are already committed. ### Please briefly describe the Hurd, including the goals, architecture etc. Also, what makes you interested in the Hurd? Why do you want to work on it? What is your vision of it's future development? The Hurd offers much greater freedom for users compared to Linux, because every user can change his/her environment to a much greater extent. Also it allows for easier low-level tinkering, making it possible for hobby-hackers to work on stuff which in linux requires dabbling with kernel-sources. Also it makes it much easier to test these low-level work, so a community can spawn which informally shares low-level hacks, giving a much bigger momentum for low-level work. And it allows for containment of potentially dangerous applications using subhurds. As a very simple example, I can open a webbrowser without giving it access to the internet and just add that capability later, when I really want to go online (as opposed to just showing local files). But mainly: settrans -a ftp\: /hurd/hostmux /hurd/ftpfs / dpkg -i ftp://ftp.gnu.org/…/*.deb And that’s only the beginning. ### Are you subscribed to the bug-hurd@gnu.org mailing list? (See http://lists.gnu.org/mailman/listinfo/bug-hurd ) Yes :) ### Do you have a permanent internet connection, especially during the time of the summer session? Are you able and willing to hang out on the Hurd IRC channel regularly? (As in: Running the IRC client more or less permanently and checking for activity now and then.) If it turns out that your mentor lives in a different time zone, could you shift your day/night rhythm to better match that of your mentor and other Hurd developers? Yes, a permanent internet connection as well as a permanently running computer. Since I’m used to also work later in the evening (on hobby projects), the time zone should not be a major issue. ### When does your university term end, when are your exams, and when does the next term begin? I have a clean timetable for the summer: No exams anymore. ### How much time do you intend to spend on your GSoC project per day/week during the summer months? I plan to spend at least 40 hours per week on the PyHurd. ### What other major activities will you engage in during the summer? (Moving apartments, longer vacations, other obligations, etc.) If any, how do you intend to make sure you will be able to dedicate sufficient time to your project nevertheless? Finding a job for after the GSoC. This should not take too much time, all in all, but rather mean short out-times now and then. ### How do you intend to make sure that your code will keep on being maintained and supported properly after the end of the GSoC program? I plan to get the Python and the Hurd fixes upstream, in the case of Python by pushing all code to a clone of the official Python repository¹ and trying to get the Python community to accept the changes, and in the case of fixes in the Hurd by getting it integrated in the main repositories as soon as possible. ¹: http://bitbucket.org/ArneBab/cpython ### Anything else you want to add to your application? Alterrnately I would also like to work on [[Python bindings for the Hurd|community/gsoc/project_ideas/language_bindings]]. Both tasks together (PyHurd and Testsuite) work towards having Python as first-class citizen on the Hurd, adding all of the Python standard library to the options for using the Hurd.