리처드 스톨만이 사용하는 컴퓨터와 자유 부트 펌웨어/운영체제, 텍스트 중심의 작업 방식과 Emacs 활용, Tor와 LibreJS 등을 통한 프라이버시 친화적 인터넷 사용 원칙, 소셜 미디어·이메일 서비스에 대한 입장, 프로그래밍 언어에 대한 견해, 비자유 소프트웨어와 DRM을 거부하는 실천과 지침을 설명한다.
2022년 현재 나는 ThinkPad x200 컴퓨터를 사용한다. 이 기기는 자유 초기화 프로그램(설치 당시 이름은 Libreboot였지만 지금은 GNU Boot라 부른다)과 자유 운영체제(Trisquel GNU/Linux)를 사용한다. 다만 이것은 레노보가 그렇게 판매한 것이 아니다. 소규모 업체들이 중고 제품을 매입해 재생하고 자유 소프트웨어를 설치한다. 이것은 FSF가 보증한 컴퓨터 중 하나다. 나는 2010년대 초부터 사용자의 자유를 비슷하게 존중하는 다른 ThinkPad 모델들도 사용해 왔다.
이런 ThinkPad들을 쓰기 전에는 Lemote Yeeloong을 몇 년간 사용했다. 당시에는 자유 초기화 프로그램과 자유 운영체제를 모두 구동할 수 있는 노트북이 그것뿐이었다. 그러나 자유 운영체제가 설치된 상태로 판매되지는 않았다. Lemote는 그런 컴퓨터를 여러 해째 판매하지 않고 있다.
그 이전에는 OLPC를 몇 주간 사용했다. OLPC는 WiFi에 비자유 펌웨어 블롭을 사용하기 때문에 내부 WiFi 장치를 쓸 수 없었다. 그러나 큰 문제는 아니었고, 외장 WiFi 어댑터를 사용했다.
내가 그것을 그만 사용한 이유는 OLPC 프로젝트가 그 기계에 Windows 지원을 추가하기로 결정했기 때문이다. 나는 그것을 들고 다니는 모습이 그 결정을 지지하는 것처럼 보이는 것을 원치 않았다. 자유 소프트웨어 설치 상태로 사적으로 계속 사용할 수도 있었지만, 오로지 개인적으로만 쓸 다른 컴퓨터가 필요하지 않았다.
그때는 수백만 명의 어린이가 OLPC에서 Windows를 돌리게 되리라 예상되었다. 하지만 그렇게 되지는 않았다. 대신 우리는 수백만 명의 어린이가 Intel Classmate에서 Windows를 돌리거나, 요즘에는 아이의 개인정보를 구글에 보내는 Chromebook을 쓰는 모습을 보았다.
그 이전에는 완전한 자유 GNU/Linux 시스템을 구동하지만 BIOS는 비자유인 기계들을 사용했다. 나는 상용 기계에서 비자유 BIOS를 피할 방법을 약 8년 동안 찾으려 노력했다.
나는 선호하는 GNU/Linux 배포판이 없다. 나는 윤리적인 배포판들 — 즉, 전적으로 자유 소프트웨어인 배포판들을 — 모두 추천한다.
나는 실용적 측면에서 윤리적 배포판들을 비교·평가하지 않기로 했다. 그것은 내게 부차적 문제이고, 사람들을 1차적(윤리적) 이슈에서 산만하게 만들고 싶지 않다. 어차피 그런 실용 리뷰와 비교는 다른 많은 사람들이 나보다 더 잘할 수 있다. 사실, 나는 모든 자유 배포판을 다 써본 것이 아니므로 실용적 기준으로 비교할 위치에 있지도 않다. 다 써보려면 많은 일이 되고, 나는 더 유용한 다른 일들을 해야 한다.
대부분은 편의상 텍스트 콘솔을 사용한다. 내 작업의 대부분은 텍스트 편집이고, 그것은 텍스트 콘솔에서 더 효율적이다. 텍스트 콘솔에서는 터치패드를 실수로 건드려도 문제가 생기지 않는다. 마우스가 엉뚱한 창 위에 올라가 있더라도 내 편집 명령이 먹히지 않는 일도 없다.
그래픽 인터페이스가 필요한 작업에는 X11을 사용한다. 특정한 그래픽 환경이나 윈도 관리자에 대한 선호는 없다. 내가 그래픽 환경을 사용하는 데 실용적 관심이 크지 않기에 그것들을 비교하는 데 시간을 쓰고 싶지 않다. 실제로 내가 사용하는 것은 Maté다. (이 단어를 비롯해 몇몇 외래어에서 끝의 "e"가 묵음이 아님을 나타내기 위해 영어에서 악센트를 쓴다.)
텍스트 터미널에 대한 나의 선택은 윤리 문제가 아니라 단지 개인적 선호일 뿐이다. 윤리적 관점에서, 자유 소프트웨어가 편리한 자유 그래픽 사용자 인터페이스 소프트웨어를 제공하는 것은 중요하다고 생각한다. 그래서 GNU 프로젝트가 이를 위해 세 개의 프로젝트를 시작했다. 그 셋째인 GNOME은 성공했다.
나는 대부분의 시간을 Emacs에서 편집하는 데 쓴다. 메일 읽기와 발송도 Emacs에서 M-x rmail과 C-x m으로 한다. 다른 이메일 클라이언트 프로그램에 관한 경험은 없다. 원칙적으로는 다른 자유 이메일 클라이언트에 관해 알게 되면 좋겠지만, 그것을 배우는 것은 내 우선순위가 아니고 그럴 시간이 없다.
이 사이트의 페이지들도 Emacs로 편집한다. 다만 정치 노트와 긴급 노트는 자원봉사자들이 설치한다. 웹사이트를 유지 관리하는 다른 방식에 대한 경험은 없다. 원칙적으로 다른 방식에 관해 알게 되면 좋겠지만, 그것을 배우는 일은 내게 낮은 우선순위이고 할 다른 일들이 있다.
나는 어떤 게임을 오래 하며 실력을 기를 시간이 없다. 그래서 빠르게 할 수 있는 솔리테어류를 제외하면 거의 게임을 하지 않는다. 물론 내 컴퓨터에서 구동하는 모든 게임에는 비자유 소프트웨어가 포함되어서는 안 된다.
게임이 서버에서 구동되는 경우, 어떠한 비자유 클라이언트 소프트웨어도 요구해서는 안 되며, 서버가 사용자를 식별하거나 위치를 파악할 수 있어서는 안 된다. Tor를 통한 접속을 허용해야 한다. 물론, 빠른 반응 속도로 이기는 류의 게임이어서는 안 된다.
나는 인터넷에서 무엇을 어떻게 하는지에 매우 까다롭다. 인터넷은 사람들을 추적하고 염탐하는 역겨운 체계가 되어버렸다. 이를 피하기 위해 나는 하지 않겠다고 거부하는 일들이 많다. 이것은 희생이 아니다 — 오히려 그런 나쁜 관행에 굴복하는 것이 희생이다.
나는 기업이나 정부의 데이터베이스에 내 신원이나 위치가 식별될 수 있는 방식으로는 인터넷에 접속하지 않는다. 한 가지 예외가 있는데, 내가 사는 집에서는 내 고유의 인터넷 회선밖에 방법이 없다는 점이다.
그러나 다른 어디에서든, 나는 누가 접속하는지 보고되지 않는 방식으로만 접속한다. 당신 집을 방문해 당신이 연결을 허용한다면, 접속하는 사람이 나라는 것은 당신이 알겠지만 당신의 ISP는 그것을 알지 못할 것이다. 카페처럼 모든 사용자가 동일한 비밀번호를 쓰는 곳에서도 접속한다. 반면, 핫스팟이 사용자 신원을 요구한다면, 나는 그곳에 접속하는 것을 거부한다. 다음 기회를 기다린다.
일반적으로 나는 Tor 네트워크를 통해 웹을 탐색한다. 그렇게 하면 (1) ISP가 나를 식별할 수 없고 (2) 접속하는 웹사이트도 나를 식별하거나 내 위치를 알아낼 수 없다. 하지만 Tor 브라우저는 사용하지 않는다. 나는 LibreJS가 비자유 자바스크립트를 차단하게 하고 싶기 때문이다.
나는 웹사이트가 보내는 비자유 자바스크립트 코드를 실행하는 것을 거부한다. LibreJS를 활성화해 그것을 차단한다. 그 결과, 많은 웹사이트가 내게는 작동하지 않는다. 특히, Google Drive URL에는 접근할 수 없다. 나는 invidio.us 프록시를 통해 YouTube에 접근할 수 있었지만, YouTube가 그것을 차단하려 하고 있으므로 앞으로도 YouTube에 접근할 수 있을지 예측할 수 없다.
이 사이트는 매우 단순한 방식으로 유지된다. 나는 이런 페이지들을 HTML로 수작업 편집한다. 나는 간단한 HTML만 알고, 페이지 위·아래 부분과 홈페이지의 더 복잡한 서식은 더 잘 아는 도우미들이 작성했다. 자원봉사자들이 매일 내게서 각 노트의 본문을 이메일로 받아 정치 노트를 설치한다. 크론 작업이 두 달마다 정치 노트 페이지를 "넘긴다"(roll over). 포토 갤러리는 이 Perl 스크립트로 생성한다. 사이트의 검색 기능은 이 코드로 구현했다.
"사용자 경험"을 설계한다는 개념에 대한 설명은 내가 그 개념을 혐오스럽게 느끼는 이유를 보여주기도 한다. 그래서 나는 stallman.org가 단순하게 남아 있기를 바란다. "사용자 경험"이 아니라, 당신이 볼 수 있도록 특정 정보와 견해, 행동 기회를 내가 제시하는 장소 말이다.
이 사이트 유지에 자원하고 싶은가? gnu.org 도메인의 rms에게 편지를 보내라.
인터넷이 처음 존재했을 때부터 사용해 왔다. UUCP를 사용한 적은 없지만, 가끔은 UUCP로 추가 전달을 지정하는 주소로 이메일을 보낸 적이 있다.
나는 인터넷에 어떻게 접속하는지 주의한다.
구체적으로, 나에게 신원 확인을 요구하는 포털이나, 사소하지 않은 비자유 자바스크립트 코드를 실행해야 하는 포털을 통해서는 접속하지 않는다. 나는 LibreJS를 사용해 비자유 자바스크립트 코드가 실행되지 않게 한다. 가짜 신원으로 접속할 수 있다면 그것은 개의치 않는다. 그것은 내 프라이버시를 침해하지 않는다.
나는 종종 누군가의 집에서 접속한다. 그 사람 은 물론 내가 누군지 알지만, 나는 그것에 이의가 없다. 내가 반대하는 것은 내 신원을 검색 가능한 데이터베이스에 넣는 것이다. 나는 장소마다 MAC 주소를 바꿔 그것을 막는다.
나는 내가 특별한 관계를 맺은 몇몇 사이트를 제외하면, 보통 내 컴퓨터에서 웹사이트에 직접 접속하지 않는다. 대개는 (https://git.savannah.gnu.org/git/womb/hacks.git 참고) 메일을 어떤 프로그램으로 보내 그 프로그램이 wget처럼 페이지를 가져오게 하고, 그 결과를 나에게 이메일로 돌려주게 한다. 그런 다음 웹브라우저로 그것을 본다(HTML의 텍스트를 직접 보기 쉬우면 그대로 본다). 보통은 먼저 lynx를 시도하고, 페이지에 그것이 필요하면 그래픽 브라우저를 쓴다. 가끔은 Tor를 통해 IceCat으로 무관한 사이트들을 탐색하기도 한다. 드문 경우를 제외하면, 나는 그들에게 내 자신을 식별하지 않는다. 그것만으로도, 거기에 Tor와 LibreJS가 더해지면 내 브라우징이 나와 연관되는 것을 막기에 충분하다고 생각한다. IceCat은 추적 태그와 대부분의 브라우저 지문 채취 방법을 차단한다.
나는 LibreJS가 사소하다고 판단한 경우를 제외하고 브라우저에서 비자유 자바스크립트를 결코 실행하지 않는다.
나는 웹에서 어떤 것도 결제하지 않는다. 결제에는 대체로 브라우저에서 비자유 자바스크립트를 실행하는 것이 필요하기 때문이다. 또한 신원 확인도 필요하다. 나는 어떤 상품을 사기 위해서도 내 신원을 밝히지 않는다.
나는 일반적으로 신용카드로 결제하는 것을 피한다. 그 페이지에는 극히 소수의 예외가 설명되어 있다.
자유를 위해, 현금 결제를 고집하라. 가게가 실명 결제를 강요할 때가 바로 “현금 안 받으면, 거래 없다!”라고 말해 자유를 지킬 기회다!
인터넷에서 전자책이나 음원 사본을 익명으로 구매할 수 있고 다른 측면에서도 공정하게(무DRM, 무EULA) 대해준다면, 나는 기꺼이 비용을 지불하겠다. 하지만 그런 선택지는 거의 없다시피 하다. 나는 그것이 가능해지도록 방법을 계속 찾고 있다.
검색에는 DuckDuckGo를 자주 쓴다. Tor와 LibreJS 덕분에 그것이 나를 식별하지 못한다.
예전에는 특히 이미지 검색을 위해 searx를 썼지만, 이제는 더 이상 통하지 않는다. 이미지 검색 지정이 비자유 자바스크립트에 의존하게 되었기 때문이다. 이것이 고쳐지기 전까지, 나는 searx를 더는 사용하지 않는다.
가끔은 ixquick.com도 사용한다. 평소의 내 예방 조치들로, 그들이 내가 누구인지 알아내지 못할 것이다.
몇 년 전부터 나는 구글 검색에 직접 접근할 수 없었다. 구글이 깨진 CAPTCHA를 보낸다. Tor를 통해 접속하기 때문일 것이라고 의심한다. CAPTCHA가 작동한다면 답하겠지만, 작동하지 않는다.
CAPTCHA가 깨져 있는 이유는 그것이 내 컴퓨터에서 실행하려 드는 비자유 자바스크립트에 의존하기 때문이라고 나는 의심한다. 나는 그것을 실행하도록 내버려 두지 않는다. 또한 구글이 내가 어디에 있는지 보게 하고 싶지 않으므로, Tor를 우회하지도 않는다.
그러나 Librex 프록시는 그 문제를 우회했다. 덕분에 나는 구글 검색에 간접적으로 접근할 수 있고, LibreJS를 활성화한 상태의 Tor를 통해서도 제대로 작동한다.
나는 rmspostcomments라는 트위터 계정을 가지고 있는데, 다른 사이트에 로그인해 기사에 댓글을 달 때만 사용한다. 트위터에 글을 올린 적은 없다. 누군가가 stallman_feed라는 계정을 만들어 내 정치 노트에 관한 무언가를 올린다고 들었다. 그 외에 나의 것이라고 주장하는 트위터 계정은 사칭자다.
나는 Mastodon 계정 @rms(mastodon.xyz)를 가지고 있으며, stallman.org의 정치 노트를 미러링한다. 미러링을 설정한 사람이 그 사이트를 선택했다.
그 외에 소셜 네트워킹 사이트에 있는, 내 것이라고 하는 계정은 모두 사칭자다.
나는 4chan에 글을 올리지 않는다. 추상적으로 4chan 자체를 반대하는 것은 아니지만, 요즘 거기에는 우익적 편견이 가득한 글이 많다고 들었다. 나는 그것을 전적으로 규탄한다. 가끔 4chan을 위한 인터뷰 질문에 답한 적은 있지만, 거기에 어떤 글도 올린 적이 없다. 그곳에서 나라고 주장하는 글은 모두 사칭자의 것이다.
나는 페이스북을 거부한다. 페이스북은 각 ‘사용자’(즉, 페이스북이 ‘사용’하는 사람)가 계정을 하나만 갖도록 요구하여 사람의 모든 활동을 한데 묶어 버린다. 또한 그 사람의 통상 사용하는 이름을 고집하고, 요즘은 서로 다른 사진을 연달아 요구하기 시작했다.
나는 내 견해를 밝힐 때 내 자신을 밝히는 것을 자랑스럽게 여긴다. 나는 비교적 안전한 위치에 있기 때문에 그렇게 할 수 있다. 그러나 어떤 이들은(고용주나 범죄자, 우익 극단주의자, 좌파의 순응 강요자들, 국가 등으로부터) 자신의 견해에 실명으로 서명하면 보복을 당할 수 있다고 합리적으로 두려워한다. 그들을 위해서라도 실명과 계정을 강제로 연결하는 소셜 네트워킹 사이트라면 거부하자.
사람들이 가끔 이메일 서비스를 추천해 달라고 묻는다. 이메일 서비스의 윤리적 쟁점은 두 가지다. (1) 사이트가 보내는 비자유 자바스크립트 코드를 비롯해 어떤 비자유 소프트웨어도 실행하지 않고 사용할 수 있는가, (2) 사용자의 프라이버시를 존중하는가.
쟁점 1은 FSF의 페이지를 보라. 쟁점 2에 대해서는 어떤 이메일 서비스가 만족스러운지 내가 검증할 방법이 없다. 그러므로 추천할 것이 없다.
다만 이메일 서비스를 검색 엔진과 연결되지 않은 곳으로 고르는 것이 현명할 수 있다고 제안한다. 그렇게 하면 이메일 내용이 검색 결과에 영향을 미치지 않으리라는 점을 거의 확신할 수 있다. 어쨌든 검색 엔진에 자신을 식별해서는 안 된다.
오늘날 대부분의 언어는 특수한 데이터 타입 정의에 초점을 맞추지만, Lisp는 몇 가지 일반적인 데이터 타입을 제공한다. 구체적인 타입을 정의하는 대신, 이러한 타입들로부터 구조를 조립한다. 그래서 이것-의-리스트, 저것-의-리스트를 각각 정의하는 대신, Lisp에는 어떤 종류의 데이터든 담을 수 있는 한 종류의 리스트 타입이 있다.
다른 언어에서는 이것-의-리스트를 탐색하는 함수를 정의하거나, 때로는 일반 리스트 탐색 함수를 정의해 이것-의-리스트에 대해 인스턴스화하는 방식을 제공하지만, Lisp에서는 어떤 리스트든 탐색하는 함수를 쉽게 작성할 수 있고, 그런 함수들이 폭넓게 제공된다.
게다가 Lisp에서는 함수와 식이 데이터로 표현되어 그것들을 조작하기가 쉽다.
Lisp 시스템을 시작하면 read-eval-print 루프에 들어간다. 대부분의 다른 언어에는 read에 대응하는 것도, eval에 대응하는 것도, print에 대응하는 것도 없다. 참으로 큰 결함이 아닌가!
사람들이 Python이 근본적으로 Lisp와 비슷하다고 말해서, 나는 Python 문서를 훑어보았다. 내 결론은 그렇지 않다는 것이다. Python에는 read, eval, print가 모두 없다.
Clojure 팬들 중에는 그것이 Lisp의 변종이라고 말하는 이들이 있다. 나는 동의하지 않는다. Clojure에는 Lisp의 근본적 기능 중 하나인 cons 셀이 없기 때문이다. 우리는 그것으로 리스트를 구성한다.
나는 Lisp의 강력함을 사랑하지만, 함수형 프로그래밍의 신봉자는 아니다. 부작용을 나쁘다고 보지 않으며, 실용적 이유가 없는 한 그것을 피하려 애쓰지도 않는다. 함수형 방식으로 쓰는 것이 자연스러운 코드도 있고, 부작용이 있는 방식이 더 자연스러운 코드도 있다. 나는 어느 쪽의 당파도 아니다. 나는 비자유 소프트웨어의 불의 같은 자유와 정의의 문제들에 한해 운동한다.
Lisp는 다른 언어들보다 이해하기 어렵지 않다. 그러니 프로그래밍을 배워본 적이 없고 시작하고 싶다면 Lisp부터 시작하라. Emacs 편집을 배운다면, Emacs를 위한 편집 명령을 작성하면서 Lisp를 배울 수 있다. 학습용으로 An Introduction to Programming in Emacs Lisp를 사용하라. 그것은 자유(프리덤) 문서이며, FSF에서 인쇄본을 주문할 수도 있다.
Abelson과 Sussman의 Structure and Interpretation of Computer Programs로 Scheme(그리고 프로그래밍에 관한 깊은 사상들)을 배울 수 있다. 그 책은 이제 자유/리브레이며, 인쇄본에는 그렇게 표시되어 있지 않다.
부디 아마존에서 책(이나 다른 어떤 것)이라도 사지 말라!
만약 내 책임과 중요 업무에 이렇게 압도되지 않았다면, 호기심으로 그것들을 공부했을 것이다. 하지만 그럴 일은 아마도 없을 것이다.
다른 언어로 이미 프로그래밍을 할 줄 아는 상태에서 C를 배우고 싶다면, 내가 쓴 GNU C Language Introduction and Reference Manual을 시도해 보기를 권한다.
나는 Java에 관한 책을 읽었고, C에서 한 단계 우아하게 발전한 언어라는 인상을 받았다. 하지만 사용해 본 적은 없다.
한번은 Java에서 약간의 코드를 작성한 적이 있다. 하지만 그 코드는 C와 Lisp로 된 것이었다(그냥 당시 내가 Java 안에 있었을 뿐 ;-).
내가 1990년경 이 문제를 연구했을 때를 돌아보면, C++의 결함은 문법과 의미에 있다. 문법적으로는 문법이 모호하고, C와 불필요하게 호환되지 않아 C에서 C++로의 매끄러운 업그레이드 경로를 가로막는다. 의미론적으로는, C++의 추상 객체 기능은 객체의 실제 타입이 컴파일 시점에 알려져 있는 경우를 중심으로 설계되어 있다. 그러나 그 경우 추상 객체는 호출할 함수의 명명 규칙과 동등하다. 추상 객체가 언어에 진정한 힘을 더하는 경우는 타입이 실행 시점까지 알려지지 않았을 때다. C++도 그것을 다루기는 하지만, 사족처럼 덧댄, 변변치 않은 친족처럼 보인다.
템플릿 라이브러리에서 보기 흉한 점이 아주 많을 것이라 의심하지만, 실제로는 모른다. 그것은 내가 공부한 이후에 C++에 추가된 것이기 때문이다.
먼저 어떤 언어로든 프로그래밍 교과서를 읽고, 이어서 여러 프로그래밍 언어의 매뉴얼을 Lisp를 포함해 읽어라. 그것들이 자연스럽고 직관적으로 이해된다면, 당신의 사고방식이 프로그래밍에 잘 맞는다는 표시다.
직관적으로 이해되지 않는다면, 프로그래밍이 아닌 다른 일을 하라고 권한다. 애써 어느 정도는 프로그래밍을 할 수 있을지도 모르지만, 힘겹게 느껴진다면 잘 하기도 어렵고 즐겁지도 않을 것이다. 고생만 하는 프로그래밍에 무슨 의미가 있는가? 선택은 당신의 것 — 당신의 뇌가 다른 활동에 더 잘 맞는다면, 그쪽을 선택할 수도 있는 것이다.
그다음에는 실제 프로그램(또는 그 일부)의 소스 코드를 읽고 무엇을 하는지 파악해야 한다. 그런 다음 그 코드에 변경을 쓰기 시작하라. 기능을 추가하고, 특정 버그를 찾을 수 있다면 버그를 고쳐라. 그 프로그램의 코드에 익숙한 실력 있는 프로그래머들에게 당신의 변경을 읽고 비판해 달라고 요청하라.
다른 이들이 개발 중인 자유 프로그램의 버그를 고치면, 개발자들은 당신이 보낸 수정에 기꺼이 응할 것이고, 설치하기 좋게 쓰는 방법을 알려줄 가능성이 크다. 그들의 TODO 목록에서 추가하고자 하는 기능을 보고 몇 가지 구현해 봐라. 당신의 변경이 개발자들에게 받아들여질 때 큰 만족을 느끼게 될 것이다.
이것을 계속 반복하면 당신은 소프트웨어 개발에 능숙해질 것이다.
부디 당신의 프로그래밍 능력을 선(善)에만 쓰고 악(惡)에 쓰지 말라. 비자유 소프트웨어나 서비스를 가장한 소프트웨어 대체물을 개발하지 말라. 개인 정보를 수집하지 않도록, 익명 사용을 허용하도록 시스템을 설계하라.
나는 비자유 소프트웨어를 내 컴퓨터에 설치하거나, 내게 마련된 컴퓨터에 설치된 상태를 참는 것을 단호히 거부한다.
그러나 내가 어딘가를 방문했는데, 내 탓이 아닌데도 주변에 있는 기계에 비자유 소프트웨어가 들어 있다면, 나는 그것을 손대는 것까지 거부하지는 않는다. 예컨대 브라우징 같은 일을 위해 잠깐 사용할 것이다. 이런 제한된 사용은 그 소프트웨어의 라이선스에 동의한다는 뜻도 아니고, 그 소프트웨어가 그 컴퓨터에 들어 있는 데 내가 책임이 있다는 뜻도 아니며, 내가 그것의 사본을 소지하게 된다는 뜻도 아니다. 그래서 나는 그것을 피해야 할 윤리적 의무가 있다고 보지 않는다. 물론, 나는 그곳 사람들에게 그 기계들을 자유 소프트웨어로 마이그레이션해야 한다고 설명하지만, 강하게 압박하지는 않는다. 그들을 짜증나게 하는 것은 설득하는 방법이 아니기 때문이다.
마찬가지로, 내가 사용하는 키오스크나 공중전화, ATM에 어떤 소프트웨어가 들어 있는지 걱정할 필요는 없다. 그들의 이익을 위해 그 소유자들이 자유 소프트웨어로 마이그레이션하기를 바라지만, 그때까지 그것에 손대지 않겠다고 할 필요는 없다. (나는 그런 기계들과 그 소유자들이 내 개인정보로 무엇을 할지에 대해서는 고려한다. 하지만 그것은 다른 문제다. 그들이 자유 소프트웨어를 쓴다 해도 마찬가지로 생기는 문제다. 이에 대한 나의 대응은 그들에게 내 데이터가 넘어갈 활동을 최소화하는 것이다.)
이것이 가끔 어떤 기계를 사용하는 것에 대한 나의 방침이다. 매일 한 시간씩 사용한다면, 그것은 더 이상 "가끔"이 아니다 — 그것은 정기적 사용이 된다. 그 시점에는 그 컴퓨터에 있는 비자유 소프트웨어의 무거운 손길을 느끼기 시작할 것이고, 해방된 컴퓨터를 사용하도록 조처해야 할 의무를 느끼게 될 것이다.
마찬가지로, 내가 누군가에게 나를 위해 쓸 컴퓨터를 설치해 달라고 요청하거나 그렇게 하도록 이끈다면, 그 소프트웨어 구성에 대해 내가 윤리적 책임을 지게 된다. 그런 경우에는 그 기계가 내 소유물인 것과 똑같이 자유 소프트웨어만 사용하겠다고 고집한다.
전자레인지와 다른 가전제품에 관해서는, 그 장치의 정상적인 사용 과정에 소프트웨어 업데이트가 포함되지 않는다면 그것은 컴퓨터가 아니다. 그런 경우 사용자는 그 장치에 프로세서와 소프트웨어가 들어 있는지, 혹은 다른 방식으로 만들어졌는지 신경 쓸 필요가 없다고 생각한다. 그러나 "펌웨어 업데이트" 버튼이 있다면, 다른 소프트웨어를 설치하는 것이 사용의 정상적인 일부라는 뜻이고, 따라서 그것은 컴퓨터다.
Skype, Zoom, WhatsApp, 그리고 상호운용이 되지 않는 비자유 통신 프로그램은 네트워크 효과 때문에 특수한 사례다. Skype로 Skype를 쓰는 누군가와 대화하는 것은 그 사람에게 비자유 소프트웨어를 쓰도록 권장하는 것이다. 그것을 정기적으로 하는 것은 그 사람에게 비자유 소프트웨어 사용을 강요하는 압력이 된다. 그래서 나는 어떤 상황에서도 Skype를 사용하기를 거부한다.
이들과 다른 스트리밍 클라이언트 프로그램들의 추가적인 불의는, 저작권법 자체보다 더 엄격하게 사용자를 구속하는 부당한 계약(EULA)을 강제한다는 점이다. 나는 어떤 EULA에도 동의하지 않는다. 당신도 그것들을 거부하기를 촉구한다.
이런 스트리밍 디스서비스는 사람들을 반사회적으로 만들기 위해 설계된 악의적 기술이다. (사본이 없으면, 사본을 나눌 수 없다.) 그것을 거부하는 일은 최고의 윤리적 우선순위다.
한 번은 친구가 자신의 컴퓨터에서 Netflix로 재생할 비디오를 함께 보자고 청했다. 나는 Netflix가 자유에 대한 그러한 위협이기 때문에 그것을 적으로 대할 수밖에 없다고 답하며 거절했다. 나는 다른 사람의 컴퓨터에서라도 Netflix나 Spotify를 통해 어떤 것도 보고 싶지 않았다.
꺼져라, 저주스러운 Spotify! 넷플릭스도 꺼져라!
그러므로 개인적으로 그 족쇄를 풀 방법을 갖고 있지 않다면, DRM 수갑이 채워진 어떤 제품도 사거나 용납해서는 안 된다. 예를 들어, DeCSS나 그에 준하는 자유 프로그램이 없다면 암호화된 DVD를 쓰지 말라. 그리고 블루레이 디스크는 그 족쇄를 푸는 방법을 찾지 못했다면 절대 쓰지 말라. 독자들의 자유를 짓밟는 Amazon Swindle이나 다른 전자책 리더를 쓰지 말라. DRM을 강제하는 음악·동영상 스트리밍 “서비스”를 쓰지 말라. (비자유 클라이언트 프로그램을 요구한다면, 아마 DRM이나 어떤 형태의 사용자 감시를 위한 것일 것이다.)
나는 Unix를(단 1분도) 사용한 적이 없다가, 그것의 자유 대체물(GNU 시스템)을 개발하기로 결심한 이후에야 사용해 보았다. 그 설계를 따르기로 한 것은 그것이 이식성이 있고 비교적 깔끔해 보였기 때문이다. 나는 Unix의 팬이었던 적이 없다. Unix에 대한 비판도 있었다. 그러나 전체적으로 모델로서는 괜찮았다.
90년대 중반에 심한 손 통증이 있었다. 하루의 대부분을 한 손가락으로만 타이핑할 정도였다. FSF는 내게 하루 중 일부 시간 동안 타이피스트를 고용해 주었고, 나머지 시간은 통증을 견뎠다. 몇 년 후 통증의 원인이 키보드 키 압력이 너무 높아서라는 것을 알게 되었다. 키압이 더 가벼운 키보드로 바꾸자 문제는 거의 사라졌다.
내 문제는 수근관 증후군은 아니었다. 나는 타이핑할 때 손목을 꽤 곧게 펴서 그것을 피한다. 반복적 스트레스로 인한 손 부상에는 여러 종류가 있으니, 당신이 들어본 그것이라고 단정하지 말라. 의사를 찾아가 진단을 받으라.
나는 "코딩"이라는 최근의 유행이 개선이라고 생각하지 않기에, 그것을 채택하지 않기로 했다. 나는 코더들이 있는 기업 프로그래밍 팀에 대해 말하는 경우가 아니라면 "코딩"이라는 용어를 쓰지 않는다.
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2015, 2018, 2019, 2022 Richard Stallman
이 글 전체를 있는 그대로 복제·배포하는 것은, 이 고지가 보존되는 한 어떤 매체로든 허용된다. (Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.)