GitHub adalah layanan hos web bersama untuk proyek pengembangan perangkat lunak yang menggunakan sistem kendali versiGit 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.[5]
GitHub menawarkan paket repositori pribadi dan gratis pada akun yang sama[6] dan digunakan untuk proyek perangkat lunak sumber terbuka.[7] Pada bulan April 2017, GitHub melaporkan bahwa mereka mempunyai lebih dari 20 juta pengguna dan lebih dari 57 juta repositori,[8] menjadikannya layanan terbesar dari kode sumber di dunia.[9]
GitHub mempunyai sebuah maskot yang bernama Octocat, seekor kucing dengan lima tentakel dan wajah seperti manusia.[10][11] Pada tahun 2018, dilaporkan bahwa Microsoft mengakuisisi GitHub.[12]
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 Indonesis[13] pada 18 Oktober 2007.[14] 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.[15]
Pada tanggal 25 Juli 2010, GitHub mengumumkan bahwa situs tersebut mempunyai 1 juta repositori.[16] Pada tanggal 20 April 2011, GitHub mengumumkan bahwa situs tersebut mempunyai 2 juta repositori.[17]
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.[18]
Pada tanggal 9 Juli 2012, Peter Levine, Partner umum di GitHub Investor Andreessen Horowitz, menetapkan bahwa GitHub telah meningkatan pendapatannya pada angka 300% setiap tahun sejak tahun 2008 "menguntungkan hampir seluruhnya".[19]
Pada tanggal 16 Januari 2013, GitHub mengumumkan telah melewati 3 juta pengguna dan kemudian mempunyai lebih dari 5 juta repositori.[20] Pada tanggal 23 Desember 2013, GitHub mengumumkan telah mencapai 10 juta repositori.[21]
Pada bulan Juni 2015, GitHub membuka sebuah kantor di Jepang yang mana itu adalah kantor pertama GitHub di luar Amerika Serikat.[22]
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.[23]
Dengan rilis pertama pada tanggal 21 Juli 2017, browser web Brave menjadikan GitHub sebagai salah satu mesin pencari defaultnya.[25]
Pada tanggal 28 Februari 2018, GitHub menjadi korban serangan DoS terbesar sepanjang sejarah, dengan lalu lintas masuk mencapai sekitar 1,35 terabit per detik.[26]
Pada tanggal 4 Juni 2018, Microsoft mengakuisisi GitHub sebesar 7,5 miliar dollar.[27]
Pada tanggal 19 Juni 2018, GitHub memperluas GitHub Education dengan menawarkan bundel pendidikan gratis ke semua sekolah.[28][29]
Penyensoran
Pada tanggal 3 Desember 2014, GitHub diblokir di Rusia selama beberapa hari lebih karena seorang pengguna memposting cara manual bunuh diri.[30]
Pada tanggal 31 Desember 2014, GitHub diblokir di India (bersama 31 website lainnya) karena terlalu banyak mengandung konten pro-ISIS yang diposting oleh pengguna.[31] 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.[32] Serangan itu, yang tampaknya berasal dari China, terutama ditargetkan untuk konten pengguna GitHub dan metode ini ditujukan untuk menghindari sensor internet.[33][34][35]
Pada tanggal 8 Oktober 2016, Akses GitHub diblokir oleh pemerintah Turki untuk mencegah kebocoran email dari akun yang diretas milik Menteri Energi.[36]
Maskot
Maskot GitHub adalah Octocat, seekor kucing betina antropomorfisme dengan lima lengan mirip gurita.[10] Karakternya diciptakan oleh desainer grafis Simon Oxley sebagai clip art untuk dijual di iStock,[37] 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.[38] Ilustrasi yang dipilih GitHub adalah karakter yang dimiliki Simon Oxley dengan nama Octopuss.[37] 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.[37]
GitHub mengganti nama dari Octopuss ke Octocat,[37] 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.[39]
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).[40] Karyawan dapat memilih untuk bekerja pada proyek yang menarik bagi mereka (alokasi terbuka). Namun, gaji ditetapkan oleh kepala eksekutif.[41]
Pada tahun 2014, GitHub Inc. memperkenalkan lapisan manajemen menengah.[42]
Keuangan
GitHub adalah sebuah Perusahaan rintisan, yang pendapatan tahun pertama cukup didanai oleh tiga pendiri dan mulai memerlukan karyawan.[43] 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.[44] Pada bulan Agustus 2016, GitHub baru saja membuat 140 juta dollar di pendapatan berulang tahunan.
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,[48] 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
Pembuat berkas 3D yang dapat ditampilkan menggunakan sebuah berkas penampil STL yang terintegrasi dan ditampilkan pada "kanvas 3D".[53] 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."[54]
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.[55]
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.[56] 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.
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.
^"GitHub". GitHub (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal March 22, 2021. Diakses tanggal 2020-09-06.Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan)
^Wanstrath, Chris (10 April 2008). "We Launched". GitHub. Diarsipkan dari versi asli tanggal 2015-03-12. Diakses tanggal 2011-12-11.
^Georgios Gousios; Bogdan Vasilescu; Alexander Serebrenik; Andy Zaidman. "Lean GHTorrent: GitHub Data on Demand"(PDF). The Netherlands: Delft University of Technology & †Eindhoven University of Technology: 1. Diarsipkan(PDF) dari versi asli tanggal 2022-09-12. Diakses tanggal 9 July 2014. During recent years, GITHUB (2008) has become the largest code host in the world.
^ ab"FAQ of Octocat". github.com. Diarsipkan dari versi asli tanggal 2016-11-14. Diakses tanggal 21 September 2015.