데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      오픈소스 라이선스 스캔 도구, FOSSology를 소개합니다.

      haksung 20.03.07
      4,318 11 1

      오픈소스를 사용하고 배포할 때에는 오픈소스 라이선스가 요구하는 의무사항을 준수해야 합니다. 오픈소스를 올바르게 사용하면서 소프트웨어를 개발/배포하는 기업은 이러한 오픈소스 라이선스 의무사항을 준수하기 위한 정책과 프로세스를 갖추고 있습니다. 이러한 라이선스 준수를 위한 일련의 활동을 오픈소스 컴플라이언스라고 합니다. 

      오픈소스 컴플라이언스 활동을 위해서는 먼저 제품 소프트웨어에 어떤 오픈소스가 포함되어 있는지 식별해야 하며, 이때 자동화된 소스 코드 스캔 도구를 사용할 수 있습니다. 소스 코드 스캔 도구는 상용 도구 및 오픈소스 도구 등 다양하게 존재합니다. (참고 : Source code scanning and license compliance ) 각 도구들은 특장점이 있지만 어떤 하나도 모든 문제를 해결할 수 있는 완벽한 기능을 제공하지는 않습니다. 따라서 기업은 제품의 특성과 요구사항에 맞는 적합한 도구를 선택해야 합니다. 

      오늘은 이러한 도구 중에서 Linux Foundation의 FOSSology에 대해서 알아보려고 합니다. FOSSology Project (https://www.fossology.org/)는 오픈소스로 공개된 소스 코드 스캔 도구로서 기업들이 손쉽게 무료로 사용할 수 있습니다. 

      주요 특징

      FOSSology는 웹 기반의 프로그램으로 사용자는 웹사이트에 로그인하여 개별 파일 혹은 소프트웨어 패키지를 업로드할 수 있습니다. FOSSology는 업로드된 파일 내에 라이선스 텍스트와 Copyright 정보를 검출합니다. 개발자는 사용하고자 하는 오픈소스의 라이선스가 무엇인지, Copyright은 어떻게 되는지에 대한 정보를 확인하고자 할 때 FOSSology를 이용하는 것이 좋습니다. FOSSology는 개발자가 업로드한 오픈소스 패키지 내의 모든 파일을 스캔하여 각 파일 내 라이선스 관련 텍스트와 Copyright 정보를 자동으로 검출하고, 이를 리포트로 생성합니다. FOSSology 주요 특징에 대한 자세한 내용은 다음 페이지를 참고할 수 있습니다. : https://www.fossology.org/features/

       

      설치 방법

      기업 내에서 FOSSology를 사용하기 위해서는 사내에 FOSSology 서버를 구축해야 한다. 이를 위해 리눅스 기반의 서버 시스템에 FOSSology를 설치해야 합니다. FOSSology는 다음 세 가지 방법으로 설치할 수 있습니다.

      1. Docker 사용  

      2. Vagrant와 VirtualBox 사용  

      3. Source build 하여 설치  

      여기서는 가장 간편한 방법인 Docker를 사용하는 방법에 대해 설명합니다. 

       

      FOSSology는 컨테이너화 된 Docker 이미지를 Docker Hub (https://hub.docker.com/)를 통해 공개하고 있습니다. : https://hub.docker.com/r/fossology/fossology

      Pre-built 된 Docker 이미지는 다음 명령어를 사용하여 실행할 수 있습니다.

      $ docker run -p 8081:80 fossology/fossology

       

      Docker 이미지는 다음 URL과 계정 정보로 사용할 수 있습니다.

      • http://[IP_OF_DOCKER_HOST]:8081/repo
      • Username : fossy
      • Passwd : fossy

       

      설치와 관련한 자세한 내용은 다음 페이지를 참고할 수 있습니다. : https://github.com/fossology/fossology/blob/master/README.md

       

      테스트 서버

      FOSSology를 설치할 수 있는 시스템 구축이 곤란한 상황이라면, Linux Foundation의 FOSSology Project에서 제공하는 테스트 서버를 이용할 수 있습니다. FOSSology 프로젝트에서는 테스트를 위한 환경을 제공합니다. 사용자는 다음 계정으로 FOSSology 테스트 서버에 접속하여 FOSSology 기능을 시험해볼 수 있습니다. (종종 정상적으로 동작하지 않는 것 같습니다. 이 글 하단에서 SKT 사내에서 운영중인 테스트 서버에 대한 정보를 제공합니다.)

      • URL: http://83.169.21.23/fossology/ 
      • Username: testuser
      • Password: test

       

      Basic Workflow

      FOSSology의 기본 사용 절차는 다음과 같습니다. 

      사용하고자 하는 오픈소스의 라이선스와 Copyright 정보를 확인하기 위해 오픈소스의 소스 코드를 하나의 파일로 압축하여 FOSSology에 업로드합니다. 이를 위해 메뉴 > Upload > From File을 선택합니다. 

       

       

      업로드할 파일을 선택하고 Upload 버튼을 클릭합니다. 업로드가 완료되면 Job Agent에 의해 자동으로 분석을 수행합니다. 메뉴 > Jobs > My Recent Jobs에서 분석 중인 Status를 확인할 수 있습니다. 

       

      분석이 완료되면 메뉴 > Browse에서 분석 결과를 확인할 수 있습니다.

       

       

      개별 파일을 선택하면 FOSSology가 검출한 라이선스 관련 텍스트가 무엇인지 확인할 수 있습니다.

       

      메뉴 > Browser > 파일 혹은 디렉터리를 선택 >  Copyright/Email/Url/Author에서는 FOSSology가 검출한 Copyright/Email/Url/Author 정보를 보여줍니다.

       

       

      사용자는 FOSSology는 이렇게 분석한 결과가 유효한지 여부에 대해 확인 후 잘못 검출된 항목에 대해서는 분석 결과에서 제외시키는 작업을 할 수 있습니다. FOSSology는 이를 Clearing 과정이라고 설명하며, 자세한 사항은 다음 페이지를 참고할 수 있습니다. : https://www.fossology.org/get-started/basic-workflow/ 

      위와 같은 방법으로 사용하고자 하는 오픈소스의 라이선스는 무엇인지, Copyright 정보는 어떻게 되는지를 간단히 확인할 수 있습니다.

       

      사내에서 접근할 수 있는 임시 테스트 서버도 운영중입니다. 다음 계정으로 사용하실 수 있습니다. (P.CL 환경에서 운영중)

      또한, FOSSology는 오픈소스로 공개되어 있기 때문에 누구나 리눅스 시스템만 있으면 설치하여 운영할 수 있습니다. 다음 Blog 글에서는 사내 P.CL(Private Cloud)에서 제공받은 서버 환경에서 FOSSology를 설치하는 방법에 대해 설명하겠습니다. : https://devocean.sk.com/internal/board/viewArticle.do?id=158883

      감사합니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      haksung 님의 최신 블로그

      더보기
      동영상 기고하기