ความแตกต่างระหว่าง GitHub, GitLab และ Bitbucket

Sakul Montha
Jan 12 · 4 min read
GitHub + GitLab + Bitbucket

GitHub, GitLab และ Bitbucket ล้วนแล้วแต่เป็นเครื่องมือในการจัดการ Code collaboration และ Version control โดยเป็นที่รู้กันว่า ณ ปัจจุบัน — ปี 2019
GitHub มีผู้ใช้สูงที่สุดใน 3 เจ้าที่กล่าวมา แต่อีก 2 เจ้าก็มีดีไม่แพ้กัน

วันนี้ผมจะพาทุกท่านไปดูกันว่า ทั้ง GitHub, GitLab และ Bitbucket เหมือน และแตกต่างกันอย่างไร รวมถึงพวก บริษัทชั้นนำของโลก เค้าใช้เจ้าไหนกันบ้าง

Git ไม่ใช่ GitHub, GitLab และ Bitbucket แต่พวกเขาทั้งสามต่างหากที่ใช้ Git


GitHub

GitHub

GitHub เป็น development platform ที่เอาไว้แบ่งปัน source-code ของเราให้กับชาวโลก ไม่ว่าจะเป็น co-workers, classmates, teammates หรือไม่ว่าใครก็ตาม
รองรับทั้ง open-source และ business คุณสามารถ host, review code, manage projects และสามารถ build software ได้แม้ตัวมันเองจะไม่มี build-in เหมือนเจ้าอื่น ๆ แต่ก็มีทูลอีกมากที่ทำมารองรับ

มีผู้ใช้ GitHub ราว ๆ 31 ล้านคน
มี Repository มากกว่า 100,000,000 repository (ผมคิดว่าท่านที่เข้ามาอ่าน อย่างน้อยคงจะมีกันไม่ต่ำกว่า 1 repo ใช่ไหมครับ ผมถือว่าท่านคือผู้สร้าง ฮ่า ๆ)
ปัจจุบันเป็นของ Microsoft

Company Used

มีบริษัทประมาณ 2,000,000 บริษัท ที่นำ GitHub ไปทำสำหรับ Business และ Organization ทั้ง Enterprise Cloud และ Enterprise Server เช่น airbnb, NetFlix, Medium, IBM, SAP, PayPal, Spotify, Bloomberg, StackShare

As of November 2018

GitLab

GitLab

GitLab เป็น Git repository management และเป็น Open-Source เจ้าเดียวที่ถูกนำมาเทียบ โดย GitLab เป็นอีกเครื่องมือหนึ่งที่ได้รับความนิยม สามารถทำ Code reviews, Issue tracking, activity feeds และ wikis ได้ เขาเคลมมาว่าแค่ Single GitLab server สามารถรองรับ users ได้มากกว่า 25,000 คน แล้วก็ยังสามารถรองรับได้สูงกว่านี้อีกถ้าหากใช้เครื่องที่มีคุณภาพสูงขึ้น หรือเพิ่มเครื่องขึ้นมา

ปัจจุบันที่เห็นก็คือเขาเน้นไปเอาดีทางด้าน DevOps lifecycle มากขึ้น เพื่อที่ต้องการให้ผู้ที่ใช้ GitLab สามารถทำงานร่วมกันได้ดีกว่า สร้างคุณสรรผลงานให้ลูกค้าได้รวดเร็วกว่า

จุดเด่นที่เด่นมาก ๆ เลยคือ Built-in CI/CD และ มี issue board มาตั้งแต่ Free repository โดยถ้าเราเข้าไปดูที่เว็บไซต์หลักของเขา จะเห็นตารางการทำงานแบบ CI/CD มาเลย

https://about.gitlab.com/

Company Used

มีบริษัทประมาณ 100,000 บริษัท ที่นำ GitLab ทำ Organization เช่น Nasa, ING, SONY, EA, Citrix, SIEMENS

https://about.gitlab.com/

Bitbucket

Bitbucket

Bitbucket เขาบอกว่าตัวเอง เป็นมากกว่าแค่ Git code management
เนื่องจาก Bitbucket เป็นสถานที่เอาไว้ plan project, collaborate code สามารถ test และ deploy ได้ โดยที่ทีเด็ดของ Bitbucket คือ ทุก Project สามารถตั้ง Private Git repositories ได้โดยไม่ต้องเสียเงินสำหรับ 5 Users (GitHub ก็ทำได้แล้วนะแบบฟรีสำหรับ 3 Users เหมือนกัน อุส่าห์จะฟรีทั้งทีเอาสัก 10 Users ต่อ Repo ก็ไม่ได้) แล้วก็ยังมีทีเด็ดอีกหนึ่งสิ่งที่ขาดไม่ได้ นั่นคือ Bitbucket มีเจ้าของเดียวกันกับ โทนาฟ อ่าวไม่ใช่!!

ตัว Bitbucket เป็นหนึ่งในผลิตภัณท์ของ Atlassian หลายคนอาจจะไม่คุ้นชื่อ แต่ถ้าบอกว่า Jira กับ Trello น่าจะร้องอ๋อ ซึ่งพอมันเป็นของจากบริษัทเดียวกัน มันก็เลยง่ายกับการนำมาทำ Integration, built-in CI/CD

Company Used

มีบริษัทจำนวนมากที่นำ Bitbucket มาใช้ เช่น PayPal, Salesforce, CicleCI, Starbucks, Tesla Motors, Bitbucket, Pandora


Compare

ตารางเปรียบเทียบระหว่าง GitHub, GitLab และ Bitbucket แบบฟรี

ตารางเปรียบเทียบ GitHub, GitLab และ Bitbucket smallest Pack
ตารางคำศัพท์

Pricing

ที่เอารูปมาให้ดูเป็นแค่ส่วนหนึ่งเท่านั้นของจริงยาวมาก สามารถเข้าไปดูเพื่อเปรียบเทียบได้อีกครั้ง

https://github.com/pricing#feature-comparison
SaaS vs Self-Managed // https://about.gitlab.com/pricing
On cloud และ Self-hosted

Conclusion

GitHub น่าจะเป็นตัวเลือกแรกเสมอ เวลาที่เราจะขึ้นอะไรใหม่ ๆ เนื่องจากมันเป็นคลังแสงเก็บ project open-source ต่าง ๆ มี Community ที่แข็งแกร่ง มีคนใช้เยอะที่สุดเหมาะกับทำงานร่วมกับชาวบ้าน

Bitbucket นั้นเป็นของ Atlassian ซึ่ง Atlassian มีผลิตภัณฑ์มากมาย เช่น Jira หรือ Trello ใครที่เป็นแฟน ๆ ของ Atlassian น่าจะไม่พลาด

GitLab เป็น open-source และสามารถ host ด้วยตัวเองได้ด้วย อีกทั้งตอนนี้ยังหันไปทำ CI/CD มากขึ้น ผมคิดว่าก็จัดเป็นตัวเลือกที่ดีทีเดียว เพราะการมี Build-in CI/CD มันทำให้ชีวิตสะดวกสบาย

จากที่ผมทำการ Research มาจะเห็นได้ว่า ทั้ง 3 เจ้านี้ถึงมันจะทำหน้าที่จัดการ Code collaboration และ Version control เหมือนกันก็ตาม แต่ในความเหมือนนั้น ก็ยังมีความแตกต่างซ่อนอยู่หลายสิ่ง รวมถึงรายละเอียดเล็ก ๆ น้อย ๆ ที่ไม่ได้ยัดลงมาในบทความ ทั้งนี้ก็ขึ้นอยู่กับคุณผู้อ่านแล้วหละ ว่าชอบแบบไหน อยากใช้เจ้าไหน…


Sakul Montha

Written by

Software Engineer Team Lead, A man who doesn’t believe in TDD, but trust in Unit test.