디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

dav1d vs. rav1d: 오픈 소스 코덱 논란의 이면과 '메모리 안

루비갤로그로 이동합니다. 2025.07.03 11:09:51
조회 44 추천 0 댓글 0

dav1d vs. rav1d: 오픈 소스 코덱 논란의 이면과 '메모리 안전성'의 진실

최근 Hacker News를 뜨겁게 달궜던 dav1drav1d (Rust 포트) 비디오 디코더 성능 및 안전성 논란에 대해 자세히 알아보겠습니다. 단순한 기술 논쟁을 넘어선 감정적, 윤리적 쟁점들, 그리고 '메모리 안전성'이라는 화두의 복잡한 이면을 짚어봅니다.


논란의 시작: rav1d의 성능 개선과 FFmpeg의 불만

rav1d 프로젝트는 기존 dav1d (C 언어 기반) 디코더를 Rust로 포팅하여 성능을 개선하고 메모리 안전성을 높이는 것을 목표로 했습니다. 초기 벤치마크에서 rav1ddav1d보다 약간 느리지만 'Rust로도 충분히 빠르다'는 인식을 심어주며 긍정적인 평가를 받았습니다. 심지어 memorysafety.org에서는 rav1d의 성능 향상을 위한 현상금까지 걸었습니다.

하지만 이 과정에서 FFmpeg 프로젝트(VLC 미디어 플레이어의 기반 기술 중 하나이자 dav1d와도 밀접한 관계)의 트위터 계정에서 강한 비난이 터져 나왔습니다. FFmpeg 측은 rav1d가 '기생 프로젝트'에 불과하며, 자신들의 노력을 가로채고 있다고 주장했습니다. 이 트윗은 공격적이고 빈정거리는 어조로 인해 오히려 트위터 사용자들로부터 FFmpeg이 '유독하다'거나 '징징댄다'는 역풍을 맞기도 했습니다.


"기생 논란": rav1d는 정말 숙주를 건드렸을까?

FFmpeg 측의 주장은 rav1ddav1d의 핵심 최적화 코드, 특히 **수십 년간 쌓아 올린 dav1d의 어셈블리 코드**를 Rust의 unsafe 블록을 통해 '그대로' 가져다 썼다는 데서 출발합니다.

FFmpeg 개발자들의 입장은 다음과 같습니다:

  • "우리는 이 어셈블리 코드를 만들기 위해 피땀 흘려 고도로 최적화하고 수많은 버그를 잡았다."

  • "rav1d는 그 힘든 과정을 건너뛰고 우리 코드를 재활용하면서, 마치 Rust 언어 자체의 우수성 덕분에 성능이 좋은 것처럼 홍보하고 있다."

  • "심지어 우리 프로젝트는 만성적인 자금과 인력 부족에 시달리는데, '새로운' Rust 프로젝트에 자원이 몰리는 것은 불합리하다."

FFmpeg 측은 이러한 상황을 마치 dav1d가 일하고 rav1d가 성과를 가로채는 '기생적' 관계로 묘사했습니다. 만약 dav1d가 유지보수되지 않아 망하게 되면, 그 코드에 의존하는 rav1d 또한 영향을 받을 수 있다는 지적은 이러한 우려를 반영합니다.


'지적 정직성' 논란과 '메모리 안전성'의 복잡한 진실

논란은 여기서 그치지 않습니다. rav1d의 핵심 강점은 Rust가 제공하는 **'메모리 안전성'**인데, FFmpeg 측은 이 주장에 대해서도 의문을 제기합니다.

  • 어셈블리 코드의 위험성: FFmpeg 측은 어셈블리 코드가 C보다 훨씬 더 저수준으로 메모리를 직접 조작하므로, 가장 잠재적인 위험성이 큰 코드라고 지적합니다. Rust의 unsafe 블록은 이 어셈블리 코드의 메모리 안전성을 컴파일러가 검증하지 않는다는 의미이므로, 결국 가장 위험한 부분은 Rust의 안전성 모델 밖에 남아있다는 것입니다.

  • 홍보와 현실의 간극: rav1d 개발자들은 Rust 전문가이므로 unsafe의 의미와 어셈블리 코드의 위험성을 인지하고 있었을 겁니다. 그럼에도 불구하고 프로젝트를 "메모리 안전한 Rust"로 강조하면서 unsafe 영역의 존재와 그 한계가 충분히 명확하게 전달되지 않았다는 비판이 제기됩니다. 이는 FFmpeg 측에서 볼 때 '지적 정직성'의 문제로 비춰질 수 있습니다.

Rust 개발자들은 C 코드 부분을 Rust로 전환함으로써 전반적인 코드베이스의 견고성을 높이고 새로운 버그 유입을 막을 수 있다는 현실적인 절충을 택했을 수 있습니다. 하지만 대중에게 "Rust로 포팅했다 = 안전해졌다"는 단순한 공식으로 전달될 수 있다는 점이 문제입니다.


FFmpeg의 딜레마: 왜 숙주가 불평해야 했나?

FFmpeg이 아무리 상세한 사실을 공개했더라도 대중의 역풍을 피하기 어려웠을 것이라는 지적도 있습니다. 사용자들은 보통 다음과 같은 경향을 보입니다.

  • '무관심의 편향': 대부분의 사용자는 제품/서비스의 이면에 있는 복잡성이나 개발자의 고충에 대해 근본적인 무관심을 가집니다. '더 안전하고 빠르다'는 단순하고 명쾌한 메시지를 선호하며, 그 혜택을 위한 개발자의 노고나 재정적 어려움에는 관심이 없습니다.

  • '불평'으로 인식: FFmpeg의 주장이 아무리 정교해도, 그 기저에 '우리는 힘들고, 너희가 우리 노력을 인정 안 해준다'는 억울함이 깔려 있다면, 이는 청중에게 단순히 '불평'으로 들릴 수 있습니다.

이 논란은 기술적 우월성을 넘어 인간적인 존중, 노력의 인정, 그리고 오픈 소스 생태계 내에서의 건강한 소통 방식에 대한 근본적인 질문을 던집니다. rav1d는 '안전성'이라는 새로운 가치를 제시하며 혁신을 시도했지만, 그 과정에서 기존 프로젝트 개발자들의 노고와 감정에 대한 충분한 공감과 배려가 부족했다는 비판에 직면했습니다.


이번 논란을 통해 우리는 기술의 발전과 함께 공동체 내의 미묘한 관계, 그리고 진실을 효과적으로 소통하는 방법에 대한 깊은 고민이 필요하다는 것을 다시금 깨닫게 됩니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
2869384 제5장: 러스트의 설계, 혁신인가 결함인가? 루비갤로그로 이동합니다. 07.03 72 0
2869383 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 07.03 27 0
2869382 1400줄 추가 1000줄 삭제하고 돌렸는데 ←Backspace갤로그로 이동합니다. 07.03 54 0
2869381 가끔 코딩이 뭘까 싶기도하다. 코딩이라는 무형적 지식은 [6] ㅆㅇㅆ(124.216) 07.03 87 0
2869380 그러므로 오늘은 유니티 공부입니다 [3] 루도그담당(211.184) 07.03 80 0
2869379 CLR이나 JVM [16] 루도그담당(211.184) 07.03 144 0
2869376 근데 언어 몇개가 중요한가 그냥 뭘 개발하는지가 중요하지 [19] ㅆㅇㅆ(124.216) 07.03 134 0
2869375 이병신은 C/C++ 개발자한테 하는언어가 몇개냐하네 [45] ㅇㅇ(223.38) 07.03 134 1
2869374 가진것도, 아는것도 없는 인생에 두려울게 있겠습니까?? [2] ㅇㅇ(223.38) 07.03 77 0
2869373 상사가 맥북사비로 사줌 [13] 프갤러(106.101) 07.03 110 0
2869371 일본기업의 '능력주의'가 역겨운 이유 [2] 프로외노자갤로그로 이동합니다. 07.03 89 0
2869370 일본기업의 '스페셜리스트' 제도의 한계 프로외노자갤로그로 이동합니다. 07.03 56 0
2869368 지능이랑 사실 지식이랑 좀 다르지 않냐. [4] ㅆㅇㅆ(124.216) 07.03 90 0
2869367 생성형 ai 는 아직 시기상조인거같다 [2] 프갤러(59.10) 07.03 60 0
2869366 나는조현병이야 나는내향적이야 [2] 손발이시립디다갤로그로 이동합니다. 07.03 62 0
2869365 파이썬에서 환율 정보 바로 가져오는 방법 없나 [3] ㅆㅇㅆ(124.216) 07.03 60 0
2869364 여긴 왜 조현병 환자밖에 없음? [1] ㅇㅇ(223.38) 07.03 67 0
2869363 신체적 건강과 강함을 추구하는게 실제 금전적인 면에서도 도움이 되냐?? [1] ㅇㅇ(223.38) 07.03 52 0
2869362 이거 자랑이 아니라 좀 진심인데 [2] 아스카영원히사랑해갤로그로 이동합니다. 07.03 94 0
2869361 누적되는 소음때문에 사람들은 괴롭다. 처벌 수위를 높여야한다. ㅇㅇ(121.169) 07.03 50 0
2869360 국비 개발자하려면 굳이 컴공 따라갈필요없음 [2] 프갤러(117.111) 07.03 136 0
2869359 나는 실력이 없어도 창업 생각한다. [1] 프갤러(218.154) 07.03 71 0
2869358 담배 안핀지가 어언 10일째... 도대체 금연 100일 어케하는거임?? [1] ㅇㅇ(223.38) 07.03 63 0
2869357 보통 능력있으면 창업 생각하지 너처럼 취직 생각하진 않지 않냐. [4] ㅆㅇㅆ(124.216) 07.03 107 2
2869356 여긴 왜캐 요란한애들이 많냐 [3] 프갤러(119.198) 07.03 86 1
2869355 내 작은 목표중 하나가 MFC 기반 HFT 프로그램 직접 다 만들어보는거 ㅆㅇㅆ(124.216) 07.03 59 0
2869354 누가 나님 냥덩이 만진거야? [4] ♥냥덩이♥갤로그로 이동합니다. 07.03 60 0
2869353 근데 MTS, HTS같은거는 내가 주식을 거의 안하기때문에 ㅆㅇㅆ(124.216) 07.03 64 0
2869352 한투 1년 휴가 5일 루머가 아님 [6] 은행계열증권사(223.38) 07.03 69 0
2869351 크래프톤 정글 게임랩 4기 (~7/18) 프갤러(14.32) 07.03 360 0
2869350 한투 개발자 형님들 씨발 문서화도 존나 편하고 능력있으신 행님이 개발팀장 [4] ㅆㅇㅆ(124.216) 07.03 78 0
2869349 한국 투자 증권<<그냥 신임 [7] ㅆㅇㅆ(124.216) 07.03 95 0
2869348 오늘 잘하면 납품할 수 있을듯¿ ㅆㅇㅆ(124.216) 07.03 41 0
2869347 에이 잠 다 깼네.. 자야하는데..ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 07.03 35 0
2869345 깃헙에 llm based 컴파일러 떴는데 재밌네 ㅇㅇ(118.235) 07.03 97 1
2869344 아 지나가다가 건물 2층 3층에서 물 같은거 [1] 루도그담당(223.39) 07.03 57 0
2869343 저능아들이 llm 써봤자 저급한 망상이 강화될 뿐이다. 프갤러(218.154) 07.03 50 0
2869342 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 07.03 40 0
2869341 아직 진행중인 프로젝트 갖고와서 망상과 추측으로 공격하는 러까들 프갤러(218.154) 07.03 43 1
2869340 [대한민국] 기본물가상승 프갤러(121.172) 07.03 50 0
2869339 왜 영피프티는 대화에 여운을 남기는 걸 좋아하냐 아스카영원히사랑해갤로그로 이동합니다. 07.03 66 0
2869338 [대한민국] 생활 물가 상승 프갤러(121.172) 07.03 40 0
2869336 ai한테 다 물어봐도 이해안가고 모르는거투성인데 [3] 뒷통수한방(1.213) 07.03 73 1
2869335 형들 궁금한게 내부망이면 보안상 위험이 있음? [1] 프갤러(220.81) 07.03 59 0
2869334 어셈블리 코드와 메모리 안전성: 더 위험할 수 있다는 지적에 대한 해설 루비갤로그로 이동합니다. 07.03 68 0
2869333 dav1d 파괴 목적 vs. 러스트에 대한 '영혼 판매' 루비갤로그로 이동합니다. 07.03 68 0
2869332 rav1d 측은 메모리 안전성 불가능을 알고 있었을까? 루비갤로그로 이동합니다. 07.03 46 0
dav1d vs. rav1d: 오픈 소스 코덱 논란의 이면과 '메모리 안 루비갤로그로 이동합니다. 07.03 44 0
2869330 동양인 인구수 존나 많네 벌레같이 많네 [1] 뒷통수한방(1.213) 07.03 58 0
2869329 크로스도메인도 모르는 서버관리자 [2] ㅇㅇ(223.38) 07.03 68 0
뉴스 [티처스2] ‘IQ143’ 초3, 고3 수능 ‘4점 문제’ 암산으로 정복! 특급 초등영재 등장에 정승제 초흥분 “최상 수준” 디시트렌드 07.06
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2