오픈 쏠쓰

From Hidden Wiki
(Redirected from 오픈 소스)
Jump to navigation Jump to search
필독 사항 유닠스 계열 저작물, 성인물, 도박 웹 써버 보안 프로그래밍 그래핔 파싱
필독 사항 고스트BSD 표면 웹 싸이트 제작 리눅스 마스터 파이썬 트킨터 뷰티펄 숲
수학 아이투피 마약, 아청물, 해킹 웹 싸이트 보안 웹 프로그래밍 데이터 분석 게임 제작
통계학 뮤와이어 다크넽 싸이트 제작 정보 보안 기사 쟁고우 팬더즈 파이게임

개요

오픈 쏠쓰 (open source, 오픈 쏘쓰, 오픈 쏘스, 오픈 소스)

Open Source

FOSS(Free and Open-Source Software)

이 'Free'는 공짜가 아니라 자유의 의미로, 이 약자는 대체로 하술된 GPL 라이선스를 갖는 소프트웨어들을 가리킨다. 따라서 그냥 'Open Source Software'보다 조금 더 좁은 의미이다.

어떤 제품을 개발하는 과정에 필요한 소스 코드나 설계도를 누구나 접근해서 열람할 수 있도록 공개하는 것. 보통 소스가 공개된 소프트웨어를 '오픈 소스 소프트웨어'라고 하고, 소프트웨어 말고도 개발 과정이나 설계도가 공개되는 경우 하드웨어에도 오픈 소스 모델이 적용 할 수 있으며, 글꼴과 같은 데이터에도 오픈 소스 개발 모델이 적용되는 경우가 있다. 다만 오픈 소스지만 쓰려면 돈을 내야 하는 것도 있다.

단순히 소스를 공개만 하는 것이 아니라, 이를 2차 창작하는 것을 허용하기도 하고, 나아가 조건 없이 상업적 용도로까지 사용할 수 있게 하는 경우가 있다. 물론 공개만 하고 2차 창작이 안되는 경우도 있기는 하지만 이 경우는 보통 '오픈 소스'라고 부르지 않는다.


남한소프트웨어 회사들은 대부분 오픈 소스 소프트웨어소스 코드를 훔쳐다가 몰래 쓰는 게 일상이 되어 있지만, 그 중에서도 티맥스소프트의 경우가 심하다. 티맥스 소프트의 경우, 자사 제품의 거의 대부분이 오픈 소스소스 코드를 훔쳐다가 만든 제품으로, 이런 제품을 정부에 납품하기까지 한다.

티맥스 소프트웹투비 (WebtoB), 제우스 (JEUS), 티베로 (Tibero) 등 주력 제품군을 모두 오픈 소스코드를 훔쳐다가 만들었지만 일반인들이 쓰는 제품이 아니고 관공서 등에 납품하는 용도라 큰 이슈가 되지 않고 그냥 넘어갔다. 하지만 티맥스 윈도우티맥스OS의 경우는 일반인들에게도 관심을 끄는 제품이라, 티맥스소프트가 예전처럼 오픈 소스를 쓰지 않고, 100% 국내 기술로 만들었다고 거짓말했다가 들켜서 나중에 말을 바꾸었다.



  • 한글과컴퓨터, 오픈소스 분쟁소송 ‘205만 달러’로 합의

2018. 06. 18

한글과컴퓨터(이하 한컴)가 지난해 오픈라이선스 위반 혐의로 제기된 소송과 관련, 수백만 달러의 합의금을 지불한 사실이 뒤늦게 확인됐다.

17일 업계에 따르면 한컴과 아티펙스(Artifex) 간에 발생한 오픈소스 무단도용 관련 분쟁소송이 1심 재판 중인 지난해 12월 종료됐다. 한컴은 아티펙스에 205만 달러(약 23억원)의 합의금을 지불한 것으로 확인됐다.


◇ 아티펙스, 2016년 한컴 상대로 소송제기

이번 사건은 아티펙스가 한컴을 상대로 자신들이 개발, 공개한 오픈소스 ‘고스트스크립트’를 무단 도용했다는 문제를 제기하면서 시작됐다.

일반적으로 오픈소스는 사용이 자유로운 대신 적용된 라이선스에 따라 개발자에게 다양한 의무가 부과된다. 그 중 가장 많이 사용되는 라이선스자유소프트웨어 재단이 만든 GPL(일반공중 라이선스)로, 이를 활용해 소프트웨어를 개발할 경우 코드를 공개해야 한다.

아티펙스는 ‘고스트스크립트’에 GPL 또는 상용라이선스 등 듀얼 라이선스를 적용했다. 예를 들면 ▲무료로 사용할 경우 오픈소스가 적용된 소프트웨어의 코드를 공개해야 되고 ▲코드 공개가 싫다면 사용료를 내고 라이선스를 구매하는 방식이다.

그러나 아티펙스는 ‘한컴이 수년 전부터 고스트스크립트를 사용해 한컴오피스 문서를 PDF 문서로 변환하는 기능을 구현하면서도 코드공개 또는 사용료 지불을 하지 않았다’고 주장했다. 아티펙스는 지난 2016년 중순 이 같은 내용이 담긴 경고장을 한컴에 보냈고, 한컴은 바로 자사 소프트웨어에서 고스트스크립트를 삭제했다.

하지만 소송을 피할 수는 없었다. 아티펙스는 같은 해 말 한컴을 상대로 미국 캘리포니아 주 북부지방법원에 ‘GPL에 따라 성립된 계약위반 및 저작권 침해 소송’을 제기했다. 요구사항은 한컴의 고스트스크립트 사용정지를 비롯해 그간의 로열티 지불, 그리고 GPL계약에 따른 소스코드 배포명령 등이다.

http://www.sisaweek.com/news/articleView.html?idxno=109614

오픈소스에 빠진 공공시장, 이유는

  • #12221 2019-6-12 오전 12:20 [삭제]

[이슈분석]오픈소스에 빠진 공공시장, 이유는

2019.05.23

행안부윈도OS 대신 하모니카, 구름, 우분투오픈소스 OS 도입을 추진한다. 행안부는 “예산절감 외에 특정 기업 SW 종속성을 해소할 것”이라고 배경을 설명했다.

우정사업본부는 인터넷망분리시스템을 신규 구축하면서 윈도 외에 리눅스, 티맥스 등도 함께 도입하기로 했다. 국방부사이버지식정보방(사지방·군장병PC방) 클라우드컴퓨팅 환경개선 사업에 오픈소스 OS와 상용 OS를 병행 도입한다. 이미 국방부는 2016년 육·해·공 8개 부대 일부 PC에 하모니카 OS를 도입한 경험을 보유했다.

정부 주도로 개발한 오픈소스 하모니카 OS도 공공 주요 분야에 도입 중이다. 국방(화상면회), 경찰(교통단속정보처리 업무환경), 농림부(스마트워크 업무환경) 등이 사용한다. 은평구, 괴산군, 서귀포시지자체까지 하모니카오픈소스 OS를 도입한다.

[http!]http://www.etnews.com/20190523000272


[이슈분석]스페인 바르셀로나, 오픈소스 도시 꿈꾼다

2019.05.23

바르셀로나는 올해 말까지 윈도리눅스OS 배포판 중 하나인 우분투로 대체한다. 바르셀로나 시의회는 지난해 컴퓨터 1000대에 우분투를 설치해 시범 운영 중이다.

이외에도 국방 분야에서 오픈소스 도입은 세계적 추세다. 미국 국방성은 오픈기술개발(OTD) 전략으로 2007년 리눅스를 도입했다. 오픈소스 SW 사용을 권장, 리눅스 기반의 다양한 SW를 사용한다. 중국, 러시아, 프랑스 등도 군내 윈도 종속 탈피를 위해 개방형OS를 도입하고 추진한다.

[http!]http://www.etnews.com/20190523000112


1: 중국, 러시아, 프랑스 군에서 리눅스를 도입해서 쓰는 건, 미국에서 만든 윈도우즈NSA에서 삽입한 백도어가 있다고 의심하니까 그런거지. 미국 정부에서 중국에서 만든 화웨이 통신 장비에 백도어 있다고 의심해서 중요 공무원이랑 군인들한테 사용 금지 시킨 것처럼.

        [삭제] 2019-6-12 오전 12:22


2: >1 기밀을 다루는 공무원이나 군인들한테 사용을 금지시킨 건 스마트폰이고, 공공기관이나 군 부대 통신망화웨이 장비 사용 금지시킨 거고. 심지어 이동통신망 기지국도, 부대 내부에는 화웨이 장비 사용 못 하게 하고. 남한에서는 LG U+가 군 부대, 국정원, 청와대에도 화웨이 장비로 기지국 설치하지.

        [삭제] 2019-6-12 오전 12:23


3: >2 미국 군인들은 군 부대 내에서 중국산 스마트폰 사용 못 하게 금지령 내려짐.

        [삭제] 2019-6-12 오전 12:24

http://jqu6my2mlqp4zuui.onion/p?id=12221



오픈 소스 소프트웨어

소스 코드가 공개(open)된 소프트웨어이다. 대부분의 오픈 소스 소프트웨어는 무료로 사용 가능하기 때문에 프리웨어(freeware)와 헷갈리는 경우가 많지만, 프리웨어는 무료로 사용 가능한 프로그램이고, 오픈 소스는 소스 코드가 공개된 프로그램이기 때문에 엄연히 다른 개념이다(예를 들어, 오픈 소스 소프트웨어를 돈 받고 파는 경우도 있다.). 자유 소프트웨어(free software)와 비슷하지만, 오픈 소스 소프트웨어가 자유 소프트웨어보다 조금 더 상위의 개념이다.

일반 사용자 입장에서는 프리웨어나 오픈 소스 소프트웨어나 단순히 공짜로 사용할 수 있다는 점에서는 비슷할 수 있지만, 소스 코드를 보고 이해할 수 있고, 수정할 수 있는 개발자 입장에서는 크게 다르다. 예를 들어, 상용 또는 프리웨어 프로그램을 사용하는 사람들은 버그를 발견했다 하더라도 소스 코드를 모르니 수정할 수 없고, 사용자가 새로운 아이디어가 떠올랐다 해도 그것을 곧바로 프로그램에 적용시킬 수도 없다. 비교적 간단한 프로그램은 리버스 엔지니어링으로 어셈블러 수준에서 뜯어고칠 수는 있으나 소스 코드가 공개된 것보다 몇 백 배는 어렵기도 하고, 저작권 같은 문제가 얽히고 설키기에 하려는 사람은 없다고 보면 된다.

하지만 사용자가 프로그래밍 언어를 아는 경우 소스가 공개되어 있다면 본인이 직접 소프트웨어의 문제를 수정하거나 개선을 할 수 있게 되는 것이다. 또한, 개발하던 프리웨어가 개인적인 사정이나 회사의 사정에 따라 개발이 중지되면 그대로 사장되는 경우가 종종 있는데, 오픈 소스 소프트웨어는 코드가 공개되어 있기 때문에 다른 개발자/개발사에서 이를 이어받아서 새로이 개선해 나가면서 개발하는 것이 된다. 그래서 개발자와 사용자가 일치하는 개발 툴 및 시스템, 네트워크 분야에는 웬만한 클로즈드 소스 상용 소프트웨어는 명함도 못 내밀 정도로 고품질의 오픈 소스 소프트웨어가 넘쳐난다. 그러나 그러지 않는 분야에선 말 그대로 취미 수준에 머물러 있는 경우도 많다.

소스가 공개되어 있고, 이를 마음껏 개조해 사용할 수 있다는 점에서 개발에 필요한 방향으로 최적화가 용이하기 때문에 일반 개인 사용자보다 개발자들 사이에서 강세를 보인다. 서버 운영 체제에서 리눅스가 그 대표적인 예이다.

스페인 카탈루냐바르셀로나 시에서는 모든 소프트웨어를 우분투 리눅스 등 오픈 소스 소프트웨어로 바꾸기로 결정하였다. [|윈도우가 없는 도시를 꿈꾼다 : 스페인 바르셀로나의 오픈소스 전면화 프로젝트 (2018-01-31)] 다만 이런 정책은 독일 바이에른뮌헨 시에서 시도했다가 현재 포기 단계에 들어선 상황이라(단점 단락 참고) 바르셀로나의 오픈 소스 전용 정책이 얼마나 갈 수 있을지 의문이다.

단점

물론 오픈 소스에도 단점이 있다. 강제 소스 공개와 전염성 조항이 있는 GPL 라이선스에 해당되는 것인데, 유료 소프트웨어에 사용하기 어렵다는 점이다. GPL 소프트웨어를 수정해서 유료로 판매하는 것은 이론상으로 가능하나 유료로 판매한 GPL 소프트웨어를 구매한 사용자가 다시 이를 수정해서 무료로 배포하는 것을 막을 수 없기 때문에, 유료 소프트웨어가 이러한 오픈 소스를 채택하는 경우는 드물다. 다만 소프트웨어 시장의 상당수를 차지하는 SI에서는 이러한 부분이 거의 문제시되지 않는다. GPL 라이선스의 경우 사용자에게만 소스를 공개하면 되고, SI 소프트웨어를 제3자에게 제공하는 경우도 없기 때문에, 의뢰인(甲)에게 소스를 제공하는 게 업계 관행인 SI의 특성상 GPL의 전염성이 문제가 될 일은 적다.

이 유료화의 한계는 오픈 소스 소프트웨어의 발전에도 장애가 되는데, 유료화가 제한적이며 이는 개발 자금 부족으로 이어지는 경우가 많다. 부족한 자금 때문에 실력있는 핵심적인 개발자를 영입하기 어렵고, 개발 속도도 느린데다 외부 기술의 라이선스 취득에서도 약점이 된다. 고급 상용화 소프트웨어들이 모든 기능을 자체적으로 개발하는 경우는 매우 드물며, 외부에서 라이선스를 사와 여기에 기능을 덧붙여서 구현하는 경우가 많다. 모든 기능 개발에 집중할 필요가 없으면서도 외부에서 전문적으로 개발한 고급 기술을 사용할 수 있으니 개발 효율이 높아지게 된다. 말 그대로 돈으로 해결하는 것. 실력 있는 개발자가 자발적으로 참여해 적은 자금으로 개발하고 외부 라이선스 취득을 해결했다고 해도 점유율을 높이기 위해 마케팅을 할 역량은 없다. 이런 한계들로 인해 그 목적, 기능, 사용 난이도 등에서 서로 대응점에 있는 소프트웨어인 GIMP포토샵, 블렌더맥스/마야, 리브레오피스MS 오피스 등 유명한 오픈 소스 소프트웨어들과 클로즈드 소스 상용 소프트웨어들을 비교하면 오픈 소스 소프트웨어가 항상 콩라인인 것은 우연이 아니다. 대기업인 구글이 거대 자본을 들여 사실상 도맡아 발전시키고 있는 리눅스 기반 안드로이드는 오픈 소스 소프트웨어임에도 스마트폰 OS 중 가장 높은 점유율을 차지하는 것을 보면 자본의 중요성을 알 수 있다. 결국 오픈 소스 생태계를 확대하려면 유료화 문제의 해결은 필수적이다.

게다가 오픈 소스에는 원칙적으로 사후 지원의 제공 의무가 없다. 이것은 소스 코드를 제공하니 문제가 발생하면 사용자가 직접 고쳐 쓰라는 의미이다. 오픈 소스 프로그램인데도 빨리 고쳐달라고 제작자 게시판에 욕을 해대는 사람들이 있는데, 그러지 말자. 오픈 소스는 그렇게 해 줄 의무 자체가 없다. 다만 오픈 소스 프로그램들이 사용자들의 클레임이나 요구사항을 항상 무시한다는 것은 아니다. 물론 일반적인 용도로 많이 사용되는 오픈 소스 소프트웨어에 이런 사후지원이 없으면 일반 사용자는 쓰기 힘겨우니 사후 지원을 따로 계약하는 경우도 많고, 이러한 사후 지원은 비용을 받는 것이 일반적이다. 예를 들면, 레드햇 엔터프라이즈 리눅스는 상용으로 판매하는데, 소스를 따로 공개해놓고 상용 버전에는 1년 기술 지원을 포함해 놓고 있다. 이 소스를 가져다가 레드햇 상표만 들어내고 그대로 만든 것이 CentOS인데, 이처럼 제3자가 다시 만들어 배포해도 라이선스(리눅스의 경우 GPL)만 지키면 기술 지원만 못 받는 것일 뿐, 불법복제가 아니다.

오픈 소스 소프트웨어 라이선스

다양한 오픈 소스 라이선스를 정리한 표 : [[1]] 오픈 소스 라이선스 가이드 : [[2]]

파일:oslu.png [1월과 2017년 1월의 라이선스 사용률 비교]

흔히 오픈 소스에는 저작권이 없을 것이라고 오해하는 경우가 있는데 독점적인 권리가 없을 뿐이지, 저작권은 존재한다. 예로써, 오픈 소스 프로그램은 보통 일정한 라이선스로 배포한다. 이 중 가장 강제성이 강한 것이 GPL인데, GPL은 오픈 소스인 만큼 소스 코드를 자유롭게 수정하고 배포할 수 있는 권리를 보장하지만, 재귀적 전염성 조항이라는 특이적인 성질이 부여된다. 이는 GPL 소스로부터 파생된 프로그램도 소스가 공개되어야 하고, 파생된 프로그램 또한 강제로 GPL 라이선스로 배포되어야 한다는 뜻이다.

그래서 개념 없는 개발자가 생각 없이 GPL 라이선스를 따르는 오픈 소스 코드를 집어넣어서 프로그램을 만들면 그 프로그램 전체의 코드가 강제 공개 당한다. 투하트 2, 스카이프 등등이 소스 코드를 강제 공개 형벌을 받은 바 있고[* 물론 소스 코드만 공개되고 리소스는 빠졌으므로 그것만 가지고 똑같이 만들 수는 없다. 컴파일이 제대로 되더라도 아마 검은 화면만 나올 듯.], 이코는 영구 판매중지되었다. 뒷날에 플레이스테이션 3용 게임으로 재발매 되었는데, 재발매 본에서는 GPL 소스를 전부 들어냈다. 소니에서는 GPL 위반사항 때문에 DVD 4천만 장리콜한 적이 있다. 컴파일된 프로그램인데 GPL 위반을 어떻게 아는가는 GPL 코드를 사용했는지 안 했는지 매의 눈으로 감시하는 단체가 있기 때문이다.(...) 자유 소프트웨어 재단 같은 단체에서 이 일을 한다.

한때 마이크로소프트에서는 이러한 강제 규정이 산업 발전에 악영향을 끼친다고 암세포에 비유하며 깠다. 천문학적인 시간과 돈을 들여 개발한 프로그램인데 일찍 퇴근하고픈 하청업체 개발자가 어디선가 따와서 스윽 집어넣은 코드 몇 줄 때문에 공짜가 된다니? 이런 뒷목 잡는 시나리오도 충분히 가능한 것이다. 물론 자신들의 독점적 지위를 유지하기 위하여 오픈 소스 진영에서 먼저 열심히 만들어 놓으면, 뒤늦게 그걸 참고해서 그에 대응되지만 호환은 안 되는 것을 떡 하니 윈도우에 박아서 오픈 소스 진영의 것을 무효화시키려고 하던 마이크로소프트에서 할 말은 아니다.

이처럼 발머 시절, "자유 소프트웨어를 방해하는 악의 축" 취급을 받던 MS지만, 최근 들어서는 오픈 소스에 호의적이다. .NET과 차크라코어[* 인터넷 익스플로러 11 및 엣지의 자바스크립트 엔진]를 공개 개발로 전환한 덕에 프로그램 개발과 회사 이미지 개선에 도움이 꽤나 크게 되었다고 한다. 이후에 C\#을 완전 오픈 소스로 풀거나[* 그리고 C#은 Java를 잡아먹은 오라클이 Java에 대한 권리를 주장하며 사사건건 시비를 걸어오는걸 막고자 MS에서 공격적으로 진행한 푸쉬의 일환이다. 이 정책도 상당한 효과를 거둬서 지금은 윈도우에 사실상 묶여있는 언어임에도 점유율 5위를 달성하는 성과를 세웠다.], Windows 10우분투 기반 리눅스 서브시스템(WSL)과 Bash 셸을 탑재하는 등 오픈 소스를 적극 활용하는 모습을 보이고 있다.[* MS가 이처럼 태세전환을 한 이유는 갈수록 시스템이 복잡해지면서 모든 영역을 MS에서 일일히 다 관여하기 힘들어졌기 때문이다. 이 오픈 소스 환영정책의 결과로 MS는 커널이나 보안패치를 포함한 운영체제의 핵심부 개발에만 역량을 집중할 수 있게 되어 메이져 업데이트 제공속도가 상당히 빨라졌다.] ~~오라클 보고 있나?~~

가끔 오픈 소스 프로젝트로 하드웨어 디바이스를 제어하기 위한 라이브러리를 만들거나 차트(그래프) UI 컴포넌트 등을 만드는 팀들을 볼 수 있다. 이런 프로젝트 그룹이 만들어 놓은 결과물을 쓰면 비싼 라이브러리를 쓰지 않아도 된다는 장점이 있으나...가끔 중요한 API를 껍데기만 만들고 방치하는 경우도 종종 만난다. ~~그리고 당연히 개발자는 멘탈붕괴~~

GPL 규약은 사실 리눅스 운영체제나 과거 유닉스 프로그램 등의 상당히 GEEK한 소프트웨어들을 목적으로 만들어져서 위에 나온 빡빡한 정책을 고집하는데, 이것을 약간 완화시킨 것이 LGPL 라이선스이고[* 물론 정적 링크 시 오브젝트 코드는 공개해야 한다.], 소스 재공개를 아예 하지 않아도 되거나, 라이선스의 전염성 조항이 없는 MIT/Apache 라이선스 등도 있다. 위의 통계 자료에서 보이듯 최근에는 GPL을 기피하고 MIT 허가서를 사용하는 빈도가 급증하였다. 그리고 라이선스 없이 저작권 자체를 아예 포기해 버린 경우는 퍼블릭 도메인(Public Domain)이라고 한다. 본질적으로 퍼블릭 도메인과 같지만 이런 법적 문제에 넌덜머리가 난 한 데비안 개발자는 니 X대로 해라라는 뜻의 WTFPL을 배포했다.

유명한 소프트웨어 회사들과 소프트웨어 재단 등에서는 각자의 개발 철학에 맞는 소프트웨어 라이선스를 배포한다. 마이크로소프트, 애플, IBM 등의 회사도 각자의 오픈 소프트웨어 라이선스를 가지고 있다. 다만, 뼈대는 기존 라이선스에서 따오는 경우가 대부분이고 GPL보다는 MIT 허가서, 아파치 라이선스를 참고하는 경우가 많다.

오픈소스 라이선스를 제대로 숙지하지 않고 소프트웨어를 이용할 경우, 완성된 소프트웨어의 모든 소스코드를 강제로 공개해야 하는 상황이 온다거나(ToHeart2 GPL 사건), 23억에 달하는 배상을 해야 하게 된다거나([Ghostscript 무단 사용 사건]) 하는 등 경우에 따라 상당한 피해를 입을 수 있으니 반드시 유심히 따져보고 이용해야 한다.

BSD 라이선스처럼 GPL 같은 재귀적 전염성 조항이 없는 오픈 소스 라이선스들도 존재한다. 오픈 소스를 전염시키는 걸 원치 않는 개발자들이 이 라이선스를 애용하는 편. 또, IT 업계가 공통으로 사용해야 하는 업계 표준 기술을 구현한 소프트웨어도 재귀적 전염성 조항이 없는 오픈 소스 라이선스로 배포하는 경우가 일반적이다. 이런 경우 오픈 소스가 아닌 상용 소프트웨어에서도 사용돼야 하기 때문에 업체들이 결성한 해당 기술의 표준화 단체에서 이런 식으로 소스 코드를 배포하는 경우가 많다.

주요 라이선스

* 크리에이티브 커먼즈 라이선스(CCL)
* GNU 일반 공중 사용 허가서(GPL), GNU 약소 일반 공중 사용 허가서(LGPL), GNU 아페로 일반 공중 사용 허가서(AGPL)
* MIT 허가서
* 아파치 라이선스
* BSD 라이선스
* 모질라 퍼블릭 라이선스(MPL)
* Artistic 라이선스
* 이클립스 라이선스
* SIL 오픈 폰트 라이선스 (OFL)
* WTFPL

소프트웨어 목록

* 목록은 "한글(가나다순) -> 알파벳(ABC순) -> 숫자(123순)" 순서로 작성해 주세요.
* [포터블 앱 디렉터리] 중 프리웨어를 제외한 모든 소프트웨어는 오픈 소스에 해당된다.

개발 및 텍스트 에디터 관련

* 루비
* --맨틀 - Vulkan에 흡수됨.--
* 부스트#s-4
* 지니
* 파이썬 
* 
* Emacs
* 이클립스
* 넷빈즈
* Git
* Node.js
* PHP
* Qt
* Rust
* vi (vim)
* Swift
* R
* Kotlin

게임 관련

보통 인기를 끌었다고 생각되는 게임들은 리메이크를 하거나 재구현을 통해 오픈 소스화하여 현재에 맞게 구성되는 경우가 많다. 그리고 에뮬레이터는 특히나 오픈 소스를 찾아보기 쉽다. 아무래도 개발자가 개발자이다 보니 에뮬레이터 만드는 게 수월한 모양. 아래에 후술된 게임 외에도 다양한 게임이 오픈 소스로 제작되었다. 더 많은 목록은 [[3]]을 참고할 것.

* 존 카맥의 게임
 * 울펜슈타인 3D
 * 
 * 둠 3
 * 퀘이크
 * 퀘이크 2
 * 퀘이크 3 아레나
 * 호버탱크 3D
 * 카타콤 3D
* 끄투 (끝말잇기 웹게임)
* 렌파이 (비주얼 노벨 제작 툴)
* 스텝매니아 (리듬 게임 시뮬레이터)
* 워존 2100 (2004년 오픈 소스로 전환) (실시간 전략 시뮬레이션)
* 웨스노스 전쟁 (턴제 전략 시뮬레이션)
* 조노틱 (FPS)
* 픽셀던전 (로그라이크)
* 헷지워즈 (슈팅)
* Citra (닌텐도 3DS 에뮬레이터)
* DeSmuME (닌텐도 DS 에뮬레이터)
* Dolphin (2008년 오픈 소스로 전환) (Wii 에뮬레이터)
* Dungeon Crawl: Stone Soup (로그라이크)
* Freeciv (턴제 전략 시뮬레이션)
* FreeCol
* Godot Engine (게임 엔진)
* MAME (에뮬레이터)
* NetHack (로그라이크)
* OpenTTD (경영 시뮬레이션)
* PPSSPP (PSP 에뮬레이터)
* RetroArch (에뮬레이터)
* Simutrans (건설/경영 시뮬레이션)
* SlashEM (로그라이크)
* tripleA
* OpenArena (퀘이크 3 아레나 클론)

그래픽 관련

* Blender: 3D 애니메이션 제작
* GIMP: 비트맵 그래픽 프로그램
* Greenfish Icon Editor Pro
* Inkscape: 벡터 그래픽 프로그램
* Krita
* MyPaint
* Scribus
* Synfig Studio: 오픈 소스 에니메이팅 도구(!!!)[* 근데 방식은 에프터 이팩트와 비슷하다.]
* Pencil Animation: 위와 동일하지만 0.4.4b를 마지막으로 지원이 중단되었다가 pencil2d라는 이름으로 부활했다. Synfig와 가장 다른 점이라면 비교적 비트맵 애니메이팅에 더 특화된 편이라는 것.

네트워크 관련

* 모질라 파이어폭스
* 모질라 썬더버드
* 아이스위즐
* 미도리
* 실피드
* 아파치 HTTP 서버
* WebKit - 블링크
* 자테온
* 체로키#s-3
* 크로뮴
* 파일질라
* nginx
* Privoxy
* Netty
* Tor
* [[4]]: L2/L3 소프트웨어 스위치

콘텐츠 매니지먼트(CMS) 관련

* 그누보드
* 도쿠위키
* 드루팔
* 모니위키
* 미디어위키
* 워드프레스
* 줌라
* 텍스트큐브
* 티들리위키
* XpressEngine - 국산 웹 게시판 프로그램 제로보드의 후속작.
* openNAMU
* TinyIB
* phpBB
* OpenCart

데스크톱 환경

전부 리눅스 용이다. 아무레도 리눅스 자체가 오픈 소스이다 보니 많은 듯.

* GNOME - 리눅스를 대표하는 데스크톱 환경
* KDE
* Xfce
* LXDE - 매우 가벼운 데스크톱 환경으로, 64비트 프로그램인데도 메모리를 약 20MiB밖에 안 쓴다.

보안 관련

* KeePass - 계정 관리 (정확히는 패스워드 관리) 프로그램이다.
* Tor
* I2P
* Freenet
* TrueCrypt
* VeraCrypt
* CipherShed
* gpg4usb

시스템 관련

* 레인미터
* 와인
* DOSBox
* KernelEX

문서 관련

* 오픈오피스
* 리브레오피스
* 디아
* LaTeX
* LyX
* Notepad++

운영 체제

* 리눅스 - 리눅스 배포판에 대해서는 문서 참조.
* 안드로이드
* 타이젠
* 하이쿠
* FreeBSD
* FreeDOS
* ReactOS
* Redox

DBMS

* [[5]]
* MySQL - MariaDB
* PostgreSQL
* SQLite

음향, 음악, 동영상 관련

* 밴시
* 송버드#s-2 
* 클레멘타인#s-2 --동명의 영화를 떠올리면 지는 거다--
* Audacity - 사운드 트랙 편집기
* FFmpeg
* LAVFilters
* LMMS
* Media Player Classic
* MPlayer
* MuseScore - 채보 프로그램
* OGG
* Ogg Vorbis
* [[6]] - 음성학계에서 필수적으로 쓰는 포먼트(formant) 분석 소프트웨어
* RAmen#s-2
* VLC
* Kodi 
* Shotcut 

파일 관련

* 노틸러스#s-7
* 7zip

암호화폐 관련

* Electrum

기타

* 클램 안티바이러스
* OpenSSL - LibreSSL
* Stellarium - 별자리 관측 프로그렘
* ActiveX - 출시하고 오픈 소스가 되었다(...).

오픈 소스 하드웨어

하드웨어 역시 오픈 소스가 가능하다. 오픈 소스 하드웨어는 대개 그것을 설계한 회사나 단체 등에서 직접 제품을 생산·판매하지만, 설계도를 오픈 소스로 공개해서 다른 사람들이 똑같은 물건을 제작하거나 변형을 가해서 제작할 수 있게 허용하는 식이다.

3D 프린터의 확산으로 오픈 소스 하드웨어 제작이 용이해지고 있다. 아예 3D 프린터 자체도 오픈 소스로 공개한 경우들이 존재하고. 그런데 3D 프린터 붐에 편승하여 미국총기 소유가 합법인 나라에서 오픈 소스 총(...)을 만드는 경우도 있어서 거센 논란이 일기도 한다[* 한국에서는 설계도를 유포하거나 실제 제작하는 것만으로도 법에 저촉된다.]. Arduino는 설계도가 오픈 소스로 공개되어 누구나 동일 제품을 생산하거나 수정된 버전을 만들 수 있다.

오픈 소스 데이터

* 폰트: 본고딕, 본명조, 은글꼴

오픈 소스 커뮤니티

오픈 소스 기술을 개발하는 사람들의 모임이다. 물론, 오픈 소스의 범주도 포괄적이고, 특정 기업을 중심으로 운영되거나 소프트웨어 이외의 것들에 대해서는 오픈 소스라 할지라도 개발 방법론에서 차이가 있을 수 있지만, 대체로 이와 비슷한 구조를 따른다.

오픈 소스 소프트웨어의 개발은 프로젝트마다 존재하는 소스 코드 저장소를 중심으로 이루어진다. 수많은 사람들이 소스 코드를 동시 다발적으로 수정하는 것을 관리해야 하기 때문에, SVN이나 Git 같은 버전 컨트롤 시스템을 중심으로 하여 소스 코드가 관리되며, Github같은 호스팅 사이트에 올려져 전세계 모두가 실시간으로 확인할 수 있다.

오픈소스 커뮤니티 사이트의 기능들

* 이슈 트래커: 오픈 소스 소프트웨어의 버그가 발견되거나 신기능 추가에 대해 제보할 수 있는 곳이다. 사유 소프트웨어와 달리 모든 버그 제보가 투명하게 공개되기 때문에 다른 사람들이 제보한 버그도 볼 수 있다.
* Pull Request: 소스 코드에 대한 패치가 올려지는 곳이다. 소스 코드를 읽거나 개발하는 과정에 참여하는 것은 누구든 가능하지만, 나무위키처럼 익명의 사람들에게 직접 수정 권한까지는 주지 않는 경우가 많다. 그래서, 일단 소스 코드를 올려 리뷰 과정을 거치고, 동의가 구해진 Pull Request를 Repository의 운영자나 수정 권한을 가진 사람들 중 한 명이 Merge를 하는 식으로 실제 패치가 이루어진다.
* IRC / 메일링 리스트: Issue Tracker같은 경우 실제로 '버그'라고 판단된 스레드만 남기는 식으로 관리하기 때문에 질문 등은 이런 곳에서 관리된다. 일반적인  인터넷 포럼과 비슷한 기능을 한다.

Documentation

오픈 소스로 개발된 소프트웨어들도 일반 사용자나 파생된 소프트웨어를 개발하는 프로그래머들에게는 블랙박스처럼 활용되어야 할 때가 많기 때문에, 사유 소프트웨어만큼은 아닐지라도 문서화 과정이 중요하다.

보통 위키사이트나, 문서 사이트를 하나씩 개설해 문서나 번역을 관리하는 편이다.

활발하게 개발되는 오픈 소스 기술들은 전공 서적같은 것으로는 따라갈 수 없을 만큼 빠른 속도로 업데이트가 이루어지기 때문에, 프로그래밍 입문자라거나, 인터넷을 못 쓰게 하는 곳에서 공부하는 것이 아니라면 시중에 나와 있는 책들을 구하기 보단 왠만하면 공식 문서를 읽어 보는 것이 좋다.

오픈소스 커뮤니티의 구성원

* User: 해당 소프트웨어를 사용한 모든 사람들을 포함한다. 오픈 소스의 특성상 모든 사용자는 사용과 동시에 생산에 관여하는 프로슈머이기도 하다.
* Contributor: 위의 사용자들 중 소스 코드를 1줄 이상 패치한 사람들을 의미한다. 보통 여기서부터 오픈 소스 개발에 입문하게 된다.
* Committer: 위의 컨트리뷰터 중 소스 코드에 대한 직접 수정 권한을 가진 사람들을 의미한다. 보통 해당 프로젝트에서 컨트리뷰터로 많은 활동을 해 왔거나 전문성을 증명한 사람들이 권한을 가지게 된다. 코드베이스에 대한 직접 수정 권한 이외에도 카페 운영자처럼 Issue Tracker나 공식 포럼의 스레드 관리 권한도 가지는 경우가 많다. 프로젝트가 커질수록 고쳐야 하는 버그나 리뷰해야 하는 Pull request가 폭발적으로 늘어나고, 개발 난이도가 올라가기 때문에 커미터가 많이 필요하다.

Leader

프로젝트를 처음 개설하거나 이전 리더로부터 권한을 위임받은 경우 가지게 된다. 리더의 경우 커미터 권한을 관리하거나 주기적으로 큰 버전을 Release하는 역할을 맡는다.

보통 대부분의 오픈 소스 프로젝트의 리더는 Benevolent dictator for life (줄여서 BDFL)의 경우가 많다.

왜냐하면 완전한 민주주의 마냥 모든 것을 동의를 구해서 하기에는, 애초에 투표율이나 의견 개시율 자체가 부족한 경우가 있을 수 있고 (이런 경우 리더가 개인 프로젝트를 진행하듯 개발이 진행된다), 그 외에도 다수에게 의사결정을 맡길 때 발생하는 문제가 소프트웨어 개발 방법론과 맞지 않은 경우가 많기 때문이다.

개인이 어떤 작은 프로젝트라도 Github같은 곳에 공개해 놓고, 오픈 소스 라이센스를 명시해 놓으면 그 오픈 소스 프로젝트의 리더가 될 수 있다. 다만 인기 있는 오픈 소스 프로젝트가 되기 위해서는, 다른 개발자들의 이목을 끌기 위해 아이디어가 독창적이거나 완성도 높은 프로젝트를 만들어야 하고, 이를 위해 부단히 노력해야 할 뿐이다.

오픈 소스 활동

오픈 소스 프로젝트는 자발적 기여자들에 의해 유지되어 왔다. 오픈 소스 기여 활동은 취미를 넘어서 코딩덕후로서의 포트폴리오 작성이라는 동기부여가 된다. 급여가 없는 대신, 학벌, 평점 등의 진입장벽도 없다.

취업 준비를 해야 하는 입장이라면 신입사원이 되기 위한 업계 진입 장벽 극복이 큰 벽으로 다가오는 편이고, 인턴 같은 기회조차 관련 전공자나 고스펙자들로 인해 힘든 경우라면 대안이 될 수 있다. 게다가 근래 들어서는 실리콘 밸리나 국내 IT관련 기업들의 채용 공고에도 오픈 소스 관련 기여 이력을 명시하는 경우가 있고, 그렇지 않더라도 회사의 업무 내용에 포함된 프레임워크 중 자신이 커미터로 활동하는 프로젝트가 있다면 취업에 유리해질 수 있다. 이는 경력직까지도 유효할 수 있다. 일반적인 소프트웨어 개발은 물론, 컴퓨터에 기반한 과학 연구 프로젝트들도 오픈 소스로 공개되는 경우가 많기 때문에, 관련 분야 대학원 진학에도 도움이 될 수 있다. 리눅스 커널의 경우 이 '자발적 기여자'들 역시도 FANG을 비롯한 세계적 IT 대기업들에 의해 상당수 이루어지고 있으므로 해외취업을 고민중이라면 도전해볼 가치가 크다. 인공지능의 경우에도 회사든 대학원이든 논문 구현 경험이 중요하다. [[7]]에는 이런 인공지능 오픈 소스 활동으로 인해 26세의 군필 학부 졸업생이 연봉 3억에 미국/취업한 적도 있었다.

패치

디버깅, 리팩토링, 신기능 개발 등 코딩을 직접 하는 기여 활동을 의미한다. 오픈 소스 기여 활동 중 가장 보편적이면서도 난이도가 높은 편이기도 하다. 유명한 프로젝트들은 최소 수십만 줄 이상의 코드를 가지고 있고, 프로그래밍 언어마다 존재하는 고급 기법들을 활용하고, 기반한 다양한 외부 라이브러리까지 활용해야 하므로, 막 프로그래밍 언어 기본 서적만 읽고 도전하기에는 막막할 수 있다. 코딩 테스트 준비를 비롯해 알고리즘, 자료구조를 충실히 공부한 다음에 시도하는 것이 바람직하다.

시도하려면 이슈 트래커를 둘러 보고 쉬운 이슈라고 마킹된 것들을 중심으로 도전하는 게 좋다.

코드 리뷰

작성한 코드에 버그가 있는 경우나, 혹은 로드맵에 맞지 않은 경우 Merging이 거절되고 수정 요청을 할 수 있다. 대부분 전체적인 코드 베이스에 대해서 감이 있는 리더나 커미터들이 리뷰를 많이 하는 편이지만, 원칙적으로는 어느 이용자든 패치를 지지하거나 개선 사항을 제시할 수 있다. 결국 설득의 과정이기 때문이다.

문서화

문서에 나온 오타 수정이나, 새로운 기능에 대한 문서 작성, 튜토리얼 작성, 번역 등의 활동을 포함한다. 패치보다는 훨씬 쉬운 기여 방법이다. 다만 문서 작성이라고 해도 마크다운이나 웹 프레임워크 등을 활용해야 하는 등, 코딩은 여전히 필요한 경우가 많다.

기부

리눅스 같은 일부 대형 프로젝트들은 워낙 많이 활용되어 사회적인 영향력이 있기 때문에, 단순 덕질에서 벗어나 재단을 만들어 기여자들에게 보상을 하거나, 사용자들에게 기술 지원을 하는 경우가 있다. 일부 오픈 소스 기술들은 대기업들이 가진 기술에 필적하기 때문에 사회간접자본에 대한 투자를 한다는 의미로 오픈 소스 프로젝트에 지원을 하는 기업들이 있다.

구글의 GSoC 같은 것이 대표적이다.

다만, 기업인이 아니라 취업준비생이라면 단순히 돈만 내면 되는 기부자가 되기 보다는 위의 기술적인 기여들을 중심으로 해야 할 것이다.

관련 문서

관련 링크