Background Image
오픈소스 이야기
2009.04.21 23:54

CUBRID 오픈 소스 프로젝트에 코드기여하기

조회 수 78445 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

CUBRID 오픈 소스 프로젝트(이하 프로젝트)에 코드를 기여하고 싶다고 문의하는 개발자가 줄을 잇는 사태에 대비하여 블로깅을 미리 해 본다.

프로젝트에서 할 수 있는 일은 아래와 같이 6가지이다. CUBRID 프로젝트 홈페이지에서 제공하는 메뉴와 일을 분류해 보면 다음과 같다.

1. 포럼 메뉴: 신규 개발 제안 이슈, 문서 등의 이슈, 토론 등 자유 게시 성격
  - 관련 기능: 새로운 기능 제안하기, 사용자 문서 작성하기
2. 이슈 메뉴: 코드리뷰가 예상되는 이슈
  - 관련 기능: 버그리포트하기, 코드리뷰하기
3. 코드 메뉴
  - 관련 기능: 코드 기여하기
4. 다운로드 메뉴

이 중 많은 개발자들이 관심을 가지는 코드 기여하기에 대해서 살펴 보자.

프로젝트 멤버의 권한

프로젝트에 참여하기 위해서 꼭 멤버로 가입해야 하는가? 그렇지 않다. 2009년 4월 15일 현재 프로젝트 멤버와 비멤버는 권한의 차이는 없다. 가입을 하지 않더라도 프로젝트에 기여한 사람이 누군지 확인할 수 있도록 Nickname을 사용하면 좋겠다. Nobody 상태이면 기여한 사람이 누군지를 알 수도 없고, 해결한 이슈에 대해서 결과를 알려줄 수도 없기 때문이다.

프로젝트 멤버의 권한은 운영의 편의성을 고려하여 바뀔 수 있다. 이미 프로젝트를 시작하였을 당시의 멤버의 권한은 바뀌었다. 프로젝트에 참여하는 개발자 수와 성향에 따라 멤버의 권한도 편의성을 고려하어 바뀔 것이다.

멤버가 아니라도 이슈를 해결하고 코드 리뷰를 요청할 수 있다. 코드 리뷰가 끝나면 커미터가 소스 코드를 커밋하고 그 결과를 이슈 게시판에 알려 준다.

참여할 꺼리 찾기

관심이 있는 사람들이 꺼리를 찾기 위해서 헤매지 않도록 TODO List를 제공하고 있다. TODO List에는 현재 6가지 카테고리로 나누어져 있다.

1) 서스테이닝 이슈: 지금 개발되는 것 중 해결할 수 있는 것
2) 인터페이스 개발: 프로그래머들이 쉽게 사용할 수 있는 인터페이스 개발
3) 응용 포팅 및 개발: CUBRID를 기반으로 하는 시스템 개발
4) 설치 및 패키징 개선: 설치/제거하기 쉽게 개선
5) QA 테스트 개선: QA 할동을 개선(아직 공개되지 않았으니까 할 수 있는 것은 아님)
6) 기술문서 작성: 작업한 내용 혹은 공부한 내용을 문서로 정리

설명의 편의성을 위해서 서스테이닝 이슈였던 1389번 이슈를 해결해 보겠다. 해결하기로 결정한 이슈의 담당자를 본인의 아이디로 바꾼다. (예: 일동차렷?) 참고로, 지금은 이 이슈가 해결 상태이다. 또한 Windows에서는 실행할 수 없는 유틸리티이다.


수정할 부분 찾기

이슈를 읽고 수정할 포인트를 찾아야 한다. 이 이슈는 cubrid repl_agent/repl_server 유틸리티의 메시지를 바꾸는 것이 수정할 포인트이다.

프롬프트에서 "grep database-name . -r"을 사용해서 수정할 부분을 찾는다. (다른 방법들이 많이 있을 수 있지만, 가장 쉽게 쓸 수 있는 방법이다.) 이 결과에서 아래 내용을 알 수 있다.

1) msg/en_US/utils.msg 파일을 수정해야 함.
2) msg 디렉토리에 en_US, ko_KR.euckr, ko_KR.utf8 서브 디렉토리가 있으므로 수정할 파일이 3개임. (CUBRID는 언어의 확장성을 위해서 언어별로 메시지 파일을 분리시켜 두었다.)

먼저 msg/en_US/utils.msg 파일을 열어서 해당하는 부분을 수정한다. repl_agent 패턴을 검색해 보면 아래와 같이 바꿀 usage 로 보이는 부분을 찾을 수 있다.

29 cubrid utility, version %s
usage: %s repl_agent <command> [args]

Available command:
    start       database-name [dba-password]
    stop       database-name
    status

이 부분을 이슈에서 요청한 대로 수정한다. repl_server 부분도 같은 방법으로 수정한다.

다른 로캘(locale)을 위한 msg 파일을 수정하고 파일을 열어서 수정해야 한다. 로캘을 같이 맞추지 않으면 한글이 제대로 보이지 않기 때문에, 수정하기 전에 LC_ALL 환경 변수를 적절하게 바꾼다. 나머지 2개의 파일은 수정할 부분을 영문으로 표기하지 않았으므로, msg/en_US/utils.msg 파일에서 해당하는 메시지 번호(위 출력한 내용을 보면 29가 보일 것이다. -> 28, 29)를 잘 적어 두었다가 한글 파일에서 찾는다.

빌드하기 

수정을 다 했으면 빌드하고 제대로 수정이 되었는지 확인해 보자.
소스 다운로드 및 빌드 방법를 참고. 

개발 프로세스 따르기  


make install 실행하기

make install을 하더라도 설치된 CUBRID를 실행할 수 없을 것이다. CUBRID를 실행하기 위한 환경 변수를 설정해야 한다. 일반 사용자들은 설치 패키지에서는 환경 변수를 설정해 주기 때문에 설정해 본 적이 없을 것이다. 다음의 환경 변수를 설정하자.

CUBRID: 시스템이 설치된 위치
CUBRID_DATABASES: 데이터베이스 위치 정보 파일의 위치
CUBRID_LANG: 시스템이 사용할 언어 지정

본인은 bash를 사용하였기 때문에 아래와 같이 환경 변수를 설정하였다.

export CUBRID=/home/idjung/cubrid
export CUBRID_DATABASES=$CUBRID/databases
export CUBRID_LANG=en_US
export PATH=$CUBRID/bin:$PATH

자세한 것은 CUBRID 매뉴얼의 "CUBRID 시작>꼭 알아 두어야 할 것>환경 변수" 부분을 참고하자.

프롬프트에서 cubrid repl_server 유틸리티와 cubrid repl_agent 유틸리티를 실행하면 usage가 바뀌어 있는 것을 확인할 수 있다.

간단한 이슈를 해결해 보았다. 다른 복잡한 이슈를 해결할 때도 위에서 소개한 순서로 진행하면 된다. 어렵게 생각하지 말고 용기를 가지고 도전해 보자.

A civilization might or might not continue to thrive, depending on the challenges it faced and its responses to them. - Toynbee,A.J

  • ?
    으흠 2009.04.22 09:24
    우아..정말 좋은 정보네요~잘 읽었습니다!!

  1. 인덱스, 아는 만큼 보인다!......DBMS 개발자가 전하는 인덱스 활용 노하우

    인덱스, 아는 만큼 보인다! DBMS 개발자가 전하는 인덱스 활용 노하우 고성능 서비스를 구축하기 위한 DB 쿼리 튜닝의 핵심은 인덱스를 얼마나 잘 활용하는가에 달려 있다. 지난 3년 동안 CUBRID를 NHN 내/외부 서비스에 적용하면서 의외로 많은 개발자들이 DB 인덱스에 대해 “잘” 알지 못하고 “잘” 활용하지 못한다는 것을 발견하였다. 본 기고문에서는 6월 30일에 출시된 CUBRID 2008 R4.0에 적용된 다양한 인덱스 기법을 중심으로 인덱스 구조와 인덱스 활용 노하우를 쉽게 설명하고자 한다. 단, MySQL, MS-SQL, Oracle 등 다른 DBMS에서도 이와 동일/유사한 인덱스 기법이 적용되어 있으므로 본 기고문에서 소개할 인덱스 활용 노하우가 CUBRID에 국한되지 않는다는 점을 강조하고 싶다. * 본 게시글은 월간 마이크로소프트웨어 8월호에 게재된 내용의 원작입니다. 월간 마이크로소프트웨어에서는 약간 내용이 줄어서 게재된 관계로 본 게시글과 차이가 있을 수 있습니다. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 강동완 | NHN Bu...
    Date2011.08.12 Category제품 여행 Byadmin Views37613 Votes0
    Read More
  2. 죽지 않아야 한다. 날리지 말아야 한다. 빨라야 한다.

    무중단 서비스를 위한 DB 서버 이중화 구축 죽지 않아야 한다. 날리지 말아야 한다. 빨라야 한다. * 본 게시글은 월간 마이크로소프트웨어 7월호에 게재된 내용입니다. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 오보명 obm@nhn.com | NHN Business Platform 서비스 플랫폼 개발 센터에서 플랫폼 확산 업무 및 오픈소스 라이선스 컨설팅 업무를 담당하고 있다. 4년 전 CUBRID라는 국산 DBMS와 인연을 맺은 이후, CUBRID 의 국내/해외 확산 업무를 담당하고 있으며 CUBRID 글로벌 커뮤니티 사이트(http://cubrid.org)를 운영하면서 전세계 개발자들과 소통하고 있다. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2011년 6월 17일(금) 자정 00:00부터 오전 09:30분까지 국내 홈쇼핑 선두 업체의 쇼핑 사이트가 시스템 점검을 이유로 서비스 운영을 일시 중단했다. 해당 업체의 2010년 매출액과 ...
    Date2011.08.03 Category제품 여행 Byadmin Views51510 Votes0
    Read More
  3. CUBRID BI 변경 뒷이야기

    CUBRID 2008 R4.0 Beta 출시에 맞춰 CUBRID BI (Brand Identity)가 변경되었습니다. BI를 변경하게 되었던 배경은 1) 글로벌 진출에 따른 차별화된 아이덴티티 확립, 2) 오픈소스의 친근한 이미지와 기업 솔루션의 전문적 이미지를 함께 추구할 수 있는 아이덴티티 확립, 3) 별도의 심볼을 제작하여 홈페이지, 사용자 커뮤니티, 제품 아이콘 등으로 아이덴티티를 확장 활용할 수 있는 필요성 3가지로 정리할 수 있습니다.   금년 2월부터 브랜드 디자인 컨셉에 대한 세부적인 논의가 시작되었고, CUBRID가 추구하는 컨셉을 “성능, 안정성, 기능 향상을 위해 끊임없이 진화하는 오픈소스 DBMS”로 정하고, 이를 위해 브랜드 심볼은 “도전, 진화, 성장, 혁신, 친근, 신선함”의 이미지를 제공하는 것으로 정리를 했습니다.   4월 초에 1차 작업으로 총 9개의 시안이 나왔으며, 이중 3개가 선별되어 한국/중국/루마니아로 구성된 CUBRID 커뮤니티 멤버들을 대상으로 선호도 조사가 진행되었습니다.     첫번째 로고는 “큐브(Cube)”와 “구조(Structure)”, 두번째는 “큐브(Cube, Data)”와 “연결(Bridge, Connect), 세번째는 “기하학(Geometry)”과 “무한(Infinite)”이라는 모티브를 기...
    Date2011.05.20 Category알려요~ By정병주 Views49189 Votes0
    Read More
  4. NHN은 CUBRID를 얼마만큼 사용하고 있을까?

    지난 주 목요일 전자신문 정보통신면(7면) 좌상단에 “NHN, DBMS 국산 ‘큐브리드’로”라는 제목으로 기사가 크게 게재되었습니다(관련 기사 참조). 국내 최대 규모의 데이터베이스를 보유하고 있는 NHN이 네이버 서비스와 사내 인프라에 적용되는 데이터베이스관리시스템(DBMS)을 모두 CUBRID로 교체한다는 내용으로 as-is와 to-be에 대해서 기술되어 있습니다. 기사 내용을 정리해 보면 아래와 같습니다.   As-is       - NHN은 3년 전부터 CUBRID DBMS를 적용하기 시작 -> 오픈소스 DBMS로 전환하기 전인 CUBRID 7.x 버전부터 사용     - 현재 네이버에서 제공하는 80여개의 서비스에 적용했음(NHN 전체 서비스의 30% 수준)     - DB 서버 수 기준으로 NHN 전체 서버 중 5~6%에 해당     - 적용 분야도 카페 덧글, 블로그 덧글 등 대용량 서비스를 포함한 핵심 분야   To-be       - DB 서버 수 기준으로 2011년 말까지 NHN 전체 서버의 약 30%에 CUBRID가 적용될 전망     - CUBRID DBMS 적용 서비스를 지속적으로 확대해 향후 2~3년 안에 가능한 모든 DBMS를 CUBRID로 전환할 계획   2008년 11월 CUBRID가 오픈소스 DBMS로 전환되고 2년 3개월이 조금 넘은 시점인데 NHN의 주...
    Date2011.03.15 Category고객 적용사례 By정병주 Views30175 Votes0
    Read More
  5. CUBRID vs. Oracle 총소유비용(TCO) 비교

    작년 말 CIO BIZ+ 기사를 통해 오라클이 서버용 SW 라이선스 정책을 수정했다는 내용을 확인하게 되었습니다.   내년부터 HP서버용 오라클 SW 가격 ‘2배’...썬은 50%↓   기사 내용의 요지는 스팍 프로세서의 라이선스 팩터(코어에 대한 라이선스 가중치)를 0.75에서 0.5로 내리고, HP 아이테니엄 프로세서(팩터 0.5)와 IBM 파워 프로세서(팩터 0.75)에 대한 팩터는 1로 조정을 함으로써 HP/IBM 서버 기반으로 Oracle DBMS를 구축할 경우 라이선스 비용이 증가하게 되었다는 것입니다(Oracle for HP는 100%, Oracle for IBM은 33% 가격 인상 효과). 반대로 SUN 서버 + Oracle 조합으로 구매하는 사용자는 DBMS 라이선스에 대한 비용을 절감할 수 있고요.   IBM이야 자체적으로 DBMS 제품(DB2)을 보유하고 있기 때문에 상대적으로 영향을 덜 받겠지만, HP는 상황이 달라지는 것 같습니다. 최근 코리아크레딧뷰로(KCB)가 유닉스 서버 가상화 및 통합 사업을 진행하면서 기존 HP 서버를 IBM 서버로 전면 교체하기로 결정을 했다고 합니다(관련 기사: HP 유닉스서버, 오라클 가격인상 직격탄 맞다). 반면 MS와의 협력을 강화하여 어플라이언스 4종을 발표하는 행보를 보이고 있고요(...
    Date2011.01.29 Category라이선스 고찰 By정병주 Views44635 Votes0
    Read More
  6. CUBRID vs MySQL vs PstgreSQL 제품릴리스 시기 비교

    얼마 전 큐브리드가 제품 다운로드 10만건을 돌파했다는 소식을 전하면서 지인으로부터 많은 격려와 축하를 받았다. 큐브리드가 한 일이라기 보다는 큐브리드를 사용하고 있는 사용자들이 축하를 받아야 하겠지만 어찌됐던 기쁜 일이 아닐 수 없다. 생각해 보면, 국산 소프트웨어로서 그것도 오픈소스 소프트웨어로서 일반 애플리케이션이나 솔루션이 아닌 DBMS라는 조금은 어렵고 제한적인 소프트웨어를 10만건씩 다운로드 했다는 것은 이례적인 일이 아닐 수 없다. 이러한 결과가 가능할 수 있었던 것은 로그인없이 어느 누구나 제품을 다운로드 할 수 있도록 한 정책덕분도 있겠지만, 큐브리드를 기반으로 한 다양한 오픈소스 소프트웨어와의 연동으로 더 많은 사용자를 확보한 덕분이라고 할 수 있다. 뿐만 아니라, 무료로 진행하는 큐브리드 교육뿐 아니라 실시간으로 제품에 대한 궁금증을 8시간안에 해결해 주는 온라인 기술지원도 있었기에 가능했을 것이다. 그러나 무엇보다 지속적인이고 주기적인 제품 업데이트가 없었다면 가능했을까? 이러한 주기적인 업데이트를 하기 위해 이미 해외를 중심으로 추후 버전에 포함되었으면 하는 기능과 성능에 대한 의견을 적극적...
    Date2010.12.22 By멜라니 Views30543 Votes0
    Read More
  7. CUBRID 서비스 계약에 대한 이해 – 독립 소프트웨어 벤더(ISV)

    지난 달에 최종사용자(End-user)를 위한 CUBRID 서비스 계약에 대해 간략하게 살펴보았습니다. 금번에는 독립 소프트웨어 벤더(ISV: Independent Software Vendor)들이 CUBRID 기반으로 응용 소프트웨어(애플리케이션)를 개발/포팅하여 판매하는 경우에 대해서 설명을 드리도록 하겠습니다.   우선, CUBRID는 오픈소스 DBMS이고, DBMS 엔진은 GPL v2 or higher, 인터페이스는 “BSD 라이선스”를 적용하고 있다는 것은 잘 알고 계실 것입니다. 여기서 인터페이스 함은 JDBC, PHP, ODBC, OLEDB, CCI (C Client Interface) 등을 의미하며, 일반적으로 DBMS 기반의 애플리케이션을 개발할 때 주로 사용합니다. 따라서, CUBRID는 ISV들이 애플리케이션 개발/포팅을 완료한 후 최종사용자를 대상으로 비즈니스를 전개할 때 애플리케이션 소스코드를 공개할 필요가 없으며, 이와 관련된 상세한 내용은 “차별화된 라이선스 정책, 큐브리드 OSS 라이선스 가이드”를 참고하시기 바랍니다.      첫번째 모델은 ISV가 큐브리드사 기술지원 서비스 계약 없이 자체적으로 애플리케이션을 개발하여 판매하는 방식입니다. 주로 소규모의 애플리케이션에 적합하며, 최종사용자에 대한 CUBRID 기술...
    Date2010.11.16 Category라이선스 고찰 By정병주 Views33505 Votes0
    Read More
  8. 오픈소스 소프트웨어 기반의 성공적인 비즈니스 모델

    11월 2일 지식경제부가 주최하고 정보통신산업진흥원, 한국공개SW활성화포럼, 한국공개소프트웨어협회에서 주관한 제2회 공개SW Day 행사에 참석을 했었습니다. 행사의 주요 일정으로 개발자 대회 시상식과 트레이닝 캠프가 진행되었으며, 오전에 카네기멜론대 실리콘밸리 캠퍼스에서 소프트웨어 매니지먼트 프랙티스를 가르치고 있는 Tony Wasserman 교수가 “Building a Business on Open Source Software”라는 주제로 해외초청 강연을 해 주셨습니다.   Wasserman 교수는 강연을 시작하기 전 본인의 노트북과 LCD 프로젝터 간 연결이 매끄럽지 못해 잠시 난관에 부딪쳤는데, 그 와중에 “오픈소스 소프트웨어 행사에서 윈도우 기반의 노트북으로 발표를 하는 것이 맞느냐?”라는 질문을 던져 청중들에게 웃음을 선사했습니다(Wasserman 교수는 리눅스 OS를 사용함). 총 11개의 비즈니스 모델에 대해서 발표를 해 주셨고, 대부분 일반적인 내용들이라 새로움 또는 신선함에 대한 욕구 충족은 되지 않았지만, 전반적으로 핵심 내용만 잘 기술되어 있어서 발표자료의 일부를 발췌해 보았습니다(영어 단어가 평이하여 번역하지 않음).   Subscription Model - User downloads softw...
    Date2010.11.13 Category오픈소스 이야기 By정병주 Views43653 Votes0
    Read More
  9. CUBRID 서비스 계약에 대한 이해 – 최종사용자

    CUBRID는 오픈소스 라이선스를 채택하고 있습니다. DBMS 엔진은 GPL v2 or higher, 인터페이스는 BSD 라이선스를 적용하고 있으며, 소프트웨어 사용에 아무런 제약조건이 없습니다. 따라서 상용 소프트웨어와 같이 소프트웨어 라이선스(사용권)를 얻기 위해 비용을 지불할 필요가 없습니다. (참고: CUBRID 라이선스 및 서비스 정책에 대한 고찰)     CUBRID는 별도의 라이선스 비용 없이 서비스 비용만 지불하면 되며, 고객들을 만날 때 자주 질문 받는 내용 중 하나인 서비스 정책과 계약 방법에 대해 살펴 보도록 하겠습니다.   CUBRID의 서비스 정책은 크게 프로페셔널 서비스와 서포트 서비스로 나뉘어집니다.      프로페셔널 서비스는 개발 단계에서 제공되는 서비스로서 DB 설계 지원, 스키마 리뷰, 질의 리뷰, 데이터 변환 및 성능 튜닝 서비스 등이 포함되어 있습니다. 비용은 시간당 9만원(VAT 별도)이며, 지원 받고자 하는 시간만큼 계약을 체결하고 서비스를 제공 받으시면 됩니다.   응용 개발이 끝나면 일반적으로 운영 단계로 넘어갑니다. 운영 단계에서는 정기적인 예방점검(PM: Preventive Maintenance)을 통해 문제 발생을 선제적으로 방지하고, 각종 온라인...
    Date2010.10.12 Category라이선스 고찰 By정병주 Views36014 Votes0
    Read More
  10. 함께이기에 더욱 보람된 오픈소스 소프트웨어 확산! XE와 함께하는 큐브리드

    지난 SW업계에 있으면서 늘 들어왔던 사용자들의 소프트웨어에 대한 인식 재고에 대해 절감을 하는 게 아마도 가장 최근이 아닐까 싶습니다. IT환경속에서 무형의 자산인 소프트웨어의 활성화가 하드웨어만큼 발전하지 못한 것도 어찌보면 이 이유에서지 않을까 싶은데요… 국내에서 몇 되지 않은 오픈소스 소프트웨어 업체로서 어찌 보면 쉽지 않은 도전을 하고 있는 큐브리드에게는 더욱 더 실감하는 부분이 아닐까 싶습니다. 예전 외국의 오픈소스 사용현황 및 참여도 현황 자료를 보니 외국의 경우, 여기서 말하는 외국이라 하면 대부분이 선진국을 말하지만 이웃 중국이나 태국의 경우에도 오픈소스 소프트웨어에 대한 관심과 참여도가 우리나라 보다 높게 나타나고 있었습니다. 그만큼 국내에서 오픈소스 소프트웨어라는 분야에 있다는 것이 쉽지 않은 게임이라고 할 수 있겠죠. 더욱이 소프트웨어 중에서도 어렵다는 데이터베이스쪽에서의 오픈소스는 외부에서 프로젝트에 참여할 개발자를 발굴하고 같이 성장하는 것이 더욱더 어려워 보입니다. * 출처: 레드햇과 조지아 공과대학교가 공동으로 전세계 75개국의 오픈소스 환경을 비교, 분석한 ‘오픈소스 인덱스’ 보고서....
    Date2010.07.22 By멜라니 Views43758 Votes0
    Read More
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 16 Next
/ 16

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales