- 오픈 소스 소프트웨어가 널리 사용되고 있지만, 여전히 완전한 자유 소프트웨어의 이상은 달성되지 못함
- 펌웨어, 하드웨어, 주요 소비자 기기 등 다양한 분야에서 닫힌 소프트웨어와 독점적 구조가 지배적임
- 평균 노트북에는 10~15개의 독립 프로세서와 펌웨어가 존재하고, 저장장치·입력장치·GPU·ME/SECURE BOOT 등 핵심 경로가 비자유 소프트웨어에 종속됨
- 즉, 일반 사용자는 소프트웨어, 하드웨어의 제한으로 인해 실질적인 제어권을 갖지 못하는 현실임
- 이로 인해 업데이트 종료·서비스 중단·하드웨어 잠금 같은 러그풀과 수리권 제한이 현실화되며, 공공안전·의료기기 같은 고위험 영역에서도 검증과 개선의 자유가 제한됨
- 해결책으로 GPL 중심의 카피레프트 선택, 하드웨어 문서 공개와 오픈 펌웨어 의무화, 정책·규제 개선과 소비자 선택을 결합해 사용자 통제권을 회복해야 함
오픈소스가 승리했다는 착각
- 2008년부터 ZDNET, Linux Journal, Wired 등 언론이 “Open Source has won” 이라는 말을 반복적으로 보도
- Linux, Ruby, Red Hat 같은 성공 사례들이 근거로 제시되었으나, GitHub이나 Microsoft처럼 실제로 자유롭지 않은 사례도 있음
- “승리”의 기준이 사용·채택에만 머물고 자유(통제권) 는 평가에서 탈락함
- 브라우저·언어·크리에이티브 툴 등 일부 계층만 보고 전체를 일반화하는 관찰 편향도 존재함
- 일상 영역을 보면 TV, 무선헤드폰, 스마트폰, 프린터 등은 사실상 폐쇄 생태계에 잠김
- 대체 네트워크인 Mastodon·PeerTube는 폐쇄 플랫폼과 상호운용 부재로 도달성 제약 발생
- 자유 대안이 있는 경우도 틈새·취미 수준에 머무는 한계가 있음
- 저비용 린 스타트업 문화에서는 오픈소스 도구가 합법적이고 주류적인 선택지로 자리잡았다음
- 소프트웨어 개발 영역에서는 자유 소프트웨어 사용이 더 이상 장애물이 아닌 시대가 도래
소프트웨어가 세상을 잠식하는 시대
- Marc Andreessen의 "software is eating the world" 개념: 이전에 소프트웨어가 없던 영역에 소프트웨어가 계속 침투
- 소프트웨어가 삶의 영역을 제어하게 되면서, 해당 영역의 통제권이 소프트웨어 제작자에게 이전
- 운영체제(Fedora, Linux), 프로그래밍 언어(Python, Rust, LLVM 등), 게임(Zero-K), 그래픽(Krita), 오디오(Ardour) 등에서 자유 소프트웨어 대안 존재
- 3D 프린팅(Prusa), 모바일 컴퓨터(Librem 5), 스마트워치(InfiniTime) 등에서도 오픈 하드웨어 옵션 가능
- 일부 그래픽카드(Nvidia Kepler 2012년 모델)는 완전히 자유로운 펌웨어로 작동 가능
자유롭지 않은 일상 기기들
- 자전거, 재봉틀(기계식), 인터콤, 구형 자동차(VW Beetle, Lada) 등 전자장치가 없는 기기만이 진정한 개방성 보유
- 하드디스크, 무선 헤드폰, TV, 현대식 전화기는 개방형 대안이 존재하지 않음
- 아날로그 전화기(Aster-72)만이 유일한 개방형 전화 옵션
- Librem 5 개발 당시 모뎀 조달 문제: 한 회사가 셀룰러 네트워크 필수 특허를 독점
- 재판매업체들은 유통 규칙 위반 우려로 판매 거부
- Richard Stallman이 1983년 GNU 프로젝트를 시작한 계기가 된 프린터 문제는 40년이 지난 지금도 미해결
- 색연필이 유일한 "개방형" 인쇄 수단이라는 풍자
소프트웨어 계층별 개방성 현황
- 응용 프로그램: Blender, Firefox, KiCAD는 개방적이지만 Twitter, YouTube는 폐쇄적
- 운영체제: GCC, Apache, OpenSSL 등 개방적
- 커널: Linux, Zephyr, FreeRTOS 등 개방적
- 펌웨어: Coreboot는 개방적이지만 모뎀, GPU는 폐쇄적
- 가전제품: Prusa 3D, Airgradient는 개방적이지만 세탁기, TV는 폐쇄적
- 프로그래머가 직접 다루는 OS와 커널은 잘 개방되어 있으나, 하드웨어에 가까운 하위 계층과 소비자 가전에서는 선택권 부재
일반 노트북의 펌웨어 현황
- 일반 노트북에는 10~15개의 독립 프로세서가 탑재되어 각각 자체 소프트웨어 필요
- 카메라, 터치스크린, 터치패드, Embedded Controller, SSD, 배터리, HDD, RAM, WiFi+Bluetooth 카드, 사운드 카드, BIOS, Intel ME
- 그래픽카드 하나에만 5개의 프로세서 존재 가능
- Linux, 드라이버, 응용 프로그램 등 개방 소프트웨어는 메인 CPU에만 국한
- 키보드나 터치스크린 같은 입력 장치가 폐쇄 소프트웨어 실행: 데이터 입력 자체가 불가능
- 그래픽카드, 네트워크 카드, 저장장치 모두 폐쇄 펌웨어에 의존
- SSD나 HDD에서 개방 소프트웨어가 실행된 사례 전무
- Secure Boot: 프로세서 내부 프로세서가 메인 OS 이전에 로드되어 사용자가 실행할 수 있는 소프트웨어를 제조사가 통제
- Android 기기에서도 유사한 시스템으로 특정 시스템에 잠금
사용자 자유의 침해
- 자유 소프트웨어의 네 가지 자유(Four Freedoms):
- 자유 0: 어떤 목적으로든 프로그램을 실행할 자유
- 자유 1: 프로그램을 연구하고 수정할 자유
- 자유 2: 복사본을 공유할 자유
- 자유 3: 프로그램을 개선하고 개선사항을 공유할 자유
- Android 제조사의 짧은 지원 기간: 통상 4년, 예외적으로 8년 후 보안 업데이트 중단
- 기기가 기능적으로 멀쩡해도 전자 폐기물로 전락
- 13년 된 Lenovo 노트북은 Linux 덕분에 여전히 보안 업데이트 수신
- 부트로더 잠금 부재와 개방 드라이버 덕분에 커뮤니티가 커스텀 ROM 제작 가능
서비스 중단으로 인한 기기 무용지물화
- 클라우드 전용 기기에서 회사가 온라인 서비스를 종료하면 기기가 고가의 벽돌로 전락
- $800 감정 지원 로봇 서비스 종료 시 환불 없이 작동 중단
- Nintendo 3DS와 Wii U 온라인 서버 종료 후 210일 만에 마지막 연결 종료
- Magic Leap 1 헤드셋 $2,300이 2024년 이후 작동 중지
- 농부의 사례: 수확기에 콤바인 고장 후 비정품 부품 설치 시 "무단 부품" 경고로 작동 불가
- 고객 서비스 해결까지 9개월 소요 가능, 수만 달러 손실로 농장 파산
심박조율기와 생명 안전
- 심박조율기는 환자를 지속적으로 실시간 진단하고 의료 절차를 수행하는 복잡한 기기
- 잘못된 진단으로 불필요한 심장 충격 위험
- 폐쇄 소프트웨어로 인해 제조사에게 수정 요청만 가능, 오작동 상황 회피 불가
- Karen Sandler의 사례: 자유 소프트웨어 활동이 이 문제와 밀접하게 연관
- 폐쇄 소프트웨어와 단일 제조사에 의존해야 하는 사람들이 존재하는 한 오픈소스 승리 불가능
가전제품과 Copyleft
- 가전제품 제조 시 오픈소스 소프트웨어 사용: MIT 라이선스는 저작자 고지 의무
- curl 웹사이트에는 자동차부터 푸드 프로세서까지 다양한 기기의 크레딧 화면 갤러리 존재
- MIT 같은 허용적 라이선스는 네 가지 자유를 허용하지만, 수정본을 다시 폐쇄하는 것도 허용
- 제조사는 이익을 누리고 사용자는 자유를 박탈당하는 구조
-
Copyleft 라이선스 사용 필요: 한 번 공개된 코드를 다시 폐쇄하는 것을 방지
- GNU General Public License(GPL) 사용 권장
라이선스 외의 투쟁 영역
- 자유 소프트웨어를 위해 싸워야 할 다른 영역들:
- 특허: 셀룰러 모뎀 사례처럼 기술적 독점
- 하드웨어 잠금: Android의 부트로더 잠금
- 프로젝트 관리: 누가 프로젝트를 통제하는가
- Google의 Android 개발 사례:
- 개발 중인 소스 접근을 특정 제조사로 제한
- 다른 제조사는 주요 릴리스마다 한 번씩만 업데이트 수신
- 라이선스나 기술적 변경이 아닌 프로젝트 관리 결정의 영향
- 영리 기업이 통제하는 프로젝트 vs. 일반 사용자의 이해관계 충돌
Debian과 Android의 대조
-
Debian: "커뮤니티"를 최우선으로 명시
- 소프트웨어를 개발하고 사용하는 동일한 사람들
- 사용을 어렵게 만들지 않음
- 완전한 운영체제 제공, 모든 소스 공개, 충분히 개방적이지 않은 것은 제거
-
Android: 오랫동안 개방 구성요소를 폐쇄 구성요소로 교체
- AOSP(Android의 개방 부분)가 단독으로는 거의 사용 불가능한 수준
역사적 배경
- 컴퓨터는 학계에서 만들어졌고, 항상 범용 기기로 광고되며 사용자의 선택권 강조
- 가전제품은 항상 단일 목적 기기로 제조
- 복잡도가 증가하면서 컴퓨터를 내장하게 되었지만 제조 문화는 변하지 않음
- 소수만이 통제권을 행사할 것으로 예상되는 구조 유지
- Apple은 항상 컴퓨터 제조사였지만 이제는 컴퓨터를 가전제품처럼 제조
우리가 해야 할 일
-
하드웨어 제조 시: 펌웨어 소스 공개 필수
- 기술 문서 공개 필요 (Librem 5 카메라 센서 사례: 개방 펌웨어 제작에 필요한 문서 누락)
- 사용자/기관 고객으로서: 제조사에 펌웨어 개방 소스 제공 요구
-
정치적 압력: 개인 행동보다 효과적인 방법
- EU가 휴대폰 제조사에게 USB-C 포트 표준화 강제
- 보증 기간 연장 의무화
- 컴퓨터 제조사의 부트로더 잠금 금지 가능성
유럽의 법적 모순
-
Information Society Directive: 권리 관리 정보의 무단 제거/변경을 불법화
- 기기에 잠금을 거는 사람이 아닌, 자신의 기기에서 잠금을 제거하는 사람을 처벌하는 모순
- European Commission에게 일관성 있는 정책 요청
- 관련 단체:
- Free Software Foundation Europe: Public Money Public Code 캠페인
- Right to Repair 운동
- European Pirate Party
경제적 지원 방법
- 정치적 참여 외에도 자유 소프트웨어 친화적 제조사 지원 가능
- 구매 권장 제품:
- Purism의 Librem 5
- Prusa의 3D 프린터
- Espruino 기반 Bangle.js2 스마트워치
- 하드웨어 제조는 비용이 많이 들고, 시장은 이미 폐쇄 제품으로 포화
- 개방적이고 해킹 가능한 제품이 우수해도 대중이 인식하기까지 시간 소요
- 자유 소프트웨어는 수리와 개조 문화에서 번성했으나, 이 문화가 폐쇄적이고 일회용 제품으로 질식
Chromebook의 예외
- Google의 Chromebook 요구사항: 모든 제조사가 완전히 개방된 BIOS 필수
- Embedded Controller 펌웨어도 개방
- 모든 Chromebook이 Coreboot 실행
- 여전히 일부 폐쇄 소프트웨어 포함 (RAM 시작 소프트웨어)
- ARM 기반 Chromebook은 RAM 소프트웨어 외에는 완전히 개방된 BIOS로 실행 가능
- NLNet 프로젝트: Chromebook에서 메인라인 Linux를 쉽게 실행하도록 지원
세상은 프로세서로 가득
- 주변 기기 수 세기: TV, 카메라, 칫솔, 오실로스코프, 전자책 리더, 라디오, 식기세척기, 라우터, 세탁기, 청소기, 체중계
- 슈퍼마켓의 채소 코너 저울: 터치스크린 장착, 바코드 라벨 인쇄
- 프로세서와 펌웨어 내장
- 가게의 수천 개 가격 라벨: 전자종이 화면, 무선 업데이트 수신용 소프트웨어 필요
- 자동차 소프트웨어: 원격 제어 허용 (Tesla 해킹 사례)
- 기차 소프트웨어: 폴란드 기차 지오펜싱 문제, 철도가 소스 접근권이 있었다면 방지 가능
- 비즈니스 영역: 자동차 진단 장비, 의료 기기, 회계 소프트웨어
낭비된 잠재력
- 이론적으로는 원저작자 의지와 무관하게 소프트웨어 개방 가능 (게임 모딩 씬)
- 포켓 카메라에서 Tetris 실행 사례 (해킹된 펌웨어)
- 제조사에 맞서 해킹하는 것은 낭비된 작업
- 공식 소스를 수정하는 것과 해킹의 차이
- 열려 있는 문을 부수지 않아도 되는 잠재력
- 액션 카메라 사례: 30분 제한 법규 때문에 녹화 중단
- 20년 코딩 경험 보유자가 소스 코드만 있었다면 즉시 수정 가능
- 타임랩스 카메라 사례: 타임랩스 기능 없어 매일 10시에 직접 가서 촬영
- 소스 코드 부재로 수정 불가
에필로그
- 새 프린터 프로젝트 광고: 오픈소스라고 주장
- 실제로는 Source-available 라이선스 (Creative Commons BY-NC-SA 4.0)
- 자유 0(상업적 목적 사용 금지)을 부여하지 않음
- 아무것도 없는 것보다는 나은 수준