Intervista agli sviluppatori di kMule

Aperto da THOR, 21 Luglio 2013, 10:48:42 AM

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

THOR





Versione italiana

E' per noi un vero piacere presentarvi l'intervista che tHeWiZaRdOfDoS e Tuxman, gli sviluppatori del nuovo client chiamato kMule, hanno gentilmente rilasciato ad Emule-Mods.it
Li ringraziamo per il loro instancabile e preziosissimo lavoro e per la disponibilità e l'amicizia che ci hanno sempre riservato.
Se volete conoscere qualcosa in più riguardo i due sviluppatori, potete leggere le precedenti interviste: tHeWiZaRdOfDoS - Tuxman


1) Per chi ancora non vi conosce, potreste presentarvi ed illustrare brevemente le vostre creazioni nell'emule-project?

Tuxman:
Ciao, sono Tuxman (o, più brevemente, conosciuto come "tux", "tux-" e "tux."). Ho iniziato come semplice utente di eMule ai vecchi e bei tempi di eMule LSD e fu poco dopo che fui coinvolto nello sviluppo, quando un altro utente suggerì che avremmo dovuto provare a creare noi stessi una mod basata sulla Pawcio. Fu più di un semplice esperimento in quanto entrambi non avevamo molta esperienza con il C++. Il progetto, tuttavia, non superò mai le prime fasi. L'unica pubblicazione avvenne quando eMule 0.44d era ancora "aggiornato". La mod può ancora essere trovata su internet, ma non non ne sono più molto fiero.

Nei primi mesi del 2005, in seguito a motivi personali, ho nuovamente messo le mani nello sviluppo con eMule beba. Anche se ho perso i contatti abbastanza presto con la persona che c'è dietro il nome della mod, continuo ancora a lavorare su di essa. La prima versione della beba "funzionante" senza che andasse immediatamente in crash fu la 0.2a. Quando la (allora famosa) mod VipeR (dalla quale fu presa l'icona del coniglio usata nella beba) stava per morire, le persone impararono ad amare abbastanza rapidamente eMule beba per la sua leggerezza che è stata abbastanza migliorata in ogni singolo aggiornamento.
Ora eMule beba è una delle più attive e diffuse mod non-releaser. Sono abbastanza orgoglioso di questo.

Una seconda mod che ho sviluppato (in seguito ad una richiesta fatta da un utente del sito eMuleFuture.de) fu AnalyZZUL che era, praticamente, ZZUL + il Client Analyzer. Tuttavia, dato che la ZZUL sembra essere morta, ho sepolto per bene la AnalyZZUL.

Wizard:
Ciao, i miei nick sono WiZaRd o tHe WiZaRd of DoS. Ho iniziato sia come utente di eMule che, per un po' di tempo, delle leecher mod, nella sperimentazione delle loro funzioni, etc.Un bel giorno diedi uno sguardo dentro il codice sorgente e pensai di poter iniziare anche io a codificare - dev'essere stato intorno al 2000 - e con l'aiuto di alcuni tutorial delle leecher mod imparai a sufficienza riguardo la base di eMule tanto da creare una prima (leecher) mod, ovvero, contenente caratteristiche "proibite" come il kick/ban ma nessuna modifica al ratio.
Questa misteriosa "DaRkMaGiC" fu estremamente popolare e può ancora essere trovata su internet, ma non ne sono più molto fiero.

Ho continuato per molto tempo a lavorare ad una versione 2 ed ho anche provato ad aiutare, nei problemi di codifica, altre persone che volevano imparare a diventare modder, in particolare scrivendo tutorials. Stavo anche scrivendo diverse "releaser mods" per alcuni gruppi molto popolari.
Dopo qualche tempo, tuttavia, tutta questa codifica "copia&incolla" presente nel panorama leecher mi ha infastidito. Immaginate che c'erano (ed ancora ci sono) molte persone che non sapevano molto di codifica e linguaggio C++ e creavano le mods solamente copiando materiale da una mod all'altra... ed alcuni di questi sono anche estremamente famosi!?
Bene, ho lasciato "la scena" ma, per un po' di tempo, mi sono unito al team di sviluppo della mod iONiX. Inizialmente, le persone erano scettiche (ed alcune ancora lo sono) riguardo le mie intenzioni, ma alcune persone mi diedero una seconda possibilità.
Ho creato diverse funzioni uniche ed anche corretto alcuni bug presenti nel codice sorgente ufficiale, ed infine ho sviluppato la funzione Client Analyzer ed i relativi clients (Tombstone/Tombstone Extended). Il CA fu sviluppato per aiutare a distinguere i "veri" client cattivi da quelli "un po'" cattivi: i primi che cambiano ratio/rimuovono immediatamente dalla condivisione/condividono solo con la stessa comunità e quest'ultimi, come ad esempio i gruppi di releaser che fanno affidamento su funzioni "proibite".
Il CA ha causato un sacco di polemiche ma io penso che abbia trovato i suoi fan e la sua base di utenza, che è anche la ragione per la quale non ho bisogno di creare altre versioni della Tombstone.


2) Cosa vi ha spinto a creare il nuovo client kMule nonostante l'esistenza di eMule e di tante altre Mod?

Tuxman:
kMule ha un approccio completamente diverso da eMule. La nostra visione è quella di avere un semplice client che utilizza la sola rete Kad senza interfaccia grafica "gonfiata", così da non richiedere troppa configurazione manuale ed essere "pronto all'uso".
Il passaggio da server a "solo Kad" è una conseguenza: i server sono abbastanza obsoleti, e non vi è alcun valido motivo per usarli ancora.

Wizard:
Oh, stavo progettando di creare un client semplice ed "user-friendly" da parecchio tempo, ma solo a metà del 2012 ho trovato il tempo per iniziarne lo sviluppo. Ho chiesto a Tux di aiutarmi in quanto IMHO lavorare ad un progetto con diverse persone è più divertente. Ho anche chiesto ad alcuni altri modders (del passato) che però in quel momento non avevano tempo, anche se continuo a sperare che alla fine possano trovarlo!
Durante la fase di pianificazione abbiamo iniziato col nome "ed2kloader" ma per rendere unico il nostro client e per rendere onore a Kademlia quale network di gran lunga superiore, abbiamo eliminato il supporto ai server, rendendola una delle nostre caratteristiche principali, e ci siamo concentrati sulla creazione del primo client che utilizza esclusivamente la rete Kad.
Inoltre, abbiamo eliminato molte funzioni ed impostazioni inutili, migliorato le impostazioni di default, etc. in modo tale che l'utente di base possa usare il nostro client senza il bisogno di passare ore nella configurazione.
kMule è inteso come una fork, non una mod. Può sembrare che al momento non ci siano molte differenze con eMule, ma ciò è voluto principalmente per rendere il passaggio a kMule più semplice.


3) Potete illustrare le caratteristiche principali del client kMule?

Tuxman:
Certo:

http://sourceforge.net/p/kmuleproject/code/72/tree/trunk/Mod/main%20features.txt
:wink:

Wizard:
Ovviamente si, anche se ne ho già nominata qualcuna, comunque... kMule
* ... può essere un alternativa ad aMule perchè abbiamo implementato un miglior supporto a WINE
* ... è il primo client solo KAD: noi non dipendiamo più da un insicuro e deprecato sistema di server
* ... è compilato utilizzando librerie aggiornate per assicurare ai nostri utenti di non soffrire più a causa di vecchi problemi di sicurezza
* ... ha un sistema di aggiornamento (semi)automatico che può controllare gli aggiornamenti e anche scaricarli - nel caso in cui viene rilevato un bug veramente grave, si può anche forzare un aggiornamento per ridurre al minimo l'uso delle versioni obsolete
* ... funzioni per l'aggiornamento automatico di tutti gli addons importanti (ipfilter, mediainfo, modicons)
* ... integra una protezione dinamica contro i leecher utilizzando la tecnologia CA (client analyzer)
* ... integra un sistema per rilevare i fakes nelle ricerche utilizzando una versione migliorata del "FakeAlyzer" di Netfinity
* ... integra un sistema per rilevare i fakes nei download utilizzando una versione del "BlueSonicBoys Filename Disparity Check"
* ... ha un interfaccia pulita e semplificata
* ... ha una gestione migliorata dei link ed2k e delle collezioni con supporto alle cartelle (questa è d'avvero un ottima funzione!)
* ... dispone di settaggi utili al fine di abilitare i permessi di condivisione per ogni directory
* ... ha il supporto per l'estrazione automatica attraverso il 7z.dll
* ... ha il supporto a SNARL - visualizza messaggi importanti ovunque, in ogni momento
* ... include ICS, SOTN, Powershare e Anti-HideOS per scopi di "releasing" e una migliore diffusione dei file
* ... dispone di perfezionamenti utili al fine di trovare più fonti

In generale, kMule è da intendersi come un eMule facile da usare.


4) Come è stato accolto kMule dall'intera comunità di emule-project?

Tuxman:
La comunità di eMule è rimasta piuttosto colpita dal fatto che kMule offra un diverso, promettente approccio e un passo verso il futuro di eMule.

Wizard:
La comunità è stata, o meglio è un po' divisa in due. Da un lato, agli utenti piace l'approccio "solo KAD", dall'altro alcuni degli utenti avanzati rivogliono le loro funzioni (per esempio la finestra di log separata). Secondo me la reazione generale è stata positiva e "Some Support" ci ha permesso di postare il nostro client su eMule-Project.net anche se è inteso come un fork e quindi una sorta di "rivale" di eMule.


5) Quali miglioramenti state preparando per il futuro di kMule e dove volete arrivare?

Tuxman:
Non rovinarti la sorpresa, amico.

Wizard:
C'è sempre spazio per i miglioramenti. Certamente, prima di tutto, vogliamo sbarazzarci di tutti i bug e i difetti.
L'interfaccia utente riceverà alcune modifiche ed ulteriori semplificazioni. Continuo anche a pensare che l'aggiunta di un qualche tipo di NAT-T sarebbe una buona cosa, ma attualmente non ho il tempo per approfondirne lo studio e non voglio utilizzare parti di codice sorgente preso da altri sviluppatori senza prima averlo verificato, quindi dovrà aspettare ancora a meno che Tux non sia disposto a farlo.
Mi piacerebbe anche migliorare la velocità del network e la disponibilità dei file, specialmente di quelli rari. Al momento il problema è che la maggior parte degli utenti utilizzano il client ufficiale o una mod basata su di esso, con tutte le limitazioni esistenti, come ad esempio, la selezione del chunk, la velocità di upload di default (3kB/s per client - questa al giorno d'oggi è in una "fase di stallo", anche se in futuro dovrebbe essere modificata), ed altri. Ad ogni modo, anche se aggiungessimo alcune modifiche, queste non avranno un notevole effetto, a meno che la maggior parte dei client che compongono la rete eD2K le implementino loro stessi. Questo potrebbe portare, ad un certo punto, ad un kMule Kad separato, ma vedremo ....


6) Molte persone sono rimaste deluse dal fatto che eMule (ufficiale) sia ormai un progetto fermo. Fra qualche mese/anno kMule farà la stessa fine?

Tuxman:
Innanzitutto la tua domanda è sbagliata. C'è una grande differenza tra morte e maturità. eMule è maturo, non morto. Il fatto che non ci siano ulteriori sviluppi significa solamente che non c'è rimasto molto da aggiungere.
Sicuramente speriamo che kMule sia vicino alla maturità; ma anche se un giorno finiremo di lavorare su di esso, ciò non significa che kMule smetterà di funzionare.
:wink:  In ogni caso, i nuovi sviluppi saranno seguiti attivamente.

Wizard:
In realtà, al giorno d'oggi "l'ossessione" per  gli aggiornamenti è stata un'altra ragione della nascita di kMule. Oggi, gli utenti, credono che un progetto sia "morto" se non riceve un aggiornamento almeno 4 volte all'anno. Loro semplicemente non capiscono che un software può raggiungere uno stadio di maturità per il quale semplicemente non c'è molto da cambiare/correggere. Anche kMule raggiungerà (si spera) questo stadio, ma noi abbiamo abbastanza idee (e non abbastanza tempo) per raggiungerlo in qualche mese.


7) kMule potrebbe mai diventare un progetto staccato ed indipendente da eMule come successo per eMule Plus?

Tuxman:
Teoricamente, si. eMule Plus, comunque, non è un buon esempio. Stiamo ancora aspettando il supporto alla rete KAD....  :wink:

Wizard:
In realtà, kMule è già inteso come un progetto separato, quindi: Si. Naturalmente terremo un occhio aperto e potremmo integrare cambiamenti dalle nuove versioni di eMule - Noi sicuramente non vogliamo ricadere negli errori come eMule Plus ha fatto (molto tempo prima di supportare l'unicode, ancora niente KAD, etc.)


8) Secondo voi kMule ha raggiunto una maturità tale da diventare il modello sul quale dovrebbero basarsi gli altri sviluppatori per creare i propri progetti?

Tuxman:
Il codice di kMule può essere sicuramente usato come base per gli sviluppatori che ne sono interessati. Questo vale per tutte le mod che conosco. Non sono sicuro se la crescita sia una questione importante per questa decisione.

Wizard:
Come per tutte le versioni e mods: si, anche se non capisco esattamente cosa intendete con "crescita". Penso che kMule sarebbe una base interessante per le sue caratteristiche, la frequenza di aggiornamenti e il gruppo degli sviluppatori attivo.


9) Cosa ne pensate di Neoloader? Prenderete spunto da questo client per aggiungere qualche innovativa funzione a kMule?

Tuxman:
NeoLoader potrebbe sembrare un progetto interessante ma io preferisco considerarlo sospetto.
Il principale sviluppatore, David Xanatos, è ben noto per il suo atteggiamento ostile e provocatorio nei confronti di eMule, nonostante sia stato uno sviluppatore attivo nella comunità per anni. La maggior parte del codice sorgente è chiuso per nessuna ragione conosciuta. Mi chiedo ancora il perché.

Tecnicamente NeoLoader (per quanto riguarda le parti di codice che conosco) può essere descritto come un "jDownloader con il supporto al p2p", tutto l'opposto di kMule in quanto sembra che abbia come obbiettivo quello di scaricare, non di condividere. Non credo che questa sia una buona direzione.

La parte che mi piace (come in JDownloader) è il sistema di plug-in. Avere il "cuore" delle funzioni aggiornate automaticamente senza aver bisogno di installare completamente una nuova versione, è un idea interessante che fu suggerita anche per emule qualche anno fa. Vediamo se e quando qualcuno deciderà di implementarla.

Wizard:
Ci sono alcune parti abbastanza interessanti... ad esempio il sistema di plug-in e (teoricamente) una piattaforma indipendente ma a parte questo non vedo nulla di "innovativo" nel NeoLoader se non qualche modifica nella rete KAD.
Non voglio paragonare NeoLoader a kMule o *Mule in generale. ED2K riguarda la condivisione (tutelare il network ed i file) mentre il NeoLoader è solo per scaricare... si, c'è un plug-in per il p2p, ma in generale il suo obiettivo sono i downloads, non condividere.
Ho lavorato con David Xanatos in passato, è un programmatore capace, ma allo stesso tempo è sempre "di corsa", nel senso che non ha pazienza quando si tratta di programmare. Questo è positivo, perché si avrà un sacco di funzioni in tempi relativamente brevi, ma porta anche a caos nel codice ed un sacco di difetti - questo non è il mio stile di programmatore e inoltre, io non vorrei MAI usare un programma P2P a codice chiuso, anche se è solo parzialmente chiuso - ciò è semplicemente una questione di mio gusto personale e di senso di sicurezza.


10) Riguardo ad eMule (ufficiale), vista la mancanza di nuovi aggiornamenti e di voglia di fare, non sarebbe interessante per voi prendere le redini del progetto in modo da rilasciare una nuova versione?

Tuxman:
Se io e/o WiZaRd subentrassimo nello sviluppo di eMule, sono abbastanza sicuro che qualcuno che non gradisce il nostro approccio ad emule (dato che kMule va in una direzione completamente diversa rispetto, ad esempio, StulleMule) farà una fork (n.d.r. nuovo progetto software che parte dal codice sorgente di un altro già esistente) che non sarebbe di aiuto ad eMule per consentirle di rimanere la comunità che è. -- Se qualcuno dovrà prendere in consegna lo sviluppo di emule, non dovrebbe essere un modder. In questo modo si può mantenere il controllo sul progetto, senza essere di parte.

Wizard:
Beh, come ho detto prima: eMule ha raggiunto uno stato molto maturo e non è rimasto molto da fare.
Prenderne le redini sarebbe una cosa incerta... ci sono ancora un sacco di pregiudizi e animosità verso Tux, me, il nostro approccio e le nostre funzioni. Dubito che questo aiuterebbe eMule.
Eppure, mi piacerebbe sicuramente far parte del team ufficiale se qualcuno me lo chiedesse... continuo a pensare che il mulo è il miglior software P2P là fuori ed è importante mantenerlo in vita.



English version

It is a real pleasure for us to present the interview that tHeWiZaRdOfDoS and Tuxman, developers of the new client called kMule, have kindly issued to Emule-Mods.it
We thank them for their tireless and very precious work and for the availability and the friendship that they have always reserved to us.
If you want to know something more about these two developers, you can read the previous interviews: tHeWiZaRdOfDoS - Tuxman


1) Can you introduce yourselves for those that still don't know who you are and briefly explain your creations in the emule-project?

Tuxman:
Hi, I'm Tuxman (or, shortly, known as "tux", "tux-" and "tux."). I started as a plain eMule user back in the good old eMule LSD days and was shortly after that drawn into developing when another plain user suggested that we should try to make a Pawcio-based mod on our own.
It was more of an experiment as both of us didn't have much experience with C++. The project, however, never left its early stages, the only release happened when eMule 0.44d was still "up to date". The mod can still be found on the internet, but I'm not really proud of it anymore.

Early 2005 I got my hands back on development with eMule beba due to personal reasons. While I lost contact to the person behind the mod's name quite soon, I still continued working on it. The first beba version which "worked" without crashing immediately was 0.2a. As the (then famous) VipeR mod (where beba's bunny icon was taken from) was about to die, people rather quickly learned to love eMule beba for its lightweight attitude which was improved in quite every single update.eMule beba is now one of the most active and widely spread non-releaser mods. I'm pretty proud of that.

A second mod I developed (due to a request by an eMuleFuture.de user) was AnalyZZUL which was, pretty much, ZZUL + the Client Analyzer. Anyway, since ZZUL seems to have died, I buried AnalyZZUL for good.

Wizard:
Hi, my nick's WiZaRd or tHe WiZaRd of DoS. I started as an eMule user and was also a leecher mod user for some time, experimenting with their features, etc.
One fine day I took a look into the code and thought that I could also start coding - that must have been around 2000 - and with some leecher mod tutorials I gained sufficient knowledge of the eMule base to create a first (leecher) mod, i.e. it contained some "forbidden" features like kick/ban but no ratio changes.
This mysterious "DaRkMaGiC" was extremely popular and can still be found in the internet though I'm not too proud about it, anymore.

I continued to work on a v2 for a long time and also tried to help other wannabe modders with their coding problems, i.e. by writing tutorials. I was also writing several releaser mods for some popular crews.
After some time, however, all that copy&paste coding within the "leecher scene" annoyed me. You have to imagine that there were (and still are) a lot of ppl that don't know much about C++ or coding in general and still create mods just copying stuff from one mod to another... and some of those are extremely popular, too!? Well, I left the "scene" but joined the iONiX mod development for quite some time. At the beginning, ppl were sceptical (and some still are) about my intentions but some ppl gave me a 2nd chance
I created several unique features and also fixed some bugs in the official codebase and finally developed the Client Analyzer feature and related clients (Tombstone/Tombstone Extended). The CA was developed to help distinguishing "real" bad clients from "a little" bad clients, the first ones being ratio changed/immediate unshare/comm-only clients and the latter being e.g. release crews using "forbidden" features on which they relied.
The CA caused a lot of controversy but I think it has found its fans and userbase, which is also the reason why I don't need to create new Tombstone versions


2) What led you to create the new client kMule despite the existence of eMule and many other mods?

Tuxman:
kMule has an entirely different approach to eMule. Our vision is to have a simple Kad-only client without GUI bloat which does not need too much manual configuration and works "out of the box". The step from servers to Kad-only is a matter of consequence: Servers are quite deprecated, and there is no real reason to still use them.

Wizard:
Oh, I was planning to create a simple, user-friendly client for quite a long time but only found the time to start developing it in the middle of 2012. I asked tux to help me out because IMHO it's way more fun to work on a project with several ppl. I also asked some other (former) modders which didn't have time at that point though I still hope they may find it later!
We started with the name "ed2kloader" during our planning phase but to make our client unique and to honor Kademlia as a far superior network, we dropped the server support as one of our main features and concentrated on creating the first Kad-only client our there. Additionally, we dropped a lot of useless features and settings, improved the default settings, etc. so that the default user can use our client without the need to configure it for hours
kMule is also intended as a fork, not a mod. It may seem that there aren't so many differences to eMule right now, but that's mostly to make it easier to switch to kMule.


3) Can you present the main features of the client kMule?

Tuxman:
Sure:

http://sourceforge.net/p/kmuleproject/code/72/tree/trunk/Mod/main%20features.txt

:wink:

Wizard:
Yes of course, though I have already name some, but... kMule
* ... may be an alternative to aMule because we implemented improved WINE support
* ... is the first Kad-only client: we don't rely on deprecated and insecure server systems, anymore
* ... is compiled using up-to-date libraries to ensure that our users don't suffer from old security issues
* ... has a (semi-)automatic update systems which can check for updates and also download them - in case that a really severe bug is encountered, we may even force an update to minimize the outdated versions' use
* ... features automatic updating for all important addons (ipfilter, mediainfo, modicons)
* ... has built-in, dynamic leecher protection using CA technology
* ... has built-in search fake detection using an improved version of Netfinitys FakeAlyzer
* ... has built-in fake download detection using a version of BlueSonicBoys Filename Disparity Check
* ... has a clearer, simplified user interface
* ... has improved ed2k links and collections with folder support (this is a great feature, really!)
* ... has per-directory settings for sharing permissions
* ... has automatic extraction support via 7z.dll
* ... has SNARL support - get important message anywhere, at any time
* ... includes ICS, SOTN, Powershare and Anti-HideOS for releasing purposes and better file spread
* ... has tweaks to find more sources
In general, kMule is intended as an "easy-to-use"-mule  


4) How was welcomed kMule by the entire community emule-project?

Tuxman:
The eMule community was quite impressed as kMule presents a different, promising approach and a step into eMule's future.

Wizard:
The community was or rather is kinda split in two. On one side, ppl like the Kad-only approach but on the other side some advanced users want some of their features (like the separate log window) back.
IMHO the general reaction was positive and Some Support also allowed posting our client on eMule-Project.net even though we intended it to be a fork and thus some kind of "rival" for eMule.


5) Which improvements are you preparing for the future of kMule and where do you want to get?

Tuxman:
Don't ruin your own surprises, pal.

Wizard:
There's always room for improvements. Of course, first of all, we want to get rid of all bugs and glitches.
The user interface will receive some changes/further simplifications. I also still think that adding some kind of NAT-T would be nice but currently I don't have the time to investigate and I don't want to use some code by some other dev without properly checking it, first, so this still has to wait unless Tux is willing to do it
I'd also like to improve the speed of the network and file availability, especially for rare files. The problem right now is, that most users either use the official client or a mod based on the official client including its limitations, e.g. chunk selection, default upload speed (3kB/s per client - that's a NO-GO today, though it shall be changed in the future) and others. Anyways, even if we add some changes, it won't have a noticeable effect, unless most of the clients participating in eD2K would implement it as well. This may lead to a seperate kMule Kad at some point, but we'll see...


6) Many people are disappointed by the fact that eMule (official) is by now a death project. Will kMule do the same end in a few months/year?

Tuxman:
Firstly, your question is wrong. There is a major difference between death and maturity. eMule is mature, not dead. The fact that there is no public development just means that there is not much left to add.

We surely hope kMule is near maturity; though even if we'll stop working on kMule one day it won't mean that kMule stops working too.
:wink: Anyway, new developments will actively be followed.

Wizard:
Actually, nowadays "obsession" with updates was another reason for kMule. Today, ppl think a project is "dead" if it doesn't receive an update at least 4 times every year. They simply do NOT understand that software may reach a mature stadium in which there simply isn't much to change/fix left.
kMule will (hopefully) reach that stadium, too, but we have enough ideas (and not enough time) to reach that point within a few months.


7) Could kMule become a separate and independent project like eMule Plus?

Tuxman:
Generally, yup. eMule Plus is not a good example though. Still waiting for Kad support ...  
:wink:

Wizard:
Actually, kMule is intended as a separate project already, so: yes
Of course we will keep an eye open and may integrate changes from new eMule versions - we surely do NOT want to fall back like eMule Plus did (long time before unicode support, still no KAD, etc.).


8) Do you think that kMule has reached a growth to become the model on wich should be based other developers to create their own projects?

Tuxman:
kMule can surely be used as a code base for interested developers.
This is true for all mods I know. I'm not sure if growth is an important issue for this decision at all.

Wizard:
As with all versions and mods: yes, though I don't get exactly what you mean with "growth".
I think kMule would be an interesting base because of its features, update frequency and the active dev group.


9) What do you think about Neoloader? Will you take some hint from that client to add some innovative feature for kMule?

Tuxman:
Neo Loader might look like an interesting project but I'd rather consider it as suspicious.
The main developer, David Xanatos, is well known for flaming against eMule despite the fact that he has been an active developer in the eMule community for years. A major part of the source code is closed for no known reason. I still wonder why.

Technically the Neo Loader (well, the code parts I know) can be described as "jDownloader with P2P support", quite the opposite of kMule as it seems to be targeted at downloading stuff, not sharing it. I don't think that this is a good direction.

The part I like (as I do with jDownloader) is the plug-in system. Having the core functions updated automatically without having to install a completely new version is an interesting idea which has also been suggested for eMule years ago. Let's see if and when someone decides to implement that.

Wizard:
There are some parts that are pretty nice, indeed... e.g. the plugin system and (theoretical) platform independance but aside from that, I don't see anything "innovative" in Neoloader let aside some Kad changes.
I don't want to compare Neoloader with kMule or *mule in general. eD2K is about SHARING (and caring) while the Neoloader is just for downloads... yes, there's a P2P-plugin, too, but in general it aims at downloaders, not sharers.
I worked with David Xanatos in the past and while he is a skilled programmer, he's also always "in a rush", i.e. he doesn't have patience when it comes to coding. This is positive because you will have a lot of features in relatively short time but also leads to chaos in the code and lots of bugs - this isn't "my" way of coding and additionally, I would NEVER use a closed source P2P program, even if it's just partially closed source - that's simply a matter of my personal taste and sense for security.


10) About eMule (official), considering the lack of new versions and no will to make things, can be interesting for you to take the lead of the project and release a new version?

Tuxman:
If I and/or WiZaRd took over development of eMule, I'm pretty sure that someone who does not like our approaches to eMule (given that kMule goes in a completely different direction than, let's say,
StulleMule) will make a fork which would not help eMule to stay a social community on its own. -- If someone will have to take over eMule development, he should not be a modder himself. This way he can keep control over the project without being biased.

Wizard:
Well, as I said before: eMule has reached a very mature state and there isn't that much left to do.
Taking the lead would be a tenuous thing... there's still a lot of prejudice & animosities against either Tux, myself or our approaches and features around - I doubt that this would help eMule.
Still, I'd definately join the official dev team if someone would ask me to... I still think *mule is the best P2P software out there and it's important to keep it alive.


La presente intervista è pubblicata con licenza Creative Commons Attribution 3.0 License
Chi desidera avere qualche cosa che non ha mai avuto, dovra' pur fare qualche cosa che non hai mai fatto!



Vota la tua Mod preferita - Mod più votate: 1° Xtreme - 2° MorphXT - 3° beba


THOR

Chi desidera avere qualche cosa che non ha mai avuto, dovra' pur fare qualche cosa che non hai mai fatto!



Vota la tua Mod preferita - Mod più votate: 1° Xtreme - 2° MorphXT - 3° beba

tux.


THOR

I'm very proud to announce that a chinese (simplified) translation will coming soon  :wink2:

Spoiler
Chi desidera avere qualche cosa che non ha mai avuto, dovra' pur fare qualche cosa che non hai mai fatto!



Vota la tua Mod preferita - Mod più votate: 1° Xtreme - 2° MorphXT - 3° beba

OrnitOrincO

Complimenti a tutti :good: Il discorso riguardante la differenza tra "morte" e "maturità" di un client/mod, poi, è molto importante, dato che se una mod non viene aggiornata per un tempo relativamente lungo si grida ben presto all'abbandono del progetto, alla scansafaticheria del dev relativo o cose così, mentre magari è proprio uno di questi casi di "raggiunta maturità" :)

THOR

Grazie per i complimenti, sempre ben graditi  :wink:
Io invece non sono molto d'accordo sul fatto che un software raggiunga la sua maturità (o perlomeno, non in tutti i casi), perchè credo che ci sia sempre spazio per migliorare, soprattutto quando tutto intorno nascono nuove cose e nuove idee.
Chi desidera avere qualche cosa che non ha mai avuto, dovra' pur fare qualche cosa che non hai mai fatto!



Vota la tua Mod preferita - Mod più votate: 1° Xtreme - 2° MorphXT - 3° beba

THOR

关于kMule的访谈 - 简体中文版


很荣幸邀请到tHeWiZaRdOfDos以及Tuxman两位参与本次由 Emule-Mods.it 主办的访谈,他们是新客户端kMule的开发者。
首先感谢两位孜孜不倦的宝贵工作,其次要感谢两位欣然接收我们的采访并表现出的深情厚谊。
如果您想更加详细地了解这两位程序员,可以阅读之前的访谈内容: tHeWiZaRdOfDoS - Tuxman


1)   可能有人对两位还不熟悉。两位能先介绍一下自己吗?简单说说您在eMule项目的经历。

Tuxman:
嗨,我是Tuxman(也可以简写为"tux"、"tux-"或者"tux.")。我最初是一名普通的eMule LSD用户,那真是一个美好的时代,后来另一个普通用户提议说"嘿,咱俩试着在Pawcio的基础上做个mod吧",于是我就走上了开发之路。
对我俩来说,那次经历主要就是积累经验,因为我们之前都没怎么搞过C++。我们的项目始终处于初级阶段,唯一发布一个版本还是在eMule 0.44d新发布的时候。这款mod到现在还能从网上找到,不过现在来看颇令我汗颜。

出于个人原因,从2005年上半年起,我又开始开发eMule Beba。没过多久,我就再也联系不上Beba的最初作者了,不过我还是坚持了下来。首个能比较正常地运行、不会立马崩溃的版本是0.2a。由于(著名的)VipeR mod(Beba的图标便是来自它的)那时停止开发了,人们很快开始喜欢上eMule Beba——因为它小巧轻便,而且每次升级都能得到持续不断地改进。eMule Beba是目前最活跃、传播最广泛的非发布用mod之一。我为此深感自豪。

我开发的另一个mod是AnalyZZUL(这是应eMuleFuture.de的一位用户的要求而开发的),实际上就是ZZUL与Client Analyzer的结合体。不过,由于ZZUL貌似已经停止开发,我也已经停止AnalyZZUL的相关工作。

Wizard:
嗨,我的昵称是WiZaRd或者tHe WiZaRd of Dos。我刚开始是个eMule用户,而且还用了一段时间吸血客户端,主要测试各种吸血客户端的各种功能。
某天风和日丽,我瞅了一下吸血客户端的代码,觉得我也可以开始编客户端了——那应该是2000年前后——通过阅读吸血客户端的教程,我获得了充足的关于eMule的基础知识,并开始着手写第一个(吸血)mod——也就是说,这款mod包含一些被官方明令禁止的功能,例如手动踢人、手动封禁等等,不过我可没打过上传/下载比例的主意。
这款mod名为DaRkMaGic,一度非常流行,时至今日也能在网上找到。不过我不会再为其感到那么自豪了。

很长时间里我一直持续开发这款mod的v2版本,也试图通过写教程来帮助其它有心的程序员所遇到的编程问题。我还给几个圈内的大水管写过发布用mod。
不过,过了一段时间,这种在吸血客户端圈内所泛滥的"复制/粘贴"式编程开始让我感到厌烦。你不妨想象一下,有好多人对C++或者编程技巧基本上没什么了解,仅仅是把代码复制粘贴一下就敢编写mod(这种情况持续至今)......更匪夷所思的是,有些这样的mod居然还非常流行?所以,我退出了这个圈子,加入iONix mod的开发团队并呆了好一段时间。刚开始有些人对我的意图抱持怀疑态度(可能直到现在也是),但也有些人给了我第二次机会。
我创建出好几种独特的功能,同时陆续修正了官方代码库中的多处bug。最后,我开发了Client Analyzer功能并且发表了相关的mod(Tombstone / Tombstone Extended)。CA系统是为了帮助用户从许多"稍有"恶意的客户端中甄别出"真正"恶意的客户端。后者是篡改上传/下载比例、下完就跑、只取不予的客户端,前者则是某些发布人员视情况使用了被官方明令禁止的功能。
CA系统遭受了很多的质疑和猜忌,但我觉得CA系统还是找到了它的粉丝、它的用户群,这也是我不需要再打造新版本的Tombstone的原因。

2)   现在已经存在eMule和许许多多的mod了,是什么促使两位开发全新的kMule?

Tuxman:
kMule的思路跟eMule完全不同。我们的想法是做一款只支持Kad的轻便客户端,它不需要过分复杂的GUI界面、不需要太多手动配置,并且能更安静地在后台运行。从"服务器"到"仅Kad"是一条必由之路:服务器实在是问题太多,已经没有理由继续使用了。

Wizard:
呃,其实我很久以来就一直打算开发一款简单且用户界面良好的客户端,但是直到2012年年中才有时间着手实施。我邀请tux来帮我干是因为我觉得多人合作的项目搞起来更有意思。我还向另外几位(前)modder发出过邀请,不过那时他们都没时间。我衷心希望他们有时间的话能再考虑考虑!
立项之初,我们将这款客户端命名为ed2kloader。但是为了让我们的客户端与众不同,同时为了凸显出Kademlia是如此优异的网络,我们便将与服务器相关的部分彻底剔除掉了,集中精力打造世界上首款仅Kad网络的客户端。此外,我们还剔除了许多没太大用处的功能和设置,改善了默认配置,等等,这样我们的用户凭默认设置就能用起这款客户端,不需要花几个小时研究各项设置。
kMule的志向是自立门户,而不仅仅是做一款mod。也许目前kMule看起来跟eMule差不多,但这是为了方便eMule用户的切换。

3)   两位能介绍一下kMule客户端的主要特点吗?

Tuxman:
当然。看这个链接就行了:
http://sourceforge.net/p/kmuleproject/code/72/tree/trunk/Mod/main%20features.txt
  :wink:

Wizard:
当然。虽然上面我已经列过一些了,不过kMule
*...可以作为aMule用户的另一种选择,因为我们改进了客户端对WINE的支持。
*...是世界上首个仅支持Kad网络的客户端:我们不再依赖于饱受诟病且安全性差的服务器系统了。
*...采用最新的库编译,确保我们的用户不会受到一些老旧的安全问题的威胁。
*...具有(半)自动上传管理系统,可以自动检查版本变化并下载升级包——一旦发生了严重bug,我们甚至可以强制升级以消除过期版本的隐患。
*...能够自动升级各个重要组件(ipfilter、mediainfo、modicons等等)。
*...内置采用CA技术的动态反吸血防护。
*...内置搜索虚假结果检测(采用Netfinity的FakeAlyzer的改进版本)。
*...内置下载虚假文件检测(采用BlueSonicBoy的文件名差异性校验的某个版本)。
*...具有更加清爽简洁的用户界面。
*...对eD2k链接和收藏集进行了改进,使其支持文件夹(这是一个真正重要的功能!)。
*...可针对每个文件夹设置共享权限。
*...可通过7z.dll库实现自动解压。
*...支持SNARL系统,不论何时何地、即刻获取重要提醒。
*...包含ICS(智能文件块选择)、SOTN(仅显示所需文件块)、强力发布以及反HideOS等重要发布功能,确保提高文件发布效率。
*...经细心调校,可找到更多来源。
总而言之,kMule期望成为一款"易上手"的骡子。

4)   eMule-project的整个社区对kMule是否持欢迎态度?

Tuxman:
eMule社区对kMule印象深刻,它提供了另一个更有说服力的开发思路,指明了eMule的未来发展方向。

Wizard:
eMule-project社区分裂成了两派。一方面,人们喜欢这种仅Kad的形式;另一方面,很多高级用户希望我们把一些功能(例如独立的记录窗口)重新加上。
就我个人看来,总体反应还是良好的,Some Support(注:目前eMule仅剩的开发者)也允许我们把这个客户端发布在eMule-Project.net网站上——虽然我们是想自立门户的,某种程度上将会成为eMule的竞争对手。

5)   两位将来打算对kMule进行哪些方面的改进?预期达到一个什么状况?

Tuxman:
等着瞧、别吃惊,伙计。

Wizard:
改进的余地是无处不在的。当然首先我们要力求消除bug和各种不稳定因素。
用户界面将会进一步改进并简化。我也在考虑要不要添加一些NAT-T功能,如果加上的话当然很好,不过目前我没时间进行调研,并且我也不打算在没有完全弄懂的情况下采用其它开发人员的代码,所以目前这部分内容还得搁置——除非Tux愿意搞。
我还打算改善网络的传输速度,以及提高文件(来源)的可用性,尤其是稀有文件。目前eMule面临的最大问题在于:网络中的大多数用户都还在使用eMule官方客户端或者基于官版的mod,而eMule官版是有缺陷的,例如其文件块选择算法、默认上传速度(每个用户3kB/s,这在今天来看简直就是搞笑,不过将来应该会改变的)等等。不管怎样,即便我们对客户端进行一些调整,也不会对网络的现状造成太大影响,除非eD2k中的大部分用户也都采纳这些修改内容。某种程度上来说这可能会导致产生一个独立的kMule Kad网络,不过再看看吧......

6)   很多人对eMule(官版)目前开发停滞的现状感到十分失望。kMule会不会也在几个月或者几年之后面临同样的结局?

Tuxman:
首先,你的提问不成立。所谓"死亡"和"成熟"是有区别的。eMule目前的状态是成熟而不是死亡。没有进行持续开发,是因为没有太多需要增加的东西了。

我们当然希望kMule也达到成熟;不过即使某天我们不再开发kMule了,也并不意味着kMule的消亡——它仍然会被继续使用。
:wink:  再者说来,我们还是会继续开发kMule的。

Wizard:
实际上,对升级的"执念"也是kMule产生的原因之一。今天,如果一个项目不会在每年升级个十次八次的,人们就会以为这个项目完蛋了。这些家伙根本不知道,一个项目开发到一定程度以后,会到达一个相对成熟的阶段,此时就没有太多需要修改/添加的东西了。
kMule也会到达那个阶段的(但愿如此),不过在接下来的几个月里,我们会把许许多多的新想法(遗憾的是时间不够)逐步落实,以期到达那个阶段。

7)   kMule是否打算成为一个独立的项目、就像eMule Plus那样?

Tuxman:
总体来说是的。不过eMule Plus可不是一个好例子,这东西连Kad都还没有呢......
:wink:

Wizard:
实际上kMule已经是一个独立的项目了,所以,"是的"。
当然我们也会虚心汲取其它项目的先进理念和经验,如果eMule新版本有良好的变化我们也会跟进——我们可绝对不想变成eMule Plus那样(好久之后才支持Unicode,而且直到现在居然还没有Kad,等等)。

8)   你们是否认为kMule已经进入成长阶段,足以成为其它开发人员创建自己项目的基础?

Tuxman:
kMule当然可以为对之感兴趣的程序员提供程序基础。
这对于我所知道的所有mod都成立。我不确定"成长"对于这类决定是否算是重要因素。

Wizard:
对于所有版本和mod来说,是的。尽管我不太明白你所说的"成长"是指什么......
我觉得kMule会是一个有趣的代码库基础,因为它功能完善、升级频率高并且开发团队活跃。

9)   你们对NeoLoader怎么看?你们会从NeoLoader吸取一些创新性的点子添加到你们的kMule中吗?

Tuxman:
NeoLoader看起来是个挺有趣的项目,不过目前为止我个人还是持怀疑态度。
其主要开发人员David Xanatos多年来都是eMule社区中非常活跃的开发人员,不过现在他更出名了,因为他持续不断地炮轰eMule。不知出于什么原因,Xanatos将NeoLoader的主要代码都给闭源了,我还不清楚这是为什么。

从技术角度而言(仅从我能看到的代码),NeoLoader可以描述为"支持P2P的jDownloader",这跟kMule南辕北辙——看起来NeoLoader主要是给下载者而不是分享者使用的。我觉得这不是一个好苗头。

我对NeoLoader比较欣赏的地方是它的插件系统(跟jDownloader一样)。NeoLoader的核心功能模块是自动升级的,无需每次升级都全部重装,这是个非常有趣的想法,好多年前就有人建议eMule这么整了。看看有没有人决定在eMule中实现这个吧。

Wizard:
NeoLoader中的确包含许多很好的想法......例如插件系统,例如平台无关性(理论上来说)。不过除了这些,我并没有在NeoLoader中看到称得上"创新性"的东西,除了有些Kad的相关修改。
我不太想把NeoLoader拿来跟kMule或*Mule进行比较。总体而言,eD2k关注于分享,而NeoLoader关注于下载......是的,NeoLoader也有P2P插件,但总体而言它仍然是面向下载者而非共享者的工具。
我过去与David Xanatos共事过,他是一名技术卓越的程序员,但他也是个激进主义者,也就是说他只要有想法就会立即付诸程序。这一方面是好事,可以在相当短的时间内实现很多的功能;但另一方面也容易导致代码混乱和bug泛滥——这跟我的编程理念不太一致。另外我个人绝对不会使用闭源的P2P软件,即使只是部分闭源——这只是个人口味和安全观念使然。

10)   关于eMule(官版),就目前这样新版本难产并且(官方团队)迟迟没有动作的境况,两位愿意接手这个项目来发布新版本吗?

Tuxman:
假如我和/或WiZaRd接手eMule项目的开发,我们对eMule进行的改变毫无疑问将会遭到一些人的反对(kMule走的路线跟以往的mod、例如StulleMule是完全不同的),这样会导致这些人另起炉灶,使得eMule社区四分五裂。——(我的观点是:)假如有人愿意接手eMule项目,那么他自己绝对不能是个modder。只有这样他才能把握住eMule项目的方向而不被(过往的modding经历)影响而偏移。

Wizard:
嗯,就像我之前说的:eMule目前已经达到了一个十分成熟的状态,进一步改进的空间很有限。
接手eMule是一件很缥缈的事情......对于Tux、我、我们尝试的方向、以及我们所添加的功能,目前仍然存在很多偏见和敌视——我很质疑(由我们接手官方版本的开发)对eMule是凶是吉。
当然,如果收到邀请,我自然会义不容辞地加入eMule官方开发团队......我仍然认为*Mule是迄今为止最好的P2P软件,让骡子健健康康活下去是非常重要的。




La presente intervista è pubblicata con licenza Creative Commons Attribution 3.0 License
Chi desidera avere qualche cosa che non ha mai avuto, dovra' pur fare qualche cosa che non hai mai fatto!



Vota la tua Mod preferita - Mod più votate: 1° Xtreme - 2° MorphXT - 3° beba

leccesemule

azz... che servizio ...su Emule-mods.it siamo intercontinentali  :wink2:
QUELLO CHE FACCIAMO IN VITA......RIECHEGGIA NELL' ETERNITA'..!!!


THOR

Ormai ci siamo lanciati  :asd:

Scordavo di ringraziare pubblicamente Ejack per la traduzione in cinese  :notworthy:
Chi desidera avere qualche cosa che non ha mai avuto, dovra' pur fare qualche cosa che non hai mai fatto!



Vota la tua Mod preferita - Mod più votate: 1° Xtreme - 2° MorphXT - 3° beba