"엔진을 훔치는 게 아냐. 차가 어떻게 달리는지 보고 똑같이 달리는 내 차를 짓는 거야."
볼 수 있는 유일한 것
Wispr Flow 는 비공개 소스야. 코드를 못 읽고, 시도하면 안 돼. 볼 수 있는 건 복제에 중요한 전부야: 공개 문서, 지원 페이지, 그리고 쓸 때의 관찰 가능한 동작. 단축키 눌러 — 오디오 시작. 놓아 — 텍스트 나타남. 필러 단어 말해 — 출력에서 사라짐. "아 근데, 그거 화요일로 해줘" 말해 — 교정이 덧붙는 게 아니라 적용됨. 그 어느 것도 소스 읽기가 필요 없어. 전부 관찰 가능하고, 관찰 가능한 동작은 네가 마음껏 재현해도 되는 스펙이야.
역-스펙 대 역-엔지니어링
이건 윤리가 다른 다른 행위야. 역-엔지니어링은 구현을 뜯어 — 바이너리 디컴파일, 알고리즘 추출, 백엔드 복사. 역-스펙은 관찰 가능한 인터랙션 모델을 적어 — 단축키, 삽입 동작, 정리 느낌 — 그리고 독립적으로 다시 지어. 첫째는 그들이 어떻게 했는지를 베끼고; 둘째는 사용자가 경험하는 것을 베껴. Firekeeper 는 둘째만, 공개 소스에서만 해.
역-엔지니어링 (피함) 역-스펙 (이걸 함)
--------------------- ----------------------
바이너리 디컴파일 공개 문서 읽기
내부 알고리즘 복사 관찰 가능한 동작 기록
백엔드 복제 내 스택에 인터랙션 재구축
프롬프트/브랜딩 복사 내 프롬프트, 내 이름 쓰기
내 것으로 남는 것
동작에서 다시 짓기 때문에, 밑에 깔린 전부가 진짜 네 거야: 네 STT 엔진, 네 정리 프롬프트, 네 삽입 코드, 네 이름. 그건 법적 눈가림이 아냐 — 그게 복제가 네 목적에 더 나은 이유야. Wispr 는 클라우드에서 전사해; 네 재구축은 온디바이스로 전사해. 원했어도 걔네 백엔드를 베껴선 그걸 물려받을 수 없었어, 왜냐면 그 백엔드가 네가 일부러 거부하는 바로 그거니까.
경험을 복제하고, 구현을 지어. 비공개 제품에서 재사용 가능하고, 윤리적이고, 쓸모 있는 건 인터랙션 모델 — 쓸 때 어떤 느낌인지 — 이야. 그걸 공개 동작에서 재현하고, 속은 내 방식대로 지어. 좋은 UX 는 얻고 원치 않던 부분은 하나도 안 얻게 돼.
Wispr 첫 리서치 패스는 그냥 나랑 아빠가 그걸 쓰면서 읊는 거였어: "오케이, 키 누름에 녹음 시작... 마지막 전사를 유지했어... 'um' 을 벗겼어..." 우리는 보면서 스펙을 쓰고 있었어, 관객석에서 마술을 묘사하듯이. 그 읊음의 모든 줄이 Firekeeper 기능이 됐어 — 그리고 그중 하나도 걔네 코드가 필요 없었어.