오픈소스

BOSSIE 2022 | 올해 최고의 오픈소스 소프트웨어 28선

James R. Borck, Martin Heller 등 | InfoWorld 2022.10.25

현재 소프트웨어 개발자이거나  클라우드 관리자, 데이터 사이언티스트 또는 코드를 다루는 사람 모두에게 오픈소스 소프트웨어는 숨을 쉬는 공기와 같다. 오픈소스가 항상 흔했던 것은 아니다. 20~30년 전 ‘무료 소프트웨어’가 막 시작됐을 때, 오픈소스 프로젝트는 낯선 것이었고, 이를 만든 사람들은 기본적으로 학자, 연구원, 괴짜 등이었다. 하지만 이런 기벽이 유행하면서, 마치 오래된 격언처럼, 현재는 오픈소스 소프트웨어가 세상을 '집어 삼키고' 있다. 

오픈소스 소프트웨어 프로젝트는 실제로 컴퓨팅의 모든 부분에서 혁신 엔진 역할을 했다. 과거의 오픈소스 개발자는 인터넷을 구축했던 툴을 개발했고, 현재의 오픈소스 개발자는 이를 기반으로 프론트엔드(Front End) 개발, 백엔드(Back-end) 개발, 데브옵스(DevOps), 데이터 옵스(Data Ops), 분산형 데이터 처리, 데이터 분석, 머신러닝 등 더 새로운 툴을 만들고 있다. 여기 InfoWorld 선정 2022년 최고의 오픈소스 소프트웨어를 모은 '2022년 보씨 어워즈(Bossie Awards)' 프로젝트를 선정해 공개한다.
 

ⓒ IDG
 

알마리눅스

세상에 새로운 리눅스 배포판이 또 필요할까? 많은 상용 소프트웨어가 RHEL(Red Hat Enterprise Linux)로 표준화했다. 기본적으로 RHEL의 무료 버전은 센트OS(CentOS)였다. 레드햇이 RHEL의 임시 대체재로써 인수한 후 지원을 중단해 버린 그 리눅스 배포판이다. 센트OS를 사용했던 많은 사람이 실망했는데, 그 빈자리를 채우기 위해 로키 리눅스(Rocky Linux)와 알마리눅스(AlmaLinux)가 등장했다. 알마리눅스는 RHEL과의 바이너리 호환성 및 커뮤니티 소유권을 장점으로 내세운다.
 

포드맨

새로운 공상 과학 공포물 장르는 아니고 컨테이너 관리자가 바로 포드맨(Podman)이다. 사실 포드맨 1.0은 2019년에 공개됐다. 도커(Docker)와 달리 포드맨은 권한이 없는 사용자가 단일 프로세스로 실행할 수 있으며 도커와 비교하여 제한이 적었다. 또한, 컨테이너 이미지와 팟 크기는 일반적으로 도커보다 포드맨이 더 작고, 포드맨에서 직접 쿠버네티스(Kubernetes) 팟을 구축할 수 있다. 심지어 포드맨은 여러 개의 같은 명령을 지원하므로, alias docker=podman처럼 단순화할 수 있다. 이 정도면 도커에서 벗어나 팟 사용자가 되고 싶은 생각이 들지 않는가?  
 
ⓒ IDG
 

플레이 위드 도커

노트북이나 EKS, GKE 등으로 모든 작업을 수행할 수 있는 것은 맞다. 하지만 몇 개의 컨테이너만 사용하고 싶은 경우라면 어떨까? 이때 요긴한 것이 바로 플레이 위드 도커((Play with Docker)다. 5개 인스턴스, 4시간 제한 때문에 보안, AI, 분석(현재 이에 주목하는 스타트업이 많다) 등에는 적합하지 않지만, 전면적으로 도커를 도입하기 전에 테스트하기에는 꽤 좋은 툴이다.
 

바딘 

개발자가 HTML 또는 자바스크립트를 코딩할 필요 없이 자바에서 웹 사용자 인터페이스를 구현할 수 있는 웹 프레임워크가 있다면 이보다 좋은 것이 있을까? 바로 바딘(Vaadin)이 그렇다. 새로운 앱을 더 쉽게 코딩할 수 있을 뿐 아니라 서버측 API는 스윙(Swing)과 유사하기 때문에 스윙 애플리케이션을 최신 웹 애플리케이션으로 손쉽게 전환할 수 있다. Vaadin.com에서 확인하거나 깃허브에서 포킹(Forking)할 수 있다. 
 
ⓒ IDG
 

J힙스터

J힙스터(JHipster)는 자바를 위한 야심찬 풀스택(Full-stack) 고속 애플리케이션 개발 플랫폼이다. 가장 놀라운 점은 일련의 다양한 기술이 프론트엔드와 데이터 계층에서 다양한 역할을 충족한다는 사실이지만, J힙스터는 여기서 멈추지 않는다. 스카폴드(Scaffold) 생성을 처리하고 Vue.js UI로 만든 몽고DB(MongoDB), 리액트(React)로 개발한 포스트그레스(Postgres) 등 이질적인 기술 스택에 CLI 도구 등 다양한 기능을 지원한다. 이 모든 것이 최신 스프링(Spring)/자바 미들웨어와 연결된다. 또한, J힙스터는 스프링 보안을 통해 보안을 강화하는 등 기존의 단점을 보완했고, 여러 최신 배치 옵션과 CI/CD 통합을 기본적으로 지원한다.
 

솔리드

많은 혁신적인 프론트엔드 자바스크립트 프레임워크 중 최고를 가려내는 것은 매우 어렵다. 페이스북이 지원하는 선두주자 리액트는 여전히 일정한 속도로 주목하지 않을 수 없는 새로운 기능을 쏟아내고 있는 혁신적인 프로젝트이고, Vue.js, 앵귤러(Angular), 스벨트(Svelte)는 모두 인상적이다.

우리가 무엇을 선택하든 누군가는 '프레임워크 X는 어때? Y를 더욱 잘 해'라고 이야기할 것이고 그 말은 언제나 옳다. 그럼에도 하나를 꼽지만, 일단 지난해에는 스벨트가 대상이었다. 올해는 아스트로(Astro), 퀵(Qwik), 솔리드(Solid)가 접전이었다. 아스트로는 다른 프레임워크에서 사용할 수 있는 섬의 개념을 통해 수치화에 대한 혁신적인 접근방식을 제공하고, 퀵은 처음부터 반응성 패러다임 전체를 과감하게 재창조했다. 최종적으로 우리의 선택은 솔리드다. 솔리드는 동급 최고의 성능을 제공하면서도 이해하기 쉬운 패키지로 제공한다.
 
ⓒ IDG
 

레드우드

풀스택 자바스크립트 프레임워크를 선택하는 것은 순수한 프론트엔드 JS 프레임워크를 선택하는 것만큼 어렵다. 업계를 선도하는 Next.js는 성공에 안주하지 않았다. 여전히 한계를 초월하는 동력을 갖고 있다. 이와 동시에 스벨트키트(SvelteKit)와 넉스트(Nuxt) 등의 대안뿐 아니라 Blitz.js 등 새로운 출전자가 새로운 접근방식과 기법을 선보이고 있다.

다양한 새로운 프레임워크 중에서 유난이 눈에 띄는 것은 바로 레드우드(Redwood)다. 앱을 구성하는 방식에 대해 찬반이 강경하게 나뉜다. 레드우드의 공격적인 방식 덕분에 놀라울 만큼 바른 개발자 경험을 구성한다. 레드우드는 데이터 모델링 및 스카폴딩(Scaffolding) 등의 반복적인 요건에 대해 레일스(Rails) 같은 접근방식을 취하는 것 외에 보안과 추적 통합 등의 다른 실질적인 문제도 해결한다. 또한, 버셀(Vercel), 네틀리파이(Netlify) 등의 서버리스 플랫폼 등 다양한 배치 환경을 지원한다.
 

Next.js 

Next.js는 풀스택 자바스크립트 프레임워크의 개척자다. Node.js는 동일 구조 자바스크립트 애플리케이션에 문을 열었고 이를 기반으로 풀스택 자바스크립트를 실용적인 애플리케이션으로 발전시켰다. Next.js는 리액트 프론트엔드와 자바스크립트 서버를 단일 빌드 파이프라인으로 통합하는 단순한 약속에서 시작해 점점 더 확장하고 있다. 라우팅(Routing)부터 데이터 액세스, 보안, 서버측 렌더링까지 애플리케이션 개발의 많은 중요한 측면을 더 단순하고 일관성 있게 만들었다. 또한, Next.js는 서버리스와 엣지 등 다양한 배치 대상을 지원한다. 클라우드 인프라 기업 버셀(Vercel)은 이 지원을 활용해 백엔드와 프론트엔드를 연결할 때의 복잡성을 숨기는 자동화된 배치 솔루션을 개발했다.
 
ⓒ IDG
 

와슴타임

Node.js가 자바스크립트 런타임(Runtime)에 제공하는 것과 유사하게 와슴타임(Wasmtime)은 개발자가 안전한 샌드박스 실행, 네이티브에 가까운 성능, 여러 프로그래밍 언어와 플랫폼에서의 지원 등 웹어셈블리(WebAssembly)가 브라우저 내부에서 제공하는 모든 이점을 브라우저 밖에서 활용할 수 있도록 지원한다. CPU와 메모리 사용량 세부 조절, 크레인리프트(Cranelift) 코드 생성기를 통한 고속 실행, 새로운 웹어셈블리 기능 파악하기 등의 장점도 있다.

이전의 와슴타임 릴리즈 역시 기업의 실제 업무 현장에서 사용할 만큼 완성도가 높았지만, 1.0 버전은 더 빠른 와슴 모듈 인스턴스화, 더 스마트한 메모리 사용, 최적화된 스택 추적과 협력적 멀티태스킹을 통한 런타임 성능 개선 등 더 발전했다. 와슴타임은 중요한 변곡점에 놓여 있다고 해도 과언이 아니다.
 

파이스크립트

웹어셈블리의 오랜 약속 중 하나는 웹 브라우저에서 자바스크립트 외의 다른 언어를 사용할 수 있다는 것이다. 이런 약속을 실현하는 기술이 바로 파이스크립트(PyScript)다. 브라우저에서 완전한 파이썬(Python) 런타임을 지원해 웹 페이지에서 파이썬을 스크립트 언어로 사용할 수 있다. 심지어 넘파이(NumPy) 등의 일부 고급 라이브러리까지 지원하고 네이티브 HTML 프론트엔드를 통해 강력하고 복잡한 앱을 구성할 수 있다. 물론 백엔드에서 파이썬 서버도 필요 없다. 파이스크립트는 현재 테스트 단계로 단계이며, 일반적으로 시동 시간이 다소 걸린다. 하지만 파이스크립트를 통해 웹어셈블리의 미래를 엿볼 수 있다.
 
ⓒ IDG
 

하드햇

블록체인 개발은 까다로운 것으로 유명하지만, 새로운 툴의 등장으로 조금씩 개선되고 있다. 그 중 하나인 하드햇(Hardhat)은 훌륭한 오픈소스 프레임워크로, 코딩, 테스트, 이더리움에서의 댑스(Dapps) 및 스마트 컨트랙트 배치를 간소화한다. 확장 가능한 작업 실행자와 플러그인 프레임워크를 중심으로 개발돼 대부분 개발 워크플로를 처리할 만큼 충분히 유연하며, 로컬 이더리움 테스트넷(Testnet)과 통합된다. 원격 테스트넷과 상호작용 없이 코드를 배치하고 디버깅하는 데도 유용하다.

하드햇에는 솔리디티(Solidity)를 지원하는 비주얼 스튜디오용 기능이 포함돼 있으며, 이더리움 전용 테스트를 위한 차이(Chai) 확장기능을 제공한다. 이런 유용성 외에도 하드햇은 뛰어난 개발자 경험을 제공한다. 처음 실행해도 예상한 대로 작동하므로 더 만족스럽다. 
 

오픈FGA 

오픈FGA(OpenFGA)는 구글의 글로벌 인증 시스템 잔지바르(Zanzibar)에 기초한 범용 인증 플랫폼에 대한 오쓰0(Auth0)의 오픈소스 구현이다. 역할 기반부터 관계 기반과 세분화된 인증까지 광범위한 인증 요건을 해결하고, 놀랍도록 다양한 성능과 유연성을 지원하는 패키지를 제공한다. 오픈소스 소프트웨어 커뮤니티의 인증에 중요할 뿐 아니라 오픈소스에 좋은 것이 기업에 좋다는 근본적인 전제, 즉 언어로써 코드의 자유에 대한 재확인 의미로도 중요하다.
 
ⓒ IDG
 

센트리

보안과 함께 오류 및 성능 추적은 많은 앱에 있어서 필수불가결한 요건이다. 이런 문제에 있어 다소 안심할 수 있게 해주는 툴이 바로 센트리(Sentry)다. 데이터를 수집하는 서버측 API부터 이를 관리하는 대시보드와 포괄적인 애플리케이션측 통합까지 애플리케이션, 서비스, API의 건전성을 모니터링하는 오픈소스 도구 전체를 제공한다. 이런 통합은 실제로 펄(Perl)부터 파이썬까지 예상할 수 있는 모든 스택에 적용된다. 그러면서도 사용하기가 매우 쉽다. 라이브러리를 가져오기만 하면 되며, 추가 코드로 비즈니스 로직을 구성할 필요가 없다. 또한 센트리는 프로젝트 추적기, 소스 관리 시스템, 배치 플랫폼 등 다양한 도구를 위한 통합 지점 역할도 한다.
 

앱스미스

앱스미스(Appsmith)는 백엔드 개발자가 최소한의 HTML과 CSS 코딩으로 관리자 패널, 서식, 대시보드 등의 소프트웨어를 사용자 정의할 수 있는 로우코드 프레임워크다. 이 플랫폼은 미리 구축된 UI 구성 요소와 재사용 가능 템플릿을 통해 프로젝트를 신속하게 시작하고 광범위한 API, 데이터 소스, 클라우드 서비스와 통합되며 클라우드 및 셀프 호스팅 배치 옵션을 지원한다. 앱스미스는 도커에서 1,000만회 이상 다운로드됐고, 깃허브에서 2만 1,000개 이상의 별을 받았다. 최근에는 4,100만 달러의 시리즈 B(Series B) 투자를 받기도 했다. 대표적인 활용 사례로는 고객 지원 도구와 의사소통 등의 내부 프로세스가 있다. 
 

Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.