Begin december 2003 heeft softwarebedrijf IBM een patent, nummer 6.658.642, toegewezen gekregen waarin een methodiek is vastgelegd om freelance softwareprogrammeurs te betalen die samen aan één product werken. De methode houdt het volgende in: door een projectleider wordt precies vastgelegd wat voor software er ontwikkeld moet gaan worden en deze gegevens worden in een computerprogramma ingevoerd. Dit programma splitst en categoriseert deze gegevens vervolgens in een aantal modules. De zo ontstane lijst wordt bijvoorbeeld op een internetsite geplaatst zodat iedere geïnteresseerde ontwikkelaar hem kan bekijken. Op deze lijst is, naast de omschrijvingen van de verschillende modules, ook terug te vinden wat betaald gaat worden wanneer de ontwikkeling van een bepaalde module klaar is en wanneer deze klaar moet zijn.
Softwareontwikkelaars die een bepaalde module zouden willen programmeren moeten dit aan het achterliggende computersysteem laten weten. Wanneer minder dan twee ontwikkelaars hebben aangegeven een bepaalde module te willen ontwikkelen, past het computerprogramma automatisch de lijst met modules aan om de bewuste module aantrekkelijker te maken. Hierna is het opnieuw mogelijk om in te schrijven op die module. In het geval dat een module meer dan twee inschrijvingen heeft ontvangen, krijgen de ingeschreven ontwikkelaars een test toegestuurd. Op basis van de resultaten van die test kiest het systeem samen met de projectleider de ontwikkelaar die uiteindelijk de module mag gaan ontwikkelen. Wanneer de gekozen ontwikkelaar zijn module af heeft en de code is goedgekeurd wordt de betaling uitgevoerd.
De hightech industrie ontwikkelt zich erg snel en om voor te blijven op de concurrent is het noodzakelijk om mee te gaan in dat tempo. Dit geldt ook voor ontwikkelaars van software. Een manier om het ontwikkeltempo te verhogen, kan zijn het aannemen van meer programmeurs om het werk te verdelen. Het probleem is echter dat goede programmeurs niet gemakkelijk te vinden zijn. Dit komt enerzijds door een gebrek aan programmeurs en anderzijds doordat niet alle ontwikkelaars de juiste kennis in huis hebben. Een oplossing voor dit probleem is echter het Internet. Er zijn al veel, vooral open source-, projecten opgestart waarbij verschillende programmeurs via het Internet samenwerken aan een programma of product. Op dit moment worden er verschillende methodieken gebruikt voor de ontwikkeling en betaling van de programmacode. IBM heeft echter een patent aangevraagd op zijn methodiek.