GitHub

**GitHub** adalah layanan hos web bersama untuk proyek pengembangan perangkat lunak yang menggunakan sistem kendali versi Git dan layanan hosting internet. Hal ini banyak digunakan untuk kode komputer. Ini memberikan kontrol akses dan beberapa fitur kolaborasi seperti pelacakan bug, permintaan fitur, manajemen tugas, dan wiki untuk setiap proyek.

GitHub menawarkan paket repositori pribadi dan gratis pada akun yang sama dan digunakan untuk proyek perangkat lunak sumber terbuka. Pada bulan April 2017, GitHub melaporkan bahwa mereka mempunyai lebih dari 20 juta pengguna dan lebih dari 57 juta repositori, menjadikannya layanan terbesar dari kode sumber di dunia.

GitHub mempunyai sebuah maskot yang bernama Octocat, seekor kucing dengan lima tentakel dan wajah seperti manusia. Pada tahun 2018, dilaporkan bahwa Microsoft mengakuisisi GitHub.

## Sejarah perusahaan

Ide awal untuk membuat website untuk berbagi repositori git pertama kali dicetuskan oleh Tom Preston Werner. Ide itu ia sampaikan kepada rekannya sesama pemrogram Ruby, Chris Wanstrath, pada suatu acara perkumpulan pemrogram Ruby di San Francisco pada 18 Oktober 2007. Chris tertarik dengan ide Tom dan sepakat untuk bekerja sama mengembangkan situs web ini.

Pengembangan awal website ini dilakukan selama tiga bulan. Tom mengerjakan UI situs web dan mengembangkan komponen akses repositori git menggunakan bahasa Ruby, sedangkan Chris mengembangkan aplikasi menggunakan framework Rails. Pada pertengahan Januari 2008, versi closed beta GitHub diluncurkan. Pada versi ini, hanya pengguna yang mendapat undangan yang bisa menggunakan layanan GitHub. Sementara itu, pada pertengahan Februari 2008, PJ Hyett bergabung ke dalam tim pengembangan. GitHub resmi diluncurkan ke publik pada 10 April 2008.

Pada tanggal 24 Februari 2009, anggota tim GitHub mengumumkan, dalam sebuah pembicaraan di markas besar Yahoo!, bahwa saat tahun pertama daring, GitHub telah mengumpulkan lebih dari 46.000 repositori publik, 17.000 di antaranya dibuat pada bulan sebelumnya. Saat itu, sekitar 6.200 repositori telah bercabang dan 4600 telah digabung.

Pada tanggal 5 Juli 2009, GitHub mengumumkan bahwa situs itu kini dimanfaatkan oleh lebih dari 100.000 pengguna. Pada tanggal 27 Juli 2009, Dalam pembicaraan lain yang disampaikan di Yahoo!, Tom Preston-Werner mengumumkan bahwa GitHub telah tumbuh menjadi tuan rumah 90.000 repositori publik yang unik, 12.000 yang telah bercabang, untuk total dari 135.000 repositori.

Pada tanggal 25 Juli 2010, GitHub mengumumkan bahwa situs tersebut mempunyai 1 juta repositori. Pada tanggal 20 April 2011, GitHub mengumumkan bahwa situs tersebut mempunyai 2 juta repositori.

Pada tanggal 2 Juni 2011, ReadWriteWeb melaporkan bahwa GitHub telah melampaui SourceForge dan Google Code di total nomor dari komit untuk jangka waktu Januari sampai Mei 2011.

Pada tanggal 9 Juli 2012, Peter Levine, Partner umum di GitHub Investor Andressen Horowitz, menetapkan bahwa GitHub telah meningkatan pendapatannya pada angka 300% setiap tahun sejak tahun 2008 "menguntungkan hampir seluruhnya".

Pada tanggal 16 Januari 2013, GitHub mengumumkan telah melewati 3 juta pengguna dan kemudian mempunyai lebih dari 5 juta repositori. Pada tanggal 23 Desember 2013, GitHub mengumumkan telah mencapai 10 juta repositori.

Pada bulan Juni 2015, GitHub membuka sebuah kantor di Jepang yang mana itu adalah kantor pertama GitHub di luar Amerika Serikat.

Pada tanggal 29 Juli 2015, GitHub mengumumkan telah mendapatkan dana sebesar 250 juta dollar oleh Sequoia Capital. Nilai perusahaan pada saat putaran ini kira-kira 2 miliar dollar.

Pada tahun 2016, GitHub menduduki posisi 14 di Forbes Cloud 100 list.

Dengan rilis pertama pada tanggal 21 Juli 2017, browser web Brave menjadikan GitHub sebagai salah satu mesin pencari defaultnya.

Pada tanggal 28 Februari 2018, GitHub menjadi korban serangan DoS terbesar sepanjang sejarah, dengan lalu lintas masuk mencapai sekitar 1,35 terabit per detik.

Pada tanggal 4 Juni 2018, Microsoft mengakuisisi GitHub sebesar 7,5 miliar dollar.

Pada tanggal 19 Juni 2018, GitHub memperluas GitHub Education dengan menawarkan bundel pendidikan gratis ke semua sekolah.

### Penyensoran
Pada tanggal 3 Desember 2014, GitHub diblokir di Rusia selama beberapa hari lebih karena seorang pengguna memposting cara manual bunuh diri.

Pada tanggal 31 Desember 2014, GitHub diblokir di India (bersama 31 website lainnya) karena terlalu banyak mengandung konten pro-ISIS yang diposting oleh pengguna. Pada tanggal 10 Januari 2015, GitHub tidak diblokir dan dapat diakses kembali. Sekali lagi, pada tanggal 12 September 2015, GitHub diblokir di seluruh India. Tapi situs itu tidak diblokir lagi setelah beberapa waktu.

Pada tanggal 25 Maret 2015, GitHub menjadi korban besar-besaran dari serangan DDoS yang berlangsung selama lebih dari 118 jam. Serangan itu, yang tampaknya berasal dari China, terutama ditargetkan untuk konten pengguna GitHub dan metode ini ditujukan untuk menghindari sensor internet.

Pada tanggal 8 Oktober 2016, Akses GitHub diblokir oleh pemerintah Turki untuk mencegah kebocoran email dari akun yang diretas milik Menteri Energi.

### Maskot
Maskot GitHub adalah Octocat, seekor kucing betina antropomorfisme dengan lima lengan mirip gurita. Karakternya diciptakan oleh desainer grafis Simon Oxley sebagai clip art untuk dijual di iStock, sebuah situs web yang memungkinkan desainer memasarkan gambar digital bebas royalti.

GitHub menjadi tertarik pada karya Simon Oxley setelah Twitter memilih seekor burung yang Simon Oxley rancang untuk logo mereka. Ilustrasi yang dipilih GitHub adalah karakter yang dimiliki Simon Oxley dengan nama Octopuss. Karena GitHub menginginkan Octopuss untuk logo mereka (penggunaan yang dilarang oleh lisensi iStock), mereka melakukan negosiasi dengan Simon Oxley untuk membeli hak eksklusif atas gambar tersebut.

GitHub mengganti nama dari Octopuss ke Octocat, dan merek dagang karakter bersama dengan nama baru. Kemudian, GitHub menyewa ilustrator Cameron McEfee untuk mengadaptasi Octocat untuk berbagai tujuan di situs web GitHub dan materi promosi; Cameron McEfee dan beberapa pengguna GitHub telah membuat ratusan variasi karakter.

### Struktur organisasi
Selama bulan Desember 2012, GitHub, Inc. pada awalnya adalah sebuah organisasi datar tanpa manajer menengah; dengan kata lain, "semua orang adalah manajer" (self-management). Karyawan dapat memilih untuk bekerja pada proyek yang menarik bagi mereka (alokasi terbuka). Namun, gaji ditetapkan oleh kepala eksekutif.

Pada tahun 2014, GitHub Inc. memperkenalkan lapisan manajemen menengah.

### Keuangan

GitHub adalah sebuah Perusahaan rintisan, yang pendapatan tahun pertama cukup didanai oleh tiga pendiri dan mulai memerlukan karyawan. Pada bulan Juli 2012, empat tahun setelah perusahaan ini didirikan, Andreessen Horowitz menginvestasikan 100 juta dollar untuk Modal usaha. Pada bulan Juli 2015 GitHub mendapatkan lagi dana sebesar 250 juta dollar dari pemodal usaha di seri B. Para investor tersebut adalah Sequoia Capital, Andreessen Horowitz, Thrive Capital dan pemodal usaha lainnya. Pada bulan Agustus 2016, GitHub baru saja membuat 140 juta dollar di pendapatan berulang tahunan.

## Layanan

### GitHub
Pengembangan platform GitHub dimulai pada tanggal 19 Oktober 2007. Situs ini diluncurkan pada April 2008 oleh Tom Preston-Werner, Chris Wanstrath, dan PJ Hyett.

Proyek-proyek di GitHub dapat diakses dan dimanipulasi menggunakan standar antarmuka garis perintah Git dan semua perintah standar Git dapat bekerja dengan benar. GitHub juga memperbolehkan pengguna yang terdaftar dan tidak terdaftar untuk menelusuri beberapa repositori publik di situs GitHub. Beberapa klien desktop dan plugin Git juga telah diciptakan oleh GitHub dan pihak ketiga lainnya yang terintegrasi dengan platform ini.

Situs ini menyediakan fungsionalitas jejaring sosial seperti seperti umpan web, pengikut, wiki (menggunakan perangkat lunak Wiki yang disebut Gollum) dan grafik jejaring sosial untuk menampilkan bagaimana para pengembang menggarap versi repositori mereka sendiri (fork) dan fork apa (dan cabang yang termasuk) yang memiliki aktivitas terbaru.

Seorang pengguna harus membuat sebuah akun dalam rangka untuk memberikan kontribusi mereka ke situs, tapi repositori publik dapat ditelusuri dan diunduh oleh semua orang. Dengan akun pengguna yang terdaftar, para pengguna dapat mendiskusikan, mengelola, membuat repositori, mengirimkan kontribusi untuk repositori orang lain, dan meninjau perubahan kode.

Perangkat lunak yang menjalankan GitHub ditulis dengan Ruby on Rails dan Erlang oleh para pengembang GitHub, Inc. yaitu Chris Wanstrath, PJ Hyett, dan Tom Preston-Werner.

#### Ruang Lingkup
GitHub sebagian besar digunakan untuk melakukan aktivitas pengodingan.

Selain kode sumber, GitHub mendukung format dan fitur sebagai berikut:
* Dokumentasi, termasuk membuat berkas README dalam berbagai format berkas seperti Markdown
* Pelacakan masalah (termasuk permintaan fitur) dengan label, milestone, penerima pengalihan dan mesin pencari
* Wiki
* Tarik permintaan dengan peninjauan kode dan komentar.
* Riwayat Komit
* Grafik: pulse, kontributor, komit, frekuensi kode, kartu punch, jaringan, anggota
* Integrasi Direktori
* Diff yang terpadu dan terbagi
* Pemberitahuan email
* Pilihan untuk berlangganan seseorang dan memberi pemberitahuan dengan @ menyebutkan nama pengguna mereka.
* Emoji
* Halaman GitHub: situs web kecil yang dapat di-host dari repositori publik di GitHub. Format URL adalah: http://*username*.github.io.
* Sekumpulan To-do list dalam berkas-berkas
* Visualisasi data geospasial
* Pembuat berkas 3D yang dapat ditampilkan menggunakan sebuah berkas penampil STL yang terintegrasi dan ditampilkan pada "kanvas 3D". Penampil ini didukung oleh WebGL dan Three.js.
* Format PSD dasar dari Photoshop dapat ditampilkan dan dibandingkan dengan versi sebelumnya dari berkas yang sama.
* Penampil dokumen PDF.

#### Perizinan repositori
Persyaratan Layanan dari GitHub tidak memerlukan proyek perangkat lunak publik yang di-host di GitHub untuk memenuhi definisi Sumber Terbuka. Untuk itu, penting bagi pengguna dan pengembang yang berniat untuk menggunakan software yang ditemukan di GitHub untuk membaca lisensi perangkat lunak dalam repositori (biasanya ditemukan dalam berkas "LICENSE", "LICENSE.txt", atau yang serupa) untuk menentukan apakah memenuhi kebutuhan mereka. Perjanjian Persyaratan Layanan, "Dengan menetapkan repositori Anda untuk dilihat publik, Anda setuju untuk mengizinkan orang lain untuk melihat dan menyalin (fork) dari repositori Anda."

### GitHub Enterprise
GitHub Enterprise adalah layanan yang mirip dengan layanan publik GitHub tetapi dirancang untuk digunakan oleh tim pengembangan perangkat lunak perusahaan dengan skala besar di mana perusahaan ingin menjadi tuan rumah repositori mereka di belakang firewall perusahaan.

### Gist
GitHub juga mengoperasikan layanan-layanan lain: situs bergaya pastebin bernama **Gist** yang disajikan untuk melakukan hosting potongan kode, dan layanan penginangan slide bernama Speaker Deck.

Tom Preston-Werner mempersembahkan fitur baru Gist pada sebuah konferensi punk rock Ruby pada tahun 2008. Gist dibangun di atas konsep tradisional dari pastebin dengan menambahkan kontrol versi untuk potongan kode, mudah forking, dan enkripsi SSL untuk paste pribadi. Karena setiap "gist" memiliki repositori Git sendiri, beberapa potongan kode dapat mengandung paste tunggal dan mereka dapat mendorong dan menarik kembali menggunakan Git. Selanjutnya, kode bercabang dapat didorong kembali ke penulis asli dalam bentuk *patch*, sehingga gist (paste) dapat menjadi lebih seperti mini-proyek.

### Program pendidikan
GitHub meluncurkan program baru yang disebut GitHub Student Developer Pack untuk memberikan siswa akses gratis ke alat pengembangan yang populer dan berbagai layanan. GitHub bermitra dengan Bitnami, Crowdflower, DigitalOcean, DNSimple, HackHands, Namecheap, Orchestrate, Screenhero, SendGrid, Stripe, Travis CI dan Unreal Engine untuk meluncurkan program ini.

### Layanan GitHub Marketplace
GitHub juga menyediakan beberapa software as a service untuk menambahkan fitur tambahan ke proyek. Layanan tersebut meliputi:
* Waffle.io: Manajemen proyek untuk tim perangkat lunak. Secara otomatis melihat pull request, build otomatis, meninjau, dan menyebarkan di semua repositori pengguna di GitHub.
* Rollbar: Integrasi dengan GitHub untuk menyediakan alat debugging real time dan pelaporan pengecualian full-stack. Rollbar kompatibel dengan semua kode bahasa yang digunakan, seperti JavaScript, Python, .Net, Ruby, PHP, Node.js, Android, iOS, Go, Java dan C#.
* Codebeat: Analisis kode otomatis khusus untuk pengembang web dan mobile. Bahasa yang didukung untuk perangkat lunak ini adalah: Elixir, Go, Java, Swift, JavaScript, Python, Ruby, Kotlin, Objective-C, dan TypeScript.
* Travis CI: Untuk meyakinkan aplikasi pengguna saat melakukan pengujian dan pengiriman, juga memberikan kontrol penuh atas build environment, untuk menyesuaikannya dengan kode pengguna. Bahasa yang didukung: Go, Java, JavaScript, Objective-C, Python, PHP, Ruby, dan Swift.
* GitLocalize: Dikembangkan untuk tim yang ingin menerjemahkan konten mereka dari satu ke yang lain. GitLocalize secara otomatis menyinkronkan dengan repositori pengguna, sehingga pengguna dapat menjaga alur kerjanya di GitHub.

## Lihat pula
* Git
* GitLab
* Bitbucket
* GitHub Copilot

## Referensi

## Pranala luar
* 
* Komunitas Git Indonesia 
* Daftar repositori yang dibuat dan kontribusi oleh masyarakat Indonesia