본 발표는 루비 커뮤니티의 능동적인 기여를 촉진하기 위한 두 가지 주요 관점을 제시합니다.
루비 언어의 실험적 확장과 커뮤니티 기여첫 번째 발표자는 루비 언어의 파싱 및 수정이 예상보다 용이함을 강조하며, 사용자들이 직접 루비 언어의 새로운 변형을 만들고 공개할 것을 제안합니다. 이는 루비의 ‘크리스마스 릴리스’ 전통을 이어받아 사용자들이 직접 ‘선물을 주는’ 주체가 되어야 한다는 메시지를 담고 있습니다. 발표자는 다음과 같은 실험적 루비 버전을 시연하며 루비의 확장 가능성을 보여주었습니다.
- XRuby: XML 리터럴을 루비에 통합한 형태로, 스칼라(Scala)의 영향을 받아 XML을 직접 코드 내에 작성할 수 있도록 합니다.
- Objective Ruby: 오브젝티브-C(Objective-C)와 유사한 문법을 루비에 적용하여, 클래스 정의 및 메서드 호출을 오브젝티브-C 스타일로 구현할 수 있게 합니다. 이는 루비의 객체 지향적 특성을 더욱 강조합니다.
- Fuzzy Ruby:
if문에 확률적 실행 기능을 추가하여, 코드 블록이 특정 확률(예: 80%probably, 50%maybe, 20%perhaps)로 실행되도록 합니다. 이는 예측 불가능한 동작을 통해 새로운 프로그래밍 패러다임을 탐색합니다.이러한 시연들은 루비 코어의 수정이 생각보다 어렵지 않으며, 커뮤니티 구성원 누구나 루비의 발전에 기여할 수 있음을 시사합니다.
협업 기반의 문서 관리 및 출판 시스템 구축두 번째 발표자는 루비 기술 서적의 짧은 수명 문제를 지적하며, 이를 극복하기 위한 협업 기반의 문서 관리 및 출판 시스템의 필요성을 강조합니다. 단일 저자에 의존하는 방식으로는 지속적인 업데이트가 어렵기 때문에, 여러 사람이 쉽게 문서를 갱신하고 편집할 수 있는 환경이 필요하다는 것입니다.
- 문제점: 루비 기술 서적은 기술 변화에 따라 빠르게 구식이 되어 수명이 짧습니다. 기존 서적의 개정판 발행은 저자에게 큰 부담이 됩니다.
- 해결 방안: 저자에 구애받지 않고 다수가 지속적으로 기여할 수 있는 문서 관리 시스템을 구축하여, 기술 서적이 ‘시간을 초월’할 수 있도록 합니다.
- 구현 도구 및 비전:* Review: 아오키(Aoki) 씨가 개발하고 무토(Mutou) 씨가 유지보수하는 마크업 언어 및 변환기로, 루비 레시피 북 및 루비 컨퍼런스 자료 작성에 활용됩니다. 인디자인(InDesign), ePub, LaTeX 등으로 출력 가능합니다.
- Redmine + Gitsis: 프로젝트 관리 시스템인 Redmine과 다중 사용자 Git 환경인 Gitsis를 활용하여 문서 소스 코드 관리를 통합합니다.
- Redmine DocPub Plugin (개발 중): Redmine 플러그인으로, Review 소스 코드 기반의 문서를 Redmine 내에서 관리하고 실제 문서를 생성하는 기능을 제공합니다.
- 최종 비전: ‘문서용 GitHub’와 같은 플랫폼을 구축하여, 사용자들이 문서를 포크(fork)하고 편집하며, 나아가 출판하고 판매할 수 있는 생태계를 조성하는 것입니다. 이는 루비 커뮤니티가 지식 공유와 협업을 통해 기술 문서의 생명력을 연장하는 데 기여할 것입니다.