profile image

L o a d i n g . . .

작년 여름 스페인을 여행하던 중 시작한 오픈소스 Turso 기여와 관련해, 그동안의 경험과 배운 점을 정리하고자 오랜만에 블로그에 글을 남깁니다. 한창 활발히 기여하던 시기에는 일주일에 서너 개 이상의 PR이 머지되곤 했지만, 요즘은 잠시 쉬어가고 있습니다. 대신 예전부터 관심을 가졌던 액터 모델(Actor Model)을 스프링과 통합하는 spring-boot-starter-actor 프로젝트에 집중하고 있습니다. 잡설은 여기까지 하고, 이번 글에서는 Turso에 기여하면서 느꼈던 오픈소스의 매력과 그 속에서 얻은 개발자로서의 성장 경험을 나눠보고자 합니다. 

 

작년만 해도 약 500개 정도의 Star을 가지고 있던 Turso는 이제 15,000개에 육박하는 인기 프로젝트로 성장했습니다. 규모가 커지면서 전 세계의 다양한 배경을 가진 컨트리뷰터들이 모이기 시작했습니다. 초기 Maria DB 개발 멤버, 교도소에서 기여하는 친구, 소프트웨어 테스팅을 연구하는 대학원생 등, 정말 다양한 사람들이 있었습니다. 

저 또한 다소 특이한 배경을 가지고 있어 관련 인터뷰를 진행하기도 했는데, 이를 통해 오픈소스가 얼마나 다양한 사람들을 연결하는지 몸소 느낄 수 있었습니다. 

 

The Faces of Turso: Meet Seon Woo Kim

Turso is built by a large community of contributors. Today we get to know Seon Woo Kim

turso.tech

사람이 많아지면 소프트웨어 품질이 떨어지지 않을까 걱정도 되었지만, Turso의 주요 메인테이너 분들은 꼼꼼하고 체계적인 리뷰 문화를 유지하며 프로젝트를 안정적으로 이끌었습니다. 덕분에 Turso는 베타 릴리즈 단계까지 빠르게 진행된 상태이며, 저는 그 과정을 지켜보며 복잡한 시스템이 어떻게 설계되고 다듬어지는지를 간접적으로 체험할 수 있었습니다. 그 자체로 매우 값진 시간이었습니다.

 

 

오픈소스의 또 다른 매력은, 그 매력을 다른 사람들과 나눌 수 있다는 점입니다. 최근 제가 Turso를 소개했던 두 분의 PR은 이미 머지되었고, 지금도 활발히 이슈를 찾아 기여를 이어가고 있습니다. 

 

bindings/java: Implement setObject(int, Object) in JDBC4PreparedStatement by moonwhistle · Pull Request #3864 · tursodatabase/

Purpose Implement setObject(int, Object) to support binding of common Java types to SQL parameters in JDBC4. This implementation currently covers only standard JDBC4 supported types. LOB and strea...

github.com

 

 

Implement wasNull tracking in ResultSet getter methods by mingseok · Pull Request #3838 · tursodatabase/turso

Summary Implemented comprehensive wasNull tracking and refactored getter methods in JDBC4ResultSet to ensure JDBC specification compliance and improve code maintainability. Changes Added wasNull tr...

github.com

특히 제가 개발했던 Turso JDBC 드라이버가 Maven Central에 정식 배포되었을 때, 그 동안의 노력이 결실을 맺은 것 같아 무척 보람찼습니다. 

 

오픈소스를 시작하지 않았다면, 저는 아마 세계 각지의 뛰어난 개발자들을 만나지 못했을 것입니다. 오픈소스를 시작하지 않았다면, Turso처럼 빠르게 성장하는 프로젝트의 여정을 가까이에서 함께하지 못했을 것입니다. 그리고 오픈소스를 시작하지 않았다면, 이 소중한 경험을 다른 이들과 나눌 수도 없었을 것입니다. 개발자로서 오픈소스에 참여한다는 것은 단순한 코드 기여를 넘어, 세상과 연결되는 경험을 만드는 일이라고 생각합니다. 첫 기여는 누구에게나 막막하고 어렵습니다. 저 역시 그랬습니다. 하지만 그 단계를 넘어서면, 오픈소스는 단순한 취미를 넘어 진정한 즐거움과 배움의 장이 됩니다.

복사했습니다!