F/OSS

지각생 연습장

위로

목차

F/OSS란

  • Free/Open Source Software : 자유소프트웨어와 오픈소스소프트웨어를 아울러 이르는 말
  • 오픈 소스 커뮤니티에서는 창작자와 사용자가 엄격히 구분되지 않는다.
  • 일정 규칙을 준수하는한 사용, 복제, 배포, 수정의 자유가 보장된다.

소스 코드

  • 소프트웨어(프로그램)는 컴파일 형태와 스크립트 형태가 있다.
    • 스크립트 형태는 사람이 읽고 바로 고칠 수 있는 코드를 그때 그때 컴퓨터가 해석해서 명령을 수행한다.
    • 컴파일 형태는 사람이 읽고 바로 고칠 수 있는 코드(소스 코드)를, 기계가 빠르고 쉽게 읽고 수행할 수 있는 형태로 미리 변환(컴파일 compile) 해 둔 후, 그 결과를 실행한다. 그 결과물은 사람은 읽고 이해할 수 없는 형태. 대부분의 응용프로그램이 이에 해당한다. exe 로 끝나는 파일등이 그것이다.
      • 이 경우, 프로그램이 컴파일된 결과물로만 배포된다면, 그걸 받은 사람은 비록 실행(사용)할 수는 있지만 그 내부 원리를 알아보거나 프로그램을 변경할 수는 없게 된다.
      • 소스 코드(변환 전 코드)가 있어야 그 내부 작동 원리를 이해할 수 있고, 원하는데로 변경할 수 있다. 그 다음 또다시 컴파일 과정을 거치면 사람들이 사용(실행)할 수 있다.
    • 소프트웨어를 공유하고 자유롭게 활용하기 위해서는 "소스 코드"의 공개 여부, 변경 가능성 보장 여부가 중요하다.

공유 라이센스

  • 소프트웨어를 완전히 풀어놓으면(퍼블릭 도메인, public domain) 누군가가 그것을 가져다가 독점적으로 사용하고 다른 사람을 제약할 가능성이 있다. 기존 제도를 악용해서.
    • 적극적으로 소프트웨어/지식을 공유하고 순환하기 위해 보장장치가 필요 : GPL 등 F/OSS 보호와 활성화를 위한 라이센스를 채택하게 된다.
  • 어떤 공유라이센스를 만들고, 채택하고 유지할지가 중요한 문제이다.
  • 필요에 따라 자신에게 알맞는 라이센스를 만들 수 있고, 다른 사람들이 많이 쓰는 F/OSS 라이센스를 적용할 수도 있다.

많이 쓰는 F/OSS 라이센스

  • GPL (GNU General Public License) : FSF 가 만든 라이센스. 현재 GPL version 3 까지 나와있다. 대표적인 자유소프트웨어인 리눅스 커널은 GPL version 2 를 채택하고 있다.
  • LGPL (GNU Lesser General Public License)
  • BSD
  • MIT
  • MPL
  • Artistic
  • Apache

자유소프트웨어

자유소프트웨어의 요건

다음 네가지 자유가 보장되어야 한다.

  1. "실행"할 수 있는 자유
  2. 내부를 들여다보고, 고칠 수 있는 자유
  3. 다른 사람에게 나눠줄 수 있는 자유(복제 포함)
  4. 직접 고친 것을, 공공의 이익을 위해 나눠줄 수 있는 자유

오픈소스 소프트웨어

오픈소스소프트웨어의 요건(정의)

  1. Free Redistribution
  2. Source Code
  3. Derived Works
  4. Integrity of The Author's Source Code
  5. No Discrimination Against Persons or Groups
  6. No Discrimination Against Fields of Endeavor
  7. Distribution of License
  8. License Must Not Be Specific to a Product
  9. License Must Not Restrict Other Software
  10. License Must Be Technology - Neutral

참고

개인 도구