문제

~ 안에 이 질문, 나는 Rubyforge 보석이 Github 포크보다 공식적이고 권위 있고 안정하다는 가정을 언급했습니다. 내 질문에 대답하는 사람들 중 한 명이 내 가정이 정확하지 않을 것이라고 말했다.

무엇을 관찰 했습니까? 사람들은 Github를 사용하여 조기에 석방되어 자주 석방되며, Rubyforge에 안정적인 릴리스를 두거나 다른 이유로 Rubyforge에서 덜 자주 출시됩니까 (예 : Rubyforge가 번거 로움이 더 많음)?

업데이트:이 질문은 이제 약간의 무리입니다. Github 보석이 소멸되었습니다, 그리고 루비 포지 보석 rubygems.org로 옮길 것입니다.

도움이 되었습니까?

해결책

내가 알 수있는 한 차이는 없습니다.

두 소스의 보석의 품질/안정성에는 큰 범위가 있습니다. 일부는 견고하고 다른 일부는 알파 전 품질입니다.

그것은 실제로 보석 프로젝트 자체에 달려 있습니다.

그러나 Github 모델은 문제를보다 빠르게 전환 할 수 있다고 말했습니다. 프로젝트를 포크하고 버그를 수정 한 후 원래 소스에 포함되도록 다시 제출하는 것이 훨씬 쉽습니다. 따라서 적어도 인기있는 프로젝트에서 버그가 더 빨리 고정됩니다. 아마도 그것은 프로젝트를 더 빨리 성숙하게하는 데 도움이되지만 모르겠습니다.

다른 팁

내가 알아 차린 것은 Rubyforge의 보석의 전반적인 품질과 비교하여 Github를 통해 출시 된 GEM의 품질 감소입니다.

IMHO이 행동에 대한 두 가지 주요 설명이 있습니다.

--

Github 이전 이전에 Rubyist의 99%가 전복에 의존했습니다. 당신은 당신이 전복에 대해 원하는 것을 말할 수 있지만, git과 비교할 때 사용하기가 더 쉽고 모두가 트렁크/태그/분기 레이아웃을 알고 있습니다. 그런 다음 사람들은 git으로 이사하기 시작했습니다. 초소형의 전복 사용자만이 필요한 지식 수준으로 GIT를 사용하기 시작했으며 사람들이 태그에 대해 잊어 버리기 시작했다는 것입니다.

옛날 옛적에 태그가있었습니다. Subversion에서 사람들은 특정 태그를 기반으로 새 버전을 출시하여 설치 한 버전과 안정적인 지점을 쉽게 감지 할 수 있습니다.

요즘 나는 GIT 마스터 브랜치에서 항상 수많은 도서관이 개발중인 것을 본다. 태그도없고 안정된 가지가 없습니다. 일반적으로 Rubyforge를 통해 출시 된 라이브러리가 배포 단계에 더 많은 관심이있었습니다.

--

Github는 출판 단계를 더 이상 번거 로움으로 만듭니다. 즉, Gemspec을 저장소에 밀어 넣는 새로운 보석을 쉽게 게시 할 수 있습니다.

제 생각 에이 단순성은 품질이 낮을 수 있습니다. 더 숙련 된 개발은 보석상 (또는 유사한 라이브러리)으로 새로운 프로젝트를 생성하고 git 저장소를 밀어 넣는 것만 큼 쉽기 때문에 보석을 배포하기 시작했습니다. 릴리스 관리, 후진 호환성, 릴리스 범프, 릴리스 유지 보수에 대해 더 많이 알지 못했습니다.

종종 개발자가 .gemspec 파일을 원격하는 것을 잊었 기 때문에 보석으로 포장 된 미완성 라이브러리를 발견했습니다. 각 커밋으로 인해 새로운 보석이 명백한 일관성과 일관성없이 건설되었습니다.

나는 "종종 릴리스"연습을 위해 절대적으로 찬성하지만 그것이 의미가있을 때. GIT는 우수한 지점 지원을 제공하며, 마스터 브랜치를 수많은 관련없는 커밋으로 혼란스럽게 만들 필요가 없으며 라이브러리를 호출하는 미완성 된 코드를 공개 할 필요가 없습니다.

--

마지막으로, 내가 가장 싫어하는 것은 같은 보석의 무제한 복제입니다. Rubyforge가 도전받지 않은 GEM 소스 였을 때 새로운 프로젝트를 찾아 설치하기가 매우 쉽습니다.

IMHO, GITHUB는 불필요한 복잡성 층을 도입했습니다. 먼저 Rubyforge를 통해 보석을 사용할 수 있습니다. mygem 그리고 github를 통해 username-mygem. 당신은 종종 어떤 보석이 가장 업데이트되고 마스터 개발을 보유하고 있는지 알아 내기 위해 시간을 보내야합니다.

또한, 일부 인기 보석은 더 이상 Rubyforge에서 업데이트되지 않았으며 Rubygems가 새로운 버전에 대해 알리지 않기 때문에 많은 사람들이 계속 사용하고 있습니다. 설치 한 경우 이해하기 쉽습니다 coolgem 릴리스 1.2.4 및 동일한 라이브러리는 이제 SuperUser-Coolgem (릴리스 2.0)으로 제공됩니다. RubyGems는 새로운 업데이트를 사용할 수 있다고 말할만큼 영리하지 않습니다.

--

이제 면책 조항을위한 시간입니다.

나는 Github 사용자가 Rubyforge와 비교하여 엉터리 보석을 생산한다고 말하는 것이 아닙니다. 저는 Github 사용자이고 이전에 Rubyforge 사용자였습니다. 수천 개의 보석이 "하나의"림보에 최종 사용자를 떠나지 않고 Rubyforge에서 Github으로 성공적으로 이주했습니다.

가장 좋은 예제 레일이지만 Capistrano, HPRICOT, REDCLOTH를 포함한 다른 많은 보석을 언급 할 수 있습니다. 모든 라이브러리는 이제 GitHub에서 호스팅되며 신중하게 보면 동일한 수준의 동일한 수준을 쉽게 인식 할 수 있습니다. 이전과 같은 품질.

마지막으로, 모든 라이브러리는 Rubyforge를 통해 마스터 소스로 계속 출시되므로 레일 레일 또는 레일을 설치하는지 여부를 감지하기 위해 환경을 재구성 할 필요가 없습니다.

또한 최종 사용자는 개발 결정의 영향을받지 않습니다. 예를 들어 Capistrano를 가져 가십시오. 몇 달 전 Jamis는 개발에 대한 약속의 끝을 발표했습니다. 커뮤니티는 개발을 담당하고 마스터 저장소를 Jamis/Capistrano에서 Capistrano/Capistrano로 옮겼습니다. 보석이 Jamis-Capistrano로 풀려나면 어떻게 될까요? 모든 사용자는 번거 로움이 많은 새 보석과 새 저장소로 전환해야합니다.

이 시나리오는 Rubyforge가 주요 Capistrano Delivery Hub 이었기 때문에 결코 발생하지 않았습니다.

--

결론적으로, 나는 불행히도 필요한 수준의 지식없이 더 많은 사람들이 Ruby와 Rubygem에 접근하여 주로 발생하는 GEM 품질의 전반적인 감소를 주목합니다. 많은 레일 플러그인에도 동일하게 적용됩니다.

Github는 범인으로 표시 될 수 없습니다. 복잡한 것들이 더 쉬워지고 더 많은 사람들이 근본적인 지식없이 그들에게 접근 할 때, 복잡성이 자연 선택 과정이기 때문에 품질이 감소 할 수 있다는 것은 정상입니다.

어쨌든 루비 커뮤니티에는 여전히 우수한 품질이 있습니다. 루비 개발자가 단위 테스트 및 기타 전문 프로그래밍 습관에 어떻게 노력하는지 보는 것은 놀라운 일입니다.

아마도 덜 안정적이고 약간 더 최신 정보 :) -r

마지막으로 귀하의 질문에 답하기 위해 : Gemcutter는 Rubygems의 새로운 장소이기 때문에 언급 한 두 자원 (Rubyforge, Github)은 이제 더 이상 사용되지 않습니다.

Gemcutter는 새로운 공식 기본 Rubygem 호스트입니다.http://www.rubyinside.com/gemcutter-is-the-new-foficial-default-rubygem-host-2659.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top