강의 정리/오픈소스sw개발방법및도구

Introduction to Opensource and Linux

Yo-mi 2023. 8. 13. 00:05

 

Introduction to Opensource and Linux

목표

 오픈소스, 최신 소프트웨어 절차, 철학 및 도구를 이해하고 스스로 리눅스를 경험하는 것이다.

 

오픈소스 소프트웨어란?

 소스코드를 공개해 누구나 특별한 제한 없이 그 코드를 보고 사용할 수 있는 오픈 소스 라이센스를 만족하는 소프트웨어이다.

소프트웨어의 소스 코드를 자유롭게 읽고 재배포 및 개조를 가능하게 하여 버그 개선이 빠른 장점이 있다.

 

자유(Freedom) 소프트웨어란?

 복사와 사용, 연구, 수정, 배포 등의 제한이 없는 소프트웨어이다. 컴퓨터 사용자들의 자유로운 사용을 강조한다.

자유 소프트웨어는 가격이 아니라 자유의 문제이다. 이 개념을 이해하기 위해서는 'Free'를 '무료 맥주'가 아니라 '언론의 자유'로 생각해야 한다.

보다 정확하게는 자유 소프트웨어는 프로그램 사용자가 네가지 필수 자유를 갖는 것을 의미한다.

1. 어떤 목적으로든 원하는 대로 프로그램을 실행할 수 있는 자유 (Freedom Level 0)

2. 프로그램 작동 방식을 연구하고 원하는 대로 컴퓨팅을 수행하도록 변경할 수 있는 자유 (Freedom Level 1)

3. 다른 사람에게 도움이 되도록 사본을 재배포할 수 있는 자유 (Freedom Level 2)

4. 수정된 버전의 사본을 다른 사람들에게 배포할 수 있는 자유 (Freedom Level 3)

 

Free Software Foundation이란?

 자유 소프트웨어 재단은 1985년 10월에 Richard Stallman이설립한 비영리 단체로 조직의 자유 소프트웨어 운동을 지원한다. GNU General Public License와 같은 copyleft를 지향한다.

창립부터 1990년대 중반까지 FSF의 자금은 대부분 소프트웨어 개발자를 고용하여 GNU Project를 위한 자유 소프트웨어를 작성하는 데 사용되었다. 1990년대 중반부터 FSF의 직원들과 자원자들은 자유 소프트웨어 운동과 자유 소프트웨어 커뮤니티를 위해 주로 법적 및 구조적 문제에 대해 일했다.

FSF는 자체 컴퓨터에서 자유소프트웨어만 사용하는 것을 목표로 한다.

 

GNU OS란?

 운영체제이자 컴퓨터 소프트웨어 모음집이다. 이때의 소프트웨어들은 온전히 자유 소프트웨어로 이루어져 있다. 대부분이 GNU 프로젝트의 GPL 라이센스를 가진다.

Unix 계열이지만 자유 소프트웨어이고 Unix 코드를 포함하지 않았다.

 

Richard Stallman은 누구?

- 직업: Activist(활동가) & Programmer

- Known for Free software movement, GNU, GNU Emacs, GNU Compiler Collection, GNU GPL, Copyleft, Free Software Foundation

 

OpenSource Example

<Hardware>

Arduino

 아두이노 하드웨어 제품은 CC BY-SA 라이센스에 따라 라이센스가 부여되는 반면, 소프트웨어는 GNU LGPL, GPL에 따라 라이센스가 부여되며 누구에게나 아두이노 보드 제조 및 소프트웨어 배포가 허용된다.

<Processor>

 RISC-V & Linux

<Datacenter>

 OCP(Open Compute Project)

Facebook에 의해 시작되었다.

 

Why Linux?

[리눅스가 쓰이는 분야]

1. Smartphones and IOT: 안드로이드는 Linux 운영체제를 가지고 customization한 것이다.

2. Physical Computing: 라즈베리파이는 리눅스 OS를 사용한다. 영국에서 개발되었고 저가이다. 

3. Super Computers: 슈퍼 컴퓨터는 거의 모두 OS로 Linux를 사용한다.

4. Linux over Window Desktop: 윈도우 위에서 가상화 작업을 통해 Linux 운영체제인 우분투가 돌아갈 수 있게 되었다.

5. Robot: ROS라는 운영체제는 Linux 운영체제로 만들어졌다.

6. Automative Grade Vehicle(자동차)

7. Classic Game Platform: Playstation, 콘솔형 게임들에 Linux가 쓰였다.

8. Online Game Platform: SteamOS + Linux => Linux에서 Steam을 사용할 수 있다.

9. Data Science: 대규모 분석을 해야할 때 Linux Server를 사용한다.

 

Linux Foundation이란?

 2000년부터 Linux Foundation은 기술 개발 및 상업적 채택을 가속화하기 위해 오픈소스 프로젝트를 중심으로 지속 가능한 생태계를 구축하는 데 전념하고 있다.

가장 큰 오픈소스 비영리 조직이다.

리눅스 외에도 많은 오픈소스 소프트웨어에 참여하고 있다.

 

본 글은 2학년 1학기 학부 강의 내용을 정리한 글입니다. 혹시라도 틀린 부분이 있다면 댓글로 편하게 알려주시면 감사하겠습니다.