티스토리 뷰

소프트웨어 개발 분야에는 정말 존경스러울 정도로 실력이 뛰어난 한국인 개발자가 많지만 유독 오픈 소스 프로젝트에서는 존재감이 빈약한 편이다. 야근에 치여 여유가 부족한 특유의 한국 정서도 한 몫 하지만 절대다수의 오픈 소스 프로젝트가 영어권 중심으로 진행되다보니 플랫폼과 언어의 장벽에 부딪혀 참여율이 저조한 것이 아닌가 생각된다. 지난 글에서 GitHub에 가입하는 방법을 소개했다면 이번 글에서는 실제로 오픈 소스 프로젝트에 참여하는 방법을 실제 예를 들어 설명하고자 한다. 블로그 주인장 본인이 Bootstrap Table이라는 Bootstrap 기반의 JavaScript 테이블 위젯 라이브러리의 한글화에 참여한 과정을 예로 설명하겠다.

선행조건

  • GitHub에 가입되어 있어야 한다.(내 계정이 존재해야 한다.)
  • 로컬 PC에 Git이 설치되어 있어야 한다.

첫 시작, 참여할 오픈 소스 프로젝트의 리파지터리를 Fork하기

  • ForkGitHub 내에서 다른 사용자의 Repository를 내 계정의 Repository로 복사하는 행위를 의미한다. Pulling a request를 수행하려면 반드시 Fork가 선행되어야 한다.
  • Bootstrap Table 리파지터리가 있는 GitHub 주소에 접속 후 우측 상단의 Fork 버튼을 클릭한다.
  • Fork 버튼을 클릭하면 내 GitHub 계정에도 동일한 이름의 Repository가 생성된다.
  • 이제 내 PC의 로컬 리파지터리에 ForkRepository를 복사할 차례이다. Git Bash를 실행하고 아래 명령을 실행하면 Repository와 동일한 이름의 디렉토리가 생성된다.
git clone https://github.com/JSON-OBJECT/bootstrap-table.git

리파지터리에 새 파일 추가하고 반영하기

  • 한글화 언어 파일을 새로 작성할 차례이다. /bootstrap-table/src/locale 디렉토리에 bootstrap-table-ko-KR.js 파일을 새로 생성하고 아래와 같이 작성 후 저장했다. 저장시 UTF-8로 인코딩하는 것을 잊지 않는다.
/**
 * Bootstrap Table Korean translation
 * Author: Yi Tae-Hyeong (jsonobject@gmail.com)
 */
(function ($) {
    'use strict';

    $.extend($.fn.bootstrapTable.defaults, {
        formatLoadingMessage: function () {
            return '데이터를 불러오는 중입니다...';
        },
        formatRecordsPerPage: function (pageNumber) {
            return '페이지 당 ' + pageNumber + '개 데이터 출력';
        },
        formatShowingRows: function (pageFrom, pageTo, totalRows) {
            return '전체 ' + totalRows + '개 중 ' + pageFrom + '~' + pageTo + '번째 데이터 출력,';
        },
        formatSearch: function () {
            return '검색';
        },
        formatNoMatches: function () {
            return '조회된 데이터가 없습니다.';
        },
        formatRefresh: function () {
            return '새로 고침';
        },
        formatToggle: function () {
            return '전환';
        },
        formatColumns: function () {
            return '컬럼 필터링';
        }
    });
})(jQuery);
  • 새로 작성한 파일을 로컬 리파지터리에 반영할 차례이다. Git Bash를 열고 아래와 같이 실행한다.
git add bootstrap-table-ko-KR.js
git commit -m 'Added Korean Translation.(bootstrap-table-ko-KR.js)'
  • GitHub에 존재하는 내 리파지터리에 반영할 차례이다. git push 명령을 실행하면 유저명과 비밀번호를 요구한다. 정확히 입력하도록 한다.
git push origin master

반영 내용을 원작자의 리파지터리에 Pull Request하기

  • 아직 위 모든 작업은 동일하게 복사된 내 리파지터리에서만 반영된 것으로 반영 내용을 완전히 반영하려면 원작자에게 Pull Request를 해야 한다.
  • 다시 Bootstrap Table 리파지터리가 있는 GitHub 페이지에 접속한다. 이번에는 우측 상단의 Pull Requests 버튼을 클릭한다.
  • 우측 상단의 New pull request 버튼을 클릭하고 다음 화면에서 compare across fork 버튼을 클릭한다.
  • base fork는 원작자인 wenzhixin/bootstrap-table을 그대로 두고 head fork는 내 리파지터리인 JSON-OBJECT/bootstrap-table을 선택한다. 방금 커밋한 내역을 확인할 수 있다.
  • 커밋한 내역을 확인했으면 마지막으로 Create pull request 버튼을 클릭한다. Leave a comment 항목에 앞서 커밋시 입력했던 Added Korean Translation.(bootstrap-table-ko-KR.js)을 입력하고 Create pull requst 버튼을 클릭하면 Pull Request가 완료된다. 원작자의 검토 후 적절하다고 판단되면 프로젝트에 반영될 것이다.

관련 글


댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함