Greetings, Please find below the Summer of Code project proposal I've submit to Google:
Project proposal ---------------- The main goal of this project would be the creation of a tool giving to Freenet users the possibility to easily upload and download files on the network. 1) Tools already existing At the moment, there are 3 main tools allowing users to do a such task: - Fuqid : The major drawback of this tool is that he works only under Microsoft Windows. Some users use it under GNU/Linux thanks to Wine, but that's not a real solution. - Frost : Frost is a kind of Newsreader for Freenet, but, as Usenet newsreaders, he allows also to share files. The point is that it's not his main goal and some users on #freenet-fr reported me problems when trying to upload large files with him. - Fuqt : A Qt-based Fuqid clone. Latest version doesn't compile with gcc 4, and pre-built binary doesn't seem to work on all systems (by example amd64). 2) My proposition Instead of making just a Fuqid / Fuqt clone, we can imagine a more useful program: The idea would be to enable users to quickly and easily index their files. One possibility would be to create an kind of indexes specific to this new program. One other would be to use already existing indexes as, for example, Frost boards. 3) Technical aspect Fuqid and Fuqt have both an portability problem. To avoid this, the best solution would be to use Java and Swing. Communication between program and node would be made by FCP (maybe reusing of jSite classes ?). To access and manage indexes, as suggested by David Roden [1], an plugins system would be a solution (one plugin by kind of indexes). 4) Specific constraints This program will have to take care about the fact that a lot of people will run it on a different machine than the one being the node. It implies two things : Allow, by a configuration file, to use an different node than 127.0.0.1 but also to be careful about some network slowness that may happen (In my case, currently, the node is even on a different Internet connection than my personal computer). 5) Indexes mechanism specific to this program After discussion with Florent Daigni?re, it appears that the best solution to avoid excessively heavy indexes is to sort them by categories. We can sort them by an hierarchical way : Each index will index files but also child indexes. Brief biography --------------- I'm 20 years old french. I'm currently studying software engineering at the UTBM, Universit? de Technologique de Belfort-Montb?liard (French University). I've already obtained a two-years technical degree (DUT) in Telecommunications and Networking. During my DUT final training period which was at IrES (Subatomic Research Institute of Strasbourg, France), I had to work with various Java technologies, like Struts, OJB, Tomcat, etc. Thanks to some university projects, I have already a good knowledge of Swing graphical interfaces [2]. Until now, my only participations to the Open Source movement was to write some articles about GrSecurity patch and Prelude Intrusion Detector. It's why, with the Google Summer of Code, I've seen a good opportunity to integrate an Open Source project as Freenet. Until 1st July, I will have different exams and projects to return, so my availability may vary, but I will try to do my best to keep time for this project. After 1st July, I will be able to dedicate my whole time to this project. Best regards, -- Jerome Flesch. -- [1] http://archives.freenetproject.org/message/20060504.164033.3c90cb65.en.html [2] http://jflesch.kwain.net/articles/90.php : One of my Java university project : A train / bus / subway / tramway network simulator.
