Być może słyszeliście dziś w Internecie newsy o tym, że Microsoft kupił Githuba. Dla tych mniej (lub wcale) zainteresowanych programowaniem, postaram się wytłumaczyć co to mniej więcej oznacza i dlaczego zrobiło się wokół tej transakcji tyle zamieszania.
Github to platforma do trzymania kodu, oparta o system kontroli wersji git. Został on wymyślony przez Linusa Torvaldsa, autora systemu operacyjnego Linux, w 2005 roku. Celem rozproszonego (bo takim jest git) systemu kontroli wersji (VCS - Version Control System) jest umożliwienie wielu programistom pracy nad wspólnym kodem programu, serwisu, strony internetowej, a właściwie czymkolwiek opartym o tekst. Przykładowo, jeśli mamy jakiś artykuł i jedna osoba dopisze do niego akapit na końcu, a druga w mniej więcej tym samym czasie wyedytuje pierwszy nagłówek, system kontroli wersji zadba o to, by w momencie opublikowania tych zmian nie nadpisały się one wzajemie, to jest żeby aktualna wersja dokumentu zawierała zarówno zmodyfikowany nagłówek jak i dopisany paragraf. Jest to oczywiście dużo praktyczniejsze niż np. trzymanie kolejnych wersji w różnych plikach lub wysyłanie sobie najnowszej wersji mailem.
Github powstał trzy lata później, w 2008 roku, jako internetowa platforma do obsługi gita. Pozwala on między innymi na przeglądanie kodu (w najnowszej wersji lub we wszystkich historycznych wersjach), porównywanie zmian, ale także zgłaszanie "issues" do kodu i dyskusji nad nimi oraz system "pull requestów", tj. sformalizowanych propozycji zmian w postaci zmienionego kodu, które to zmiany autor może zaakceptować i włączyć w swój kod przy pomocy jednego kliknięcia.
Dlaczego jednak miałoby to interesować nie-programistów?
Github od swego powstania walnie przyczynił się do zwycięstwa gita jako najpopularniejszego systemu kontroli wersji. Tym samym w oparciu o gita zaczęło powstawać dużo projektów open source (tj. o otwartym kodzie, który każdy może przejrzeć, a także zaproponować zmiany). Nawet jeśli nie zdajesz sobie sprawy, z pewnością korzystasz z osiągnięć tego ruchu. Wypromował o nie tylko system operacyjny Linux czy szereg bibliotek programistycznych, ale również na przykład przeglądarkę Firefox, program pocztowy Thunderbird, alternatywę dla MS Offfice - LibreOffice i wcześniej OpenOffice i wiele, wiele innych...
Jak się do tego ma Microsoft? Firma, którą każdy zna ze względu na Windowsa, Internet Explorer/Edge, Outlooka, pakiet Office itd. była przez lata, delikatnie mówiąc, raczej w opozycji do ruchu open source. By ująć to bardziej dosłownie, częstokroć korzystała ze swojej pozycji niemal-monopolisty (jeśli chodzi o systemy operacyjne), by forsować swoje rozwiązania i doprowadzać do upadku projektów utrzymywanych często siłą rąk hobbystów. Jak na amerykańską korporację, nie stroniła również od trollingu patentowego, mającego wprost wyeliminować konkurencję z rynku.
Mając to w świadomości, ciężko się dziwić, że informacja o nabyciu Githuba, platformy która często wręcz utożsamiana jest z open source, budzi kontrowersje.
Należy jednak pamiętać, że Microsoft również zmienił się w ostatnich latach. W ostatniej wersji systemu Windows dodali wręcz dostępną powłokę systemu Linux (co jeszcze kilka lat temu było absolutnie nie do pomyślenia), wprowadzili na rynek kilka obiecujących darmowych projektów z otwartym kodem, a także nawet swój zamknięty na Windowsa język C# ostatnio przeportowali tak, by działał (w części) na Linuksie.
Biorąc to wszystko pod uwagę, trudno się dziwić że taka decyzja budzi emocje. Z jednej strony stoją ludzie, którym Microsoft zdołał napsuć sporo krwi (w tym autor tego posta) i którym nieco trudno uwierzyć w wielkie nawrócenie korporacyjnego giganta. Po drugiej stronie są zaś ci, którzy albo nie pamiętają "starego Microsoftu", albo nigdy im on nie przeszkadzał (bo na przykład byli programistami C#). Te dwie grupy właśnie kłócą się intensywnie w całym internecie o to, czyja dostrzeżona w prywatnej szklanej kuli wizja się ziści: złego Microsoftu, który ostatecznie zabije wolne oprogramowanie, czy może dobrego Microsoftu, który swoimi pieniędzmi wesprze jego rozwój (a na pewno rozwój platformy na której ten powstaje).
I choć kilka projektów zdecydowało sie już dziś na opuszczenie Githuba i przeniesienie się na alternatywne serwisy, możemy tylko spekulować. A jak będzie, pokaże czas.