След като Microsoft е придобила GitHub, много разработчици търсят алтернативи за приемане на своя код. Microsoft (и много други гигантски компании) имат навика да закупят доказана технология / сайтове / продукти, за да разширят обхвата си. Skype е един пример, а сега е и Github.

Но новината за придобиването на GitHub беше студен душ за общността. Докато аз лично никога не харесвах GitHub и го считам за катастрофа за ползваемост, това беше целта на ходенето за хостинг на огромно количество проекти с отворен код. Монополът рядко е здрав, а (възпрепятстващият) край на GitHub го доказва отново.

За щастие има много други системи за контрол на версиите, от които можете да избирате. Не всички от тях имат цялата функционалност на GitHub, но в зависимост от това, от което се нуждаете, изборът е доста добър. Ако сте един от тези разработчици, които искат да преминат от GitHub, ще изброим тук някои от алтернативите - всички те са самостоятелно хоствани, защото не искате да имате доверие на някой друг с вашия благороден код, нали?

1. GitLab

Още преди GitHub да влезе в неправилни ръце, GitLab беше доста популярна алтернатива. Сега очаквам, че това ще привлече много повече внимание. GitLab е с отворен код, а основното му издание е безплатно. Има и платени версии; те започват от $ 4 на потребител на месец. Това е пълен инструмент за жизнения цикъл DevOps с планиране, тестване, опаковане и освобождаване на функционалност. Той идва с функции за уикиране и проследяване на проблеми. Можете да внедрите GitLab inhouse или в облака.

2. Gogs

Ако безболезнената инсталация е вашето най-голямо безпокойство, тогава няма нищо по-добро за вас от Gogs. Той идва с готови за употреба файлове за Windows, Linux, Mac и Raspberry Pi, но можете да използвате и Go, за да го инсталирате на всяка друга платформа, където Go работи. Gogs е лек и бърз и въпреки че не разполага с всички функции на големи скъпи костюми, той идва с уики, проследяване на грешки, контрол на версията и т.н.

3. Trac

Trac е чудесен избор, ако търсите минималистична алтернатива на GitHub. По същество Trac е усъвършенствана система за проследяване на уики и издаване на проекти за разработка на софтуер. За контрол на версията той използва Git и Subversion, но може да работи и с други дузина (напр. Mercurial, Perforce и др.). С добрата си функционалност за отчитане, Trac е добър избор, ако трябва редовно и внимателно да наблюдавате напредъка на проектите.

4. GitBucket

GitBucket е клон на GitHub, написан в Scala. Той няма толкова функции, колкото другите приложения в списъка. Всъщност, основното му предимство е неговата прилика с GitHub. С други думи, ако започнете да губите GitHub, винаги можете да прибягвате до GitBucket. Характеристиките му включват преглед на хранилище, проследяване на проблеми, заявки за изтегляне и уики. Можете да разширите функционалността му с помощта на приставки, но не очаквайте твърде много от тях.

5. Mercurial

За разлика от другия софтуер в този списък, Mercurial е напълно различен от GitHub, защото не използва сървъра Git, въпреки че можете да конвертирате вашите Mercurial данни в Git обекти. Mercurial не е единствената алтернативна сървърна алтернатива на GitHub - има много други системи за управление на версии, като Perforce, Subversion и т.н., които можете да използвате, за да управлявате своя изходен код.

Включих Mercurial, защото е добра, кръстосана платформа и идва с тон разширения. Освен това много от моите приятели, които са използвали както GitHub, така и Mercurial, казват, че Mercurial е много по-лесен за използване. Също така харесвам неговата разпределена архитектура. От гледна точка на функциите, основната инсталация не е раздразнителна, но има разширения за почти всичко, което може да се предположи.

С или без GitHub животът продължава. Не обиждайте твърде много GitHub - може би е добре, че сега тя е собственост на Microsoft. Това ще стимулира растежа на алтернативите му и вярвам, че някои от тях ще станат по-добри от GitHub, който познаваме днес.