비판에는 대책이 없어도 된다

나는 대책 없는 비판이라는 말을 극도로 혐오한다. 자기가 옳다고 믿고 싶은 마음이 지나친 나머지 긍정적 결과를 낼 수 있는 토론을 미리 차단하는 것처럼 보여서다.

문제가 충분히 공론화되지 않은 상태에선 많은 사람들이 문제점을 인지하게 만든 뒤 해결책을 같이 고민하는 게 맞다.

대부분의 경우 해결책에 대해 같이 고민하는 게 낫기에 문제를 제기하는 사람이 해결책을 제시할 필요는 없다.

이게 내 생각이다.

잘 관리되는 오픈소스 커뮤니티는 대부분 이런 식으로 문제를 해결한다. 선진국들의 정치가 잘 관리되는 오픈소스 커뮤니티조차도 못한 수준이라는 게 정말 슬프지만 실제로 그렇다. 단순하게, 이슈 트래커에 버그 리포팅을 하는 사람이 PR을 보낼 필요는 없다. 어지간한 개발자는 다 이해할 말이지만, 이건 너무 규모가 다른 거 아니냐고 할 수도 있으니 다른 예시를 들어보겠다.

러스트의 std::mem::MaybeUninit은 기존 러스트의 API인 std::mem::uninitialized에 근본적인 문제가 있어서 나온 API다. 하지만 처음 문제 제기한 사람은 해결책을 제시하지 않았다. 심지어 그 사람은 API가 잘못되었음을 입증하지도 않았다. 뭔가 이상하다고, 어떤 상황에서 문제가 생기는데 자기가 뭘 잘못했는지, 어떻게 고쳐야하는지 모르겠다고 질문했을 뿐이다. 당연한 것이다. 원래 머리 쓰는 일에서 문제 제기와 문제가 맞음을 입증하는 것, 그리고 해결책 제시의 난이도 차이는 상상을 초월한다. 질문에 답변해주기 위해 문제를 살펴보던 사람들이 토론을 거쳐 문제가 맞음을 입증한 것이고, 그 사람들이 정리해서 공론화를 했다. 그리고 그런 뒤 다른 사람들이 토론을 거쳐 해결책을 제시했다. 그 해결책이 RFC라는 토론 과정을 거치면서 개선되었고 결국 표준 라이브러리에 추가된 것이다.

근데 이는 개발에서만 일어나는 일이 아니다. 뉴턴 역학으로 계산한 결과가 실제로 일어나는 현상과 맞지 않는다는 걸 발견한 사람들이 스스로 새로운 가설을 만들 때까지 문제를 알리지 않았다면 과연 상대성이론이 나올 수 있었을까?

상대 주장에 해결책이 있어야 상대의 주장을 반박하기 쉬운 건 맞지만, 목표는 반박이 아니라는 걸 잊지 말자.