본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

더 강해져서 돌아왔다. Yona

 

개발자라면 한번쯤은 사용이 편하고, 성능 좋고, 언제든 다른 서비스로의 이전이 가능한 협업개발플랫폼이 있으면 좋겠다는 생각이 들 때가 있다. 그것이 바로 Yona(이하 요나)다. 네이버가 무료로 선보인 Yobi(이하 요비)의 Fork(포크) 버전으로 이전버전을 능가하는 막강한 기능으로 다시 돌아왔다. 사실 요비도 기존 협업 개발 도구들이 가지고 있는 단점들을 극복하며 선전하였지만 요나는 전작 대비 대규모/대용량 지원, 다양한 모바일 디바이스 지원, Github 로 이전지원 등의 기능을 제공하며 꽤 괜찮은 솔루션으로 평가 받고 있다.

 

 

- 기관 네이버(Yona project)
- 수행년도 2016년
- 도입배경 프로젝트 진행시 코드, 이슈, 산출물 등의 체계적인 관리 필요
- 솔 루 션 Play framework 2 + JAVA+ Scala, ORM(EBean), JGit, Bootstrap 기반의 커스텀 CSS, MariaDB
- 도입효과 강력한 기능의 대용량 협업 업무지원 및 설치가 쉽고 무료 사용

 

 

yona_logo.png

네이버는 Naver D2를 통해 네이버가 축척한 기술과 지식을 공유하여, 개발자의 역량강화 및 개발자 상생 생태계 지원을 지속해 오고 있다. 요비 프로젝트 역시 이렇게 탄생하게 되었다. 사내 프로젝트로 시작하여 이제는 꽤 알려진 요나 프로젝트로 진보해 가고 있다.

 

공개SW 철학에 충실하자

 

2012년 사내에서 시작된 요비 프로젝트는 네이버가 공개SW 생태계 확산에 기여할 수 있도록 윤활유 역할을 수행했다. 오픈소스를 가져다 무료로 쓰는대신 이것의 성능을 개선하여 원래 프로젝트에 컨트리뷰트 하는 방식이다. 이것은 공개·참여·공유의 공개SW 철학에 부합하며, 개발 기여도가 낮은 국내 프로젝트 상황에 좋은 본보기라 할 수 있다. 현재 요나 프로젝트의 모든 소스는 공개되고 공유되어 관심 있는 개발자의 참여가 가능하다.

 

yona_website.png
< Yona 프로젝트 사이트 (https://repo.yona.io) >

 

함께 일하는 협업도구가 필요해

 

GitHub, JIRA, GitLab, SourceForge등 다양한 협업개발도구들이 존재한다. 하지만 이들 도구들은 개발팀 위주의 기능이거나 혹은 비개발자, 스텝들만이 사용하는 제품들이 다수를 차지하고 있다. 이를테면 코드를 참조해서 이야기하고, 디자인 시안을 같이 보고, 만들어진HTML/CSS파일들을 별도의 작업공간 필요 없이 바로 보며 함께 의견을 나눌 수 있는 협업도구가 필요했다. 그래서 개발된 도구가 요나이다. 요나는 기획자부터 시작해서 코드를 커밋하는 개발자까지 하나의 플랫폼에서 서로 공간을 오가면, 막힘없이 함께 일할 수 있는 도구다.

 

요비 프로젝트부터 요나 프로젝트까지 처음부터 만들고 참여해온 채수원 네이버 개발자는 ‘어떤 프로젝트이든 처음에 프로젝트를 시작할 때는 누군가가 팀 멤버들이 함께 일할 수 있도록 프로젝트 환경을 세팅해 주어야 한다. 보통 이일은 리드 개발자나 아키텍트들이 진행하는 경우가 많은데 의외로 손이 많이가고 시간도 많이 소요된다. 게다가 프로젝트 진행과정 이나 종료시에 지식들이 제대로 유지되기가 어렵고, 관련자료들이 외부에 유출되지 않고 내부에서 안정적으로 유지될 수 있는 시스템이 필요한 경우가 많다. 그래서 그런 부분을 보완할 솔루션이 필요했고, 그 결과물이 요비 였고 지금의 요나이다’ 라고 말문을 열었다.

 

직관적인 메뉴 구성, 간편한 파일 첨부, 공유 등 매우 쉽게 사용할 수 있다. 요나는 설치형으로 제공되기 때문에 필요한 만큼 보완수준을 높이거나 나출 수 있으며, 데이터 및 자료에 대한 확실한 보호 그리고 원하는 보호, 원하는 형태로의 모든 접근이 가능하다. 또한 외부 서비스의 정책변경, 종료 등 다양한 의도치 않은 상황에도 충격을 받지 않는다.

 

yona_naver.jpg

요나의 전신인 요비는 이미 네이버 내부에서 수천명이 수천 개의 프로젝트를 수년간 매일같이 실제 제품, 서비스를 만드는데 사용되어 왔으며, 비 개발팀/Staff 조직 등 다양한 조직에서 진입장벽 없이 사용될 수 있게 구성되어 있다. 메일로 진행하던 업무를 이슈 기반으로 변경하는 등 전반적인 업무스타일에 변화를 가져올 만큼 쉽고 강력하게 사용되고 있다.

 

처음에는 코드 저장소의 기능 위주로 더 많이 쓰였지만 현재는 거의 절반 가까운 비율로 오로지 공동 업무 진행을 위한 이슈트래킹 프로젝트로도 적극 사용되고 있다. TF 진행이나 문서저장소, 스터디, 개인 학습정리용 등등 구성이 간단하고 기능이 강력해서 많은 팀들이 코드 없는 프로젝트로, 필요 없는 메뉴는 감춰놓고 사용하고 있다. 그리고 약 100여개의 사이트에서 요비/요나가 운영되고 있다.

 

요나의 활용에 대해서 네이버 채수원 개발자는 '요나는 설치가 쉽고 UI가 단순해서 누구나 간편하게 사용할 수 있게 구성되어 있다. 내부망에 코드저장소가 필요한 회사나 기관, 학교뿐만아니라, 이슈와 업무 할당 기반으로 일하는 곳이라면 어디든 사용이 가능하다. 현재 콜센터, 병원, 웹에이전시 등 다양한 곳에서 그런 방식으로 활용되고 있다’고 말한다.

 

요나는 잘 만들어졌다

 

네이버 채수원 개발자는 ‘요나의 전신 요비를 만들 당시 설치형 제품이며, 사용자가 번거러움이 적도록 All-In-One 스타일로 만드는 것이 하나의 방향이였으며, 요비 자체가 공개SW이며 수 많은 공개SW를 사용해서 만들어졌다’ 라고 말한다. 예를 들어 서버쪽 라이브러리들만 보더라도 JGit(Git 저장소 내장 기능), SVNKit(Svn 저장소 내장 기능), Apache TiKa(파일 콘텐츠 판별), Semver(버전체계 관리), Apache Mail/Esay Mail(알림 이메일 발송), JExcel(엑셀 다운로드 기능) 등 다양한 공개SW 조합으로 구성되어있으며, 상용으로 사용하더라도 문제가 생기지 않도록 늘 라이선스에 주의하며 도입한다고 한다.

 

yona_architecture.png
<Yona 구성도>

 

요나는 요비에서 포크된 이후에 많은 개선이 이루어졌다. 대표적인 것으로 마리아디비(MariaDB)를 채용하여 대규모/대용량 환경을 지원하며, 다양한 모바일 디바이스 지원, 온라인 코드 커밋, 보안개선, 간소화된 업데이트 및 백업, Github이전 지원, 더 편리해진 UX, LDAP 로그인 및 소셜로그인 지원, 프로젝트별 Export 등 상당부분 성능개선이 이루어졌다.

 

또한 요나는 요비에서 포크되었기 때문에 코드관리, 저장소, 코드리뷰, 협업코드교환, 이슈트래커 등의 기능을 유지하고 있으며, 설치형 프로젝트 호스팅 SW를 지향하기 때문에 보안에도 비교적 견고하다. 또한 강력한 그룹 기능, 메일연동 기능으로 일상적인 업무에서 개발 전반에 걸쳐 다양한 기능을 포함하고 있어 전천후 협업개발 플랫폼으로 불려도 손색이 없다. 그뿐만 아니라 윈도우, 맥, 리눅스 등의 다양한 환경에서 비교적 설치가 쉽다.

 

향후 요나 프로젝트는 상용 이슈트래커에 준하는 편의와 활용성을 높일 도구들을 추가로 제공할 예정이다.

 

앞으로 커뮤니터를 통해 더 발전할 것

 

요나 프로젝트는 네이버 D2 프로그램의 지원을 기반으로 더 큰 그림을 그려가고 있다. 일각에서는 잘나가던 요비 프로젝트를 중단하고 포크된 요나 프로젝트의 변경에 대해 말이 있을 수 있지만, 무한경쟁에서 경쟁력강화를 위해서는 불가피한 선택일 수도 있다. 네이버 채수원 개발자는 이에 대해 ‘공개SW는 흐르는 물과 같아서 고이거나 멈추면 그 생명을 다 할 수 밖에 없는 생태계를 가지고 있어, 전세계 개발자를 대상으로 공개와 공유 그리고 참여를 통해 요나 프로젝트가 더욱 더 발전될 것이며, 요나 커뮤니티는 항상 열려 있다’ 라며 요나 프로젝트의 성공을 확신했다.

 

요나는 국내에서 개발된 몇 안되는 잘 만들어진 공개SW 프로젝트다. 쉽게 설치하고 성능도 어느정도 입증되었다. 개발자라면 해외의 유명 오픈소스 프로젝트에 참여하여 이름을 알리는것도 중요하지만, 국내에 잘 만들어진 프로젝트에 참여해 한국을 대표하는 요나 프로젝트로 함께 성장하는 것은 어떨까?

   

[인터뷰]

프로젝트 참여로 함께 만드는 참 기쁨 맛볼 것

네이버 채수원 개발자

 
네이버 채수원 개발자
네이버 채수원 개발자

프로젝트 추진에 어려웠던 점은?

처음 Yobi를 만들때는 SVN에 JIRA 기반으로 일하던 시절이라 설치 및 사용이 쉽고 강력한 기능의 소프트웨어가 필요하다는 점을 주변과 회사에 설득시키는 부분이 어려웠고, Yona 프로젝트로 Fork 후에는 아직 참여자가 많지 않아 주로 혼자 프로젝트를 이끌어가야하는 상황이 조금은 아쉽다.

 

프로젝트에 참여하여 배울 수 있는 것은?

Yona 프로젝트는 협업플랫폼으로 다양한 기능을 내장하고 있다. 그중에서 기본적인 기능인 이슈트랙커의 메커니즘을 이해하고 공부할 수 있으며, Git 에 대해 좀 더 깊게 배울 수 있다. 더불어 다른 개발자와 소통하며 세상 살아가는 이야기들을 들을 수 있으며, 함께 공유하고 함께 생각하는 다양한 방식에 대해 배울 수 있다. 한번 도전해보기 바란다.



 

- 공개SW 역량프라자

 

맨 위로
맨 위로