지난 6 개월 이상 동안 나는 sourceforge.net에서 호스팅되는 많은 코드와 다른 호스팅 사이트 "Move to GitHub"를 보았습니다. 'Github로 이동'이라는 문구가 포함 된 Google 검색은 github으로 이동 한 텍스트가 포함 된 여러 결과를 반환합니다. 이것은 매우 혼란스럽고 왜 사람들이 정확하게 움직이고 있는지 궁금합니다. GitHub가 더 좋거나 내가 보지 못하는 특별한 이점이 있습니까?
지난 6 개월 이상 동안 나는 sourceforge.net에서 호스팅되는 많은 코드와 다른 호스팅 사이트 "Move to GitHub"를 보았습니다. 'Github로 이동'이라는 문구가 포함 된 Google 검색은 github으로 이동 한 텍스트가 포함 된 여러 결과를 반환합니다. 이것은 매우 혼란스럽고 왜 사람들이 정확하게 움직이고 있는지 궁금합니다. GitHub가 더 좋거나 내가 보지 못하는 특별한 이점이 있습니까?
답변:
이는 분산 버전 제어 시스템 으로의보다 광범위한 마이그레이션의 증상입니다 .
전통적으로 비 분산 VCS (예 : Codeplex & SourceForge)를 호스팅 한 일부 웹 사이트는 DVCS (예 : Git 또는 Mercurial)에 대한 지원을 추가하는 데 약간 느 렸습니다. 따라서 프로젝트에 DVCS를 사용하려는 사람들은 프로젝트를 지원하는 제공 업체 (예 : Github 또는 BitBucket)로 프로젝트를 마이그레이션해야했습니다. Github는 DVCS 지원을 제공 한 최초의 업체 중 하나이므로 당연히 많은 사람들이 코드를 활용하여 코드를 활용했습니다.
다른 웹 사이트는 이제 DVCS를 따라 잡기 시작했지만 (예 : Codeplex는 이제 Mercurial & Git을 지원합니다) 풀링 요청 및 포크 제출과 같은 기능면에서는 여전히 뒤쳐져 있습니다. DVCS Github 및 Bitbucket을 실제로 활용하는 것이 여전히 최고의 옵션입니다.
프로젝트 호스팅은 인프라입니다. 인프라는 네트워크 효과를 나타내므로 더 많은 사람들이 연결 될수록 인프라가 더욱 유용 해집니다. (특히 유용성은 O (number_of_connections)입니다. 즉, 개별 구성원의 경우 O (total_members)이고 전체 시스템의 경우 O (total_members ^ 2)입니다. 결과적으로 자연 독점 (natural monopoly)이라는 효과가 발생합니다. 즉, 모든 사람이 동일한 시스템을 사용할 때 유용성이 극대화되기 때문에 한 명의 경쟁 업체 만 생존 할 수있는 시스템에서는 자연 스럽습니다.
따라서 시장 리더 인 GitHub에 합류하는 것이 합리적입니다. 더 저장소, 더 많은 사용자, 더 가지 더 수정, 더 있습니다 모든 소스 포지 (SourceForge), Google 코드 및 코드 플렉스에 비해 GitHub의에 결합 된 .
물론 흥미로운 질문은 네트워크 효과가 시장 리더가 자동으로 자연 독점을 얻는다는 것을 의미한다면, GitHub가 어떻게 SourceForge를 파괴 할 수 있었습니까?
이에 대한 해답은 너무 작은 인프라로 인해 훨씬 더 작은 인프라에 가입하는 것이 초기 채택 자에게는 그만한 가치가있었습니다.
이유 중 하나는 독자가 다르다고 생각합니다. sourceforge는 주로 응용 프로그램 을 호스팅하기위한 것입니다. 아마도 프로젝트 페이지의 가장 두드러진 특징은 컴파일 된 실행 파일 (또는 다른 다운로드)에 대한 링크 일 것입니다. 즉, 개발자가 아닌 사용자를 대상으로 합니다 .
반면에 github은 주로 소스 코드 를 호스팅하기위한 것이며 프로젝트 페이지에서 가장 두드러진 특징은 master
지점의 디렉토리 목록입니다 . 사용자가 아닌 개발자 (프로젝트의 코드를 수정하거나 사용하려는)를 대상으로 합니다.
이것이 개발자 대상 도구와 라이브러리가 github으로 이동하는 이유 중 하나라고 생각합니다.
Sourceforge 도 Git을 제공 하지만 Github는 (현재) 더 잘 수행합니다.
제 생각에 그들의 살인자 기능 은 "네트워크 그래프"입니다.
차이점 gitk
: 또한 다른 사람들의 지점에서 가지를 당길 필요가 없음을 보여줍니다. 이는 공동 작업 할 때 매우 중요합니다.
GitHub는 간단하고 사용하기 쉽고 시작하기 쉽고 강력하며 멋지게 보이며 웹 2.0 버전입니다.
GitHub를 사용하고 있으며 일련의 메뉴 뒤에 숨겨져 있고 설정 작업을 위해 상당히 정교한 작업이 필요한 SourceForge보다 사용하기가 훨씬 쉽습니다. 저는 프로그래머입니다.
또한, 개인이 첫 번째 오픈 소스 프로젝트를 어딘가에 게시하려고하는지 또는 상업적 (비공개) 프로젝트에서 공동 작업을 원하는 팀이든, GitHub은 거의 모든 사람에게 완벽하게 완벽하게 "확장"합니다 사용 사례.
하루가 끝나면 인간 심리학에 대해 생각합니다. 제품이 사용하기 쉽고, 사용하기 쉽고, 저렴한 (또는 무료) ... 외관이 좋으며 친구에게 추천 할만한 것입니까? GitHub의 경우 모든 질문에 예라고 대답합니다.
또한 아직 언급하지 않은 github에서 제공하는 꽤 스매싱 기능을 고려해야합니다.
다른 사이트에는 이러한 기능이있을 수 있지만 모든 사이트가없는 사이트는 확실합니다.
이 사람들은 거의 모든 곳에서 웹과 데스크톱에 기술적 인 이점을 느리게 분산시킵니다. 우리가 말하면서 그들은 점점 더 커지고 있으며 최고의 엔지니어를 고용하고 있습니다 (마이크로 소프트에서 Phil Haack을 훔칠 수도있었습니다 ...).
GitHub에 추가 개발자를 끌어들이는 또 다른 이유 중 하나는 개발자 도구가 git을 수용하기 시작했으며 Eclipse와 같은 플랫폼은 이제 즉시 Git 지원 기능을 내장하고 있기 때문입니다 (Java, C ++ 개발자 등의 패키지에 적용됨). 프로젝트를 GitHub에 업로드하는 데 걸리는 단계가 줄어 듭니다.
솔직히 말해서, Git의 가장 중요한 것은 내가 볼 때 나 자신을 위해 : 1. 네트워크 그래프 또는 내가 역사를 불러야한다 (또한 논평) 2. Branch and Pull Request 3. 더 강력하고 사실이라고 말할 것입니다. 내 모든 일을 담당하는 비서가있는 것 같은 느낌이 들며, 그 초에게 나에게 무엇이든, 변화, 모든 것을 적어 놓으라고 말할 수있다! 4. 롤백하기 쉽다
그냥. 그것을 사용하여 섹시한 느낌