오픈소스 활성화를 위한 SPRi홈페이지 소스공개

날짜2015.11.27
조회수11246
글자크기
    • 제목 오픈소스 활성화를 위한 SPRi 홈페이지 소스공개
      개요 SW정책 연구소는 대한민국 SW기술공유 문화 확산을 위해 홈페이지 개발에 사용된 소스를 공개합니다.
      목적 공공기관의 기술 및 운영 노하우에 대한 공개를 통한 사회적 가치 증가
      공공기관 홈페이지의 오픈소스 활용 사례 공유
      공공기관 홈페이지의 오픈소스 제작 사례 공유
      기술 담당 양병석 (fstory97@spri.kr), 윤웅식(ungsik.yun@gmail.com)
      홈페이지 총괄 윤영식 (ysyoon@spri.kr)
  • 1. 상세 개요
    • 소프트웨어정책연구소 홈페이지는 php기반의 CMS 오픈소스인 워드프레스로 운용되고 있음
    • 추가로 필요한 기능들은 워드프레스의 규격에 맞춰 3개의 플러그인으로 신규 개발을 진행하였음
    • 소프트웨어정책연구소는 대한민국 SW기술공유 문화 확산을 위해 해당 플러그인 소스를 오픈소스화하여 공개함
  • 2. 플러그인 소개와 github URL
    • 1) SPRi Chart Manager
    • 차트 관리 화면
    • 소프트웨어정책연구소의 통계메뉴에 사용된 차트 생성및 관리 플러그인
    • google-chart (오픈소스)기반으로 제작되었음
    • 라이센스 : MIT
    • 주요 기능 : csv업로드, 포스트에 차트 삽입, 수정, 삭제,
    • 지원 차트 종류 : 컬럼 차트, 바 차트, 파이차트, 라인 차트, 콤포 차트
    • 참고 사항 : euc-kr로 인코딩된 csv만 지원
    • 설치, 상세 메뉴얼은 GitHub를 통해 제공하고 있음
    • GitHub URL : https://github.com/spri-kr/spri-chart
    • 2) SPRi NAVER Search api Shortcode and widget
    • 위젯 화면
    • 뉴스 피드 화면
    • 소프트웨어정책연구소의 미디어가 본 SPRi에 사용된 피드와 위젯 플러그인
    • 라이센스 : MIT
    • naver news open api (RSS) 를 기반으로 제작
    • 주요 기능 : Naver Open API Key 관리, 노출 기사 관리, 위젯 노출 개수 설정, 리스트 내 년/월 단위 노출
    • 설치, 상세 메뉴얼은 GitHub를 통해 제공하고 있음
    • GitHub URL : https://github.com/spri-kr/spri-naver-search
    • 3) SPRi fp page
    • SPRi fp page
    • SW WIKI 의 최신 소프트웨어 교육 소식에 iframe으로 삽입된 페이지내에 사용된 모듈(숏컷)
    • 라이센스 : MIT
    • Facebook SDK v5 for PHP를 기반으로 제작
    • 주요 기능 : 페이스북 페이지내에 링크가 삽입된 소식들을 모아 보여주어 페이스북 페이지를 통한 피드 관리를 용이하게 함
    • 또한 #태그를 별도로 저장하고 있어 이를 분류 조회가능함
    • 참고 사항 : 페이스북 API를 다수 호출하여 지연 시간이 있음, 향후 Cache적용 예정
    • 설치, 상세 메뉴얼은 GitHub를 통해 제공하고 있음
    • GitHub URL : https://github.com/spri-kr/spri-fb-page
  • 3. 오픈소스화 작업
    • 소스개발 완료 후, 오픈소스화를 위한 별도 리소스 투입을 통해 진행
    • 라이센스 검토
    • 오픈소스 운영안 계획 마련
    • GitHub에서 추천하는 사용자의 역할은 담당자(Owner team), 핵심개발자(Admin Access teams), 외부기여자(Write access teams)로 되어 있음
    • 공공기관의 경우 담당자는 발주자, 핵심개발자는 최초 개발에 참여했던 개발사와 개발자, 외부기여자는 이후 외부 개발자가 될 수 있음
    • 코드 리팩토링 및 주석보완
    • Github - Push(업로드)
    • Github - 사용 메뉴얼, 개발 메뉴얼 한글/영문 작성
    • 오픈소스 활성화를 위한 SPRi홈페이지 소스공개 작성
  • 4. 공공기관 SW의 오픈소스화의 기대효과
    • 코드 품질 향상
    • SW엔지니어 스스로의 코드 품질 기준 향상
    • SW엔지니어 스스로의 주인의식 향상 (프로젝트 종료후에도 지속적으로 기여 가능)
    • 유지 비용 감소
    • 향상된 품질의 코드와 SW엔지니어가 활용가능한 수준의 문서로 인한 신규인력 투입의 분석 비용 감소
    • 신뢰도 향상
    • 공개된 소스로 인해 서비스의 객관적 검증이 가능해져 서비스와 공공기관의 신뢰도 향상에 기여
    • 많은 사람들이 사용하고 소스수준의 검증이 가능해져 보안 취약점에 대한 빠른 확인과 대응이 가능
    • SW산업발전과 SW문화발전에 기여
    • 오픈소스로 인한 사회적 기술 역량에 대한 기여
    • 공유기반의 SW문화 발전에 기여
  • 5. 공공기관 SW의 오픈소스화의 고려사항
    • (비용과 품질) 오픈소스화는 추가적인 비용이 드나 , SW와 서비스품질 향상을 기대할 수 있음
    • (공개의 범위) 공개로 인한 위험이 높은 코드는 오픈소스를 추진하지 않거나, 부분적인 공개를 고려해야함
    • (개발 기업의 지적자산 노출) SW에는 개발 기업의 지적자산이 포함된 경우가 있으므로, 이에 대한 충분한 사전 협의가 필요
    • (SW엔지니어 참여) 오픈소스는 SW를 만든 엔지니어의 적극적인 참여 및 지원 의지가 매우 중요
    • (오픈소스의 운영유지) 공개 이후 지속운영가능한 체계 마련
    • - 전문적인 SW엔지니어의 활동과 외부 기여가 지속가능한 체계가 마련되어야하여 오픈소스에 대한 발주자의 최소한의 전문성 요구될 수 있음
  • 6. SPRi 오픈소스 공개를 통한 시사점
    • 국내의 경우, 공공기관의 오픈소스 운영은 사례와 경험이 적으나 오픈소스 활용과 제작에 대한 세계적 흐름에 맞춰 국내에서도 오픈소스화를 고려해볼 필요가 있음
    • 이를 통해 국내의 SW산업 경쟁력과 SW문화확산에 기여와 함께, 공공기관의 SW품질향상에 기여를 할 수 있음