뭐... 저도 개발 무쟈게 뛰어다니고 여기 게시판이나 오키 등에서 똥글이나 싸지르고 다니고 있죠.
제가 쓴 대표적 똥글로는 "개발팀은 영업팀의 하위부서이다.", "개발은 사무보조이다.", "개발팀은 돈쓰는 부서다." 등이 있겠군요.
사실 개발자 입장으로써는 이번 전자정부의 문제에 대해선 정말 이해할 수밖에 없고, 어느정도 공감이 갑니다.
당해본 입장에서는 전자정부의 강요와 적용은 불편함 그 자체거든요. 심지어 전자정부 땜에 개발 쉬워졌다는 개소리까지 들어 가면서.
근데... 솔직히 제 입장에서는 그 작성자분 걱정스럽네요. 오늘만 개발하시는 개발자가 아니길 바랍니다.
자, 이번 똥글 쓰는 기념으로 짤 하나 올리며 글을 시작하겠습니다.
많은 분들이 아실 겁니다. 어느 게임개발자가 똥꼬에 타블렛 펜 박은 다음 그려서 배포한 음식쓰레기로 버려도 분해가 안 될 조까튼 웹툰 짤입니다.
저도 이 짤 올리면서 조까튼 심정 지울 수 없지만, 이 웹툰을 보면 한국의 현실이 적나라하게 드러난다는 점에서 올리지 않을 수가 없더군요.
자, 이제 본론으로 들어가죠. 글을 쓰다 보면 저 웹툰 내용같은 이미지가 곧 떠오르실 겁니다.
링크로 들어가 보시겠습니다. 행안부 정보보호정책과에서 배포한 시큐어 코딩 가이드입니다.
여기 보시면 행정시스템 개발 시 보안 코딩에 대한 지침서가 있는데, 여기에 사용한 언어가 뭐뭐 있는지 보시죠.
자바, 안드로이드 자바, 그리고 C가 있군요. C++은 어디 갔을 지는 논외로 치고.
공기관에서 개발을 했으면 여기 있는 가이드라인에 따른 검수 과정을 거칩니다.
하지만 여기 기재되어 있는 언어 말고 다른 언어로 했다면 가이드가 없으니 2가지 시나리오가 나오겠죠.
1. 전자정부 안써? 탈락.
2. 알고보니 전자정부가 아니네? 돈 뱉어.
가이드대로 했으면 이제 환경 구축과 검수는 이제 식은 죽 먹기입니다. 물론 이 보안 가이드가 틀렸다는 건 아닙니다.
제가 봐도 지켜야 하고 안전한 코딩으로는 적격입니다. 단지 언어가 한정되어 있을 뿐이죠.
한가지 특이한 케이스로는 아이폰 개발이 있는데, 이녀석은 가이드라인이 없기 때문에 검수가 가라로 이루어집니다. 거의.
아이폰 개발 케이스처럼 불가피한 케이스가 다른 언어에 있나요? 없죠? 그럼 닥치고 행안부가 제시한 언어로만 개발하세요.
사족으로, 보안코딩 가이드에 개병신같은 부분이 하나 있었습니다. 모든 요청으로 POST로만 처리하라는 거죠.
왜냐고요? 검색엔진 수집이 어렵거든요. 근데 POST로 보내면 전송되는 데이터가 안전하다고 믿는 병신이 몇몇 있습니다.
에휴... 저런 새끼가 개발자라는 게 치가 떨릴 지경입니다. 사족은 여기까지 달아놓죠.
어쨌든, 여러분이 전자정부를 대체할 수 있는 개발환경을 제시할 수 있나요? 없죠? 있어도 빠꾸먹으니까. 행안부가 님보고 닥치래요.
2. 전자정부: 저는 죄가 없어요.
작성자님은 전자정부 자체를 죄악인 뉘앙스로 적어 놓으셨군요. 이부분에 대해서는 반감이 들 수밖에 없는 부분입니다.
네 맞아요. 전자정부가 개발자들을 여럿 망쳐놓은 건 사실입니다. 다른 언어 했던 개발자들이 울며 겨자먹기로 자바로 전향되고. 저도 그랬으니까요.
그러고 보니 오키에 어느 우동사리뇌를 다신 분께서는 "전자정부가 이렇게 표준 잘되어 있으니 다른 언어로의 포팅이 쉽지 않냐"고 하시더군요.
시발... 그랬으면 진작에 나왔죠.
어쨌든, 우리나라는 이렇게 시작이 좋았던 정책이 꽤 있었습니다. 전자정부부터 시작해서, 버스, 통합환승제... 나열하기 귀찮군요.
전자정부는 우후죽순으로 각 언어, 각 환경으로 사후관리가 어려운 개발환경을 표준으로 만들어 이에 맞춰 개발하여 행정관리의 편의성으로 국민 세금을 아끼겠다는게 목표입니다. 의도는 참 좋죠. 작성자님도 아실 거라 믿습니다.
하지만, 부작용도 만만치 않았죠. 솔직히 이런 부작용은 제발 정부 내에서로만 끝났으면 좋겠습니다. 그러면 딱히 저도 욕할 이유가 없거든요.
근데, 가이드가 공개되고 검수과정도 공개되니까, 중소기업부터 대기업들이 행정편의를 위해 갖다 쓰고 따라하기 시작합니다.
심지어 어느 기업은 기존에 다른 언어로 만든 솔루션을 전자정부 기반 자바로 바꿔놨습니다. 그래서 좋아졌냐고요? 아뇨. 깨끗하게 말아쳐먹었죠.
제가 참여해봐서 알거든요. 뱁새가 황새 따라가다 가랑이 찢어지는 줄 모르고 무리하게 사업 진행하다가 결론적으로 말아먹었습니다.
왜 그랬는지 다음 챕터에 얘기하죠.
어쨌든, 시도는 정말 좋았어요. 오픈소스인 데다가 누구나 참여가 가능하도록 했죠.
근데... 이게 뭡니까?
3. 편의성과 생산성만을 중시한 관리 부재
전자정부가 오픈소스라는 건 다들 잘 아실 겁니다. 아파치 2.0 라이선스죠. 근데 그건 전자정부 실행환경 뿐이고요. 개발환경과 컴포넌트는 클로즈드 소스입니다. 그건 그렇다 칩시다.
전자정부가 Github 같은 공개 리포지토리가 있나요? 아뇨.
이슈를 제기할 공간이 있나요? 있기는 있는데 죄다 전자정부 이건 어떻게 하냐 질문 뿐이죠.
그럼 이슈를 제기할 권리는? 있긴 있어요. 근데 기대 마세요. 컨트리뷰터는 행정관 지침 외에는 다 씹을 테니까요.
전자정부가 오픈이라는 생각을 버리세요. 전자정부는 정부 프로젝트에 운영하기 때문에 모든 흐름이 정부 내에서로만 진행되도록 설계되어 있습니다.
그래서, 컨트리뷰터가 만약 정부 외 다른 개인 및 기업의 이슈 해결을 위해 개선했다면, 사유서 쓰고 개난리 쳐야 합니다. 그리고 한소리 듣죠. 책임론은 덤.
저같으면 컨트리뷰터 때려 치고 싶네요.
요즘 핫한 데스크탑에서 웹 개발하듯이 만드는 응용 앱 프레임워크인 Electron. 이놈의 메인 개발자의 기고글을 보면서, 다시한번 느끼는데,
인텔에서도 오픈소스 연구소가 있는데, 그 개발자 또한 원조격인 node-webkit 개발하면서 이슈도 선임자 허락 없이 함부로 못고칩니다.
그때당시엔 인턴쉽이었고 어쩔 수 없는 부분이긴 합니다. 인턴이 책임질 수가 없고, 무슨일 생기면 선임자가 해명해야 하니까요.
그러고 github에 들어가서 자신이 개선했던 node-webkit 를 개조해서 atom-shell, 이걸 Electron 이라 명명짓고 정식 버전 자유롭게 출시했습니다.
그나마 그 개발자는 이슈를 제기해서 제안을 할 권리는 있었습니다. 없었으면 지금의 nw.js 와 Electron은 생기지도 않았거든요.
아마 아직도 크롬 임베디드 대신 풀 프레임워크로 개삽질을 하면서 무거운 앱을 돌렸을지도 모르는 미래가 나타날 수도 있었거든요.
근데 정부와 한국 기업엔 그딴 거 없습니다. 지금 3.5.1 에 자바 1.8 지원도 간신히 나온 겁니다. 1.8 나온지 얼마나 됐죠? 1년도 넘었죠?
게다가, 공기관 앱들이 안드나 아이폰 최신버전 소식 들을 때 테스트조차도 안합니다. 문서작성하느라 바쁘거든요. 정식 버전 나와서 민원 다량 발생해야 이제서야 삐그덕 움직이는 게 대한민국 행정입니다.
작성자님도 이 환경 아실 겁니다. 으휴...
4. 검증 없는 유행
자, 때가 왔군요. 전자정부 기반의 고도화 사업으로 말아먹은 기업들 얘기가 나왔습니다.
정부가 성공하면, 기업도 자동으로 따라하게 되어 있어요. 근데 문제가 뭔지 아십니까?
검증을 안합니다. 이 프레임웤이 기업에 맞는지, 호환이 가능하고 마이그레이션이 충분히 검증했는지... 아웃 오브 안중이죠.
오로지 전자정부가 성공했기 때문에 여태까지 구축한 노하우 싹 갈아엎어도 안정적으로 돌아갈 거라 운영진들은 믿죠.
과장하자면, 실시간 트랜잭션이 다량으로 발생하는 채팅과 메시징, 미션 크리티컬을 관리하는 모니터링 시스템.
이것들을 죄다 전자정부로 옮길 기세였어요. 지금도 그런 개뻘짓을 시도하고 있고요.
결론부터 말씀드리자면, 90%는 망했습니다. 돈만 날려먹었어요.
물론 회식비로 90% 날려먹고 시작하는데 그건 객관적 사실이 불투명하기 때문에 논외로 치고.
인력과 장비 배정은 전자정부이니 공급이 많을 것이라고 가정하고 예산을 잡습니다. 그리고 지들 아는 보도방이나 중개업체에 귀띰하죠.
"우리 이 사업 하는데 맞는 개발자 구해달라."
그러면 보도방과 중계업체는 개발자를 구하고, 구한 만큼 수수료 떼먹는데, 10%라면 뭐 좋다 칩시다. 50% 떼먹는 씹놈도 있습니다.
인력비용부터 이렇게 낭비됩니다. 초급 불러와서 중급이라 우기고 학력과 자격증을 기반으로 뻥튀기 해서 투입시키고,
그리고 그들은 못따라가서 야근에 철야에 주말까지 근무하고 문서란 문서는 다 작성해야 하고.
그것도 모자라 기획에서는 가뜩이나 빡빡한 일정 더욱 더 조이고, 개발자는 더 까이고,
그렇게 해서 누더기 코드 리뷰하고, 잠깐 디자인 써서 그럴싸하게 포장해놓고 임원진 시연한 다음 오픈. 그리고 개박살.
처음부터 검증 없이 유행에 따라 사업을 진행하고, 전자정부란 표준의 기대감에 예산은 크게, 일정을 짜게, 다 해처먹고 푼돈 개발자 주면서 채찍으로 맨몸으로 피라미드 만들라 그러고.
그래가지고 잘 된 프로젝트는 여태까지 성공한 사례가 없군요. 소개하고 싶어도 할 게 없어요.
5. 결론
혹시 제가 그 글 반박하려 이 글 썼다고 생각하시면 "오해입니다. 오해."
저는 이렇게 메아리성 글이 나왔는지 부연설명 및 체념하라는 글을 쓰기 위해 이 글을 씁니다.
왜 체념하라고요? 저기요. 정부 고위직 중에 실무진 봤어요? 낙하산이라도 개발 한번 해본 낙하산이라도 있습니까?
돈밖에 모르고 실적을 강요하는 주식회사 정부에, 민간기업 정부에 개발자인 여러분이 할 수 있는게 뭐가 있겠습니까?
맞습니다. 죽창 들고 시스템 뽀개면서 폭동 한번 일으켜야 합니다. 근데 그럴 자신은 없죠. 먹고 살아야 하니.
그러니. 만약 당신이 정말 선진 기술로 앞서가고 싶다? 외국 가세요. 한국은 그딴 거 존중 안합니다.
지금도 신규 프로젝트를 보안 업데이트조차 안하고 기술지원도 안하는 자바 1.6을 씁니다. 자체적으로 검증했다는 이유로요.
1.8 얘기 꺼내보셨어요? 책임론 꺼내들지만 않았어도 다행으로 여기세요. 여긴 그런 나라입니다.
저도 먹고살기 힘들도 여러분도 힘든 거 압니다. 근데, 무작정 까고 본다? 누가 공감하겠습니까?
개발자들끼리 공감하면 뭐해요? 비개발자가 이해나 해 주겠냐고요? 아직도 고액연봉으로 착각하는 국민들과 언플에 놀아나는데.
그리고 이건 전저정부 문제 뿐만 아니고, 개발자만의 문제도 아닙니다. 사회 전반적인 문제입니다.
오로지 평준화하고, 평준화하여 인건비 낮추려고 연구에 연구를 거듭하는 기업과 정부. 캬아. 이맛에 헬조선에 삽니다.
그냥... 이나라에선 그냥 개발자들 씨가 말랐으면 좋겠습니다. 차라리.