2P by GN⁺ | ★ favorite | 댓글 1개
  • 창업자 사망 뒤 가족 기업은 정보 통제와 회계 가시성이 거의 없는 상태였고, 큰 현금 흐름에도 계정은 적자를 보이며 파산 우려까지 커짐
  • 새 시스템은 NetBSD 기반 서버에 XEN VM, Samba NAS, Archivista, Squid, DansGuardian을 올려 파일 저장·문서 보관·인터넷 사용 통제를 중앙화함
  • 중앙화가 시작되자 기존 영향력을 가진 인물이 관리자 비밀번호와 서버 삭제를 요구했고, 특히 “그 서버”를 지목하며 통제 장치를 없애려는 압박을 가함
  • 며칠 뒤 서버는 UPS 고장, 전원 오연결, 네트워크 중단을 거쳐 디스크가 사라진 상태로 발견됐지만, 별도 외부 백업 덕분에 당시 데이터는 보존됨
  • 기술자는 시스템을 만들 수 있어도, 조직 내부의 불신과 압력 속에서 필요한 권한과 협조가 없으면 모든 문제를 구할 수 없음

창업자 사망 뒤 드러난 통제 부재

  • 약 16년 전, 여러 회사를 관리·소유하던 가족 기업 창업자가 갑자기 사망함
  • 모든 의사결정과 정보를 자신에게 집중시키던 인물이 사라지자, 남은 가족은 사업 운영을 감당하기 어려운 상황에 놓임
    • 한 아들은 가족 사업에서 빠져나가 자신의 커리어에 집중하기로 함
    • 다른 가족들은 일상 운영에 계속 관여함
    • 은퇴한 고령의 아내가 회사를 맡았지만, 상황은 역량 밖이었음
  • 가장 큰 문제는 정보 흐름의 부재였음
    • 회사에는 제대로 된 디지털 시스템이 없었음
    • 직원들은 각자 PC나 개인 노트북을 사용함
    • 회계와 행정 데이터는 개별 장비에 흩어졌고, 퇴근 후 집으로 가져가는 경우도 있었음
  • 소유자 입장에서는 큰 현금 흐름이 들어오는데도 계정은 늘 적자였고, “이대로 가면 몇 년 안에 파산”할 수 있다는 우려가 커짐

중앙 서버와 문서 관리 시스템 구축

  • 해결책은 데이터 관리를 투명하고 추적 가능하게 만드는 정식 IT 시스템을 세우는 것이었음
  • 라우터, 스위치, 여러 네트워크 장비, 여러 디스크를 갖춘 서버 구매가 즉시 승인됨
  • 운영체제는 당시 습관대로 NetBSD를 선택함
    • XEN으로 여러 VM을 구성함
    • 한 VM은 Samba 기반 NAS 역할을 맡아 PC들이 파일을 중앙 저장소에 저장하게 함
    • 다른 VM은 Archivista를 실행함
    • Archivista 인터페이스는 아직 이탈리아어 현지화가 없어, 사용자가 쓰기 쉽도록 직접 번역 작업도 진행함
  • 당시 흔한 방식대로 Squid 캐싱 프록시DansGuardian 콘텐츠 필터도 추가함
    • 인터넷 회선은 매우 느렸고 부하가 걸리면 자주 무너짐
    • 로그상 많은 부하는 회사 시간 중 영화 다운로드 같은 여가 사용에서 발생함
    • 감독 체계가 없었고 인터넷 사용도 통제되지 않았음

중앙화가 불러온 반발

  • 시스템 가동 뒤 직원 교육이 진행됐고, 많은 직원은 파일이 제자리에 모이고 문서 관리가 중앙화된 점을 긍정적으로 받아들임
    • OCR, 보관, 중앙 문서 관리는 업무 시간을 크게 줄이고 효율을 높이는 요소였음
    • 일부 회계 직원은 계속 회의적이었음
  • 가장 강하게 반대한 인물은 사망한 창업자의 전 오른팔이었음
    • 그는 새 시스템이 필요 없다고 주장함
    • 생활 방식이 급변했고, 급여와 맞지 않는 구매를 했다는 점이 경고 신호였음
    • 회사에는 감독 체계가 없었고 현금 거래가 많았음
  • 시스템이 안정화된 뒤, 회사에서 쓰는 소프트웨어 제품군의 기술 담당자라고 밝힌 사람이 연락해 전체 서버 구성도와 관리자 비밀번호를 요구함
  • 그는 서버가 Windows라고 가정했지만, 실제 구성은 NetBSD 위에서 NetBSD와 Linux VM이 돌아가는 방식이었음
  • 시간이 없다는 이유로 다음 날 해당 서버를 지우고 Windows를 설치하겠다고 말함
    • 서버 삭제는 새 워크플로 전체에 치명적이었음
    • 몇 시간 안에 별도 서버를 제공하겠다는 제안도 거부함
    • 엔지니어는 이를 중앙 파일 시스템과 통제 장치를 제거하려는 움직임으로 판단함

“그 서버”를 요구한 압박

  • 소유자들은 경험 부족과 상황 대응 실패로 당황했고, 일단 그가 서버를 지우게 한 뒤 나중에 새 하드웨어와 작업 비용을 부담하겠다는 방안까지 요청함
  • 엔지니어는 이 제안을 거부함
    • 새 서버와 중앙 파일 시스템은 회계 데이터를 소유자와 감사자가 볼 수 있게 만드는 통제 장치였음
    • 매일 수천 유로가 “거래”를 통해 사라지고 있었다고 판단함
  • 반대하던 인물은 결국 “아무 서버”가 아니라 그 서버가 필요하다고 말함
    • 협조하지 않으면 해당 지역에서 일하기 어려워질 것이라는 식으로 압박함
    • 엔지니어는 그 지역에 고객이 없고 원하지도 않으며, 새 고객 확보보다 친구들을 위해 제대로 일하겠다고 답함
  • 대화 중 엔지니어는 상대가 자신을 어릴 때부터 알던 사람이라는 점을 밝힘
    • 상대는 뒤늦게 알아보고 태도를 바꿈
    • 다른 해결책을 찾겠다며 사과하고 전화를 끊음
    • 이후 다시 연락하지 않음

사라진 디스크와 살아남은 백업

  • 소유자들에게 문제가 해결됐다고 알렸지만, 며칠 안에 서버에는 일련의 “불운한 사건”이 이어짐
    • UPS가 고장남
    • 서버가 “실수로” 뽑혔다가 잘못 다시 연결됨
    • 결국 네트워크에서 응답하지 않게 됨
  • 서버를 열어보니 하드디스크가 사라져 있었음
  • 다행히 소유자들만 아는 별도 백업이 이미 작동 중이었음
    • 서버 데이터는 소유자 집에 조용히 설치한 작은 PCEngines Alix 장비로 외부 백업되고 있었음
    • 이 장비는 NetBSD와 USB 드라이브 2개로 구성됨
    • 하드웨어와 디스크는 느렸지만 신뢰성 있게 동작함
    • 해당 장비는 현재 FreeBSD로 다른 곳에서 서비스를 제공하며 여전히 동작함
  • 엔지니어는 당시까지의 데이터를 소유자들에게 넘기고 이후 대응 방침을 물음
    • 소유자들은 며칠, 몇 주 동안 고민함
    • 결국 절도 신고 근거가 있는지 조사할 수도 있다고 말함
    • 이후 해당 사안에 대해 더 듣지 못함

거절한 제안과 남은 한계

  • 이후 회사는 네트워크 인프라 관리와 내부 절차 개편을 맡아 달라며 고액 제안을 함
    • 집을 멀리 샀고 다른 고객을 포기해야 하는 상황도 감수할 만큼 충분히 지불하겠다고 함
    • 공통 지인은 현금 흐름은 크지만 통제 부족 때문에 너무 많은 사람이 회사를 이용하고 있으니, 그 일을 맡으면 큰 도움이 될 것이라고 권함
  • 엔지니어는 제안을 즉시 거절함
    • 자신의 일과 삶의 방향을 포기해야 했음
    • 즐기지 않는 싸움을 해야 했고, 이길 수 없을 수도 있었음
    • 부정직한 사람들이 이기는 경우도 있다는 판단이 있었음
  • 이후 들은 바로는 소유자들은 점차 물러남
  • 나중에 또 다른 요청이 있었고 준비가 끝났을 때도 다시 막힘
  • 결국 그는 떠날 수밖에 없었음
    • 필요한 일을 할 도구와 권한이 주어지지 않았음
    • 소유자들은 압도되고 준비되지 못해, 자신들을 해치는 사람들의 압력에 자주 굴복함
  • 독자들이 조직범죄 연루를 추측했지만, 상황은 매우 문제적이고 부정직했을 뿐 조직범죄는 아니었음
    • “최악의 부분”은 내부 역학, 신뢰 남용, 부적절한 행위였음
    • 프라이버시와 서술 부담 때문에 자세한 내용은 밝히지 않음
  • 기술자가 문제를 해결할 수는 있지만, 관련자들이 문제를 고치는 대신 보호하려 할 때는 모든 문제를 해결할 수 없음

댓글과 토론

Hacker News 의견들
  • 예전에 비영리 단체에서 일했는데, 합법의 테두리 안에서 벌어지는 이권 챙기기 수준이 엄청났음
    한 번은 정부 기관 감사를 받았는데, 그 기관 자체가 비영리 부문의 로비 때문에 운영상 제약을 많이 떠안고 있었음
    감사가 끝난 뒤 기관 책임자가 “명백한 불법만이 아니라, 시민이 비영리 단체에 기대하는 기준과 관련된 조사 결과도 공개할 수 있어야 한다. 기부금 중 실제 목적 사업에 쓰이는 돈과 이사·직원에게 사실상 선물처럼 돌아가는 돈이 각각 얼마인지 사람들이 알아야 한다”는 취지의 보도자료를 냈고, 이게 핵심을 잘 요약함
    부정은 계속되며, 그저 합법적인 경로를 찾아갈 뿐임

    • “NFP space”가 뭔지 모르겠음. 검색해도 NFP라는 이름의 지역 클럽이나 회사만 나오고, 강력한 로비 단체처럼 보이는 건 안 보임
    • 비영리 부문은 중상층부터 부유층까지가 미친 세율을 피하려고 쓰는 조세 회피 도구 사슬의 마지막 단계라서, 이런 결과가 자연스럽게 보임
      대략 신탁 → 맞춤형 대형 종신보험 → 종신보험이 다음 세대의 새 신탁과 생명보험을 자금 지원 → 세금 효율적으로 빼낼 수 없는 옛 신탁의 잔여분을 가족이 통제하는 자선단체에 기부 → 그 자선단체가 가족이 통제하는 비영리 단체를 지원하는 구조임
      이런 설정에서는 비영리 단체가 결국 특혜적 현금 통 하나가 되고, 직원·이사회 자리라는 편한 보직이나 드물게는 가족의 경제적 목표에 맞는 자선 사업을 통해 자기 이익을 밀어붙이는 수단이 됨
      여기서 부정으로 보이는 것이 실제 가치이고, 자선으로 보이는 것은 그 돈더미에 대한 세금 대신 치르는 비용에 가까움
      진짜 문제는 평범한 사람들의 기부금을 모금으로 받아 운영하는 자선단체에서도 이런 행동이 가능해진다는 점임
    • 큰 NGO나 자선단체 중에서 사기성 운영, 빈둥거림, 혹은 노골적인 횡령 냄새가 크게 나지 않는 곳을 본 적이 없음
      그래서 이런 조직 전반을 보는 시각이 많이 달라졌음
    • “정부 기관이 비영리 부문의 로비 때문에 운영상 제약을 많이 떠안았다”는 말은 부정확하고 정직하지 않음
      제약을 만드는 건 공무원과 선출직 정치인이지, 로비스트가 그들에게 뭔가를 강제로 시킬 수는 없음
      의사결정권자가 부패했고 공익에 맞게 행동하지 않는다면 그들에게 책임을 물어야 함
      HN이든 현실이든 “상원의원이 어떤 법안에 찬성했는지 추적하다가 나쁜 법안에 찬성한 걸 보고 편지를 보냈다”거나, 다음 선거에서 반대표를 던졌다는 사람을 거의 못 봤고, 실제로 대부분 그렇게 하지 않음
      민주주의는 투표만이 아니라, 뽑은 사람들의 행동을 감시하고 책임을 묻는 일까지 포함하는데 시민 쪽에서 실패한 것임
      대표가 무엇을 하는지 추적하지 않으면서 계속 투표한다면 상황을 더 악화시키는 데 적극적으로 기여하는 셈임
      물론 여러 나라에서 로비는 훨씬 더 강하게 규제되거나 금지돼야 하지만, 로비가 금지돼도 대표자의 행동을 추적하지 않으면 그들은 계속 자기 이익을 위해 행동하고 시민의 이익을 희생시킬 수 있음
      뿌리 문제는 로비 자체가 아니라 부패와 책임 부재
  • 이런 상황을 전에 본 적이 있고, 그래서 외부 백업이 정말 중요함
    책임을 피하려고 누군가 의도적으로 지우려던 데이터를 백업에서 복구해 제공한 적도 있음
    이 이야기는 사람들이 데이터를 일부러 파괴하지 않더라도 흔히 벌어지는 패턴도 보여줌. 어떤 사람들은 물려받은 것을 다 허물어놓고, 그 결과 생긴 문제를 전임자 탓으로 돌림

    • 하지만 전임자 탓을 하지 않아도 역효과가 날 수 있음
      나쁜 코드베이스를 물려받아 최선을 다해 개선했지만 시간에는 한계가 있었고, 내가 떠난 뒤 다음 사람이 남아 있던 나쁜 부분을 곧바로 내 탓으로 돌렸음
  • 부패가 얼마나 쉽게 생기는지 늘 흥미로움
    회계가 이중으로 확인하고 그러리라 생각했는데, 누군가 계정을 만들고 돈이 빠져나가도 몇 년 동안 아무도 모르는 회사를 너무 많이 봤음
    어떤 회사들을 위해 자동 청구서를 만든 적도 있는데, 몇 달치 데이터가 빠져 있었는데도 상당한 금액이 지급됐다는 걸 알게 됨
    청구서 내용이 거의 아무거나였어도 돈이 나갔을 것 같았음

    • Robert McNamara가 Ford를 맡았을 때 회계가 너무 엉망이라, 청구서 무게를 달아 예상 달러/파운드 비율에서 크게 벗어나지 않으면 그냥 지급했다고 함
    • 평소 청구 금액이 클수록 반올림 오차처럼 보이는 금액도 커짐
      최근 한 공급업체가 몇 달 동안 수천 달러를 청구하는 걸 그냥 잊고 있다가, 할당량 증액을 요청하자 그제야 기억해낸 일이 있었음
    • 청구서 사기는 항상 벌어지고 잘 잡히지도 않음
      최근 캘리포니아 La Cañada-Flintridge의 전 도시 관리자가 사기 혐의로 기소됐는데, 시 로고가 들어간 공문 형식으로 자동차 보험사에 도시 재산 피해 보상 청구서를 보내고 그 돈을 본인이 챙기는 방식이었음
      몇 년 전에는 누군가 FB, Google 등에도 청구서를 보내 1억 달러를 뜯어낸 일이 있었음
    • 이 주제에 관해서는 Dan Davies의 훌륭한 책이 있음: https://www.inkwellmanagement.com/books/lying-for-money
  • 뭔가 놓친 것 같음
    나중에 그 사람에게 문제를 해결해달라며 사실상 원하는 걸 다 주겠다고 했고, 그는 거절한 뒤 필요한 도구를 제공하지 않았다고 불평함
    “가격을 말해라”에는 프로세스 소유권까지 포함해 필요한 도구와 권한이 들어가야 함

    • 아마 뭔가 빠진 듯함
      거칠게 추측하면 “문제를 일으키는” 사람이 소유주들과 특권적 관계에 있었고, 소유주들이 그 사람을 사업에서 완전히 배제하려 하지 않았을 것 같음
      그래서 필요한 도구를 제공하지 않았다는 말은 그 사람을 잘라낼 권한을 주지 않았다는 뜻일 수 있음
    • 그건 그냥 그를 바이아웃하겠다는 뜻으로 이해했음
  • 기술 조언을 요청받으면 요즘도 좋은 제안을 하려고 노력함
    하지만 “당신 조언 중 일부는 따르겠지만, 이 다른 건 잘못된 방식으로 하고 싶다”고 말하는 순간 보통 “그럼 잘해보세요” 하고 빠짐

  • 저자 주: 사건의 심각성 때문에 많은 독자가 조직범죄 개입을 추측했는데, 그건 아니었음
    상황이 극도로 문제 많고 부정직했던 것은 맞지만, 내가 암시한 “최악의 부분”은 다른 내부 역학, 신뢰 남용, 부적절한 행위들이었고, 사생활 보호와 글의 부담을 줄이기 위해 더 자세히 쓰지 않으려 함

    • “Archivista 인터페이스가 아직 현지화되지 않았기 때문에 사용자가 더 쉽게 쓰도록 이탈리아어 번역 작업까지 했다”는 부분이 있음
      어떤 이탈리아어권 지역은 조직범죄 조직으로 악명 높으니, 여기서도 그런 경우였다고 해도 놀랄 사람이 있을까 싶음
      아니라고 상상하기가 오히려 어렵다
  • 시기를 알려줘야 당시 쓸 수 있던 기술을 가늠할 수 있는데, 그런 중요한 부분을 왜 빼는지 모르겠음
    소유주 집으로 동기화·백업하는 데 어떤 도구를 썼는지도 궁금함
    개인적으로는 왜 FreeBSD로 옮겼는지도 궁금함. 다른 애플리케이션이나 용도였는지 알고 싶음
    정말 멋진 이야기이고, 요즘 방식이라면 Nextcloud/ownCloud에 협업 기능을 두고, rsync/Syncthing으로 외부 NAS, 예컨대 소유주 집에 동기화했을 것 같음
    결정에 관해서는 나라면 이사직을 받아들이고 지역 MSP를 고용해 내가 원하는 방식으로 일하게 했을 듯함
    이런 상황에서는 부패한 내부 구조 밖에서 믿을 수 있는 눈과 귀만 있으면 되는 경우가 많음
    군대와 외교 조직도 비슷한 원리를 쓰는데, 현지 인력 구조와 별도로 본부가 채용하고 통제하는 XO가 있으며, 이 XO는 현지 구조가 아니라 본부에 보고함

    • 대략 2009년쯤 이야기임. 정확한 시기는 기억나지 않지만 그 무렵임
      백업에는 rsync 기반 동기화를 썼고, 하드 링크와 그 위의 rsync를 이용해 이력을 유지했음
      전체를 자동화하는 Perl 스크립트도 있었지만 이름은 오래전에 잊어버림
      나머지 부분은 이해하고 전적으로 동의함. 다만 그때는 젊었고, 솔직히 거의 구제 불능에 가까운 상황을 살리려 하기보다 진심으로 좋은 것을 만들고 싶어 하는 건강한 고객들과 뭔가를 만드는 데 더 관심이 있었음
      ALIX는 다른 작업을 위해 FreeBSD로 바꿨고, FreeBSD의 네이티브 읽기 전용 지원이 새 작업 부하에 딱 맞았음
  • 이탈리아라니. 돈은 문제가 아닌데 컨설팅 회사는 안 쓰고, 조직범죄도 관련 없다고? 그래, 그렇겠지 ;-)

    • 아니, 조직범죄는 아니었음
  • 상대방의 태도를 바꾸게 만들 수 있었다는 그 전화를 왜 하지 않았는지 설명해줄 수 있는지 궁금함
    고인에 대한 존중이나 묻어둔 비밀 때문이라고 짐작함

    • 말할 수 있는 범위에서는 이렇다
      내가 전화하려던 사람은 내게 아주 가까운 사람이었고, 무슨 일이 벌어지는지 알게 됐다면 극도로 실망했을 것임
      그 사람은 어려운 시기에, 지금 나를 위협하던 바로 그 사람을 도와준 일을 매우 자랑스럽게 여기고 있었음
      게다가 내 가까운 그 사람은 심각한 건강 문제를 겪고 있었지만 여전히 권위는 있었기 때문에, 결국 그 순간에는 무의미했을 고통을 더 주지 않기로 선택했음
  • 왜 문장마다 줄바꿈이 들어가 있는 거지?

    • 정말 이상한 서식 선택이고 읽기 아주 힘들게 만듦
      문장마다 줄바꿈을 넣는 건 보통 방식이 아님. 그래도 글 자체는 재미있었음
    • 아마 원래 LinkedIn용으로 쓴 글일 듯함
      실제로 뭔가를 이룬 것도 아닌데 쓸데없는 “교훈” 분위기를 내는 점도 잘 맞음