shopkeeper/kowiki-cleaned-020126 huggingface dataset:
이드리스 (프로그래밍 언어)

이드리스(Idris)는 의존형, 양적 유형 이론(quantitative type theory) 주석, 선택적 느긋한 계산법, 그리고 전역성 검사기(totality checker)와 같은 기능을 갖춘 순수 함수형 프로그래밍 언어다. 이드리스는 하스켈과 유사한 범용 프로그래밍 언어로 설계되었으나, 증명 보조기로도 사용될 수 있다.

이드리스의 자료형 체계는 Agda와 유사하다. Agda와 비교했을 때, 이드리스는 부작용의 관리와 임베디드 도메인 특화 언어(EDSL) 지원을 우선시한다. 이드리스는 코드 생성과 런타임 시스템을 제공하는 모듈식 백엔드에 의해 컴파일된다. 이드리스 컴파일러는 Chez Scheme, 래킷, 자바스크립트(브라우저 및 Node.js 기반 모두), C를 위한 백엔드를 포함한다. 다른 플랫폼을 위한 추가적인 제3자 백엔드들도 사용 가능하다.

이드리스라는 이름은 1970년대 영국의 어린이 텔레비전 프로그램인 아이버 더 엔진에 등장하는 노래하는 용의 이름에서 따왔다.

 특징 
이드리스는 비교적 주류인 함수형 프로그래밍 언어의 여러 특징과 증명 보조기에서 빌려온 특징들을 결합하고 있다.

 함수형 프로그래밍 
이드리스의 구문은 하스켈의 구문과 많은 유사성을 보여준다. 이드리스로 작성한 헬로 월드 프로그램은 다음과 같다.
module Main

main : IO ()
main = putStrLn "Hello, World!"

이 프로그램과 하스켈의 대응하는 프로그램 사이의 유일한 차이점은 메인 함수의 타입 서명에서 콜론이 두 개가 아닌 한 개라는 점과, 모듈 선언에서 "where"라는 단어가 생략되었다는 점이다.

 귀납적 및 매개변수 다형성 데이터 타입 
이드리스는 귀납적으로 정의된 데이터 타입과 매개변수 다형성을 지원한다. 이러한 타입은 전통적인 하스켈 98 스타일의 구문으로 정의할 수 있다:

data Tree a = Node (Tree a) (Tree a) | Leaf a

또는 더 일반적인 일반화된 대수적 데이터 타입(GADT) 스타일의 구문으로도 정의할 수 있다:

data Tree : Type -> Type where
 Node : Tree a -> Tree a -> Tree a
 Leaf : a -> Tree a

 의존형 
의존형을 사용하면 값이 타입에 나타날 수 있다. 사실상 프로그램이 실행되기 전인 컴파일 타임에 모든 값 수준의 계산을 수행할 수 있다. 다음은 프로그램 실행 전에 길이를 알 수 있는 리스트 타입(전통적으로 벡터라고 불림)의 정의다:

data Vect : Nat -> Type -> Type where
 Nil : Vect 0 a
 (::) : (x : a) -> (xs : Vect n a) -> Vect (n + 1) a

이 타입은 다음과 같이 사용될 수 있다:

total
append : Vect n a -> Vect m a -> Vect (n + m) a
append Nil ys = ys
append (x :: xs) ys = x :: append xs ys

append 함수는 a 타입의 요소 m개를 가진 벡터를 a 타입의 요소 n개를 가진 벡터 뒤에 붙인다. 입력 벡터의 정확한 타입이 값에 의존하기 때문에, 결과 벡터가 정확히 (n + m)개의 요소를 갖는다는 것을 컴파일 타임에 확신할 수 있다.
"total"이라는 단어는 전역성 검사기(totality checker)를 호출하며, 이 검사기는 함수가 가능한 모든 사례를 다루지 않거나, 무한 루프에 빠지지 않는다는 것을 (자동으로) 증명할 수 없는 경우 오류를 보고한다.

또 다른 일반적인 예는 길이에 대해 매개변수화된 두 벡터의 요소별 덧셈이다:

total
pairAdd : Num a => Vect n a -> Vect n a -> Vect n a
pairAdd Nil Nil = Nil
pairAdd (x :: xs) (y :: ys) = x + y :: pairAdd xs ys

Num a는 타입 a가 타입 클래스 Num에 속함을 의미한다. 한 벡터는 Nil이고 다른 벡터는 숫자인 경우에 대한 매칭 사례가 없음에도 불구하고, 이 함수는 전역적(total)인 것으로 성공적으로 타입 검사를 통과한다. 자료형 체계가 두 벡터의 길이가 같음을 증명할 수 있기 때문에, 해당 사례가 발생하지 않을 것임을 컴파일 타임에 확신할 수 있으며 함수 정의에 그 사례를 포함할 필요가 없다.

 증명 보조기 기능 
의존형은 프로그램의 대부분의 속성을 인코딩할 수 있을 만큼 강력하며, 이드리스 프로그램은 컴파일 타임에 불변량을 증명할 수 있다. 이로 인해 이드리스는 증명 보조기가 된다.

증명 보조기와 상호작용하는 두 가지 표준 방법이 있다. 일련의 전술(tactic) 호출을 작성하거나(Coq 스타일), 증명 항을 대화식으로 정교화하는 것(에피그램–Agda 스타일)이다. 이드리스는 두 가지 상호작용 모드를 모두 지원하지만, 사용 가능한 전술 세트는 아직 Coq만큼 유용하지는 않다.

 코드 생성 
이드리스는 증명 보조기를 포함하고 있기 때문에, 증명을 전달하도록 프로그램을 작성할 수 있다. 이를 단순하게 처리하면 이러한 증명들이 런타임에도 남아있게 된다. 이드리스는 사용되지 않는 항을 공격적으로 삭제함으로써 이러한 함정을 피하는 것을 목표로 한다.

기본적으로 이드리스는 C를 통해 네이티브 코드를 생성한다. 공식적으로 지원되는 다른 백엔드는 자바스크립트를 생성한다.

 이드리스 2 
이드리스 2는 양적 유형 이론에 기반하여 선형 자료형 체계를 깊이 있게 통합한 새로운 자가 호스팅 버전의 언어다. 현재 스킴과 C로 컴파일된다.

 같이 보기 
 증명 보조기 목록
 전체 함수형 프로그래밍

 각주 

 외부 링크 
 , 문서, 자주 묻는 질문, 예제
 Hackage 저장소의 이드리스
 이드리스 언어 문서 (튜토리얼, 언어 레퍼런스 등)

분류:함수형 프로그래밍 언어
분류:하스켈 프로그래밍 언어 계열
분류:2007년 소프트웨어
분류:패턴 매칭 프로그래밍 언어
분류:정적 타입 프로그래밍 언어
분류:고급 프로그래밍 언어
분류:2007년 개발된 프로그래밍 언어
분류:크로스 플랫폼 자유 소프트웨어
분류:BSD 라이선스 소프트웨어
LibTIFF

LibTIFF는 태그 이미지 파일 형식(약칭 TIFF) 파일을 읽고 쓰기 위한 라이브러리이다. 이 세트에는 TIFF 처리를 위한 명령 줄 도구도 포함되어 있다. 소스 코드 형태로 배포되며 다양한 플랫폼을 위한 바이너리 빌드로 찾아볼 수 있다. LibTIFF 소프트웨어는 원래 실리콘 그래픽스에서 근무하던 샘 레플러가 작성했다.

 기능 
4 GiB보다 큰 파일을 지원하는 BigTIFF 지원은 2011년 LibTIFF 4.0에 포함되었다.

 TIFF 도구 
버전 4.6.0부터는 유지관리 부족으로 인해 여러 도구가 기본적으로 빌드되지 않게 되었다. 이 도구들은 여전히 소스 코드로 제공된다. 지원되는 나머지 도구는 tiffinfo, tiffdump, tiffcp, tiffset, tiffsplit뿐이다.

4.7.0 릴리스와 함께 제거되었던 모든 도구가 복구되었으며 다시 기본적으로 빌드된다.

 보안 취약점 
TIFF 파일은 다양한 데이터 유형을 가리키는 파일 내의 오프셋을 포함하는 작은 서술자 블록으로 구성된다. 잘못된 오프셋 값은 프로그램이 파일의 잘못된 부분을 읽으려고 시도하거나 물리적인 파일 끝을 넘어서 읽으려고 시도하게 만들 수 있다. 파일 내에서 부적절하게 인코딩된 패킷이나 줄 길이는 적절한 경계 검사가 부족한 렌더링 프로그램에서 내부 버퍼 오버플로를 유발할 수 있다.

LibTIFF에서 여러 개의 버퍼 오버플로가 발견되었다. 이 중 일부는 플레이스테이션 포터블에서 서명되지 않은 코드를 실행하거나, 아이폰 및 아이팟 터치 펌웨어에서 제3자 애플리케이션을 실행하는 데 사용되기도 했다.

 각주 

 외부 링크 
 
 LibTIFF 메일링 리스트 아카이브
 LibTiff.NET - LibTIFF의 .NET 버전

분류:그래픽 라이브러리
분류:BSD 라이선스 소프트웨어
PF (방화벽)

PF(Packet Filter, pf)는 BSD 라이선스가 적용된 상태 보존형 패킷 필터로, 방화벽 구성을 위한 핵심 소프트웨어이다. 넷필터 (iptables), ipfw, ipfilter 등과 비교된다.

PF는 OpenBSD를 위해 개발되었으나, 이후 다른 많은 운영체제로 이식되었다.

 역사 
PF는 원래 대런 리드의 IPFilter를 대체하기 위해 설계되었으며, 규칙 구문의 많은 부분을 거기에서 따왔다. OpenBSD 개발자들은 IPFilter의 라이선스에 대한 우려로 인해 2001년 5월 30일 OpenBSD의 CVS 트리에서 IPFilter를 제거했다.

PF의 초기 버전은 다니엘 하트마이어가 작성했다. 이 버전은 2001년 12월 1일에 출시된 OpenBSD 3.0에 처음 등장했다.

이후 헤닝 브라우어와 라이언 맥브라이드에 의해 대대적으로 재설계되었으며, 대부분의 코드는 헤닝 브라우어가 작성했다. 헤닝 브라우어는 현재 PF의 주요 개발자이다.

 기능 
필터링 구문은 IPFilter와 유사하지만, 더 명확하게 일부 수정되었다. 네트워크 주소 변환 (NAT) 및 QoS (서비스 품질) 기능이 PF에 통합되었다. 장애 극복 기능 및 중복성을 위한 pfsync와 CARP, 세션 인증을 위한 authpf, 그리고 다루기 까다로운 FTP 프로토콜의 방화벽 처리를 돕는 ftp-proxy와 같은 기능들도 PF를 확장시켰다.
또한 PF는 대칭형 다중 처리 (SMP) 및 상태 추적 옵션 (STO, Stateful Tracking Options)을 지원한다.

PF의 혁신적인 기능 중 하나는 로깅이다. PF의 로깅은 pf.conf 내에서 규칙별로 설정할 수 있으며, 로그는 pflog라는 가상 네트워크 인터페이스를 통해 PF에서 제공된다. 이는 커널 수준 모드에서 사용자 수준 프로그램으로 데이터를 끌어올리는 유일한 방법이다. 로그는 Tcpdump와 같은 표준 유틸리티를 사용하여 모니터링할 수 있으며(OpenBSD에서는 이 목적을 위해 특별히 확장됨), pflogd 데몬을 사용하여 Tcpdump/Pcap 바이너리 형식으로 디스크에 저장할 수 있다.

 포트 
PF는 고향인 OpenBSD 외에도 많은 다른 운영체제로 이식되었으나, 기능 면에서는 큰 차이가 있다. 일부 포트는 수년 전의 버전에 머물러 있기도 한다. OpenBSD는 항상 가장 많은 기능을 갖춘 최신 버전을 보유하고 있다.

PF는 현재 다음 환경에서 사용된다:
 FreeBSD (버전 5.3부터)
 애플 MacOS (스노 레퍼드, Mac OS X 10.6부터)
 애플 IOS 및 IPadOS (모든 아이폰 및 아이패드에서 사용)
 NetBSD (버전 3.0부터)
 DragonFly BSD (버전 1.1부터)
 Debian GNU/kFreeBSD
 PfSense
 오라클 솔라리스
 QNX 및 이를 사용하는 다수의 블랙베리 스마트폰 모델

 같이 보기 
 인터넷 프로토콜 스위트

 각주 

 참고 문헌 
 

 

 

 외부 링크 

 
 
 OpenBSD PF 가이드
 Firewalling with PF: 피터 N. M. 한스틴의 PF 튜토리얼
 OpenBSD/pf Firewalling For the Less Gifted

분류:방화벽 소프트웨어
분류:OpenBSD
분류:BSD 소프트웨어
분류:BSD 라이선스 소프트웨어
분류:MacOS
Javadoc

Javadoc(자바독) 또는 JavaDoc, javadoc은 자바 프로그래밍 언어를 위한 API 문서 생성기이다. Javadoc은 자바 소스 코드의 정보를 바탕으로 HTML 형식 및 플러그인을 통한 다른 형식의 문서를 생성한다. Javadoc은 썬 마이크로시스템즈에서 개발했으며 현재는 오라클이 소유하고 있다.

결과 문서의 내용과 형식은 소스 코드 주석 내의 특별한 마크업 언어를 통해 제어된다. 이 마크업은 자바 코드를 문서화하는 데 있어 사실상 표준이자 어디에나 존재하기 때문에, 많은 통합 개발 환경(IDE)에서 소스 코드를 볼 때(종종 관련 심볼 위에 마우스를 올리는 방식으로) Javadoc 정보를 추출하여 표시한다. IntelliJ IDEA, 넷빈즈, Eclipse와 같은 일부 IDE는 Javadoc 템플릿 주석 블록 생성을 지원한다. Javadoc 마크업의 @tag 구문은 Doxygen, JSDoc, EDoc, HeaderDoc 등 다른 문서 생성기에서도 재사용되어 왔다.

Javadoc은 doclets(도클릿)과 taglets(태그릿)을 통한 확장을 지원하며, 이를 통해 다양한 출력 형식을 생성하거나 코드베이스의 정적 분석을 수행할 수 있다. 예를 들어, JDiff는 API의 두 버전 간 변경 사항을 보고한다.

일부에서는 Javadoc과 일반적인 API 문서 생성기를 비판하기도 하지만, Javadoc을 만든 동기 중 하나는 전통적인(자동화가 덜 된) API 문서가 전문 기술 작가의 부족과 같은 비즈니스적 제약으로 인해 종종 구식이 되거나 존재하지 않는 경우가 많았기 때문이다.

Javadoc은 첫 출시 때부터 자바의 일부였으며, 자바 개발 키트의 각 릴리스와 함께 자주 업데이트된다.

Javadoc과 Javadoc이 사용하는 소스 코드 주석은 컴파일러에 의해 무시되므로 자바 실행 파일의 성능에 영향을 주지 않는다.

 마크업 

Javadoc은 특별히 표시되지 않은 주석은 무시한다. Javadoc 주석은 다중 행 주석의 시작 부분에 별표를 하나 더 추가하여 /**로 표시한다. 이어지는 줄은 *로 시작하며, 전체 주석 블록은 */로 끝나야 한다.

메서드 Javadoc 주석의 예시는 다음과 같다:

/**
 * 메서드가 수행하는 작업에 대한 설명.
 *
 * @param input 매개변수에 대한 설명.
 * @return 반환값에 대한 설명.
 * @throws Exception 예외에 대한 설명.
 */
public int methodName(String input) throws Exception { ... }

Javadoc에서는 
, 
, 
와 같은 일부 HTML 태그를 지원한다.

 마크다운 
자바 23부터 Javadoc은 기존의 다중 행 형식 대신 ///로 시작하는 주석 줄에서 마크다운 표준인 CommonMark를 지원한다.

 도클릿 
도클릿(Doclet) 프로그램은 Javadoc과 연동하여 문서에 포함할 콘텐츠를 선택하고, 콘텐츠의 프레젠테이션 형식을 지정하며, 문서를 포함하는 파일을 생성한다. 도클릿은 자바로 작성되며 을 사용한다.

Javadoc에 포함된 은 API 문서를 프레임 기반의 HTML 파일로 생성한다. 웹상에서 다른 도클릿들도 이용 가능하며, 종종 무료로 제공된다. 이들은 다음과 같은 용도로 사용될 수 있다:
 다른 유형의 문서 생성 (비 API용)
 PDF와 같이 HTML 이외의 형식으로 출력
 검색 기능이나 자바 클래스에서 생성된 UML 다이어그램이 포함된 추가 기능을 갖춘 HTML로 출력

 태그 

사용 가능한 일부 Javadoc 태그 목록은 아래 표와 같다:

 같이 보기 
 문서 생성기 비교
 Doxygen
 .NET XML 문서 주석

 각주 

 외부 링크 
 Javadoc 도구 홈 페이지
 Java 플랫폼, 표준 에디션 Javadoc 가이드
 JSR 260 Javadoc 태그 기술 업데이트 자바 사양 요구 (새로운 Javadoc 태그 정의)
 ashkelon을 통한 Javadoc 개선
 윈도우 도움말 형식으로 변환된 다양한 자바 문서들

분류:자유 문서 생성기
분류:자바 개발 도구
스핑크스 (문서 생성기)

스핑크스(Sphinx)는 파이썬 커뮤니티에서 작성하고 사용하는 문서 생성기이다. Python으로 작성되었으며, 다른 환경에서도 사용된다.

 목적 및 기능 
스핑크스는 reStructuredText 파일을 HTML 웹사이트를 비롯하여 PDF, EPub, Texinfo, man 등 다양한 형식으로 변환한다.

reStructuredText는 확장이 가능하며, 스핑크스는 소스 코드로부터 문서를 자동 생성하거나, 수학 기호를 작성하고, 소스 코드를 강조(highlighting)하는 등의 여러 확장 기능을 통해 이러한 확장성을 활용한다.

 HTML 테마 
스핑크스는 HTML 및 HTML 기반 형식에 테마를 적용하는 기능을 제공한다. 스핑크스에는 alabaster, classic, sphinxdoc, scrolls를 포함한 여러 내장 테마가 있다. 파이썬 모듈로 설치할 수 있는 인기 있는 테마는 다음과 같다.
 Read the Docs
 스핑크스 Bootstrap
 Guzzle
 Documatt

 역사 및 사용 
2008년 3월 21일에 첫 번째 공개 버전인 0.1.61611 버전이 발표되었다. 이 도구는 파이썬 프로젝트의 문서를 위해 개발되었으며 현재도 광범위하게 사용되고 있다.

2008년 도입 이후 스핑크스는 Bazaar, SQLAlchemy, MayaVi, SageMath, SciPy, Django, Pylons를 포함한 많은 주요 파이썬 프로젝트에 채택되었다. 또한 블렌더 사용자 매뉴얼 및 파이썬 API 문서 생성에도 사용된다.

2010년, 에릭 홀셔는 소프트웨어 문서 관리의 편의성을 높이기 위한 노력의 일환으로 Read the Docs 프로젝트의 창설을 발표했다. Read the Docs는 매 커밋 이후 스핑크스 문서의 빌드 및 업로드 과정을 자동화한다.

 리눅스 커널 
리눅스 커널의 문서화 하위 시스템은 2016년에 변화를 겪었다. 4.7 사이클부터 문서화 도구로 스핑크스를 사용하기 시작했다.
 LCA2016 발표: 
 LCA2017 발표: 

 같이 보기 
 문서 생성기 비교
 Read the Docs
 reStructuredText

 각주 

 외부 링크 
 
 Read the Docs 스핑크스를 기반으로 하는 대규모 협업 문서 호스트

분류:자유 문서 생성기
분류:파이썬으로 작성된 자유 소프트웨어
분류:BSD 라이선스 소프트웨어
Xmonad

섬네일|xmonad의 Xinerama 지원: 3개의 화면에서 동시에 타일링되는 모습.
섬네일|타일형 모드의 xmonad
xmonad는 X 윈도 시스템용 동적 창 관리자(타일형)로, 함수형 프로그래밍 언어인 하스켈로 작성된 것으로 유명하다.

 창 관리자 
2007년 3월에 시작된 xmonad의 0.1 버전은 2007년 4월에 500 라인의 하스켈 코드로 발표되었다. (현재는 2000라인까지 늘어났다). xmonad는 Dwm, larswm, StumpWM과 유사한 타일형 창 관리자이다. 창을 겹치지 않는 패턴으로 배열하며, 마우스를 사용하지 않고도 창을 관리할 수 있게 한다. xmonad는 많은 리눅스 배포판과 BSD 시스템을 포함한 광범위한 유닉스 계열 운영체제에서 패키지화되어 배포된다.

원래는 dwm의 클론(기본 키 바인딩과 같은 부분에서 파생됨)이었으나, 현재 xmonad는 작업 공간별 레이아웃, 타일링 반전, 상태 보존, 레이아웃 미러링, GNOME 지원 및 화면별 상태 표시줄과 같이 dwm 사용자가 사용할 수 없는 기능을 지원한다. 또한 외부 설정 파일을 수정하여 사용자 정의가 가능하며, 실행 중에 '다시 로드'할 수 있다. xmonad의 기능은 다른 타일형 창 관리자에 영향을 주기 시작했다. dwm은 xmonad에서 "urgency hooks"를 차용했으며, 버전 4.8에서 (다중 모니터를 위한) Xinerama 지원을 포함했고, xmonad의 피보나치 나선 레이아웃을 재구현하기 위한 패치도 존재한다.

 하스켈 프로젝트 

2023년의 Man page에 따르면: 

소스 코드 크기가 500라인에 불과하다는 점을 내세웠던 초창기 이후, xmonad는 약 2,000라인까지 성장했다.

다른 창 관리자의 에뮬레이션이나 피보나치 나선 기반의 창 타일링과 같은 독특한 레이아웃 알고리즘을 포함한 핵심 시스템의 확장 기능들은 활발한 커뮤니티에 의해 구현되었으며 라이브러리로 사용 가능하다.

마우스의 필요성을 제거한 것과 더불어, xmonad 개발자들은 신뢰성을 높이고 버전 0.7 기준 총 코드 수를 1200라인 미만으로 유지하기 위해 준정형 기법과 프로그램 파생을 집중적으로 사용한다. (창 포커스 동작과 같은) 창 관리자의 속성은 QuickCheck를 사용하여 확인된다. 이러한 강조점 덕분에 xmonad는 여러 면에서 독특하다. 하스켈로 작성된 최초의 창 관리자일 뿐만 아니라, 포커스를 자동으로 관리하기 위해 지퍼 자료 구조를 사용한 최초의 사례이기도 하며, 그 핵심은 패턴 매칭과 관련하여 안전함이 증명되어 신뢰성에 더욱 기여한다. 개발자들은 다음과 같이 기록했다:
xmonad는 X 윈도 시스템을 위한 타일형 창 관리자로, 하스켈로 구현되고 설정되며 동적으로 확장 가능하다. 이 시연은 부작용이 지배적인 소프트웨어도 순수 함수형 자료 구조, 표현력 있는 자료형 체계, 확장된 정적 검사 및 속성 기반 테스트를 활용함으로써 하스켈에서 기대하는 정밀도와 효율성으로 개발될 수 있음을 보여준다. 또한 하스켈을 애플리케이션 설정 및 확장 언어로 사용하는 방법을 설명한다.

코드는 부작용이 없는 코드와 부작용을 위한 얇은 래퍼로 분리되어 있다. 알레한드로 세라노 메나에 따르면, 하스켈 응용 소프트웨어 및 라이브러리에서 동작을 위한 도메인 특화 언어를 구현하는 방법에는 "콤비네이터 라이브러리를 개발하는 것"과 "자신만의 모나드를 만드는 것"의 두 가지가 있는데, xmonad는 후자의 성공적인 예이다.
xmonad는 2013년 함수형 프로그래밍 서적에서 가장 잘 알려진 하스켈 프로젝트 중 하나로 간주되었다.

 평가 
리눅스 매거진은 "2009년 최고의 리소스" 목록에 xmonad를 포함했다. 2012년 하우투긱(How-To Geek)은 xmonad가 훌륭하지만 복잡한 설정 능력을 갖추고 있다고 설명했으며, 2013년 리눅스를 위한 8가지 데스크톱 환경 목록에 포함되었다. 라이프해커는 xmonad 사용자 인터페이스의 기본 조작을 소수의 명령어로 익힐 수 있다고 썼다. Network World는 높은 수준의 사용자 정의 가능성과 속도를 주목했으며, MakeUseOf에서는 오픈박스에 비해 긍정적인 평가를 받았다.

2016년 아르스 테크니카는 xmonad와 Awesome이 시나몬보다 더 발전된 타일링 능력을 갖추고 있다고 언급했다. 2017년에는 빅 데이터용 창 관리자로서의 응용 가능성과 함께 강력하다는 설명을 들었으며, 반면 opensource.com의 한 기사에서는 xmonad 대신 dwm이 선택되기도 했다. 테크레이더의 "2018년 최고의 리눅스 데스크톱" 리뷰에서는 "우리가 다룬 모든 데스크톱 환경 중에서 단 하나 눈에 띄는 것이 있다면 바로 이것이다"라고 평했다.

적은 소스 라인 오브 코드, 순수 함수형 프로그래밍 언어인 하스켈의 사용, 엄격한 소프트웨어 테스트 절차의 기록 덕분에 xmonad는 때때로 다른 연구 프로젝트에서 기준 애플리케이션으로 사용된다. 여기에는 Rocq 증명 보조기를 사용하여 xmonad를 재구현하는 것, xmonad가 명령형 프로그래밍 프로그램이라는 결정, 그리고 Nix 패키지 관리자를 기반으로 하는 NixOS 리눅스 배포판과 관련된 패키지 관리 연구 등이 포함된다.

 같이 보기 

 X 윈도 매니저 비교
 형식 검증

 각주 

 참고 자료 

 
 ACM 아카이브
 

 더 읽어보기 
 브라이언 런듀크에 따르면 xmonad는 알려지지 않은 프로그래밍 언어로 작성된 알려지지 않은 데스크톱 환경이며, "xmonad와 하스켈은 실패작인가? 그들은 죽었는가? 아니다. 그들은 독특하기 때문이다. 사용자 정의가 가능하다. 그들은 여전히 건재하다(그리고 멋지다)."라고 덧붙였다.
 – xmonad 및 기타 가벼운 창 관리자의 사용에 관하여.

 외부 링크 

 
 "Taste of Haskell" – 사이먼 페이튼 존스가 xmonad를 예로 들어 하스켈에 대해 발표한 오라일리 오픈 소스 컨벤션(OSCON) 자료.
 유튜브 강연 전반부 (비디오)
 유튜브 강연 후반부 (비디오)

분류:자유 X 윈도 매니저
분류:BSD 라이선스 소프트웨어
므네모시네 (소프트웨어)

므네모시네(Mnemosyne, 그리스의 기억의 여신 므네모시네의 이름을 따옴)는 2003년부터 개발된 간격 반복 소프트웨어 제품군이다. 간격 반복은 암기 속도를 높이는 것으로 입증된 증거 기반 학습 기술이다.

 특징 
 슈퍼메모(SuperMemo) 알고리즘의 초기 버전인 SM-2를 기반으로 한 간격 알고리즘을 사용하며, 너무 이르거나 늦은 반복을 처리하기 위해 일부 수정이 가해졌다.
 그림, 소리, 비디오, HTML, Flash 및 LaTeX 지원
 포터블(Portable) 지원 (USB 드라이브에 설치 가능)
 카드 범주화
 학습 진행 통계
 질문과 답변 양면으로 구성된 카드 덱 형태의 학습 데이터를 ".mem" 데이터베이스 파일에 저장하며, 이는 여러 다른 간격 반복 애플리케이션과 상호 운용이 가능하다.
 플러그인 및 자바스크립트 지원
 안드로이드 기기에서 카드 복습 가능
 다른 기기 간의 동기화

 개요 
매일 소프트웨어는 반복이 예정된 각 카드를 표시한다. 사용자는 카드의 답변에 대한 자신의 기억 정도를 0에서 5까지의 척도로 평가한다. 그 후 소프트웨어는 해당 특정 카드에 대한 사용자의 평가와 전체 카드 데이터베이스를 고려하여 다음 반복 일정을 잡는다. 이는 수동적인 복습이 아닌 능동적인 복습 과정을 만들어낸다. 이러한 접근 방식의 근거는 (간격 효과로 인해) 시간이 지남에 따라 하루에 수행하는 반복 횟수가 줄어들고, (수동적 학습 기술과 비교했을 때) 학습에 소비하는 시간을 최소화하면서 회상률을 높일 수 있다는 점이다.

 소프트웨어 
므네모시네는 파이썬으로 작성되어 마이크로소프트 윈도우, 리눅스, 그리고 에서 사용할 수 있다. 안드로이드 기기에서의 복습을 위한 클라이언트 프로그램도 제공되지만 데스크톱 프로그램과의 동기화가 필요하다. 소프트웨어 사용자들은 대개 자신만의 카드 데이터베이스를 만들지만, 미리 제작된 므네모시네 데이터베이스를 사용할 수도 있으며 SuperMemo 컬렉션이나 텍스트 파일을 가져오는 것도 가능하다. 파일 저장을 위해 SQLite가 사용된다. 안키의 플래시카드 데이터베이스뿐만 아니라 이전 버전의 므네모시네 데이터베이스를 가져오는 기능도 지원한다.

 연구 
므네모시네는 자원하는 사용자로부터 데이터를 수집하며 장기 기억에 관한 연구 프로젝트이기도 하다.

2009년 8월 버전의 데이터 세트가 비트토렌트를 통해 공개되었으며, 2014년 1월 버전도 다운로드할 수 있다. 그 외 최신 버전은 제작자인 Peter Bienstman에게 요청하여 얻을 수 있다.

 같이 보기 
 안키

 각주 

 외부 링크 

 Mnemosyne 프로젝트 웹사이트
 Mnemosyne 리뷰 및 안키와 슈퍼메모와의 비교 (2008년 1-2분기)
 Mnemosyne 리뷰 - foolsworkshop.com
 Mnemosyne 리뷰 및 안키와의 비교 (2009년 1분기)

분류:2003년 소프트웨어
분류:자유 교육용 소프트웨어
분류:파이썬으로 작성된 자유 소프트웨어
분류:LGPL 라이선스 소프트웨어
분류:GNU AGPL 라이선스 소프트웨어
IText

iText는 자바 및 .NET에서 PDF 파일을 생성하고 조작하기 위한 라이브러리다. 2000년에 브루노 로와지(Bruno Lowagie)가 만들고 작성했다. 소스 코드는 처음에 모질라 공용 허가서 또는 GNU 라이브러리 일반 공중 사용 허가서 오픈 소스 라이선스에 따라 오픈 소스로 배포되었다. 그러나 버전 5.0.0(2009년 12월 7일 출시) 및 버전 4.2.0(2015년 July 10, 2015 출시)부터는 GNU 아페로 일반 공중 사용 허가서 버전 3에 따라 배포된다. LGPL/MPL 라이선스 버전의 iText 포크는 현재 GitHub에서 OpenPDF 라이브러리로 활발히 유지 관리되고 있다. iText는 iText Software NV에서 배포하는 사유 라이선스를 통해서도 사용할 수 있다.

iText는 PKI 기반 서명, 40비트 및 128비트 암호화, 색 보정, 태그가 지정된 PDF, PDF 양식(AcroForms), PDF/X, ICC 프로필을 통한 색 관리, 바코드와 같은 고급 PDF 기능에 대한 지원을 제공하며, Eclipse BIRT, Jasper Reports, JBoss Seam, Windward Reports, Pdftk를 포함한 여러 제품 및 서비스에서 사용된다.

 역사 
iText(이전 명칭 rugPDF)는 1998년 겨울 헨트 대학교에서 학생 행정용 PDF 문서 애플리케이션을 만들기 위한 사내 프로젝트로 개발되었다. 초기 버전은 처음에는 PDF 파일을 읽고 쓸 수만 있었으며, 개발자가 라이브러리를 사용하려면 PDF 구문, 객체, 연산자 및 피연산자에 대한 지식이 필요했다. 어도비의 PDF 아키텍트인 레너드 로젠솔(Leonard Rosenthol)은 iText를 PDF 개방 역사의 초기 이정표 중 하나로 꼽았다.

1999년, 로와지는 rugPDF 코드를 해체하고 iText라는 이름의 새 라이브러리를 작성했다. 로와지는 자바 개발자가 PDF 구문을 모르더라도 PDF 문서를 생성할 수 있는 라이브러리로 iText를 만들었으며, 2000년 2월 14일에 자유 오픈 소스 소프트웨어(FOSS) 제품으로 출시했다. 2000년 여름에 파울루 소아르스(Paulo Soares)가 프로젝트에 합류했으며 현재 주요 개발자 중 한 명으로 간주된다.

2008년 말, iText는 사유 라이선스로 이용 가능해졌으며, 2009년 초에 iText 제품의 전 세계 라이선스 제공자가 되기 위해 iText Software Corp.가 설립되었다.

iText는 이후 C#으로 작성된 iTextSharp라는 이름으로 닷넷 프레임워크에 이식되었다. 별도의 코드 베이스를 가지고 있지만, 주요 iText 릴리스 일정과 동기화된다.

 ISO 표준 지원 
iText는 다음을 포함하여 대부분의 현대 PDF 표준을 준수한다.

 ISO 32000-1 (PDF 1.7)
 ISO 32000-2 (PDF-2.0)
 ISO 19005-1 (PDF/A-1)
 ISO 19005-2 (PDF/A-2)
 ISO 19005-3 (PDF/A-3)
 ISO 19005-4 (PDF/A-4)
 ISO 14289-1 (PDF/UA-1)
 ISO 14289-2 (PDF/UA-2)

 ISO 32000-2 확장 
 ISO 32001
 ISO 32002
 ISO 32003
 ISO 32004

 라이선스 
iText는 원래 MPL/LGPL 하에 출시되었다. 2009년 12월 1일, iText 5 출시와 함께 라이선스가 GNU 아페로 일반 공중 사용 허가서 버전 3으로 전환되었다. (AGPL에서 요구하는 대로) 소스 코드를 제공하고 싶지 않은 프로젝트는 iText 5의 상업용 라이선스를 구매하거나 MPL/LGPL 하의 이전 버전 iText를 계속 사용할 수 있다.

iText Group NV는 iText 5를 준비하기 위한 실사 과정에서 iText 2의 몇 가지 지식재산권(IP) 문제가 발견되어 수정되었다고 주장한다.

 포크 
 OpenPDF는 LGPL 및 MPL 하에 출시된 활발한 오픈 소스 프로젝트다.

 표창 및 수상 
2007년, SOA World Magazine은 iText를 "기업이 사용해야 할 10대 오픈 소스 솔루션 중 하나"로 선정했다. 제임스 고슬링은 Huckster의 새 에디션에서 iText 라이브러리를 사용하며 이를 찬사했다.

2011년, iText는 자바 개발자를 위한 커뮤니티 컨퍼런스인 Devoxx에서 소개되었다.

2013년, 딜로이트는 iText Software Group을 베네룩스 지역의 Technology Fast 50 어워드 후보로 지명했다. 이 회사는 베네룩스에서 10위, 벨기에에서 3위를 차지했다.

2014년, iText는 BelCham 기업가 정신 어워드에서 "올해의 가장 유망한 기업" 부문을 수상했으며 딜로이트는 iText Group NV를 벨기에에서 가장 빠르게 성장하는 기술 기업으로 인정했다. 이후 이 회사는 딜로이트의 EMEA 지역 Technology Fast 500에서 28위를 차지했다. iText는 또한 쾰른, 워싱턴 DC 및 뉴욕의 PDF Days, 샌프란시스코의 Java One, 안트베르펜의 Devoxx에서도 소개되었다.

2017년, iText는 국제 비즈니스 어워드(International Business Awards)에서 "올해의 가장 혁신적인 기술 기업 - 100인 이하 부문 2017"을 수상했다.

2017/18년에 ITEXT GROUP은 "올해의 성장 전략 부문 ELITE 어워드"를 수상했다.

2019년, iText는 아메리칸 비즈니스 어워드(American Business Awards)에서 "올해의 가장 혁신적인 기술 기업 - 100인 이하 부문"으로 실버 스티비(Silver Stevie)를 수상했다. iText는 또한 유러피언 비즈니스 어워드(European Business Awards)에서 "올해의 성장 전략" 부문 국가 우승자(National Winner)로 선정되었다.

 같이 보기 

 PDF 소프트웨어 목록

 각주 

 더 읽어보기 

 by Stephen Kitt
 Review second edition in Freies Magazin by Michael Niedermai
 Tools of the Trade, Part 1: Creating PDF documents with iText by Jeff Friesen (Adobe Press)

 외부 링크 

분류:자바 라이브러리
분류:자유 조판 소프트웨어
분류:GNU AGPL 라이선스 소프트웨어
MuPDF

MuPDF는 C로 작성된 자유-오픈 소스 소프트웨어 프레임워크로, PDF, XPS 및 EPUB 파싱 및 렌더링 엔진을 구현한다. 주로 페이지를 비트맵으로 렌더링하는 데 사용되지만, 검색 및 목차 목록 작성, 하이퍼링크와 같은 기타 작업에 대한 지원도 제공한다.

MuPDF의 초점은 속도, 작은 코드 크기 및 고품질 안티앨리어싱 렌더링에 맞춰져 있다. 1.2 버전 릴리스 이후 MuPDF는 양식 채우기, 자바스크립트 및 전환 효과와 같은 대화형 기능을 선택적으로 지원한다.

이 라이브러리에는 기본적인 X11 및 Windows 뷰어와 배치 렌더링(mutool draw), 파일 구조 검사(mutool show), 파일 재작성(mutool clean)을 위한 일련의 명령줄 도구가 포함되어 있다. 최신 버전에는 PDF 파일을 생성하고 편집하기 위한 스크립트를 실행할 수 있는 자바스크립트 인터프리터(mutool run)도 포함되어 있다.

수많은 자유 소프트웨어 애플리케이션이 PDF 문서를 렌더링하기 위해 MuPDF를 사용하며, 가장 대표적인 예로 수마트라 PDF가 있다. MuPDF는 대부분의 유닉스 계열 운영체제 배포판에서 패키지로도 제공된다.

독립적인 개발자들이 아마존 킨들, HP 터치패드, 플레이스테이션 포터블, Wii, 및 도스를 포함한 많은 플랫폼으로 이 라이브러리를 포팅했다.

 역사 
2002년, 토르 안데르손은 라프 레비엔의 Libart 렌더링 라이브러리를 기반으로 MuPDF 작업을 시작했다. Artifex Software가 MuPDF 프로젝트를 인수한 후, 개발 초점은 Fitz라는 새로운 현대적 그래픽 라이브러리를 작성하는 것으로 옮겨졌다. Fitz는 원래 노후화된 고스트스크립트 그래픽 라이브러리를 대체하기 위한 연구개발 프로젝트로 의도되었으나, 대신 MuPDF를 구동하는 렌더링 엔진이 되었다.

2005년, 새로운 Fitz 라이브러리를 탑재한 첫 번째 MuPDF 버전이 출시되었다.

2009년, Artifex Software는 MuPDF에 대한 저작권을 침해했다는 이유로 Palm, Inc.를 상대로 저작권 침해 소송을 제기했다. 당시 Artifex는 MuPDF를 GPLv2 또는 Artifex가 상업적 용도로 의도한 독점 라이선스 중 하나를 선택할 수 있는 다중 라이선스로 제공하고 있었다. Palm이 웹OS에 MuPDF를 포함하고 라이브러리의 변경된 소스 코드를 공개하여 GPLv2를 준수했을 때, Artifex는 전체 통합 제품(PDFviewer, WebOS)이 GPL 하에 놓여야 하므로 GPL 버전이 "상업적 용도"로는 부적합하다고 주장했다. Artifex는 2011년에 자발적으로 소송을 취하했다.

2011년, GhostXPS 라이브러리의 코드를 기반으로 마이크로소프트의 XPS 지원이 추가되었다.

2013년 2월 1.2 버전 릴리스부터 라이선스 조건이 GNU 일반 공중 사용 허가서에서 GNU 아페로 일반 공중 사용 허가서 v3으로 변경되었다.

 같이 보기 

 PDF 소프트웨어 목록
 포플러 (소프트웨어): 또 다른 자유-오픈 소스 PDF 라이브러리

 각주 

 외부 링크 
 
 
 

분류:2005년 소프트웨어
분류:그래픽 라이브러리
분류:C로 작성된 자유 소프트웨어
분류:포터블 소프트웨어
분류:GNU AGPL 라이선스 소프트웨어
ScyllaDB

ScyllaDB는 소스 공개 분산 NoSQL 와이드 컬럼 데이터 스토어다. 아파치 카산드라와 호환되도록 설계되었으며, 훨씬 높은 처리량과 낮은 지연 시간을 달성한다. 카산드라와 동일한 프로토콜(CQL) 및 동일한 파일 형식(SSTable)을 지원하지만, 카산드라의 자바(Java)를 대체하여 C++20 언어를 사용하고 스레드, 공유 메모리, 매핑된 파일과 같은 고전적인 리눅스 프로그래밍 기술 대신 Seastar 비동기 프로그래밍 라이브러리를 사용하여 완전히 새로 작성된 구현체다. 카산드라의 프로토콜을 구현하는 것 외에도 ScyllaDB는 아마존 다이나모DB API도 구현한다.

ScyllaDB는 각 노드에서 샤드 설계를 사용하는데, 이는 각 CPU 코어가 데이터의 서로 다른 하위 집합을 처리함을 의미한다. 코어들은 데이터를 공유하지 않고 필요할 때 명시적으로 통신한다. ScyllaDB의 제작자들은 이러한 설계 덕분에 ScyllaDB가 현대적인 NUMA SMP 머신에서 훨씬 더 나은 성능을 달성하고 코어 수에 따라 확장이 매우 잘 된다고 주장한다. 그들은 단일 머신에서 초당 최대 200만 건의 요청을 측정했으며, ScyllaDB 클러스터가 그 10배 규모의 카산드라 클러스터만큼 많은 요청을 처리하면서도 더 낮은 지연 시간을 유지할 수 있다고 주장한다. 독립적인 테스트에서 이러한 10배의 처리량 향상이 항상 확인된 것은 아니며, 때로는 2배와 같은 더 작은 속도 향상이 측정되기도 했다. 2017년 삼성의 벤치마크에서는 고사양 머신에서 10배의 속도 향상이 관찰되었다. 삼성 벤치마크 보고서에 따르면 ScyllaDB는 YCSB 작업 부하에 따라 24코어 머신 클러스터에서 카산드라보다 10~37배 더 나은 성능을 보였다.

ScyllaDB는 온프레미스, 주요 퍼블릭 클라우드 제공업체 또는 DBaaS(ScyllaDB Cloud) 형태로 사용할 수 있다.

 역사 
ScyllaDB는 이전에 OSv를 만든 것으로 알려진 스타트업 클라우디우스 시스템즈(Cloudius Systems, 나중에 ScyllaDB Inc.로 사명 변경)에 의해 2014년 12월에 시작되었다. 공동 창립자는 아비 키비티와 도르 라오르다. ScyllaDB는 2015년 9월에 AGPL 라이선스 하에 오픈 소스로 출시되었다. 2024년 12월, ScyllaDB는 소스 공개 라이선스로 전환했다. 소스 코드와 개발 프로세스는 여전히 공용 GitHub 저장소에 공개되어 있지만, 특정 규모 이상의 클러스터에서 사용하려면 라이선스를 구매해야 한다.

 같이 보기 
 아비 키비티
 글라우버 코스타
 커널 기반 가상 머신 (KVM)
 OSv

 각주 

 외부 링크 
 Scylla 공용 GitHub 저장소, 소스 코드 저장소 및 버그 추적기 포함
 ScyllaDB Inc. 홈페이지
 ScyllaDB 오픈 소스 NoSQL 데이터베이스 왕좌의 또 다른 경쟁자
 Scylla가 초당 10억 개의 행으로 확장한 방법

분류:자유 소프트웨어 기업
분류:클라우드 스토리지
분류:NoSQL
분류:자유 데이터베이스 관리 시스템
분류:키-값 데이터베이스
분류:GNU AGPL 라이선스 소프트웨어
분류:클라우드 데이터베이스
시큐어드롭

시큐어드롭(SecureDrop)은 언론인과 제보자(내부고발자) 사이의 보안 통신을 위한 자유 소프트웨어 플랫폼이다. 원래 에런 스워츠와 케빈 폴슨이 데드 드롭이라는 이름으로 설계하고 개발했다. 제임스 돌런 또한 이 소프트웨어를 공동 제작했다.

 역사 
에런 스워츠의 사망 이후, 2013년 5월 15일 더 뉴요커의 직원들에 의해 '스트롱박스'(Strongbox)라는 이름으로 플랫폼의 첫 번째 인스턴스가 시작되었다. 언론의 자유 재단이 시큐어드롭이라는 이름으로 데드 드롭의 개발을 인수했으며, 이후 프로퍼블리카, 가디언, 디 인터셉트, 워싱턴 포스트를 포함한 여러 언론 기관에 설치를 지원해 왔다.

 보안 

시큐어드롭은 익명 네트워크인 토르를 사용하여 내부고발자, 언론인, 언론 기관 간의 통신을 용이하게 한다. 따라서 시큐어드롭 사이트는 토르 네트워크 내의 어니언 서비스로만 접속할 수 있다. 사용자가 시큐어드롭 웹사이트를 방문하면 무작위로 생성된 코드명을 부여받는다. 이 코드명은 업로드를 통해 특정 저자나 편집자에게 정보를 보내는 데 사용된다. 조사 보도 언론인은 시큐어드롭 메시징을 통해 내부고발자에게 연락할 수 있다. 따라서 내부고발자는 자신의 무작위 코드명을 메모해 두어야 한다.

이 시스템은 언론 기관이 소유한 격리된 전용 서버를 활용한다. 언론인은 시큐어드롭 데이터에 액세스하기 위해 두 개의 USB 플래시 드라이브와 두 대의 개인용 컴퓨터를 사용한다. 첫 번째 컴퓨터는 토르 네트워크를 통해 시큐어드롭에 접속하며, 언론인은 첫 번째 플래시 드라이브를 사용하여 시큐어드롭 서버에서 암호화된 데이터를 다운로드한다. 두 번째 컴퓨터는 인터넷에 연결되지 않으며 재부팅할 때마다 데이터가 삭제된다. 두 번째 플래시 드라이브에는 복호화 코드가 들어 있다. 첫 번째와 두 번째 플래시 드라이브를 두 번째 컴퓨터에 삽입하면 언론인이 자료를 확인할 수 있게 된다. 해당 컴퓨터는 사용 후 매번 종료된다.

언론의 자유 재단은 모든 주요 버전 출시 전에 독립적인 제3자로부터 시큐어드롭 코드와 보안 환경을 감사받고 그 결과를 공개할 것이라고 밝혔다. 첫 번째 감사는 워싱턴 대학교의 보안 연구원들과 브루스 슈나이어에 의해 수행되었다. 두 번째 감사는 독일의 보안 업체인 Cure53에 의해 수행되었다.

시큐어드롭은 익명성 보호를 위해 제보자가 자바스크립트를 비활성화할 것을 권장한다.

 시큐어드롭을 사용하는 주요 기관 
언론의 자유 재단은 현재 시큐어드롭 인스턴스의 공식 디렉토리를 관리하고 있다. 다음은 주요 언론 기관의 인스턴스 일부 목록이다.

 수상 
 2016: 자유 소프트웨어 재단, 자유 소프트웨어상, 사회 공헌 프로젝트 부문

 같이 보기 
 위키리크스

 각주 

 외부 링크 
 
 
 시큐어드롭 - 언론의 자유 재단

분류:출처 (언론)
분류:파이썬으로 작성된 자유 소프트웨어
분류:내부고발
분류:자유 저작물 관리 시스템
분류:2013년 소프트웨어
분류:GNU AGPL 라이선스 소프트웨어
Adempiere

ADempiere는 자유 소프트웨어 라이선스에 따라 배포되는 전사적 자원 관리 (ERP) 소프트웨어 패키지다. 이탈리아어 동사 adempiere는 "의무를 다하다" 또는 "성취하다"를 의미한다.

이 소프트웨어는 GNU 일반 공중 사용 허가서에 따라 라이선스가 부여된다.

 역사 
ADempiere 프로젝트는 2006년 9월에 만들어졌다. Compiere 오픈 소스 ERP 소프트웨어를 중심으로 형성된 오픈 소스 개발자 커뮤니티와 프로젝트의 기업 스폰서 간의 불일치로 인해 결국 Compiere의 포크로서 Adempiere가 탄생하게 되었다.
포크 후 몇 주 만에 ADempiere는 SourceForge.net 순위에서 상위 5위에 올랐다. 이 순위는 개발자 커뮤니티의 규모와 오픈 소스 ERP 소프트웨어 시장에 미치는 영향력을 모두 보여주는 척도가 된다.

프로젝트 이름은 이탈리아어 동사 "adempiere"에서 유래되었는데, 이는 "의무의 이행"을 의미할 뿐만 아니라 "완성하다, 도달하다, 실행하다, 과업을 수행하다 또는 해방하다, 또한 명예와 존경을 표하다"라는 추가적인 의미를 담고 있으며, 이는 프로젝트가 달성하고자 하는 목표에 적합한 것으로 간주되었다.

 프로젝트의 목표 
Adempiere 프로젝트의 목표는 커뮤니티가 개발하고 지원하는 오픈 소스 비즈니스 솔루션을 만드는 것이다. Adempiere 커뮤니티는 에릭 레이먼드의 기사인 성당과 시장에서 설명된 바자르의 오픈 소스 모델을 따른다.

 비즈니스 기능 
Adempiere 애플리케이션에서는 다음과 같은 비즈니스 영역을 다룬다:
 전사적 자원 관리 (ERP)
 공급망 관리 (SCM)
 고객 관계 관리 (CRM)
 재무 성과 분석
 통합 판매 시점 정보 관리 (POS) 솔루션
 다양한 원가 유형을 위한 원가 엔진
 주문 배치 및 자재 소요량 계획(또는 생산 자원 계획)을 포함하는 두 가지 생산 방식(경량 및 복합).

 프로젝트 구조 
모든 커뮤니티 구성원은 프로젝트 토론 포럼에서 발언권을 가진다. 실질적인 목적을 위해 프로젝트는 기여자 협의회에 의해 관리된다. 전체 프로젝트 관리자 역할을 수행할 리더가 이 협의회에서 지명된다. Adempiere 협의회의 역할은 다음과 같다:
 리더의 결정 지원.
 기여 수락.
 로드맵 정의.
 사양 검토 및 승인.
 새로운 기능에 대한 투표.
 핵심 변경 사항 승인.

 기술 
Adempiere는 Java EE 기술로 개발되었으며, 특히 아파치 톰캣과 JBoss 애플리케이션 서버를 활용한다. 현재 데이터베이스 지원은 PostgreSQL 및 오라클 데이터베이스로 제한된다.

 아키텍처 
Adempiere는 Compiere 프로젝트로부터 데이터 사전(Data Dictionary)을 상속받았다. 이 아키텍처는 데이터 사전 개념을 애플리케이션으로 확장한다. 따라서 애플리케이션의 엔티티, 유효성 검사 규칙 및 화면 레이아웃을 애플리케이션 내부에서 제어할 수 있다. 실제로 이는 새로운 코딩 없이도 애플리케이션의 커스터마이징이 가능함을 의미한다.
워크플로 관리 연합 및 객체 관리 그룹 표준 기반의 워크플로 엔진을 사용하여 비즈니스 프로세스 관리를 제공한다. 이러한 기능들을 통해 비즈니스 요구사항에 맞춰 애플리케이션을 신속하게 커스터마이징할 수 있다.

 같이 보기 
 Compiere, iDempiere, metasfresh, Openbravo (Compiere 소스 코드 계열)

 ERP 소프트웨어 패키지 목록
 ERP 벤더 목록
 자유-오픈 소스 소프트웨어 패키지 목록

 포크 

 iDempiere: OSGi 프레임워크를 통해 코드를 모듈화하여 플러그인 아키텍처를 가능하게 했다.
 metasfresh: 원래 ADempiere를 기반으로 하며 독일에서 개발되었다.

 각주 

내용주

 상위 오픈 소스 ERP 목록
 Heise Online - 기술 뉴스 포털
 GudangLinux 노트

 InfoWorld 기사
 완전한 오픈 소스 준수 및 데이터베이스 독립성, Adempiere 첫 출시로 한 걸음 더 다가서다 
 Compiere 사용자 커뮤니티 분열; 코드 포크 발생

 외부 링크 
 공식 커뮤니티 웹사이트

분류:소프트웨어 포크
분류:자바로 작성된 자유 소프트웨어
분류:GPL 라이선스 소프트웨어
Claws Mail

Claws Mail은 가볍고 설정 변경이 자유로운 자유-오픈 소스, C/GTK 기반 이메일 클라이언트이다. Claws Mail은 윈도우와 리눅스, BSD, 솔라리스와 같은 유닉스 계열 시스템 모두에서 실행된다. 메일은 MH 사서함 형식으로 저장한다. 플러그인을 통해 HTML 메일을 읽을 수 있지만, HTML 메시지를 작성하는 기능은 없다.

 기능 
Claws Mail은 뉴스 클라이언트이자 RSS 어그리게이터이기도 하다. 통합되어 있거나 플러그인을 통해 제공되는 추가 기능은 다음과 같다:

 검색 및 필터링 (선택적으로 펄 및 파이썬 스크립팅을 통해 가능)
 보안 (GPG, SSL, 안티피싱)
 스팸 방지 (SpamAssassin, Bogofilter)
 폴더별 환경 설정
 외부 편집기 선택 가능
 메시지 템플릿
 테마 지원, 사용자 정의 가능한 도구 모음, X-Face 지원, 접기 가능한 인용문
 HTML 메일 뷰어 (딜로, Gtkhtml2, Fancy (웹킷), LiteHTML)
 TNEF 첨부 파일 파서
 PDF 뷰어
 트레이 아이콘 및 LED 핸들러와 같은 다양한 알림 플러그인
 보관, 표준 형식으로부터의 가져오기/내보내기
 Mbox 사서함 형식 지원
 메시지의 일종으로 이벤트를 처리하는 캘린더 기능

 역사 
개발은 2001년 4월 실피드의 개발 버전에서 새로운 기능을 테스트하고 디버깅할 수 있는 Sylpheed-Claws로 시작되었다. 2005년 8월에 Claws Mail은 실피드에서 완전히 분리(포크)되었다.

 같이 보기 

 유즈넷 뉴스리더 목록
 유즈넷 뉴스리더 비교
 이메일 클라이언트 비교
 피드 어그리게이터 비교

 각주 

 외부 링크 
 

분류:C로 작성된 자유 소프트웨어
분류:GPL 라이선스 소프트웨어