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



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

> 문제가 충분히 공론화되지 않은 상태에선 많은 사람들이 문제점을 인지하게 만든 뒤 해결책을 같이 고민하는 게 맞다.
>
> 대부분의 경우 해결책에 대해 같이 고민하는 게 낫기에 문제를 제기하는 사람이 해결책을 제시할 필요는 없다.

이게 내 생각이다.

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

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

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

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

