Re: Re: Implementing a Gnutella-structured network only with basic HTTP
Arne Babenhauserheide <[email protected]> Fri, 26 Feb 2010 18:29:09 +0100
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Message-ID | <[email protected]> |
Am Freitag, 26. Februar 2010 09:57:23 schrieb [email protected]: > People have to learn to dive into an unknown codebase. It will not always > be possible to start a project from scratch. That's clear. But there are ways to make it easy to start contributing, for example easy to use module interfaces and support for scripting languages. For example I added preliminary runtime python scripting support to Phex (you can access eeverything via Python at runtime), but got stuck when I couldn't figure out how to define tasks in the API (there are no easy to use convenience functions except “quit”). Another example is the extension support in Mercurial, which allows newcomer to change Mercurials behavior via clearly defined interfaces and without having to dive into the codebase - and many developers started with extensions and slowly went deeper: - http://mercurial.selenic.com/wiki/UsingExtensions > By your line of reasonning, no new developer would ever be attracted to do > operating system work because, well, writing a kernel from scratch is a > huge undertaking (remember, linux started out very small and grew over > time). Sure, but 70% of the kernel hackers are paid for their work, and the kernel is already the base of their whole system. Still you can see how much was hindered by making it so hard to get in, when you look at the many great ideas which suddenly became a reality with FUSE. -snip- > Perhaps we don't have these things because they don't make sense, or > because the people "in charge" don't have time to be distracted by corner > features, or because it's better to let some things separated, or because > nobody took care of actually implementing this stuff. Or because people who tried it gave up when there wasn't an easy way to reuse the work already done in Gnutella and turned to custom made networks instead, which initially were simpler. > You're not talking about Gnutella here really but about applications that > could be built on top of Gnutella (or any other P2P network with the > ability to conduct a search by name and/or a structured search by key). Jepp. And I ask myself: “Gnutella has a tag-search performance far above anything else I know. Why don't people use it?” > What you need to do is think about which interface you would like Gnutella > servents to offer (from a command-line perspective, say) to be able to > serve as an enabler for the higher level features you're talking about. > Then if it is general enough to be implemented, it will eventually. I tried something similar in the past, but for “what does a GUI need for general searches”: http://www.phex.org/wiki/index.php/Concepts#What_does_a_GUI_need_from_a_backend.3F Maybe it can serve as a starting point… Best wishes, Arne --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- - Ein Würfel System - einfach saubere Regeln - http://1w6.org [Non-text portions of this message have been removed]