Efter att Microsoft förvärvat GitHub, har många utvecklare letat efter alternativ för att vara värd för deras kod. Microsoft (och många andra jätteföretag) har en vana att köpa en beprövad teknik / webbplatser / produkter för att utöka sin räckvidd. Skype är ett exempel, och nu är Github också.

Men nyheten om förvärvet av GitHub var en kall dusch för samhället. Medan jag personligen aldrig gillade GitHub och betraktade det som en användbarhetskatastrof, var det en resa till destinationen för hosting en stor mängd öppna källprojekt. Monopol är sällan hälsosamt, och GitHubs (hindrande) ände visar det igen.

Lyckligtvis finns det många andra versionsstyrningssystem för dig att välja mellan. Inte alla har alla funktioner i GitHub, men beroende på vad du behöver dem för är valen ganska bra. Om du är en av de utvecklare som vill byta från GitHub, listar vi här några av alternativen - de är alla självhärdda eftersom du inte vill lita på någon annan med din värdefulla kod, eller hur?

1. GitLab

Även innan GitHub gick i fela händer var GitLab ett ganska populärt alternativ. Nu förväntar jag mig att det kommer att dra mycket mer uppmärksamhet. GitLab är öppen källkod, och dess kärnutgåva är gratis. Det finns också betalda versioner. de börjar på $ 4 per användare per månad. Det är ett komplett DevOps livscykelverktyg med planering, testning, förpackning och frigöring av funktionalitet. Den levereras också med wiki och problemspårningsfunktioner. Du kan distribuera GitLab inuti eller i molnet.

2. Gogs

Om smärtfri installation är din största oro, så är det inget bättre för dig än Gogs. Den levereras med färdiga binärer för Windows, Linux, Mac och Raspberry Pi, men du kan också använda Go för att installera den på någon annan plattform där Go körs. Gogs är lätt och snabb, och även om det inte har alla funktioner i stora dyra kostymer, levereras den med wiki, bug tracking, versionskontroll, etc.

3. Trac

Trac är ett bra val om du letar efter ett minimalistiskt GitHub alternativ. I huvudsak är Trac ett förbättrat wiki- och problemspårningssystem för mjukvaruutvecklingsprojekt. För versionskontroll använder den Git och Subversion, men det kan också fungera med ett dussintals andra (t.ex. Mercurial, Perforce, etc.). Med sin bra rapporteringsfunktionalitet är Trac ett bra val om du regelbundet och noggrant ska övervaka projektets framsteg.

4. GitBucket

GitBucket är en GitHub klon skriven i Scala. Det har inte så många funktioner som de andra programmen på listan. I själva verket är dess huvudsakliga fördel dens likhet med GitHub. Med andra ord, om du börjar sakna GitHub, kan du alltid ta till GitBucket. Dess funktioner inkluderar arkivvisare, problem med spårning, draförfrågningar och en wiki. Du kan förlänga dess funktionalitet med hjälp av plugins, men förvänta dig inte för mycket av dem.

5. Mercurial

Till skillnad från den andra mjukvaran på den här listan är Mercurial helt annorlunda än GitHub eftersom den inte använder Git-servern, men du kan konvertera din Mercurial-data till Git-objekt. Mercurial är inte det enda alternativet för GitHub utan GitHub - det finns många andra versionsstyrningssystem, som Perforce, Subversion, etc., du kan använda för att hantera källkoden.

Jag inkluderade Mercurial eftersom det är bra, korsplattform, och levereras med massor av förlängningar. Dessutom har många av mina vänner, som har använt både GitHub och Mercurial, sagt att Mercurial är mycket lättare att använda. Jag gillar också den distribuerade arkitekturen. När det gäller funktioner är kärninstallationen inte något att tänka på, men det finns förlängningar för nästan allt som kan tänkas.

Med eller utan GitHub fortsätter livet. Sörja inte GitHub för mycket - det kan vara bra att det nu ägs av Microsoft. Detta kommer att stimulera tillväxten av sina alternativ, och jag tror att några av dem blir bättre än GitHub vi känner till idag.