오픈소스

해시넷
Asadal (토론 | 기여)님의 2018년 6월 15일 (금) 15:48 판
이동: 둘러보기, 검색

오픈 소스(open source)란 소프트웨어소스 코드를 누구나 열람하고 수정할 수 있도록 공개한 것을 말한다. 대체로 무료로 배포된다. 오픈 소스 소프트웨어(Open Source Software, OSS)라고도 한다.

오픈 소스 기반의 운영체제(OS), 웹서버, DBMS, 플러그인, 프레임워크, 개발 툴, 웹 브라우저, 테스트 툴 등 다양한 오픈 소스 소프트웨어가 있다.

오픈 소스 소프트웨어의 경우 소스 코드가 공개되어 있고, 통째로 복사하는 것이 허용되는 라이선스를 따르기 때문에, 원저작자의 허가 없이 포크(fork)를 통한 새로운 소프트웨어 개발이 가능하다.

종류

운영체제

웹서버

웹 애플리케이션 서버

데이터베이스 관리 시스템

웹 브라우저


표준 프레임워크

  • 스프링(Spring) : 자바 언어를 사용하여 응용 프로그램을 개발하기 위해 사용하는 오픈 소스 기반의 표준 프레임워크이다. 아파치재단이 관리하고 있다.
  • 스트럿츠(Struts) : 자바 언어를 사용하여 응용 프로그램을 개발하기 위해 사용하는 오픈 소스 기반의 표준 프레임워크이다. 크레이그 맥클라나한(Craig McClanahan)이 처음 개발했고, 2000년 5월 아파치재단에 이관되었다.
  • 전자정부 표준 프레임워크(eGovFrame) : 대한민국 정부가 공공기관 시스템 개발에 공동으로 사용할 목적으로 개발한 오픈 소스 기반의 표준 프레임워크이다. 기존의 스프링 프레임워크와 아이바티스(iBatis) 프레임워크를 활용하여 개발했다. 아파치 라이선스로 배포하고 있다.
  • 아이바티스(iBatis) : 자바로 개발한 응용 프로그램을 SQL로 개발한 데이터베이스와 연결시켜 주는 역할을 하는 오픈 소스 기반의 표준 프레임워크이다. 아파치재단이 개발했다.
  • 마이바티스(MyBatis) : 2010년 기존의 아이바티스(iBatis)를 포크하여 새로 업그레이드한 오픈 소스 기반의 표준 프레임워크이다. 아파치 라이선스를 따른다.
  • 하이버네이트(Hibernate) : 객체 지향 언어인 자바의 클래스 파일을 관계형 데이터베이스의 테이블에 매핑해 주는 오픈 소스 기반의 표준 프레임워크이다. 2001년 개빈 킹(Gavin King)이 개발했다.
  • 에이에스피닷넷(ASP.NET) : 동적 웹 페이지를 개발하기 위해 사용하는 오픈 소스 기반의 웹 프로그램 개발 표준 프레임워크이다. 미국 마이크로소프트가 기존 ASP 기술을 계승하여 개발했다.
  • 노드제이에스(node.js) : 자바스크립트(JavaScript) 언어를 사용하여 서버 측 응용 프로그램을 개발할 수 있는 오픈 소스 기반의 I/O 프레임워크이다. 2009년 라이언 달(Ryan Dahl)이 개발했다. 기존의 자바스크립트는 프런트 엔드 개발에 주로 사용되었으나, node.js의 출현으로 자바스크립트를 이용하여 서버 측의 백 엔드까지 개발할 수 있게 되었다.
  • 앵귤러제이에스(AngularJS) : 구글이 관리하는 오픈 소스 기반의 웹 어플리케이션 프레임워크이다.
  • 하둡(Hadoop) : 여러 개의 저렴한 컴퓨터를 마치 하나인 것처럼 묶어 대용량 데이터를 처리하는 오픈 소스 소프트웨어 프레임워크이다. 주로 빅데이터 처리에 사용된다. 아파치재단에서 관리하고 있다.
  • 스파크(Spark) : 오픈 소스 기반의 클러스터 컴퓨팅 프레임워크이다. 2009년 미국 UC 버클리대학교의 대학원생인 마테이 자하리아(Matei Zaharia)가 개발했다. 영어로 spark는 불꽃이 튀기는 것을 말하는데, 대용량 데이터를 마치 불꽃이 튀기는 것처럼 순식간에 처리한다는 것을 강조하기 위해 붙인 이름이다. 2010년 BSD 라이선스로 공개했고, 2013년 아파치재단에 넘겨서 아파치 라이선스로 변경되었다.오픈 소스 플랫폼에는 Arduino 등이 있다.
  • 아두이노(Arduino) : 사물인터넷(IoT) 기기를 만들기 위하여 사용하는 오픈 소스 기반의 컴퓨팅 플랫폼을 말한다. C, C++ 등 다양한 언어를 사용하여 원하는 동작을 하도록 코딩을 한 후 기계어로 컴파일하여 마이크로컨트롤러(microcontroller) 보드에 업로드하면, 아두이노가 작동한다.

콘텐츠 관리 시스템

오픈 소스 CMS에는 WordPress, Drupal, Joomla, Zeroboard XE 등이 있고, 오픈 소스 LMS에는 Moodle 등이 있고,


코딩 툴

오픈 소스 개발 툴에는 Eclipse 등이 있고, 오픈 소스 라이브러리 또는 플러그인에는 Bootstrap, Emmet(=Zen Coding), Lucene 등이 있다. 오픈 소스 DB 관리 툴에는 phpMyAdmin 등이 있고, 오픈 소스 DB 통합 솔루션에는 Talend 등이 있다. 오픈 소스 공유 사이트에는 GitHub 등이 있다.

테스트 툴

오픈 소스 테스트 툴에는 JMeter, Bugzilla, SonarQube, nGrinder 등이 있고

웹 취약점 점검 툴

오픈 소스 웹 취약점 점검 툴에는 ZAP, Yasca, FindBugs, PMD 등이 있고,


인공지능 개발 소프트웨어

오픈 소스 인공지능(AI) 소프트웨어는 TensorFlow 등이 있고

클라우드 서비스

오픈 소스 기반의 클라우드 서비스에는 OpenStack 등이 있고,


암호화폐

같이 보기