# Suckless.org - 덜 짜증나는 소프트웨어들

> Clean Markdown view of GeekNews topic #19418. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19418](https://news.hada.io/topic?id=19418)
- GeekNews Markdown: [https://news.hada.io/topic/19418.md](https://news.hada.io/topic/19418.md)
- Type: GN+
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-02-25T10:33:41+09:00
- Updated: 2025-02-25T10:33:41+09:00
- Original source: [suckless.org](https://suckless.org/)
- Points: 18
- Comments: 2

## Summary

Suckless.org는 dwm, dmenu, st와 같은 소프트웨어를 개발하며, 단순성, 명확성, 절제를 핵심 가치로 삼고 있습니다. 이들은 복잡하고 오류가 많은 소프트웨어에 반대하며, 숙련된 사용자와 전문가를 대상으로 단순하고 사용하기 쉬운 소프트웨어를 제공하는 것을 목표로 합니다. 또한, 코드의 복잡성은 비효율적이고 일관성 없는 소프트웨어를 초래한다고 보고, 단순함이 뛰어난 소프트웨어의 핵심이라고 강조합니다.

## Topic Body

### 철학(Philosophy)  
- 우리는 **dwm, dmenu, st** 등 고품질 소프트웨어를 개발하는 커뮤니티로, **단순성, 명확성, 절제(Simplicity, Clarity, Frugality)** 를 핵심 가치로 하고 있음  
- IT 산업 전반에서 **불필요하게 복잡하고, 오류가 많으며, 느린 소프트웨어가 만연한 현실에 반대**함  
- 우리 프로젝트는 **이러한 흐름을 거스르고, 단순하고 최소한으로 유지하고 사용하기 쉽게 유지하는 것**을 목표로 함  
- 우리 프로젝트의 대상은 **숙련된 컴퓨터 사용자 및 전문가**임   
  - 대부분의 상용 소프트웨어 및 대다수의 오픈소스 프로젝트는 **비전문가와 일반 사용자를 대상으로 개발되어** 숙련된 사용자가 무시된다고 생각함  
  - 반면, 우리는 **숙련된 사용자 시장이 지속적으로 성장하고 있으며, 고급 사용자가 자신의 작업 방식에 맞는 최적의 솔루션을 찾을 수 있다**고 믿음  
- **간단하고 우아한 소프트웨어를 설계하는 것은 훨씬 어려움**  
  - 그러나, 신뢰성과 유지 관리를 위해서는 이러한 대가를 치뤄야 함  
  - **최소주의(minimalism)** 를 유지하면 **합리적이고 달성 가능한 목표**를 가질수 있음   
  - 우리는 미니멀리즘과 명확성을 유지하기 위해 노력함   
  
### 선언문(Manifest)  
- 많은 개발자가 **코드를 길게 작성하는 것을 성취로 착각**함  
  - 그러나 코드의 양이 많다고 해서 반드시 소프트웨어의 품질이 향상되는 것은 아님  
  - 더 진전할 수록 더 스킬이 느는 것 같지만, 그건 착각일뿐  
- 많은 개발자가 **코드 품질에 신경쓰지 않고, 문제를 해결하는 것처럼 보이는 동작하는 것 자체에 만족**  
  - 이러한 방식이 유지되면 시간이 흐를수록 **방대한 양의 코드, 완전히 망가진 코드 구조, 결함 투성이의 시스템 설계**가 남게 됨  
  - 이는 개발 프로세스에서 개념적 명확성과 무결성이 부족하기 때문  
- 코드의 복잡성은 비효율적이고 일관성 없는 소프트웨어를 낳는 근본 원인  
  - 복잡한 코드로 인해 성능 저하, 리소스 낭비, 보안 취약점이 발생  
  - 유일한 해결책은 전체 프로젝트를 폐기하고 처음부터 다시 작성하는 것  
- 문제는 고품질의 코드 재작성은 거의 이루어지지 않는다는 것  
  - 많은 개발자는 코드의 양을 자랑스럽게 여기며, 복잡성을 이해했다고 착각해 재작성할 필요가 없다고 생각  
  - 그들은 자신을 천재라 여기며, 복잡한 소프트웨어를 이상적인 목표로 착각  
- 뛰어난 아이디어는 단순함. 훌륭한 소프트웨어도 단순함  
  - **단순함은 Unix 철학의 핵심**  
  - 제거한 코드의 줄 수가 많을수록 더 큰 진전을 이룬 것이며, 코드가 줄어들수록 개발자는 더 숙련되고 소프트웨어는 더 나아짐

## Comments



### Comment 35091

- Author: aer0700
- Created: 2025-02-25T13:37:56+09:00
- Points: 1

완전 파이팅이 넘치는 선언문이네요 ㅋㅋㅋ 멋집니다

### Comment 35070

- Author: neo
- Created: 2025-02-25T10:33:41+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=43131059) 
* Suckless의 Stali Linux FAQ는 나에게 큰 영향을 주었음. 그들은 Linux를 위한 완전히 정적으로 연결된 사용자 공간을 구축했음
  - 이전에는 Linux의 "모든 것을 위한 공유 라이브러리" 접근 방식을 당연하게 여겼음
  - 작은 CLI 도구를 만들 때, 배포 패키지를 만들거나 tarball을 사용해 라이브러리를 설정했음
  - 이런 방식이 꼭 필요하지 않다는 것을 깨달았음
  - 이후로는 가능한 한 정적 링크를 사용하고, 그렇지 않으면 AppImages를 사용함
  - 동적 링크도 필요하지만, 기본적으로 소프트웨어 배포가 복잡할 필요는 없다고 생각함

* dwm과 dmenu 덕분에 10년 동안 데스크톱이 거의 변하지 않았음. 최소주의가 가져다주는 안정성을 사랑함

* for 루프 초기 선언을 사용하지 말라는 것이 이해되지 않음. variadic 매크로는 괜찮다고 하면서 for(int i = 0...)가 너무 복잡하다는 것이 이해되지 않음

* 최소주의를 받아들일 수 있지만, 모든 것이 필요하지는 않음

* Suckless의 코딩 철학은 아름다움. 모든 소프트웨어가 이런 철학으로 작성되었으면 좋겠음. 하지만 창 관리자와 X-menu가 최고의 사례는 아님

* 커뮤니티의 드라마는 어리석음. 소프트웨어 철학을 사랑해서 이 도구들을 사용함. 저자의 개인적인 신념이나 정치적 성향은 신경 쓰지 않음

* 다양한 터미널을 평가한 후, st 포크로 돌아왔음. 몇 년 동안 사용해왔고, 안정적이고 버그가 없음

* 이 철학이 완벽하지는 않지만, 신뢰할 수 있는 소프트웨어를 만드는 데 가장 가까운 접근 방식임. 복잡성을 억제하는 것이 가장 어렵고 중요한 일임

* surf는 WebKit2/GTK+ 기반의 간단한 웹 브라우저임. 웹사이트를 표시하고 링크를 따를 수 있음

* dwm은 소스 코드를 편집하여 사용자 정의되므로, 이진 패키지를 만드는 것은 무의미함. 사용자 기반이 작고 엘리트적임

* Suckless이지만 비동기적이고 모든 것을 위한 소프트웨어를 원함. 많은 앱이 단일 스레드로 협력하는 방식으로 작동하는 앱을 찾고 있음

* 이들이 존재하는 것이 좋음. 그들이 하는 일을 감사하게 생각함. 하지만 약간의 불편함이 있는 소프트웨어를 선호함. BSPWM의 설정은 적당하지만, C 코드를 다시 컴파일하는 것은 과함
