In een notendop moet Snakebite een netwerk worden dat ontwikkelaars ongelimiteerde toegang geeft tot zoveel mogelijk verschillende platformen, besturingssystemen, architecturen, compilers, apparaten, databases, tools en applicaties. Die kunnen ze dan gebruiken om hun software zo goed mogelijk te ontwikkelen.

Snakebite gaat waarschijnlijk over een maand de lucht in. Het is bedacht door Trent Neson, ook committer van het Python language project. Volgens Nelson is het idee achter Snakebite dat het een echt open netwerk is, parallel aan de gedachte achter open source. Het netwerk zal vooral open staan voor open source projecten, die hun software gratis zullen kunnen testen. Maar waarschijnlijk mogen ook bedrijven hun commerciële software op het netwerk uitproberen, al zullen ze daar wel wat voor moeten betalen.

Niet iedereen kan overigens zomaar gebruik gaan maken van Snakebite. Projecten moeten wel degelijk aan bepaalde eisen voldoen. Het moeten volwassen projecten zijn met een goede ontwikkel infrastructuur. Allereerst zal het netwerk open gaan voor projecten die met Python te maken hebben. Ontwikkelaars van bijvoorbeeld CPython, Jython, PyPy, IronPython en stack-less Python zullen direct volledige toegang hebben tot het netwerk. Naar verwachting zullen projecten als Apache, MySQL en Postgres snel volgen.

Bij de TU van Delft

Overigens is het netwerk niet uniek. Naar aanleiding van het nieuws over Snakebite belden we met een Nederlandse expert op het gebied van build farms, Dr. Eelco Dolstra van de TU Delft. Van hem hoorden we dat ze in Delft met een soortgelijk project bezig zijn, Hydra genaamd, dat is gebaseerd op de package manager Nix. Met Hydra kunnen ontwikkelaars de sourcecode submitten uit hun eigen Versie Management Systeem, waarna de software automatisch op allerlei manieren wordt getest, op allerlei platformen, met allerlei compilers en allerlei architecturen. Daarna genereert het systeem van de TU Delft ook nog de pakketten voor de eindgebruikers, bijvoorbeeld .rpm’s voor verschillende smaken Fedora en .debs voor Debian en Ubuntu. Op dit moment kunnen er nog geen pakketten gemaakt worden voor Windows, maar daar wordt wel naar gekeken.

Dolstra beaamt dat het heel moeilijk is voor ontwikkelaars om zelf goed te testen. “Er zijn zoveel verschillende systemen, dat wil je niet zelf doen. Dus moet het automatisch gebeuren”, zegt hij. Dat is precies wat Hydra doet.

Hydra staat op dit moment alleen open voor projecten binnen de universiteiten, maar desondanks wordt er zelfs een complete Linux-distributie mee onderhouden. En binnen een paar weken moet het systeem ook beschikbaar komen voor projecten buiten de campus. “De basis staat al langer”, zegt Dolstra, “maar als je die wilt aanbieden, moet er bijvoorbeeld ook een nette webinterface bovenop zitten. Die is nu bijna klaar.” Over een paar weken wil hij er zelfs reclame voor gaan maken.

Overigens zijn er meer van dit soort systemen, vertelt Dolstra. “Maar die hebben veel technische beperkingen. Het managen van de dependencies van je buildtask moet daarmee vaak met de hand gebeuren, of met ad hoc scripts. Met ons systeem gaat dat erg makkelijk.”

Hardwarematig bestaat Hydra nu uit een rack met 10 machines, maar dat moeten er meer worden. “Daar hebben we een redelijk budget voor”, zegt Dolstra. Het is niet de bedoeling dat er geld mee verdiend gaat worden, maar op de lange termijn is het wel iets om aan bedrijven aan te bieden. Het hele systeem is overigens open source, dus iedereen kan er zijn eigen build farm mee maken. Wie dat wil proberen zal om te beginnen flink moeten investeren in de nodige hardware.

Bron: Techworld