ThoughtBot 오픈 소스 패널: Ruby 기반 프로젝트와 기여 여정

Open Source Maintainer Panel | thoughtbot Open Summit

작성자
thoughtbot Youtube
발행일
2025년 11월 19일

핵심 요약

  • 1 ThoughtBot 개발자들이 Superglue, Rue, Administrate, Astronomy 등 다양한 Ruby 기반 오픈 소스 프로젝트의 개발 배경, 유지보수 경험 및 철학을 공유했습니다.
  • 2 패널리스트들은 오픈 소스 기여의 동기, 시간 관리 전략, 예상치 못한 도전 과제, 그리고 커뮤니티 참여를 통한 개발자로서의 성장에 대해 논의했습니다.
  • 3 각 프로젝트의 향후 계획과 목표를 발표하며, 사용자 피드백과 새로운 기여자들의 참여를 통해 오픈 소스 생태계를 더욱 풍성하게 만들고자 하는 의지를 표명했습니다.

도입

ThoughtBot이 주최한 오픈 소스 패널에서는 ThoughtBot 소속 개발자들이 자신들이 개발하거나 유지보수하는 주요 오픈 소스 프로젝트들을 소개하고, 관련 경험과 통찰을 공유했습니다. 이 패널에는 Rails와 React 통합 솔루션인 Superglue의 Johnny, CSS 프레임워크 Rue를 론칭한 Elena, Rails 관리자 대시보드 솔루션 Administrate의 유지보수 담당 Nick, 그리고 과학 천문학 Gem인 Astronomy의 Remy가 참여했습니다. 이들은 각자의 프로젝트가 해결하고자 하는 문제점과 오픈 소스 개발에 대한 개인적인 여정을 심도 있게 다루었습니다.

패널은 각 프로젝트의 개발 배경과 목적을 소개하는 것으로 시작되었습니다.

프로젝트 소개 및 개발 배경

  • Johnny (Superglue): 10년 전 단일 페이지 애플리케이션(SPA)의 복잡성에 대한 불만에서 시작되었습니다. Rails와 React 간의 호환성을 탐구하여 개발 프로세스를 단순화하고 효율성을 높이는 것을 목표로 합니다.

  • Elena (Rue): 오늘 론칭된 프로젝트로, CSS 프로젝트의 견고한 기반을 제공하여 개발자들이 Tailwind와 같은 프레임워크 없이도 네이티브 CSS를 활용하여 확장 가능하고 유지보수하기 쉬운 디자인 시스템을 구축하도록 돕습니다. 초기 프로젝트 설정 시 CSS 시작점에 대한 질문이 많았던 점이 개발 계기가 되었습니다.

  • Nick (Administrate): 약 8년간 유지보수해 온 Rails 관리자 대시보드 솔루션입니다. 수많은 관리자 대시보드 솔루션 중 Administrate의 개념적 작동 방식에 매력을 느껴 유지보수를 시작했습니다. 사용자들이 Rails 애플리케이션에서 빠르고 쉽게 관리자 대시보드를 생성할 수 있도록 지원합니다.

  • Remy (Astronomy): 과학 천문학 Gem으로, 천문학적 계산 방식을 이해하고 이를 오픈 소스로 제공하기 위해 시작되었습니다. Python에 유사한 라이브러리가 많지만, Ruby의 언어적 특성과 패턴을 활용하여 동일한 기능을 Ruby로 구현하고자 하는 열정에서 비롯되었습니다.

오픈 소스 기여 및 유지보수

  • 오픈 소스 선택 이유: Johnny와 Elena는 오픈 소스가 기본값이며, 공유와 협업의 자연스러운 방식이라고 설명했습니다. Elena는 개인적인 책임감을 유지하고 다양한 아이디어를 환영하기 위한 방법으로 오픈 소스를 선택했습니다.

  • 유지보수의 도전과제: Nick은 Administrate와 같이 광범위하게 사용되는 프로젝트의 경우, 변경 사항이 미치는 영향이 크므로 ‘느리고 신중하게’ 업데이트하는 것이 중요하다고 강조했습니다. 코드 폐기 시 Active Support의 폐기 기능을 활용하고, 테스트 스위트를 통해 변경 사항을 감지하도록 하며, Rails 버전 지원 범위를 넓게 가져가는 것이 중요하다고 언급했습니다. 또한, 프로젝트를 ‘지루하게’ 유지함으로써 사용자들이 쉽게 오버라이드하고 확장할 수 있도록 하는 것이 목표라고 밝혔습니다.

  • 시간 관리 및 기여 조언: Remy는 ThoughtBot의 투자 시간을 활용하며 개인 시간도 할애한다고 밝혔습니다. 그는 오픈 소스 기여가 반드시 새로운 기능 개발이나 큰 버그 수정일 필요는 없으며, 문서화 작업부터 시작하거나 자신의 작은 프로젝트를 오픈 소스화하는 것도 좋은 방법이라고 조언했습니다. Nick은 일상 업무의 일환으로 오픈 소스 도구를 사용하면서 문제가 발생하면 기여하는 것이 자연스러운 과정이라고 말하며, 매일 45분씩 PR을 검토하는 시간을 할애한다고 언급했습니다. Johnny는 오픈 소스 작업이 개인적인 ‘탈출구’ 역할을 했다고 말하며, 각자의 오픈 소스 여정은 독특하다고 강조했습니다.

  • 개발자로서의 성장: Johnny는 오픈 소스 프로젝트를 통해 버전 관리, 문제 해결, 그리고 예상치 못한 상황에 대처하는 법을 배웠다고 말했습니다. Remy는 다양한 관점에서 문제를 분석하고, 이전 버전과의 호환성을 고려하며, Ruby의 DNA에 맞는 API를 설계하는 과정에서 더 나은 개발자가 되었다고 설명했습니다.

향후 계획

  • Elena (Rue): 초기 단계인 만큼 사용자 피드백과 커뮤니티 기여를 통해 프로젝트를 발전시키는 것이 최우선 목표입니다.

  • Nick (Administrate): 문서화를 심화하여 사용자들이 커스텀 필드를 개발하고 프로젝트를 확장할 수 있도록 돕고, 테스트 커버리지를 강화하는 데 집중할 계획입니다.

  • Remy (Astronomy): 더 많은 사용 사례와 피드백을 통해 천문학 데이터를 보편적으로 활용하고, 새로운 아이디어와 관점을 가진 기여자들을 환영합니다.

  • Johnny (Superglue): Superglue 2.0 출시, 문서화 개선, 다양한 JavaScript 번들링 도구 지원, 그리고 기여하기 좋은 커뮤니티를 구축하는 것이 목표입니다.

결론

이번 오픈 소스 패널은 ThoughtBot 개발자들의 열정과 헌신이 담긴 다양한 Ruby 기반 오픈 소스 프로젝트들을 조명했습니다. Superglue, Rue, Administrate, Astronomy 프로젝트들은 각기 다른 문제 해결과 혁신을 추구하며, 개발자 개인의 성장뿐만 아니라 더 넓은 커뮤니티에 기여하는 중요한 역할을 수행하고 있습니다. 패널리스트들은 오픈 소스 유지보수의 현실적인 도전과제와 시간 관리 전략, 그리고 새로운 기여자들을 환영하는 열린 자세를 보여주었습니다. 궁극적으로 이들은 기술적 완성도를 넘어, 협력과 지식 공유를 통해 더 나은 개발 환경을 구축하고자 하는 오픈 소스 정신을 강조하며, 커뮤니티의 지속적인 관심과 참여를 독려했습니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!