소개- 과목명: 공개 소프트웨어 공학 (Open Source Software Engineering)
- 목적: 오픈소스 개발은 비교적 쉽게 참여할 수 있으면서도 여러가지 형태의 진보된 개발 방법을 습득하고 연습할 수 있는 좋은 기회이자, 흥미를 느끼고 지속적으로 기여하는 경우 많은 경험을 할 수 있다. 일반적인 오픈소스 프로젝트들에 여러 형태로 기여하고 참여할 수 있는 방법과 그에 필요한 여러가지 기술들을 소개한다. 그리고, 실제로 관심 있는 오픈소스 프로젝트에 참여하여 실습해본다.
- 선수과목:
- 필수 - 없음
- 권장 - C프로그래밍, 자료구조, 시스템프로그래밍, 소프트웨어 공학
- 요구사항: 본 강의 수강자는 적어도 하나 이상의 프로그래밍 언어를 사용할 수 있어야 하며, 리눅스/유닉스 운영 체제를 사용해 본 경험이 있어야 한다.
수업 방식강의자- 윤석찬 (다음커뮤니케이션, 부산대, M.S) - oss2007cjnu@gmail.com
- 외부 초청 전문가 (4~5회)
진행 방식- 일반 강의(40%), 실습 강의(40%), 영상 강의 (20%)
성적 평가 방식- 프로젝트: 30 (오픈 소스 개발 모의 과제 시행)
- 개별 과제 : 30
- 퀴즈 : 20 (총 2회)
- 수업외 참여 : 10 (수업기간 내 외부 프로젝트 버그 보고 등의 관련 메일/URL을 제출)
- 출석 : 10
수업 일정 (주별)- 오픈소스의 정의와 소개, 개요 (9월 12일)
- 수업 진행 방식 안내
- Revolution OS 동영상 상영 (2시간)
- 오픈 소스 개발 과정 개요 (9월 19일)
- 오픈 소스 소프트웨어 현황
- 오픈 소스 개발 도구 및 과정 소개
- 개발 도구 I: 버전 컨트롤 (9월 26일)
- 개발 도구 II:버그 트래킹 (10월 3일)
- Bugzilla, Trac, GNATS, 메일로 보고하기 실습
- 개발 방법론 I - 문서화, 번역 (10월 10일)
- 개발 방법론 II- 버그, 패치 (10월 17일)
- 중간고사 : 강의 없음, 실습 시험- 버그 추적, 패치 제출, follow-up (10월 24일)
- 개방 방법론 III - 빌드, 배포, 버전, (10월 26일)
- 모의 프로젝트 II - 버그 제출 및 패치 진행 사항 발표 (11월 7일)
- 프로젝트 내 버그 제출 내용과 관련 패치 진행 발표
- 오픈 소스 라이센스 (11월 14일)
- 프로젝트 수업: 텍스트 큐브 (11월 21일)
- 프로젝트 수업: 제로보드 (12월 5일)
- 기말고사 -강의 없음
읽을 책/문서- Diomidis Spinellis (류광 역), Code Reading - 오픈 소스 관점에서 본 코드 읽기
- Martin Fink (조광제 역), 리눅스와 오픈소스의 비지니스와 경제학
- Tim O'Reilly, Open Source Paradigm Shift
- Eric S. Raymond, 성당과 시장
관련 교과목- http://www.kegel.com/academy/opensource.html
- http://www.cs.pdx.edu/user/coursedetails/110
- http://www2.sims.berkeley.edu/academics/courses/is296a-2/f05/
|