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.



Reply via email to