오픈 소스의 소스코드 공개 방식

2023. 12. 21. 19:22오픈소스

소스코드 공개 범위

  1. 소스코드 해당부분 공개 고지 -> Permissive
  2. 소스코드가 수정된 부분 공개 -> Weakcopy Left
  3. 링크된 모든 사용자 코드 공개 -> Copy Left

GPL 공개 범위

  • 코드와 연결된 모든 소스코드
    • 별도 독립된 저작물의 경우 예외사항으로 공개하지 않아도됨
      • 사용자 메인 프로그램(pipe, http...)
    • 함수를 호츨하거나 라이브러리로써의 활용 또흔 파일을 복제하는 경우는 해당이 된다.

다양한 환경을 만족시키기 위해 다양한 버전이 있다.(GCC,GPL, GPL3.0classpath...)

 

--> 다양한 유입경로를 통해 사용된 오픈소스 코드

       --> 중앙에서 통제되지 않으면 원치 않게 공개되거나, 코드의 특허권리가 무상으로 변환

              --> 경제적 손해, 시간적 손해...

 

오픈소스의 활용

:만약 제품이 출시되었을때 개발자가 사용된 오픈소스에 대해 잘 모르고 있을때 --> 경쟁사가 검토하여 오픈소스의 의무를 수행하지 않은것을 확인 --> 기업정보 누출, 단체소송등 불이익이 발생한다.

 

--> 오픈소스 관리 국제 표준

 

오픈소스 관리 국제 표준

: 많은 오픈소스를 효율적으로 관리하기 위해 만들어 졌다.

    --> open chain project

 

ISO18974

    --> 미국에서 보안관리 절차에 대해 설명한 문서

 

이와 같이 오픈소스를 활용할때 보안과 적절한 오픈소스의 활용이 중요하다.

 

듀얼 라이선스/ 라이선스 호완성

듀얼라이선스

: 하나의 저작물이 2개의 라이선스를 보유하는 경우

 

라이선스 호완성

: 라이선스들이 서로 충동하는가?

 

양립성

: 하나의 저작물에 2개 이상의 라이선스를 사용하였을때 서로 호환되는가?

  • MPL1.0(일부 수정부분만 공개, 해당 라이선스로만 공개를 원칙으로 한다.)과 GPL2.0(모든 코드 공개)
    • 양립되지 않는다.
  • GPL2.0예외가 없으며 모든라이선스와 충돌

듀얼 라이선스 

  • Ghost script
    • 커머셜 라이선스 --> 모니터링 필요
  • FFMPEG
    • week, strong copyleft (GPL, LGPL간섭)
  • Amanda
    • strong copyleft
  • Jetty
    • Apache2.0