[우리가 모르는 개발자 생태계] 깃허브(Github)만으로 개발을 할 수 있을까

  • 김용욱 Dev2Job CMO
    입력 2020.10.02 06:00

    번 기고는 9월 25일자 [우리가 모르는 개발자 생태계] 개발할 때 깃(Git)을 써야 하는 이유와 관련된 내용이므로 함께 읽어보기를 권한다.

    제목에서 깃허브(Github)를 특정한 것은 별다른 이유라기 보다는 단지 가장 많이 사용하는 깃 서비스가 깃허브이기 때문이다. 특별히 애정을 갖거나 광고의 목적이 아님을 우선 밝혀 두고싶다. (개인적으로 필자는 깃랩(Gitlab)을 더 많이 사용하고 있다.)

    개발자들의 성지라고 불리는 깃허브? 아직도? 왜?

    깃허브가 개발자들 사이에서 차지하는 위치와 마이크로소프트에 인수 된 이후에 어떤 변화가 있었는지 우선 짚어 보고자 한다.

    깃허브는 전세계에서 가장 많은 개발자가 사용하는 대표적인 무료 깃 저장소(Git Repository) 서비스다. 한번도 사용하지 않은 개발자는 있어도 한번만 사용한 개발자는 없다는 이야기가 있을 정도로 말이다.

    다양한 깃 저장소 서비스가 있다. 하지만, 깃허브는 여전히 1위를 지키고 있다.

    원래 깃허브는 깃 호스팅 기능으로 자유소프트웨어(Free software)의 성지 역할을 했다. 하지만 2018년 마이크로소프트에 인수되면서 많은 개발자들을 불안하게 만들었다.

    왜냐하면 오픈소스(Open sources)를 부정적으로 대했던 마이크로소프트의 과거 태도 때문이다. 의외로 깃허브가 인수될 당시, 마이크로소프트의 CEO인 사티아 나델라는 이전의 CEO들과는 달리 오픈소스의 잠재력에 대해 큰 가치를 두고 있었다. 깃허브를 인수함으로써 마이크로소프트가 개발자의 생태계에 긍정적인 영향력을 줄 수 있다고 생각했는지 2019년 초반부터 유료였던 비공개저장소(Private repository)를 무료로 제공하기 시작했다. 2020년 4월부터는 비공개저장소의 작업자 수 제한도 풀어버렸다.

    그래서인지 지금은 마이크로소프트와 깃허브에 대한 개발자들의 부정적인 인식이 상당히 줄어들었다. 일부는 긍정적으로 변하기도 했다.

    깃허브가 마이크로소프트에 인수되면서 생긴 변화는 가격 정책만이 아니다.

    이전에 있던 기능들이 강화되거나 새로운 기능들이 추가되면서, 개발자들은 더욱 쉽고 편하게 깃허브를 사용할 수 있게 됐다. 새로 추가된 중요한 기능들을 살펴보자.

    Codespaces

    깃허브 내에서 바로 사용이 가능한 개발환경(IDE)으로 웹 브라우저 기반의 비주얼 스튜디오 코드 편집기가 포함되어 코드 작성 등의 기능을 지원한다. 이를 통해서 별도의 개발 도구가 없더라도 웹 브라우저를 통해서 개발이 가능하다.

    Action

    깃허브의 저장소(Repository)에 통합되어 제공되는 지속적 통합 서비스(Continuous Integration)로 저장소 푸시를 비롯해 깃허브 저장소에서 발생하는 다양한 이벤트를 기반으로 실행된다. 이는 Action이라는 단위로 작업을 수행하며, 이를 워크플로우로 구성하거나 이미 만들어져 있는 것을 사용하거나 직접 작성하는 것도 지원한다.

    Discussions

    개발자 간에 원격으로 소통할 수 있는 전용 공간이다. 대화내용은 모두 스레드 형식으로 프로젝트 저장소에 입력되어 관련 내용을 공유할 수 있다.

    Projects

    깃허브에서 사용할 수 있는 일종의 카드형태의 칸반보드로 이슈를 지정하고 공유하는데 유용하다. 별도의 도구를 사용하지 않고도 간단하게 프로젝트마다 이슈를 관리할 수 있다. 지금은 아틀라시안(Atlassian)에 인수된 트렐로(trello)를 생각하면 되겠다.

    Sponsors

    개발자 정기 후원 서비스로 깃허브 사용자나 팀을 후원할 수 있는 기능이다. 오픈소스 개발자나 개발팀에 대해 수수료 없이 후원이 가능하기 때문에 보다 안정적으로 개발에 집중할 수 있다. (안타깝게도 계좌 처리 문제로 한국은 포함되어있지 않고 있다.)

    지금까지 새롭게 출시된 깃허브의 신규 기능 중 일부를 살펴봤다.

    대부분 개발자들에게 유용한 기능들로, 보다 쉽고 편하게 개발할 수 있다는 장점이 있다. 하지만 한편으로 일부 개발자들은 마이크로소프트가 깃허브를 중심으로 다양한 기능들을 제공해 종속시키려는 것이 아닌가 하는 의구심을 갖기도 한다.

    깃허브에서 아무리 좋은 기능들을 제공해도 결국 이를 선택하는 것은 개발자와 이들이 속한 조직 혹은 기업의 몫이다. 깃허브만으로 개발을 할 수 있느냐 없느냐 하는 것은 의미가 없는 고민이라 생각한다. 개발의 편리성과 개발의 자율성/자유도 사이에서 적절한 판단과 선택이 필요하지 않을까 하는 것이 필자의 생각이다.

    ※ 외부필자의 원고는 IT조선의 편집방향과 일치하지 않을 수 있습니다.

    김용욱은 기업과 IT 개발자 Job Matching 전문 서비스 Dev2Job의 CMO로 재직 중이다. 20년간 한국과 일본의 IT 관련 업계에서 퍼블릭 클라우드, 프라이빗 클라우드, 금융 클라우드, 하이브리드 클라우드 관련 컨설팅을 해왔다. 현재는 개발자 채용 전문 서비스인 Dev2Job을 운영하고 있다.


    키워드