GnucDNAは、ピアツーピアアプリケーションを構築するためのソフトウェアライブラリです。開発者は、 GnutellaまたはGnutella2クライアントやネットワークを独自に作成するための共通レイヤーをGnucDNAから得ることができます。GnucDNAは独立したコンポーネントであるため、クライアントとは独立してアップデートでき、既にGnucDNAを使用しているアプリケーションに改善点を反映させることができます。
GnucDNAは広く普及し確立されたライブラリであり、プログラマーによる拡張が可能です。Ultrapeerを統合したピア間の分散型ネットワークを構築する機能を備えており、低帯域幅ノードのボトルネックを回避できます。しかし、Ultrapeer(またはG2上のHub)のサポートは、 gtk-gnutellaやShareazaなどのクライアントによる最新の実装と比較すると時代遅れです。
このライブラリは、それにリンクするプログラムに対し、ファイルのアップロード、ダウンロード、ファイルキューイング、部分ファイル共有(ダウンロード中に検証済みのファイルの一部をアップロードする機能)を内蔵サポートしたファイル共有機能、ファイルのハッシュ化、ネットワーク経由で共有するメタデータの抽出、特定のハッシュ値やメタデータパラメータによる高度な検索機能を提供します。また、GnucDNAは、アプリケーションが自ら作成したP2Pネットワークを通じてソフトウェアを簡単にアップデートできる機能も提供します。
GnucDNAコンポーネントはCOMベースであるため、言語に依存しない汎用性という利点を継承しています。C ++、Visual Basic、.Net、さらにはスクリプトなど、様々なアプリケーションでGnucDNAを利用できます。また、独立したコンポーネントであるため、プラグインの一部として、サービスの一部として、あるいはWebサーバーの背後で実行するなど、多様な状況で使用可能です。
Gnucleusプロジェクトの一環として、GnucDNAのコーディング、改良、テストには既に5年以上の開発期間が費やされています。このプロジェクトに注目が集まるにつれ、エンジンは15回以上複製されましたが、他の開発者が提供するインターフェースやサービスは優れていたものの、メインの開発に追いつくことができませんでした。そこで、Gnucleusエンジン(現在はGnucDNAと呼ばれています)を独立したコンポーネントとして分離し、開発や改良に遅れをとる心配なく誰でもアクセスできるようにするという決定がなされました。また、独自のP2Pネットワークの構築に関心はあるものの、低層通信やファイル転送メカニズムを再発明したくない人々にとっても、新たな可能性が開かれます。
Gnucleusは、 Microsoft Windows向けのgnutellaおよびGnutella2クライアントプロジェクトであり、GnucDNAライブラリのコードが元々開発されていたプロジェクトです。その後、Gnucleusは半独立プロジェクトとして分割されました。GnucDNAライブラリと同様に、 GNU一般公衆利用許諾契約書( GPL)に基づいてリリースされています。
クライアントは、利用可能なオプションの数を減らすことなく、使いやすさを追求して設計されています。Gnucleusは、 gnutellaのUltrapeer機能( G2のHubモード)、マルチソーススウォーミングダウンロード、部分ファイル共有、SHA1ファイルハッシュ、マークルツリーサブチャンク検証、プロキシサーバーサポートなど、数多くの機能を実装しています。
Kiwi Alpha [ 3 ]は、GnucDNA ライブラリを使用してgnutellaおよびG2ネットワークに接続するピアツーピアのファイル共有アプリケーションです。その設計目標は、リソースの使用量を最小限に抑え、初心者でも簡単に使用できるようにすることに重点を置いています。
Kiwi Alpha は軽量化を目指しているため、メディアプレーヤーなどの機能は含まれていません。しかし、このアプリケーションにはSaveNow などのアドウェアが 2 つバンドルされており、これはフットプリントの小ささという目標と矛盾しているように見えます。 [ 4 ]また、プログラムの Web サイトには「Kiwi Alpha はユーザー登録を必要とせず、匿名でネットワークに接続することでユーザーのプライバシーを保護します」と記載されています。これは誤解を招く表現です。なぜなら、サポートされているプロトコルはどちらもユーザーのIP アドレスを難読化しないからです。この記述は難読化を示唆しているように見えます。