בעיקרון ניתן לבנות תוכנות כאלו בכל שפה.
כנראה שהשפה היעילה ביותר היא ++C כי היא הכי מהירה ויוצרת קבצי התקנה קטנים - תלוי בספריות שבהן השתמשו.P2P הוא קיצור של Peer to Peer כאשר הכוונה בסוג עבודה זה שהתקשורת מתבצעת בין שתי תחנות עבודה ישירות ולא מתחנת עבודה לשרת.
הרעיון הוא שבכל מחשב יש ספרייה של קבצים לשיתוף שאותם יכולים להוריד כל מי שיש לו את התוכנה.
בדרך כלל יש מחשבים של משתמשים ברשת שהם יותר חזקים ומאפשרים גם ניהול של רשימות קבצים ומיקומם כדי לזרז חיפוש של קבצים.
הדבר בה לעקוף את הצורך בשרת מרכזי כמו שהיה בנפסטר שכן אז מפעיל השרות חשוף לתביעות על הפרת זכויות יוצרים עקב הפצה לא חוקית של קבצים המכילים תוכן עליו יש זכויות יוצרים כמו שירים וסרטים.
עתה מנסים גם להגיש תביעות נגד החברות המפעילות שרותי P2P ונגד משתמשים המורידים ומשתפים קבצים כאלו.