Disqus for rellat

릴랏 개발 강의 2: 오픈소스 공개스터디

위 사진은 그랜드 캐니언 풍경이에요.

안녕하세요. 이기준이에요. 릴랏 강의 2를 작성하게 되었네요. 이번에는 그동안 작성한 코드를 설명하는 시간을 가져 보겠어요. 그리고 그동안 여러 사람들이 주신 피드백을 반영해서 어떻게 새로운 프로젝트를 추가하고 기존 프로젝트를 개선했는지 보고하도록 할게요.

본론에 들어가기 전에 우리 모임이 어떻게 발전하고 있는지 소개부터 할게요. 우리 모임은 2017년 2월 13일 현재 회원 800명을 돌파했어요. 가입을 할 때 인적사항을 보면 IT, 소프트웨어 분야에서 공부를 하거나 일을 하는 분들이 가장 많았구요. 그외 다양한 분야에서 배우고 싶어 하는 분들이 가입했어요.



전세계에서 많은 분들이 접속해서 릴랏 블로그연역론 블로그를 보고 있어요. 한국과 북미에서 많이 접속하네요. 앞으로 번역 프로젝트가 진행되어서 외국어 지원이 많아지면 지도 위에서 더 많은 점들을 보게 될거에요.




릴랏 프로젝트의 히스토리 맵

그러면 릴랏 프로젝트의 시간 순서를 정리해 볼게요. 이 단락은 릴랏 강의 시리즈를 쓸 때마다 계속 갱신하면서 덧붙일 거에요.

    1. 딥러닝 관련 글. 소프트웨어 연구 개발 방법론을 언급했다.
      1. 영어 버전
    1. 위 글의 쉬운 버전. 미국 생활을 언급했다.
    1. 사람들에게 질문 받은 것을 모아서 한 편의 글로 정리함. 여기서 처음 릴랏 프로젝트를 제안했다.
    2. 이 글을 읽고 많은 사람들이 릴랏 페이스북 그룹에 가입함.
    1. 릴랏을 정식으로 소개하는 글을 씀. 릴랏 스케치와 서비스 구상을 구체적으로 소개함.
      1. 영어 버전
    1. 취업자가 아니라 창업자의 입장에서 써봄. 릴랏 프로젝트를 창업 프로젝트의 예시로 듬.
    1. 릴랏 프로젝트의 세부적인 계획을 공유함.
    2. 시나리오 정보처리 방법으로 생산성을 높이는 방법을 제시함.
    3. 각종 질문에 답변해 줌. 질문과 참여를 독려함.
    1. 딥러닝을 응용해서 각종 예술 창작을 할 사람을 모집함.
    2. 예술을 이용해서 창의력을 개발하는 방법을 소개함.
    1. 딥러닝의 블랙박스 모델을 논리로 풀이해서 정리함. 쉽게 말해서 이기준 이기환에게는 딥러닝이 더이상 미지의 블랙박스가 아님. 정보처리가 어떻게 일어나는지 그 과정을 논리적으로 알게 되었음. 이 논리증명은 세계최초임.
    1. 미국에서 대학을 다니는 엄형진님의 요청으로 인터뷰를 함.
    2. 개발자에게 커뮤니케이션이 어떻게 중요한지 설명함.
      1. 영어 버전

제가 지난 번 글 릴랏 강의 1에서 제가 곧 있으면 딥러닝의 블랙박스 모델을 풀거라고 했죠? 완전쉬운 딥러닝 2 글에서 실제로 그런 일이 일어났어요. 우리는 이런 연구 때문에 앞으로 우리가 더 생산성 높은 딥러닝 프로그램을 만들 수 있을 거라고 생각해요. 왜냐하면 내부적으로 딥러닝 프로그램 내에서 무슨 일이 일어나는지 알고 만드니까요.



이렇게 해서 이번 글에서는 지난 번에 만들었던 계획을 얼마나 진행했는지, 어떻게 발전했는지, 어떻게 개선했는지 얘기해 보도록 할게요.


릴랏 서비스 개발 진행상황

먼저 "릴랏 서비스" 개발 진행상황을 보고하고 강의하도록 할게요. 지난 번 글 릴랏 강의 1에서 강의한 것처럼 "릴랏 서비스"는 시나리오 목업을 만들고 있었어요. 그리고 목업에 사용할 코드를 만들었죠. 이제 아래에서 그것을 어떻게 작업했는지 공개하도록 할게요. 이 과정은 ide.rellat.com에 지금까지 실시간으로 공개되었어요.


Cloud9 서비스 자체 서버 도입

우리는 2017년 2월 7일부터 코딩 협업 프로그램을 codeanywhere에서 Cloud9으로 바꾸었어요. 주소는 여기에요. ide.rellat.com

지난 번에 강의할 때 비유한 것으로 설명하면 우리 기차가 달릴 철로가 변경된 거죠. codeanywhere가 권한이 설정한 대로 적용이 안되는 문제가 있었어요. 그리고 특별한 이유 없이 발생하는 접속 에러가 있었어요. 그래서 제가 이기환님과 상의해서 빠른 결정을 내리게 되었죠.


제가 릴랏 한국어 페이스북 그룹에 공지사항으로 안내한 것과 같이 ide.rellat.com에서는 로그인 절차 없이 누구나 코드 수정과 주석 달기에 참여할 수 있어요. 제가 릴랏 시작하면서 한 번 겪어 보니까 이렇게 해보는 것이 낫다는 생각이 들었어요. 로그인과 권한 때문에 사람들이 불편해 하는 것을 보았거든요.

완전개방으로 로그인 없이 수정을 할 수 있게 한 것에 대해서 걱정을 하실까봐 말씀드릴게요. 저는 님들에게 더 많은 자율권을 주고 신뢰하는 것이 우리가 진행하는 릴랏 프로젝트가 발전하는 방향이라고 생각해요. 이기환님이 ide.rellat.com 관리를 하니까요. 궁금한 것이 있으면 이기환님에게 메세지를 주세요. 그룹에서 글을 써서 물어보셔도 되구요.

자, 앞으로는 Cloud9 위에서 신나게 달려 보자구요. 그리고 몇 달 뒤에는 릴랏 서비스를 정식으로 출시해서 그 위에서 달릴 거에요. 참고로 Cloud9은 오픈소스이고 우리가 릴랏 서비스에도 응용할 기술이에요.


릴랏 시나리오 목업 개발 과정

지난 번 릴랏 강의 1 글에서 강의했던 시나리오 목업 개발이 어떻게 진행되고 있는지 강의할게요. 이번에는 코드 설명과 강의 동영상이 나갈 거에요. 코드 강의 동영상을 만들고 나면 유튜브에 올리고 페이스북 그룹에 공지할게요. 아래 내용은 저와 이기환님이 개발 작업을 하면서 스스로에게 질문을 하고 시나리오 정보처리 한 것을 정리한 일지 내용이에요.


릴랏 서비스 목업은 처음에는 도식과 애니메이션으로 만들려고 했어요. 그런데 릴랏 code와 릴랏 doc은 실제 작동을 하는 프로토타입 데모로 만드는 것이 애니메이션 작업을 하는 것보다 효율적이고 장기적으로 재활용할 수 있어서 좋다고 판단했어요. 프로토타입 데모에서 구현한 기능은 본문의 행간에 댓글을 삽입하는 기능이에요. 그래서 우리가 지금 만들고 있는 것은 시나리오 목업과 시제품의 중간에 위치한 것이 되는 거에요.

그러면 릴랏 code 프로토타입 데모에서 본문의 행간에 댓글을 삽입하는 기능을 어떻게 만들어야 할까요?

  1. 오픈소스 텍스트 에디터 소스를 분석해서 플러그인 형태로 붙여 넣는다.
  2. 바닥부터 만든다. 예를 들어 TextArea 테그 안에 Line 한 줄마다 div테그를 넣고 키보드 이벤트를 가로채어 처리한다.

기본단위에 사용할 기술은 무엇이 있었나요? 키보드 이벤트 가로채기, div 자동 생성, TextArea Manipulation이었어요. 우리는 여기에 대해서 아직 정보가 부족해서 좀 더 리서치를 했어요. Medium.com의 텍스트 에디터를 보면 상당히 유연하고 기능이 다양한 것을 볼 수 있어요. 본문에 div 노드를 삽입하는 기능이 있죠. 유사한 기능을 가진 오픈소스 프로젝트를 참고하면 문제를 해결할 수 있을 것 같았어요.

Medium 서비스의 글쓰는 화면은 이렇게 생겼어요.

그렇게 해서 우리는 medium-editor open source replication을 찾아내서 비교를 해보게 되었어요. medium-editor를 보면 본문 중간에 커스텀 스크립트를 삽입하는 내용이 나오는데 그것을 이용해서 댓글을 삽입하면 어떨까요? 댓글을 별도 db에 저장하면서 본문 내용에도 포함시키는 거죠. 댓글을 수정하면 동기화 되도록 처리하구요.

그리고 우리는 "mozilla thimble HTML, CSS, JS 온라인 개발도구"를 참고했어요. 이것은 text editor 모듈로 Adobe Bracket을 사용하고 있었어요. Thimble을 보면 코드 중간 공간을 열어서 문서도구, 컬러피커 등을 보여주는 기능이 있었어요. 우리는 이것을 참고하기로 했어요.


mozilla thimble은 오픈소스인데 code를 열어보니 내부에 CodeMirror 소스를 사용하는 것을 발견했어요. CodeMirror는 "오픈소스 웹 코드 에디터"에요. 우리는 구글에서 키워드를 "ace editor inline”, "inline threaded comments"로 검색하여 가장 유사한 서비스를 찾았어요. 우리는 이렇게 시나리오 정보처리를 해나가면서 필요한 것을 계속 구체화 해서 검색을 해요. 그렇게 해서 매우 빠른 시간 내에 작업을 진행할 수 있는 거죠. A rich new JavaScript code editor spreading to several Microsoft web sites 블로그


CodeMirror 에디터에 addLineWidget이라는 함수가 있었어요. 같은 계열 코드에디터인 Ace 에디터에도 있었어요. Ace를 코드에디터로 사용하는 Cloud9에는 addLineWidget함수가 포함되지 않은 것으로 확인했어요.

  1. Adds a line widget, an element shown below a line, spanning the whole of the editor's width, and moving the lines below it downwards.

CodeMirror 데모 코드를 jsfiddle에 올려서 addLineWidget 함수를 테스트했어요. CodeMirror Line Widget Test  jsfiddle 링크. 이 기술을 사용해서 코드 줄과 줄 사이의 공간을 열어서 HTML 노드를 삽입할 수 있게 되었어요. 이것을 사용하면 코드 줄에 댓글 다는 기능을 만들 수 있을 것으로 확인했어요.

Line Widget을 테스트하는 화면

우리는 Thimble을 사용해서 댓글 디자인을 했어요. 왜냐하면 Timble에서는 CSS 코드 프리뷰를 실시간으로 확인할 수 있었기 때문이에요. 디자인은 페이스북 디자인을 참고했구요. Rellat Code Prototyping Thimble 링크

댓글 박스 디자인

그런 다음 데모 댓글 기능을 개발했어요. 개발을 하면서 참고한 stack overflow 질문과 답을 공개할게요.

작업을 하는 도중에 버그가 생겼어요. 버그가 생겨나고 해결한 과정을 적어 볼게요.
  1. 버그: 댓글 삽입후 다시 댓글 입력창을 열면 line widget이 댓글 밑에 달리지 않고 새로 생기는 문제
  2. 원인: 댓글을 삽입할 때 현재 커서 줄 번호를 변수로 가져와서 해당 줄에 달린 댓글이 있으면 밑에 연결되도록 삽입하는 코드를 만들었다. 해당 줄에 달린 댓글을 검색하는 코드에서 비교할 커서 줄 변수가 Number 변수일 것이라고 생각하고 작업했는데 CodeMirror 코드를 확인해보니 linehandle 오브젝트 변수였다. 그래서 해당 줄에 댓글이 달려 있어도 아무 것도 없는 것으로 인식하고 댓글 칸을 새로 만드는 문제가 발생했다.
  3. 해결: getLineNumber 함수로 linehandle 오브젝트를 줄 번호 변수로 변환하여 처리했다.
    1. doc.getLineNumber(handle: LineHandle) → integer

그런 다음 쓰레드 댓글 기능을 추가했어요. 쓰레드 댓글이란 댓글 밑에 달리는 대댓글을 말하는 거죠. 쓰레드의 다단계는 2단계까지만 만들고 그 이하는 전부 2단계 아래에 포함되도록 만들었어요. 이것은 페이스북에서 사용하는 인터페이스와 같아요. 페이스북 인터페이스처럼 댓글을 쓸 때 대상 이름을 댓글 앞에 자동으로 붙여 주는 것은 아직 구현 안 했어요. 이건 나중에 할 거에요.


댓글 가로 크기를 에디터 가로 크기에 맞추어서 꽉차게 만들었어요. 이 부분은 앞으로 지켜보면서 그대로 둘지, 조정을 할지 생각을 해보겠어요.
example jsfiddle width: calc(100% - 100px);

앞으로 "릴랏 doc 데모"는 DocEditable 기술을 사용해서 만들 거에요. DocEditable은 CodeMirror를 기반으로 WYSIWYG 텍스트 에디터 기능을 추가한 것이에요. 이것을 사용하는 이유는 기존 프로토타입 코드를 그대로 사용할 수 있을 가능성이 높기 때문이에요.


시나리오 목업 샘플

그렇게 해서 만들어 낸 시나리오 목업 샘플을 며칠 내로 공개할게요. 앞으로 우리는 이런 시나리오 목업 샘플을 20여개 정도 만들 거에요. 그리고 그 중에 5개 정도를 골라서 릴랏 홍보 동영상으로 만들 거에요.

지난 번에 보여드렸던 스샷을 동영상으로 만들어서 보여 드린다고 생각하면 이해가 쉬울 듯

2017년 2월 14일 화요일 현재 아직 작업하는 중이에요. 막바지 작업을 하고 있어요. 다 만들고 나면 글을 수정해서 동영상을 링크해 놓을게요.


시나리오 목업 동영상 업로드 완료

2017년 2월 17일 오전에 드디어 업로드 완료했어요.




시나리오 목업에 사용된 코드 상세 설명

코드와 주석을 캡쳐해서 보여 드리고 더 쉬운 말로 풀이해 볼게요. 이미 쉽게 풀이가 되어서 더 쉽게 풀어 쓸 필요가 없는 부분은 주석을 그대로 붙여넣기해서 설명을 대신할게요. 모든 코드와 주석은 ide.rellat.com에서 확인할 수 있어요.

"rellat_widget_manager.js" 설명
Rellat Code 프로토타입 데모는 CodeMirror의 line widget 기능을 사용해서 댓글을 코드 에디터의 줄 안에 삽입하는 것이 주요기능이다. 댓글은 오브젝트 단위로 rellatreply 컨테이너에 저장된다.

rellatreply 컨테이너 코드 내용

함수 기능 요약
function addReplyInput( editorline, person )
댓글 입력 노드를 삽입하는 함수이다.
editorline은 에디터의 줄번호나 lineHandle 오브젝트, 혹은 이미 등록된 댓글 노드의 id가 될 수 있다.
lineHandle 오브젝트는 CodeMirror에서 각 라인의 줄번호, DOM 노드, 연결된 line widget 등의 정보를 담고있는 오브젝트이다.
person은 댓글을 다는 계정이다. 입력이 0일 경우: John, 입력이 1일 경우: Jane

본 데모 코드에서는 이름, 사진 페어로 된 2개의 계정를 임시로 넣었다.


위는 댓글입력노드의 내용이다. 미리 작성한 댓글 html 템플레이트를 사용한다.
밑줄친 부분을 보면 댓글입력노드에서 키 이벤트, 포커스 이벤트 발생시 호출하는 함수 연결관계를 확인할 수 있다.

function replyinputfocus( e )
댓글입력노드에 텍스트 커서가 붙으면 호출된다.
안내문구가 있을 경우 안내문구를 삭제한다.


function addReply( event, idcounter )
댓글입력노드에서 키를 누르면 호출된다. enter 키를 감지하면 댓글노드를 삽입한다.
event는 onkeydown 이벤트에서 전달된 이벤트 오브젝트이다.
idcounter는 해당 노드 id의 번호이다.


밑줄친 부분을 보면 댓글노드에서 하위 level 댓글달기 버튼을 클릭했을 때 addReplyInput 함수를 호출하는 것을 확인할 수 있다. 삽입하는 댓글의 level은 댓글달기 버튼을 클릭했을 때 전달되는 댓글노드의 id를 참조하여 정한다.

function removeReplyInput()
rellatreply.reinputs 배열에 있는 댓글입력노드를 dom과 배열에서 제거한다.

function getWidget( linehandle ) -> lineWidget
댓글노드 혹은 댓글입력노드가 삽입되는 lineWidget 오브젝트를 가져오는 함수이다.
linehandle은 에디터 줄의 번호나 lineHandle 오브젝트, 혹은 이미 등록된 댓글 노드의 id가 될 수 있다.
lineHande오브젝트에서 바로 연결된 lineWidget 오브젝트를 가져오지 않고 rellatreply.replies 배열을 반복문으로 뒤지도록 처리했다. 왜냐하면 댓글말고도 다른 용도로 lineWidget을 만드는 경우가 있을 수 있기 때문이다.


위키백과 방식의 정보처리 과정 구상

지난 번 강의에서 제가 위키백과 방식을 어떻게 구현할지에 대해서 스케치를 제시하지 않았어요. 왜냐하면 그 부분은 아직 시나리오 정보처리에서 결론이 안 난 상태였기 때문이었죠. 그런데 그 부분이 이제 좀 진행이 되었어요. 정리된 구상을 보여 드릴게요.

  1. 우리는 코드의 실시간 버전 구분을 할 거에요.
  2. 코드를 갱신할 때 거기에 반대하는 사람이 이의를 제기하면 투표를 할 거에요.
  3. 투표에 대해서 토론을 할 거에요.
  4. 그런다음 투표에서 이긴 쪽으로 버전을 유지할 거에요.
  5. 그러나 투표에 진 쪽에게도 기회가 있어요. 투표에 진 쪽은 버전을 복제해서 가지를 쳐서 새 프로젝트를 분화할 수 있어요.

쉽게 말해서 투표에서 이긴 쪽 방향으로 기존 프로젝트를 진행하구요. 투표에서 진 쪽은 프로젝트의 가지를 쳐서 새 프로젝트를 열어서 진행할 수 있어요. 새 프로젝트로 가지를 쳐서 나갈지 말지는 개인의 자유에요.

구글 문서는 시간과 내용 수정 분량에 따라 자동으로 버전이 나누어 진다.

위키백과는 각 문서에 토론 페이지를 열 수있다. 토론페이지에서 문서를 어떻게 수정할지 토론을 한다.

위키백과에서 토론이 이루어지는 과정이다.


토론을 거친 후 내용 수정을 할 정보를 가진 개인이 문서의 내용을 수정한다. 만약 내용이 위키백과의 운영규칙에 어긋나거나 내용이 사실이 아닌 경우 "문서 코디네이터" 혹은 문제제기를 하는 개인이 재수정을 하거나 수정하기 전의 버전으로 돌릴 수 있다.

Rellat은 버전구분과 토론을 어떻게 하게 될까요? 아래에서 설명할게요.

  1. 토론을 문서 혹은 코드 내에서 바로 할 수 있다.
  2. 버전은 구글문서와 같이 시간과 내용 수정 분량에 따라 자동으로 나눈다.
    1. 이 부분을 딥러닝을 사용해서 도움을 받는다.  
  3. 사용자는 각 버전에 찬성 혹은 반대 의견을 등록할 수 있다.
  4. 반대의견을 많이 받았지만 사용자가 해당 버전이 의미있다고 판단하는 경우 다른 프로젝트로 분가할 수 있게 허용해 준다.


정승호님의 질문에 답해보자

정승호님이 이런 질문을 해주셨어요.


자, 이제 여기에 대해서 한 번 차근차근 제가 대답을 해볼게요. 대답이 아래에 이어져요.


릴랏 서비스와 릴랏 사고방식, OSOS

오잉? 릴랏 사고방식이라는 것이 있다구요? 네, 있어요. 이 릴랏 사고방식에 대해서 저는 오픈소스 공개 스터디 프로젝트 Rellat을 소개합니다 글에서 이미 설명을 해놓았어요. 한 번 들어가서 읽어보세요. 자, 여기서 "릴랏 소프트웨어 서비스"와 “릴랏 사고방식”이 나뉘어 져요.


릴랏 서비스와 릴랏 사고방식의 차이
  1. 릴랏 서비스는 페이스북처럼 실제로 작동하는 "소프트웨어 서비스"다.
  2. 릴랏 사고방식은 사람이 생각하고 실천하는 무형의 사고방식, 개념이다.
    1. 오픈소스 공개 스터디 개념, 줄여서 "OSOS"(오스오스)다.
      1. OSOS는 Open Source and Open Study의 약자다.  
    2. 이것은 오픈소스 방식으로 공부, 연구, 프로젝트를 과정을 공개하면서 진행하는 것이다.
      1. 오픈소스 방식이란 누구나 참여해서 수정과 배포를 자유롭게 할 수 있다는 것을 의미한다.
      2. 공개 스터디 방식이란 진행하는 과정을 공개하는 것을 말한다.
      3. 그래서 오픈소스와 공개 스터디 개념을 합쳐서 "오픈소스 공개 스터디, OSOS”가 된 것이다.
  3. 릴랏 서비스는 지금 개발하면서 강의하고 있는 "릴랏 코딩 협업 위키 SNS 서비스"다.
  4. 그외 릴랏 프로젝트는 릴랏 사고방식으로 진행하는 모든 프로젝트를 말한다.
    1. 누구라도 이 사고방식을 실천하면서 프로젝트를 진행하면 릴랏 방식으로 프로젝트를 한다고 말할 수 있는 것이다.  
    2. 릴랏 사고방식은 릴랏 정신, 릴랏 개념 등 비슷한 단어로 표현할 수 있다.  
  5. 예를 들어서 이기준이 제안한 릴랏 예술창작 활동은 릴랏 사고방식으로 예술창작을 해보자는 것이다.


릴랏 사고방식의 경계선은 어디까지인가?

경계선 없어요. 그 사람이 어디서 무엇을 하던지 릴랏 사고방식을 지켜서 프로젝트를 진행하면 제가 그것을 릴랏 방식이라고 인정해 줄 거에요. 더 나아가서 저와 같이 협업하기를 원하면 제가 기꺼이 받아 줄 거에요.


반대로 릴랏 사고방식을 이해하지 못하고, 거기에 동의하지 않으면서 저에게 무슨 일을 함께 하자고 하면 제가 들어보고 정중하게 거절할 거에요. 인정해 주지도 않을 거구요.


릴랏 서비스 개발에 기여하고 싶은데 어떻게 해야 해요?

원하는 사람은 누구나 ide.rellat.com에 접속해서 현재 실시간으로 작성하는 코드를 보고 자기 입장에서 분석해서 더 나아질 수 있는 방법을 제시할 수 있어요. 코드를 봤는데도 이해가 잘 안되면 우리에게 물어보면 되요.

아마 이번 강의를 보면 우리가 작업하는 코드에 대해서 이해를 하는 사람들이 더 늘어날 거에요. 그러면 이제 자기 입장에서 어떻게 기여할지 생각을 해서 제안을 하면 되요. 제안은 어떻게 하냐구요? 릴랏 페이스북 그룹에 글을 쓰세요. 질문을 하고 제안을 하세요.  


제가 아는 프로그래밍 언어, 제가 이미 가지고 있는 능력으로 라이브러리를 만들어서 기여하고 싶은데 해도 되요?

해도 되요. 위에 설명한 릴랏 사고방식만 지켜 주면 되요. 지금 진행하고 있는 기존 프로젝트에서 도움이 될 라이브러리 개발 해도 되요. 예를 들어서 현재 개발하고 있는 "릴랏 서비스"에서 도움이 될 라이브러리를 자기가 아는 언어로 개발해 보아도 되요. 개발한 뒤에 조립해서 엮으면 되요. 언어가 달라도 아무 문제 없어요. 우리가 조립해서 엮는거 잘해요. 적극으로 반영해 드릴게요.


그런데 겸허하게 받아들여야 할 부분이 있어요. 만들어 놓고 나서 그게 그다지 퍼포먼스와 구조에서 도움이 안되면 갈라파고스화 되어서 버려질 수도 있다는 것이에요. 이 부분을 항상 겸허하게 마음 속에서 받아들여야 해요. 내가 제안한 것이 반드시 절대적으로 타인에게 받아들여져야만 한다는 욕심과 기대심을 버려야 해요. 최선을 다하면 님들이 만든 라이브러리가 의미 있게 쓰일 확률이 분명 높아질 거에요.

그래서 제안을 먼저 한 다음 충분히 토론을 해서 어떤 이득이 있을지 판단을 하고 나서 진행을 해봐요. 우리가 무시 안 하고, 따돌림 안 하고, 야단 안 치고 최대한 캐리해서 데리고 가 줄게요. 릴랏 페이스북 그룹에 글 자주 올리세요.


제가 아는 프로그래밍 언어, 제가 이미 가지고 있는 능력으로 새로운 프로젝트를 만들어서 기여하고 싶은데 해도 되요?

해도 되요. 님들 자유에요. 위에 말한 것과 똑같아요. 릴랏 사고방식만 지켜 주면 되요. 우리가 적극적으로 도와 드릴게요. 그리고 위에 설명한 것처럼 겸허하게 받아들여야 해요. 님들이 프로젝트를 하나 제안했는데 그게 사람들이 많이 참여 안 해줘서 갈라파고스화 될 수 있다는 것이에요. 그래서 먼저 아이디어를 제안하고 토론을 한 다음에 진행하면 그 과정에서 많은 사람들이 흥미를 가지고 참여할 수 있을 거에요. 시나리오 정보처리를 하면서 아이디어를 다듬고 키워 나가세요.

처음부터 하드캐리할 마음을 먹으세요.

제안을 했는데 참여하는 사람이 적으면 어떡해요? 그래서 처음부터 이렇게 마음을 먹으세요. "아무도 참여 안 하더라도 내가 혼자 캐리해서 끝낼 자신 있다." 그러면 성공해요. 그러면 역설적으로 어느 정도 시간이 지나서 사람들이 많이 참여해 줄 거에요. 혼자서 캐리하다가 갈라파고스 된 것 같다가도 다시 사람들의 참여로 북적거리는 프로젝트가 될 거에요.

우리를 보세요. 우리가 실제로 그렇게 하고 있잖아요? 아무도 안 도와주는데도 우리 혼자서 캐리 다 해요. 혼자서 캐리 할 수 있고, 혼자서 다 만들 수 있는데도 공개하면서 하는 거죠. 그걸 보고 사람들이 배우고 깨우치는 것이 있으니까요. 그런데 그걸 사람들이 보더니 조금씩 용기를 내서 제안도 하고 참여도 하고 하는 거에요. 그게 역설적으로 성공하는 과정이에요.


오늘 쓰는 이 강의 글에서 아래 부분에 새로운 프로젝트가 어떻게 해서 창조되는지 보여줄 거에요. 그것을 보고 영감을 얻어서 도전해 보아요. 릴랏 페이스북 그룹에 제안을 하세요.  


프로그래밍 언어 사용자별로 모임을 만드는 것은 어떨까요?

그건 의미가 없어요. 왜냐하면 언어는 도구일 뿐이고 실제로 하는 일이 먼저 있어야 하기 때문이에요. 저는 사람들에게 창의력을 가르치는 것이지, 특정 언어를 가르치지 않아요. 앞으로 제가 진행할 프로젝트들을 보면 알 수 있겠지만 저는 특정 언어를 가리지 않아요. 검토를 해보고 도움이 된다 싶으면 정말 이 세상에 있는 그 어떤 언어와 그 어떤 기술도 다 가져다 쓸 거에요. 저는 우리를 지켜보는 사람들이 이 사고방식을 배우기를 원해요.


제가 위에서 설명한 것처럼 자기가 이미 배워서 아는 언어가 있는 사람이 그 언어를 사용해서 프로젝트에 기여를 하거나 새로운 프로젝트를 만드는 것은 자유에요. 제가 적극적으로 도와 드려요. 그런데 어떻게 기여할지, 어떻게 새로운 프로젝트를 만들지 생각도 하지 않은 상태에서 자기가 아는 언어 위주로 따로 소모임을 만든다거나 하는 것은 의미가 없어요. 그런 모임에서는 실질적인 일이 진행되지 않을 거에요.


잘못된 사고방식으로 선택을 잘못하면 법적인 분쟁에 휘말린다

이번에는 "이러면 안되는 경우"를 예를 들어서 설명해 드릴게요. 한국인공지능협회의 사무총장 이강훈이라는 분이 저에게 메세지를 보냈어요. 내용을 한 번 살펴보아요.


저 대화에서 이강훈님이 주장한 것이 왜 문제인지 살펴 보아요. 이강훈님은 제가 거기 회원이라는 이유만으로 우리가 진행하는 릴랏 프로젝트를 "한국인공지능협회"에서 진행하는 사업으로 홍보를 하고 싶다는 것이었어요. 이게 무슨 말이진 잘 이해 안되죠? 제가 이것과 비교할 다른 예를 들어 드릴게요.

다른 예를 들어서 제가 실제로 2월 17일에 딥러닝 그룹에서 주최하는 컨퍼런스에 강연 연사로 참가해요. 제가 그 모임에 가입을 하고 거기서 발표를 한다고 해서 제가 연구한 활동이 그 모임에서 이루어낸 연구 성과가 되나요? 제 연구가 그 모임에서 진행하는 사업이 되나요? 그렇지 않아요. 이게 정상이에요. 딥러닝 그룹에서도 저에게 그런 이상한 요구 안 하구요. 제가 그 모임 회원이라는 것과 연구를 한 행위는 엄연히 분리되어 있어요. 이 사례와 이강훈님이 저에게 제안한 것의 차이점은 이강훈님은 자기 모임에서 릴랏 프로젝트를 진행하고 있는 것으로 홍보를 하고 싶다고 한 것이에요. 이게 큰 차이죠. 저는 저 말 나오자 마자 그 말의 뜻을 알아챈 거구요.

  1. 이기준이 딥러닝 그룹에 가입해서 거기서 주최하는 컨퍼런스에 강연 연사로 참가한다.
    1. 이기준이 딥러닝 그룹의 회원인 것은 사실이다.
      1. 이기준은 그 그룹에 자기가 쓴 글을 정기적으로 올린다.
    2. 그러나 딥러닝 그룹 쪽에서 이기준이 연구한 것, 이기준이 활동한 것을 자기들이 했다고 주장하는 일은 없다.
      1. 이게 정상이다.
  2. 이기준이 한국인공지능협회에 가입을 하고 이기준이 쓴 글을 올리는 활동을 했다.
    1. 한국인공지능협회 사무장 이강훈님이 이기준에게 제의를 했다.
      1. 이기준이 진행하는 릴랏 프로젝트를 한국인공지능협회에서 진행하는 사업으로 홍보하고 싶다고 했다.
      2. 이강훈님은 이기준이 한국인공지능협회에 회원으로 가입하고 글을 올리는 홍보 활동을 하기 때문에 그렇게 해도 된다고 주장했다.
        1. 이 부분이 잘못된 개념임.
        2. 이것은 단체와 개인의 권리 범위를 자기 편한 대로 섞은 것임.  
      3. 이기준은 "실제로 릴랏에 참여해서 실천하는 일 없이 이름만 올려서 홍보하는 것은 할 수 없다고 했다." 이강훈님은 그러면 한국인공지능협회를 탈퇴하고 나가 달라고 했다.
  3. 그래서 이기준은 한국인공지능협회를 탈퇴했다.

한국인공지능협회와 이강훈님이 릴랏 프로젝트에 참여한다는 것을 홍보하고 싶으면 릴랏 그룹에 가입하고 실질적인 일을 하면서 “정직하게 일을 한 그 내용”을 홍보하면 되요. 그리고 그렇게 공식적으로 홍보를 하려면 양해각서(MOU)나 계약서를 작성해야 해요. 그래야 제가 그 사실을 보증해줄 수 있어요.

이강훈님은 논리상 제 동의도 얻지 않고 릴랏을 자기 협회에서 진행하는 활동으로 홍보할 수 있었는데 저에게 배려를 해서 물어봤다는 식으로 말했어요. 아오.. 논리같은 소리 하고 있네요. 실제로 그랬으면 제가 바로 명예훼손으로 고소했을 거에요. 이강훈님이 법에 대한 개념이 없는 것으로 보여요. 저런 사안으로 아직 고소당해 본 적이 없나 보네요. 일 년에 이런저런 소송을 5건 이상 하는 제가 볼 때는 저렇게 이강훈님처럼 생각하고 행동하면 장래에 분명히 법률분쟁에 휘말리게 될 거에요.


무엇이 문제인가요? 제대로 된 개인의 권리관계, 네것 내것의 개념이 없고 자기 입장 편한 대로 그것을 뒤죽박죽 섞었기  때문이에요. 제가 정중하게 "실제로 그쪽에서 일을 한 것이 없으면 그렇게 이름을 올리는 것을 할 수 없다.”고 말해주니까 이해를 못했어요. 저는 이해 못하는 것을 보고 바로 한국인공지능협회 탈퇴하고 이강훈님 차단했어요. 저는 딱 한 번 정중하게 말해 주었는데 이해 못하면 그걸로 끝이에요. 실제로 참여하고 일은 안 하면서 이름만 이용해서 이득을 보려고 하는 행동은 나중에 각종 법적인 분쟁의 원인이 되요. 사기, 명예훼손 등 문제가 될 소지가 많아요.

제가 릴랏 강의 1에서 실제로 일은 안 하면서 간보는 짓은 하지 말라고 예시를 들어서 말한 적 있죠? 저는 알아요. 이런 식으로 간보는 사람들이 나온다는 것을요. 그래서 그런 생각 하지 말라고 미리 안내를 해놓은 거에요. 저에게 이런저런 제의가 많이 들어 와요. 투자를 해주겠다느니, 뭘 같이 해보자느니, 뭐를 가입을 하라느니. 저는 얘기를 들어 보고 실제로 구체적으로 실천하는 내용 없이 간보는 것이면 그자리에서 거절해요.


인생에서는 사리를 분별해서 "No, thank you.”라고 말할 수 있는 능력이 매우 중요해요. 쉽게 말해서 정중하게 거절하는 능력이 필요하다는 거에요. 정중하지만 단호하게 거절해야 해요. 그러지 않으면 질질 물고 늘어지기 때문이에요. 사회 생활을 하면 이런 경우가 많이 있어요.
  1. 실제로 일을 하는 사람, 즉 실천을 하는 사람
    1. 이런 사람들과 일을 같이 해야 한다.
  2. 실제로 일을 안 하면서 단체와 지위를 이용해서 무슨 위원회니, 무슨 모임이니 하면서 타이틀만 달고 자기도 거기에 참여한 것처럼 포장만 하는 사람
    1. 이런 사람들은 멀리 해야 한다.
    2. 이게 일종의 갑질이다.
      1. 회사 생활을 하면서도 실제로 일을 안 하면서 부하직원이 힘들여 일한 실적과 공을 가로채는 사람이 있다. 같은 유형에 속한다.  

부당한 제안을 받았을 때 정중하게 "노 땡큐” 해야 해요. 평소에 연습을 하면서 살아야 해요. 그래야 후회하지 않는 인생을 살 수 있어요. 갑질에 당하지 않고, 사기에 휘말리지 않을 수 있어요. 이 원리는 미국이나 한국이나 전세계 어디서나 똑같이 적용되요.


증명자료의 게시에 대해서 안내

기본적인 권리 상식에 대해서 알려 드릴게요. 본인이 직접 참여해서 대화 나눈 내용은 대화를 나누었다는 사실에 대한 증명자료로 공개적으로 게시해도 괜찮아요. 법적으로 합법이에요. 불법인 경우는 제3자가 다른 사람의 대화 내용을 훔쳐내서 게시하는 경우에요. 그것은 통신비밀보안법에 어긋나요. 도감청이기 때문이에요.

저번에 성공적인 소프트웨어 벤처기업을 만드는 방법 글에서 저에게 질문한 시애틀 모 회사를 다니는 사람이나 AI Korea 관리자 김지원님 같은 경우에는 자기 신상을 지워달라고 부탁을 해서 지워줬는데 그게 제가 그 사람들 권리를 침해했기 때문에 지워준 것이 아니에요. 개인적인 호의로 해준거죠. 법적으로는 본인이 참여한 대화 내용을 공개적으로 게시하는 것이 아무런 문제가 안되요. 게시하는 사람 본인이 이해당사자이기 때문이에요. 제가 저와 관련된 사건에 대해서 증거자료를 게시한 것인데 무슨 문제가 되겠어요. 저 이런거 확인 철저하게 해요.


침해가 되는 경우를 예를 들어서 살펴 보아요. 구글과 페이스북의 개인정보 침해 문제가 있어요. 이게 문제가 되는 이유는 구글과 페이스북이 제3자이기 때문이에요. 그래서 이 회사들은 개인정보의 익명화 처리를 해요. 익명화 처리라는 것은 회사가 수집한 정보 중에 개인정보에 해당하는 각종 정보를 지워서 익명으로 만드는 거에요.

그러나 익명화 처리를 해도 빅데이터, 머신러닝을 돌리면 높은 확률로 신원 추적이 가능하다는 것이 문제에요. 예를 들어 이름, 나이, 주소, 전화번호, 주민번호(사회보장번호) 등의 개인정보 없이도 특정한 취미, 특정한 선호도, 특정한 행위 정보를 많이 수집해서 중첩시키면 상대적으로 높은 확률로 그 사람이 누구인지 추적하는 것이 가능해요. 그러나 이것은 아직 법으로 어찌할 수가 없어요. 익명화 데이터를 추적하는 것은 법이 금지하는  테두리 밖에 있는 합법적인 정보처리 활동이기 때문이에요. 앞으로 "익명화된 개인정보 추적 금지법"이 생기지 않는 이상 현재로서는 막는 것이 불가능해요.


다시 정리를 해 보아요. 예를 들어 저번에 자신의 이름과 직장 지워달라고 하면서 동의한 적 없다고 한 그 분은 착각한 것이 있는데, 그 분의 동의 없어도 제가 게시하는 것을 법적으로 막을 방법은 없다는 말이에요. 왜냐하면 제가 대화를 한 당사자기 때문이죠. 그런데도 제가 해준 것은 그냥 개인적으로 호의를 제공한 거에요. 그 사람의 권리가 아닌 거죠. 이번에 한국인공지능협회 이강훈님과의 대화도 마찬가지에요. 오해하면 곤란해요. 저는 이런 증명자료를 기록해 놓고 누가 저를 속이고 사실관계를 왜곡해서 뒤통수 치려고 하면 바로 대응해요. 제가 이런 기록을 해놓는 이유는 미래에 발생할 분쟁을 예방하려고 하기 때문이에요. 사건을 초기 단계부터 기록하고 공개를 해버리면 사람들이 속이고 왜곡할 시도를 못하기 때문이죠. 위에 이강훈님 같은 경우도 여기에 해당하구요.

저는 이런 개념을 잘 알기 때문에 살면서 말하고 행동할 때 깊이 생각을 하면서 해요. 그리고 이렇게 법적인 확인을 하고 나서 말하고 행동하기 때문에 판단을 내린 말과 행동은 주저 없이 용기 있게 해요. 무서운게 없기 때문이에요. 잘 모르니까 무서운 거지 알면 안 무서워요. 이 사회에서 분쟁을 예방하고 위험을 관리하면서 잘 살아가려면 이런 법에 대해서 잘 알아야 해요. 구글 검색을 자주 하고 정리를 해놓으세요.

제가 이런 분쟁 이야기를 자주 꺼내는 이유는 제가 실제로 이런 일을 자주 겪기 때문이에요. 그리고 제가 모범이 되어서 다른 사람들에게 이 험한 세상을 어떻게 헤치고 살아가야 하는지 보여주고 싶기 때문이에요. 그렇게 이해해 주세요.


실력을 증명하는 방법

이제 한 번 "실력 증명"이라는 주제에 대해서 이야기 해볼게요. 저는 릴랏을 구상하면서 "실력 증명 서비스"를 기획했어요. 페이스북을 생각해 보아요. 페이스북에는 활동 로그라는 것이 있어요. 내가 무슨 일을 했는지 히스토리를 저장해 놓은 것이에요. 페이스북은 이런 정보를 많이 모아서 익명화 처리를 한 다음 광고 회사에 타겟으로 제공하고 돈을 벌어요. 이것이 페이스북이 무료 서비스이면서도 큰 돈을 버는 비결이죠. 구글도 같은 방법으로 개인의 익명화 정보를 광고에 이용해서 돈을 벌구요.


이제 관점을 한 번 바꾸어 보아요. 우리는 릴랏 서비스를 만들 것인데요. 여기서도 활동 로그는 있을까요, 없을까요? 네, 있어요. 이제 이 활동 로그로 무엇을 할 수 있는지 설명을 해드릴게요.

  1. 릴랏 서비스에서 유저가 코딩을 하고 주석을 다는 과정을 추적해서 보여 준다.
    1. 통계를 내어서 보여 준다.
      1. 활동 유형
      2. 어떤 코딩을 주로 하고 어떤 주석을 주로 달았는지 보여 준다.
  2. 유저가 문제를 인지하는 관점을 보여 준다.
  3. 유저가 문제를 처리하는 스타일을 보여 준다.
  4. 그렇게 해서 그 사람의 코딩 습관과 사고방식을 정리해서 보여 준다.
  5. 다른 사람들과 정량 비교를 해서 어느 정도 능력을 가지고 있는지 측정해 준다.
    1. 코딩 능력이 상위 몇 %에 해당하는지
    2. 프로젝트를 얼마나 적극적으로 캐리하는지
    3. 얼마나 꾸준한지
    4. 얼마나 다른 사람들의 불편과 필요를 찾아내고 도와주는지

이제 구인을 원하는 회사 담당자가 있다고 쳐요. 이 사람이 릴랏 유저에게 요청을 했어요. "우리 회사에서 님을 채용하고 싶은데요. "릴랏 활동 로그"를 보여 주실 수 있을까요?" 그렇게 해서 릴랏 유저가 회사 담당자와 "친구 맺기"를 한 다음 자기 활동 로그를 분석하고 요약한 자료를 보게 해주었어요. 그걸 보고 회사 담당자가 이렇게 생각하면 어떻게 될까요?
"아, 이 사람 마음에 든다."
"아, 이 사람은 우리와 사고방식이 비슷하구나."
"우리가 찾고 있던 능력을 가진 사람이구나."

그러면 채용이 잘되겠죠? 반대로 그 사람의 코딩 방식, 문제해결 방식을 기록해서 정리해 놓은 것을 보고 마음에 안 들면 채용을 안 하면 되는 거죠.


이제 이 예시를 현재 채용 시장에서 일어나는 활동과 비교를 해보아요. 현재 업계에서는 이렇게 사람의 능력을 평가하는 방법이 없어요. 그냥 이름만 달랑 있는 경력과 실제 일을 한 과정이 그대로 나오는 정보는 질이 달라요. 결과물만 달랑 제시한 것과 그 결과물을 만들어낸 과정까지 제시한 것은 정보의 질이 다른 거죠.

  1. 과정을 증명할 수 없는 결과정보
    1. 학력
    2. 시험점수
    3. 자격증
    4. 외모
    5. 즉석언변
    6. 그외 타이틀과 결과물만 있는 경력
  2. 과정으로 증명하는 관계정보
    1. 행동 습관
    2. 프로젝트의 어디에 어떻게 기여했다는 과정
    3. 한두 번 한 일이 아니라 수 개월, 수 년에 걸쳐서 통계를 낸 정보
    4. 코딩하는 스타일 / 주석을 다는 스타일
    5. 같이 작업한 사람들이 남긴 댓글, 좋아요, 투표 평가

어때요? 실력을 증명하는 "새로운 방법"이 되겠죠? 자, 먼저 짚고 넘어 갈게요. 이 정보를 공개할지 말지는 릴랏 유저 개인의 선택이에요. 공개하기를 원하지 않으면 공개 안 하면 되요. 채용하는 쪽에서 요구했는데 유저가 원하지 않으면 제공 안 하면 되요. 그러면 채용하는 쪽에서는 채용 안 하면 되는 거죠.


유저는 자신을 홍보하는 수단으로 다른 사람들이 다 볼 수 있게 완전공개로 할 수도 있고, 친구사이만 볼 수 있게 부분공개로 할 수도 있고, 구직을 원하는 회사에게만 제공할 수도 있어요. 이것은 유저 마음이고 릴랏 서비스에서는 여기에 관여 안 해요. 릴랏 서비스는 단지 공정한 정보를 모아서 누가 보더라도 객관적인 평가가 가능한 형태로 정리만 할거에요.

이게 실현되면 릴랏 서비스는 코딩 업계의 유일무이한 능력 검증 서비스가 될 거에요. 채용을 원하는 소프트웨어 회사들이 릴랏을 반드시 이용하게 될 거에요. 이런 것이 비경쟁 게임을 만드는 방법이구요. 이걸로 돈을 어떻게 벌지는 또 나중에 생각해 보자구요. 저는 이런 아이디어 만들기를 잘해요. 평소에 이런 생각을 하는 연습을 하면서 살아가요.

제가 이 아이디어를 어떻게 만들어 냈는지 아세요? 저는 이 아이디어를 위의 사례처럼 프로젝트에 자기 이름만 슬쩍 올리고 이득만 얻으려고 하는 사람들을 어떻게 걸러 낼지 생각을 하다가 만들어 냈어요. 저는 이런 방식으로 진짜 실력을 우대하는 문화가 정착되기를 원해요. 이력서 스펙만 부풀리는 문화는 이제 그만하자는 거죠.


릴랏 프로젝트에는 권한을 가진 방장이 따로 있나요?

그런거 없어요. 누구나 프로젝트를 자유롭게 만들 수 있지만 최초 만든 사람이 그 프로젝트를 소유한 것은 아니에요. 캐리하는 사람은 누가 열심히 하느냐에 따라서 언제나 바뀔 수 있어요. 제가 자세한 예를 한 번 들어 볼게요.

  1. 이기준이 "릴랏 코딩협업 소프트웨어 서비스"를 사용해서 프로젝트 한 개를 만들었다. 이기준은 초반에 이 프로젝트를 혼자서 하드캐리했다. 코드 대부분을 만들고, 주석도 달았다.
    1. 그러나 이 프로젝트는 이기준의 독점소유가 아니다. 오픈소스다. 이기준은 릴랏 사고방식을 충실하게 실천했을 뿐이다. 이기준은 심지어 방장도 아니다.
    2. 단 하나 이기준이 자신의 소유로 가지는 것은 이기준의 로그, 히스토리다. 여기에는 이기준이 활동한 내역이 저장된다. 이기준은 이 내용을 다른 사람에게 보여주고 이기준 자신을 홍보할 수도 있고 구인을 할 때 경력을 증명하는 자료로 사용할 수 있다.
  2. 이기준이 작업을 열심히 하는 중에 이기준과 코드에 대해서 의견이 다른 이기환이 나타났다. 이기환과 이기준은 댓글로 의견을 나누었지만 합의를 하지 못했다.
  3. 이기환은 자기가 개발한 코드로 프로젝트를 진행할지를 묻는 찬반투표를 제안했다. 투표를 했더니 프로젝트에 참여한 사람들 대부분이 이기준을 지지했다.
  4. 그래서 이기환은 이기준이 그때까지 만든 프로젝트를 복제해서 가지를 쳐서 새 프로젝트를 만들었다. 이기환은 그 프로젝트를 혼자서 하드캐리해서 따로 개발해 나갔다.
  5. 어느날 "드라군"이 나타났다. 드라군은 주석에다 뜬금없는 개드립을 치고 코드를 자기 마음대로 바꾸어서 다른 사람들에게 불편을 주었다.
    1. 그래서 사람들이 드라군을 강퇴시키자는 투표를 제안해서 투표 최소 인원을 충족하고 과반수를 획득해서 드라군을 강퇴, 차단했다. 회원들은 드라군이 손댄 부분을 전부 "뒤로 돌아가기" 처리했다.
    2. 열받은 드라군은 이기준이 진행하던 프로젝트를 복제하고 가지를 쳐서 이기환처럼 혼자서 하드캐리를 하려고 했다. 그러나 드라군은 실력이 없었다. 드라군이 캐리하던 새 프로젝트는 갈라파고스화 되어서 버려졌다. 일단 드라군 본인이 열심히 안 했기 때문이다.
  6. 이기환이 혼자서 진행하던 프로젝트는 발전해서 이기준이 하던 프로젝트와는 내용적으로 다른 것이 되었다. 시간이 지나자 이기환이 만든 프로젝트에도 사람들이 와서 협동 활동이 활발히 일어나게 되었다. 이기준 이기환의 프로젝트는 각자 자기의 입장에서 열심히 개발하고 발전해 나갔다.
  7. 그리고 이 모든 과정을 멀리서 지켜보던 "릴랏 봇"은 어떤 코딩이 더 나은 코딩이고 어떤 코딩이 못난 코딩인지를 배우며 "코딩 요정"의 꿈을 키워가는데.. A long time ago in a galaxy far, far away..

드라군 출동해서 개드립치면 강퇴당함

자, 이것이 앞으로 "릴랏 코딩협업 소프트웨어 서비스"가 생기면 일어날 미래 시나리오에요. 그러면 릴랏 서비스 말고 릴랏 사고방식을 실천하는 기타 프로젝트는 어떨까요? 똑같아요. 릴랏 소프트웨어 서비스로 처리할 일을 사람들이 페이스북에서 댓글을 달고 토론을 해서 처리한다는 차이 밖에 없죠.


기타 프로젝트 진행상황

복셀 게임월드
앞으로 조만간에 계획을 정리해서 깃허브를 열 거에요.
릴랏 IDE에 프로젝트를 열 거에요.

딥러닝 연구
우리는 앞으로 오픈소스 딥러닝 프로그램을 분석해서 연역론 방식으로 개조할 거에요. 연역론 방식으로 개조한다는 말은 완전쉬운 딥러닝 2 글에 나온 연역론 논리 개념으로 딥러닝 프로그램을 재조립한다는 뜻이에요. 이러면 연역론 증명에 대한 추가적인 재현실험, 구현실험의 효과가 생겨요. 쉽게 말해서 딥러닝에 대한 이기준 이기환 주장이 맞다는 것을 추가로 증명하는 효과가 있어요.

  1. 백프로퍼게이션 포팅, 연역론 세계관에 맞게 개조하기
  2. 퍼셉트론 연역론 세계관에 맞게 개조하기
  3. Julia ML 분석하기
    1. Julia Korea 모임에서 노우경님이 추천
  4. 딥러닝 번역 프로그램 연역론 방식으로 개조해서 만든다.
    1. 릴랏 서비스에서 사용할 예정
  5. 딥러닝 자동채색 프로그램 연역론 방식으로 개조해서 만든다.
    1. 릴랏 예술 프로젝트에서 사용할 예정
  6. 딥러닝 info-art 프로그램 연역론 방식으로 개조해서 만든다.
    1. 릴랏 예술 프로젝트에서 사용할 예정

가상화폐 연구
우리는 앞으로 릴랏 서비스에서 유저들에게 제공할 가상화폐를 개발할 거에요.
계획을 정리해서 깃허브를 열 거에요.
릴랏 IDE에 프로젝트를 열 거에요.

연역론 금융투자 연구
위에 설명한 딥러닝 연구 프로젝트를 진행하면서 연역론 금융투자에 사용할 프로그램 계획을 할 거에요. 연역론 금융투자란 금융시장을 연역론의 정보 동조관계와 비대칭성 관점으로 이해하고 이 원리를 이용해서 이득을 얻는 활동이에요.


딥러닝 예술

캐나다에서 학부생활을 하면서 Generative Art, Information Art, Data Art 분야에서 예술 창작을 하는 Do Park님과 대화를 나누었어요. Do Park님의 개인 창작 갤러리 웹사이트

제너레이티브 에술, 정보 예술, 데이터 예술은 쉽게 말하면 컴퓨터 프로그램으로 표현 양식을 창조해 내는 분야라고 할 수 있어요. 이게 무슨 말인지 잘 이해가 안되시죠? 제가 썼던 딥러닝으로 예술 창작을 하고 싶은 사람을 찾고 있어요 글에 보면 주로 사람 흉내를 내는 딥러닝 예술이 소개되어 있었어요. 이 말은 딥러닝이 사람을 흉내내서 사람이 하는 예술 표현의 기술을 도와준다는 뜻이에요.

사람 흉내를 내는 딥러닝의 예

그런데 사람 흉내를 안 내는 딥러닝 예술이 있어요. 여기에 사용하는 딥러닝 프로그램은 사람을 흉내내지 않고 연구자가 입력한 규칙을 사용해서 자기 스스로 예술 표현에 사용할 패턴, 알고리즘을 만들어 내요. 그래서 결과물이 아주 새롭죠. 우주 시뮬레이션, 매트릭스 영화를 보는 것 같아요.


영화 인터스텔라 아시죠? 그 영화에 보면 웜홀이 나오는데요. 우리 인류는 아직 웜홀을 한 번도 실제로 보거나 가까이 가서 관측한 적이 없거든요. 그래서 과학자들이 멀리서 관측을 하고 계산을 한 자료를 토대로 컴퓨터 그래픽으로 만들어 낸 것이 그 영화에 나온 웜홀이었어요. 이게 바로 "데이터 예술"이죠. 이렇게 정보 예술, 데이터 예술은 사람이 미처 상상하지 못했던 것을 구체화해서 예술로 표현하는 것을 도와줄 수 있어요. 참고로 영화 인터스텔라에서는 이 웜홀을 시뮬레이션으로 구현하면서 논문도 한 편 만들었다고 하네요.


우리는 앞으로 딥러닝을 연구하면서 이 예술 표현을 같이 해볼 생각이에요. 프로젝트를 열고 깃허브, 릴랏 IDE에 추가하도록 할게요.


원기옥을 모으는 활동

조그만 관심, 자기 입장에서 생각해 본 것들이 프로젝트의 발전에 도움이 되요. 저는 하루에 한두 건씩 꾸준히 그런 질문과 제안을 받고 있어요. 이 글을 읽는 여러분들도 참여하세요.


  1. 김승현, "파브르의곤충기"님이 스페인어 번역을 도와주셨어요. 링크를 누르면 해당 구글문서로 이동해요.
  2. 모로코 정부 기술부처에서 일하는 비서관님이 Node.js에서 발생할 수 있는 보안문제에 대해서 조언을 해주셨어요.
  3. 브라질에 사는 선생님(교사)이 포르투칼어 번역을 도와주셨어요.
  4. 이집트에 사는 대학생, TEDx번역을 하는 전문 자원봉사자가 아랍어 번역을 도와주셨어요.  

참고로 이집트에 사는 대학생이 저에게 이렇게 물어 보았어요. 자기가 릴랏 프로젝트 번역에 기여하면 나중에 자기 경력에 그 내용을 기입하고 싶은데 제가 보증과 추천을 해줄 수 있냐구요. 제가 뭐라고 했을까요. 당연히 해준다고 하죠. 이게 진짜 참여를 하고 기여를 하는 거죠. 저는 도와주셔서 감사할 뿐이에요. 이제 이런 사례를 위에 한국인공지능협회 이강훈님하고 비교를 해보세요. 무슨 차이가 있는지 알 수 있을 거에요.

릴랏 프로젝트는 디스크 조각모음을 하는 것처럼 조금씩 천천히, 그러나 다차원으로 도움을 받고 조언을 받고 교류를 하고 있어요. 어떻게 참여하고 기여를 하냐구요? 그 부분은 님들의 상상력과 그것을 실천하는 능력, 즉 창의력에 달려 있어요. 제가 아래 이어지는 내용에서 더 많은 예시를 보여 드릴게요.


이예슬님의 디자인 아이디어

아래는 이예슬님이 주신 디자인 아이디어에요. 제가 쓰는 글에서 도식 디자인을 한 번 바꾸어 보자고 하셨어요.



저는 참여하려고 하는 사람에게 바로 권한을 드려요. 권한을 드리고, 실천할 수 있게 도와드려요. 그 사람이 잘하는지 못하는지는 그 다음 문제에요. 못해도 상관없어요. 제가 잘해요. 참여하는 사람은 자기 입장에서 그냥 열심히 최선을 다해서 하기만 하면 되요. 그러면서 자기 능력도 개발하고 자신감도 얻으세요. 아무도 야단 안 쳐요.

제가 막 법적으로 고소한 이야기를 글에다 적고 그러니까 저를 전문 싸움꾼처럼 보는 분들에게 얘기할게요. 저는 야단 안 쳐요. 저는 다른 사람이 저와 생각이 다른 것을 기본적으로 받아들이고 살아요. 제가 철저하게 싸우는 대상은 다른 사람을 윽박지르고, 욕하고, 속이고, 야비하게 비아냥거리는 사람이에요. 이런 사람들에게는 용서 없어요. 뼈저리게 후회하도록 대응해 주어요. 그러나 그런 사람들 외에는 다 존중해 주어요. 착각을 하지 마세요. 존중은 다른 사람을 존중해 주는 사람에게만 해주는 것이에요. 타인의 자유를 존중하지 않는 "불편러, 범죄자"는 존중 안 해줘요.



위 그림은 이예슬님이 제안하신 또다른 아이디어에요. 코드의 연결된 관계를 시각화해서 보여주자는 것인데요. 좋은 생각이죠. 릴랏에 저런 것과 비슷한 보조 도구가 있으면 코딩을 하는 사람들이 프로그램의 구조에 대해서 더 잘 이해하게 될 거에요. 앞으로 어떻게 반영해서 구현할지 생각을 해볼 거에요. 님들, 보셨죠? 이게 바로 자신의 입장에서 어떻게 하면 도움이 될지 생각을 해서 참여를 하고 기여를 하는 한 가지 방법이에요.


지하철 차량 승객 혼잡도 안내 아이디어

이것도 이예슬님 아이디어에요.


자, 먼저 이예슬님이 제안하신 아이디어를 정리해 보아요.
  1. 앞으로 도착할 지하철 차량에 승객이 얼마나 탑승했는지 기다리는 사람이 미리 알 수 있었으면 좋겠다.
    1. 그러면 무슨 이득이 있을까?
      1. 사람이 붐비지 않는 차량을 골라서 탈 수 있다.
      2. 현재까지는 일단 차량에 탑승한 뒤에 차량간 통로를 이용해서 덜 붐비는 차량으로 이동해야 했다.
      3. 이 서비스가 있으면 사람들이 미리 덜 붐비는 차량 앞에서 기다릴 수 있다.
  2. 승객들이 전광판의 정보를 보고 밀집도가 낮은 차량에 탑승할 수 있게 하면 좋겠다.
  3. 어떻게 승객들의 밀집도를 알아내야 할까?
    1. 예를 들어 CCTV 카메라를 이용해서 딥러닝을 돌린다.
    2. 이 기술을 이용해서 추가로 사고, 테러 등에 대응할 수도 있다.   
  4. 이 계획의 장애물은 무엇인가?
    1. 철도공사의 동의가 필요하다.
    2. 철도공사에서 차량에 CCTV와 딥러닝 프로그램을 갖추어야 한다. 즉, 하드웨어 설비와 소프트웨어에 투자해야 한다.


제가 이 아이디어를 가지고 먼저 저 혼자 사니리오 정보처리를 한 다음, 이기환님과 함께 토론을 해보았어요. 이예슬님의 최초 아이디어에서 가장 어려운 부분은 철도공사, 즉 지하철 시스템을 설득해서 거기에 CCTV나 센서를 설치해야 한다는 점이었어요. 그리고 하드웨어 뿐만 아니라 딥러닝 소프트웨어 투자도 필요했구요. 그런 다음 그 정보를 우리가 받아오도록 허락을 받아야 했어요. 저는 이예슬님의 아이디어를 듣고 나서 그 어려움을 우회해서 실현하는 것을 보여 드리기로 마음먹었어요. 말 그대로 마술을 보여 드리는 거죠. 그렇게 사고방식의 한계를 벗어나는 것을 모범으로 보여 드려서 깨달음을 주고 싶었어요.


저는 먼저 관련정보를 수집했어요. 현재도 서울 노선 중 일부 신모델 차량에는 CCTV가 설치되어 있어요. 2014년을 기준으로 해서 앞으로 10년 이내에 모든 차량에 CCTV를 설치하는 것이 목표라고 하네요. 설치 목적은 차량에서 일어나는 각종 범죄를 예방하는 것이에요. 관련기사 링크

저는 시나리오 정보처리를 시작했어요. 첫 번째 질문이 나왔어요. 이 프로젝트는 반드시 지하철 공사의 협조를 받아서 해야 하는가? 지하철 공사의 시설투자, 소프트웨어 투자를 전혀 받지 않고 프로젝트를 만들어 보면 어떨까?

  1. 이예슬님이 최초로 제안한 아이디어
    1. 지하철 차량 내에 CCTV나 센서를 설치하고 딥러닝 등 소프트웨어를 사용해서 승객 밀집도를 알아낸다.
    2. 알아낸 승객 밀집도를 지하철 내 전광판에 표시한다.
  2. 이 계획의 문제는 무엇인가
    1. 지하철 공사가 시설과 소프트웨어에 투자를 해야 한다.
    2. 우리가 그 정보를 사용하려면 허락을 받아야 한다.
    3. 지하철 공사가 이 정보를 자체 전광판에 표시하면 우리가 그 정보를 받아 올 필요가 없다. 즉, 우리가 진행하는 프로젝트가 아니게 된다.  
  3. 자, 그렇다면 똑같은 목표를 지하철 공사의 도움을 일절 받지 않고 달성하는 모양으로 만들어 보자.
    1. 과연 어떻게 하면 그렇게 할 수 있겠는가?

제가 차량에 설치된 CCTV나 센서 없이 차량에 탑승한 승객 밀집도를 알아내는 방법을 제시해 볼게요. 자, 우리가 지하철 차량에 탔어요. 그리고 우리가 스마트폰을 꺼내서 앱을 한 개 실행했어요. 이 앱은 반경 수 미터 내의 모든 스마트폰 기기를 검색해서 개수를 알아낼 수 있어요. 어떻게 알아낼 수 있나요? 주변 스마트폰에서 나오는 전파를 스캔해서 알아낼 수 있어요.


위 그림 처럼요. 이렇게 차량에 탐승한 사람이 우리가 만든 "앱"을 실행하기만 하면 주변 스마트폰의 밀집도를 스캔해서 중앙서버로 보내게 해요. 그러면 무엇을 알 수 있을까요? 그렇죠. 차량의 승객 밀집도를 알아낼 수 있어요. 이 정보는 단지 주변에 스마트폰이 몇 개 있는지만 추적하는 것이기 때문에 개인정보 도용 문제가 발생하지 않아요. 여기에 비해서 CCTV는 개인정보 침해가 있지요. 많은 사람들의 얼굴, 신체를 촬영하니까요.

자, 그런데 질문이 한 개 나오네요. "우리 앱"을 차량에 탄 사람들이 실행을 시켜 줘야 작동을 할 텐데 어떻게 하면 그렇게 할 수 있을까요? "고양이 목에 방울달기" 인가요? 그건 쉽죠. 우리가 "대중교통 앱"을 한 개 만드는 거에요. 이 앱이 고양이 목에 달 방울이 되는 거죠.

방울을 달 수 있을까옹?

  1. 새로운 "대중교통 앱"을 한 개 만들자. 임시로 "릴랏 대중교통 앱"이라고 하자.
  2. 이 앱은 재래식 대중교통 앱들이 가진 기능에 추가로 우리만이 보여주는 새로운 기능을 가진다.
    1. 재래식 기능
      1. 노선도
      2. 차량 위치
      3. 첫차 시간, 막차 시간, 배차 시간
    2. 우리가 선보이는 새로운 기능
      1. 차량 내의 승객 밀집도
      2. 실제 차량의 정확한 위치
      3. 실제 차량의 속도와 정확한 도착 예상 시간

어때요? 이 앱을 설치하면 기존 대중교통 앱에서 부족한 부분인 "승객 밀집도"를 알려줄 수 있어요. 그래서 이번 차량을 탈지 말지를 선택할 수 있게 도와주죠. 그리고 차량 내에서 이 앱을 작동시킨 사람이 알려주는 정보를 이용해서 차량의 정확한 위치와 도착 예상 시간을 알려줄 수 있어요. 아마 철도공사, 버스회사에서 제공하는 것보다 정확할거에요.

저는 여기에 한 가지 기능을 더 추가해서 기획했어요. 우리의 새로운 "릴랏 대중교통 앱"은 사용자가 받아서 다운로드를 한 번 해놓고 나면 사용자가 대중교통을 이용할 때 자동으로 켜지는 거에요. 이게 가능해요? 네, 가능해요. 대중교통은 정해진 노선으로 다니잖아요. 그래서 앱의 위젯이 백그라운드에서 위치 감지를 하다가 대중교통을 탔다는 것을 감지하면 앱 본체가 켜져서 승객 밀집도를 자동으로 스캔해서 중앙서버로 보내는 거죠. 이런 판단을 딥러닝을 사용해서 할 거에요.


이렇게 하면 사용자가 일일이 앱을 켜서 사용하지 않아도 자동으로 이 과정을 처리해 주니까 편리할 거에요. 물론 앱을 설치하고 나서 이 기능을 켜놓을지 동의를 받아야 겠죠. 그런데 이 앱이 승객 밀집도를 알려주고 편리함을 도와준다는 것을 이해한 사용자는 다 여기에 동의할 거라고 봐요. 또 차량에 탑승하지 않고 정류장에서 기다리는 사람도 자동으로 앱이 실행되어서 주변 밀집도를 스캔할 거에요. 사용자가 정류장 위치에서 몇 분 이상 서서 기다리면 앱이 자동으로 켜지는 거죠.

그럼 여기서 끝인가요? 아니요. 빅데이터와 딥러닝 부분이 더 있어요. 이렇게 "릴랏 교통 앱"을 사람들이 사용하기 시작하면 수 개월 동안 데이터를 측정해서 노선별, 정거장별로 특징을 알아낼 수 있어요. 사람들이 언제 붐비고, 언제 한산해지는지 특징을 알아낼 수 있는 거죠. 그래서 단순히 현재 차량의 실시간 승객 밀집도 뿐만 아니라 앞으로 차량에서 사람들이 많이 내릴지, 사람들이 많이 탈지를 예측할 수 있어요. 승객 밀집도 뿐만 아니라 정류장에서 대기하는 사람들도 이 앱을 쓸거잖아요. 그래서 토탈 빅데이터 수집과 딥러닝이 가능해요. 그러면 예측이 가능해져요. "이기준님은 몇 시 몇 분부터는 차량에서 앉아서 가실 수 있습니다."같은 고난이도 예측이 가능해진다는 말이죠.


이게 엄청난 부분이거든요. 그러니까 예전에는 사람들이 겪어보고 통빡으로 예측했던 부분, "아, 강남에는 오후 6시 넘으면 버스가 꽉 차."이런 부분이 있었어요. 그런데 "릴랏 교통 앱"은 이런걸 실시간으로 알려주는 거에요. "현재 오후 5시 20분인데요. 지금 오시면 자리에 앉아서 가실 수 있구요. 이후부터는 붐비구요. 7시 10분부터 다시 한산해 질거에요."하는 식으로 안내가 가능하다는 거죠. 그럼 이 앱을 사용하는 사람들은 미리 집에서, 회사에서, 식당에서, 커피숍에서 마음의 준비를 하고 대중교통 이용 스케줄을 정할 수 있는 거에요. 빅데이터와 딥러닝을 이용하면 이정도로 임팩트가 생겨요.

"음, 급할 필요 없잖아. 여기서 기다렸다가 앉아서 가야지."

이 뿐만 아니에요. 버스같은 경우는 교통체증이 있잖아요. 이것 역시 꾸준히 빅데이터로 모으면 요일별, 휴일별, 특정한 행사별로 통계를 내고 추적할 수 있거든요. 여기에 딥러닝을 돌리면 내가 탄 버스의 도착 예상시간을 알려줄 수 있어요. 그리고 도착 지점을 정하면 지금 내려서 지하철을 타는 것이 나을지, 아니면 버스를 계속 타는 것이 나을지를 딥러닝이 판단해서 알려줄 수 있죠.

이번에는 위기 상황에 대해서 알아보아요. 우리의 "릴랏 대중교통 앱"에는 이런 기능이 있어요. 만약 지하철 같은 경우에 정상적인 속도로 안 가고 서행할 때가 있잖아요. 그러면 바로 정거장에서 기다리고 있는 사람들에게 알려주는 거죠. 만약 사고가 나서 멈추면 어떻게 될까요? 바로 그 차량을 기다리고 있는 사람들에게 경고가 가요. 이게 "자동감지경고"구요.

수동으로 앱을 사용하는 사람들이 위젯을 이용해서 "사고" 버튼을 누른 다음 "화재, 고장, 테러" 등의 버튼을 눌러서 신고를 하는 기능도 있어요. 그러면 이게 진짜인지 중앙서버에서 주변에 있는 다른 사용자들에게 팝업을 띄워서 물어봐요. "지금 그 차량에서 무슨 사고가 났다고 신고가 들어왔는데 진짜 그런가요?"하구요. 그래서 많은 사람들이 그렇다고 하면 바로 자동으로 119 신고 들어가는 거죠. 이렇게 하면 지하철 공사나 버스회사에서 처리하는 것보다 속도가 빠를 거에요. 회사에서 승객들을 속이는 일을 예방할 수 있겠죠.

안전사고는 초기대처가 중요함

다시 정리를 해볼게요. 지금까지 지하철과 버스 관련 앱은 이런 것들이 있었어요.
  1. 노선표 알려주기
  2. 첫차막차, 배차 시간 알려주기
  3. 철도공사, 버스회사에서 제공받은 정보를 토대로 차량의 위치를 알려주기

그런데 "릴랏 대중교통 앱"은 무엇이 달랐나요?
  1. 사용자들이 서로 정보를 수집내서 차량의 탑승자 수를 알아낸다.
    1. 즉 혼잡도, 밀집도를 알아낸다.
  2. 정류장에서 대기하는 사람 수를 알아낸다.
  3. 이 정보를 실시간으로 알려 주어서 사용자들이 어느 차량에 탑승할지 참고하도록 한다.
  4. 그리고 이 정보를 장기간(6개월 이상) 모아서 예측 분석을 한다.
    1. 차량이 혼잡해질 시간, 한산해질 시간을 예측한다.
    2. 버스의 경우 차량의 속도를 감지해서 도착 예상 시간을 예측한다.
  5. 사고가 발생했을 때 대비하는 것을 도와준다.
    1. 자동감지 기능으로 차량의 상태에 대해서 정류장에 대기하는 사람들에게 실시간으로 알려 준다.
    2. 화재, 고장, 테러 신고를 받으면 사람들에게는 물론, 119 등에 신고해 준다.

자, 이렇게 지하철공사가 도와주면 좋지만 안 도와줘도 하는 방법은 있어요. 이것이 무에서 유를 만들어 내는 능력, 상상을 현실로 만드는 능력이에요. 즉, 창의력이에요. 저는 이예슬님에게 깨달음을 주려고 이 생각을 해보았어요. 안된다고 지레짐작으로 포기하지 마세요. 이렇게 할 수 있어요. 제가 그걸 보여 드리려고 이렇게 아이디어를 가다듬어서 새롭게 만들어 낸 거에요.


이 "릴랏 대중교통 앱"은 오픈소스 프로젝트가 될 거에요. 개발을 하면 무료 서비스가 될 것 같아요. 그러나 나중에 우리에게 어떤 방식으로든 이익이 생기면 이예슬님에게 이익 분배를 퍼센티지로 반드시 해드릴게요. 이 글을 증거로 약속할게요. 왜냐하면 최초 아이디어는 이예슬님이 생각하신 것이니까요. 이예슬님, 좋은 아이디어였구요. 계속 그런 식으로 다른 사람들의 필요와 불편을 헤아리는 생각을 해보세요. 하면 할수록 능력이 발달할 거에요. 제가 힘 닿는데까지 도와드릴게요.


릴랏 벤처스

릴랏 벤처스는 릴랏 사고방식(OSOS)으로 각종 사업 프로젝트를 하자는 것이에요. 이미 제가 벤처기업을 운영하고 있구요. 저는 제가 실천을 해서 증명하는 것처럼 릴랏 사고방식을 실천하면서 살고 있어요. "릴랏 코딩협업 서비스"가 바로 벤처 사업 서비스죠. 이제 다른 모든 아이디어를 릴랏 사고방식으로 진행해서 사업으로 만들어 보는 거에요. 제가 위에서 이예슬님의 아이디어를 개선해서 만든 "릴랏 대중교통 앱”으로 예를 들었어요. 바로 저렇게 하면 되는 거죠.  

뭐든지 아이디어를 말해 보세요.
제가 그 아이디어를 살려 드릴게요.
사람들에게 도움을 줄 아이디어, 사람들의 불편을 덜어 줄 아이디어를 생각해 보세요.


오픈소스 프로젝트이기 때문에 공개하면서 진행할 거에요. 저번에 말한 것처럼 이것은 님 아이디어 빼먹으려고 수작 부리는 거 아니에요. 님이 그걸 자기 스스로 해서 크게 성공할 수 있을 것 같으면 몰래 혼자 하세요. 그러면 전부 님 능력 문제에요.

오픈소스 싫어하면 하지 마세요.
오픈소스 개념을 이해 못하면 하지 마세요.
릴랏 사고방식을 이해하지 못하면 하지 마세요.
OSOS를 이해하지 못하면 하지 마세요.


오픈소스로 시작해도 나중에 돈을 버는 것을 할 수 있어요. 제가 어떻게 하는지 실제로 모범이 되어서 보여 드릴게요. 만약 그 사업이 성공하면 제가 이예슬님에게 약속한 것처럼 이윤 배분을 퍼센티지로 드릴게요. 그러나 결과적으로 얼마 주겠다고 약속은 해줄 수 없어요. 미래는 어떻게 될지 저도 모르니까요. 앱과 서비스를 실제로 만들어 내고 나면 이윤 배분 계약서를 작성할 거에요.

그러나 영원히 변하지 않는 것은 님들의 아이디어가 많은 사람들과 교류하고 서로 도우는 과정에서 실현되었다는 사실이에요. 이것은 객관적인 사실로 남을 거에요. 저는 릴랏 활동을 하는 님들에게 그 경험을 시켜 주려고 이걸 하는 거에요. 사람들이 님들을 기억해 줄 거에요. 제가 릴랏 강의 글에 언급해서 기록하고, 나아가서 위키백과에 기록을 해줄게요.


이 경험을 구경하면서 그냥 재미있었던 추억으로 남길지, 자신의 경력으로 삼고 명성으로 삼아서 장래 커리어의 디딤돌로 삼을지는 오로지 님들 자신에게 달려 있어요. 저는 이걸 제가 몸소 실천해서 님들에게 깨달음을 주려고 이렇게 글을 쓰고 행동으로 실천해서 보여주는 거에요. "안돼, 우리나라에서는 할 수 없어."하는 생각을 바꾸어 주려구요.


한국의 파브르를 지켜주고 키워주자

위에 스페인어 번역을 도와주신 파브르의곤충기 김승현님이 있었어요. 김승현님은 파브르의 곤충기를 감명 깊게 읽고 그 후로 자기가 사용하는 모든 아이디를 파브르의곤충기로 정했다고 하네요. 저도 어릴 때 파브르의 곤충기를 즐겁게 읽었어요.


파브르는 진짜 곤충이 좋아서 평생 곤충을 연구하면서 산 사람이이에요. 그는 곤충으로 돈을 벌려고 연구한 것이 아니었어요. 그냥 곤충이 좋아서 관찰하고 기록한 것이었죠. 그리고 그렇게 기록한 것이 알게 모르게 여러 방향으로 인류의 과학에 도움을 주었어요. 인류의 역사에 큰 영향을 준 대부분의 발견과 발명은 대부분 연구한 사람이 그냥 좋아서 열심히 몰두해서 연구를 하다가 알아낸 것이에요. 그거 해서 돈 벌려고 한 게 아니었어요.

제가 한국에서 들은 말 중에 이런 것이 있어요. "사원이 회사에서 월급을 받아 먹고 살려면 회사에 자기가 받는 월급의 3배에 해당하는 이득을 가져다 주어야 한다."는 주장이었어요. 그 주장에 대해서 저는 이렇게 대답하고 싶어요. "네가 주는 그 돈 안 받아도 나 먹고 살 수 있다. 너나 그렇게 살아라."


이런 사회에서는 파브르 곤충기가 나올 수 없어요. 돈이 안된다고 눈치를 주고 못하게 하기 때문이에요. 한국의 파브르는 노량진에서 인생을 탕진하고 있어요. 하고 싶은 것 못하고 평생 찌들어 살고 있어요. 오, 이게 뭐하는 짓인가요. 이게 사람으로 태어나서 할 짓인가요. 불쌍해요.

저는 한국의 파브르들에게 이렇게 말해주고 싶어요. "돈 못 벌어도 되요. 하고 싶은 것을 평생 하면서 살아 가세요." 저는 앞으로 릴랏 활동을 열심히 하기만 하면 그 사람이 수익을 내지 않아도, 경제적인 성과를 내지 않아도 기본적인 의식주를 지원해주고 연구활동과 창작활동에 들어가는 경비를 지원해주는 시스템을 만들 거에요. 이것은 "릴랏 캠퍼스" 아이디어에요.

저는 제 아내와 결혼을 할 때 약속을 했어요. 우리 가족이 평생 먹고 살 정도의 돈을 모으고 나면 그 이후부터 모은 돈을 전부 제가 구상한 공익사업에 쓸 거라구요. 우리는 결혼식도 우리집 뒷마당에서 했어요. 다행히 제 아내는 이런 제 의견을 지지해 주었어요. 저는 전세계에 릴랏 캠퍼스를 만들 거에요. 릴랏이라는 이름을 만들기 전에도 저는 이 아이디어를 가지고 있었어요. 단지 이름만 "연역론 캠퍼스, 이기준 캠퍼스" 등으로 달랐을 뿐이에요. 이름은 중요하지 않아요. 내용이 중요해요.


이 캠퍼스에서는 누구나 그냥 평생 먹고 살게 해줄거에요. 여기에 들어가는 조건은 이래요.
  1. 자기가 좋아하는 분야의 일이 있어야 하고 그것을 사심없이 열심히 해야 한다.
  2. 그리고 거기서 알아낸 것을 오픈소스 방식으로 다른 사람에게 공개해야 한다. 다른 사람들에게 수정과 참여의 기회를 열어 주어야 한다.
  3. 자기가 연구하는 과정도 공개해서 다른 사람에게 가르쳐 주어야 한다.
  4. 즉, 릴랏 사고방식을 실천해야 한다.

저는 돈을 벌면 전세계에 이 릴랏 캠퍼스를 짓기 시작할 거에요. 저의 꿈을 여기에 이렇게 기록으로 남겨 두어요.


자본주의에서 살아남자

저는 자본주의를 맹목적으로 옳다고 생각하거나 맹목적으로 잘못되었다고 생각하지 않아요. 자본주의를 있는 그대로 이해해 보아요. 상대적으로 비교를 하면 아무리 자본주의에 문제가 많이 있고 나쁘다고 해도 자본주의가 독재 공산주의보다는 나아요. 노골적인 계급주의 사회보다는 나아요.  


예를 들어서 13억 인구 중국은 10만 명 정도 되는 공산당 상위 지도자 그룹이 지배하는 사회에요. 이들의 인맥 속에서 부자가 탄생하고 권력이 계승되요. 이걸 중국 사람들은 꽌시라고 하죠. 북한을 볼까요? 2천만 인구 북한은 중국보다 훨씬 더 적은 지배집단인 김정은과 김정은의 측근, 군부가 지배하는 사회에요. 지배집단이 다 합쳐서 2천 명이 안된다고 알려져 있어요. 0.01퍼센트 정도 되네요.  

한국은 어떨까요? 5천만 인구 중에 상위 공무원, 대기업 오너와 대기업 상위 종업원, 고소득 직종 등 총 1백만 명 정도가 주도하는 사회에요. 여기서는 "지배"라고 안 하고 "주도"라고 해요. 직접 대놓고 사람을 좌지우지하지는 못하기 때문이에요. 이게 비교적 자유가 보장되는 민주주의에요.


미국은 어떤가요? 상위 1~2%가 주도하는 사회에요. 미국 인구가 3억 5천만 명 정도 되요. 2%면 7백만명 정도 되네요.


이제 정리를 해봐요.
  1. 북한: 2천 명, 인구의 0.01%가 지배하는 사회
  2. 중국: 10만 명, 인구의 0.01%가 지배하는 사회
  3. 한국: 100만 명, 인구의 2% 정도가 주도하는 사회
  4. 미국: 7백만 명, 인구의 2% 정도가 주도하는 사회

그래서 이 세상 모든 정치체제에 실수가 있고, 잘못이 있고, 더러운 부분이 있다 하더라도 상대적으로 민주주의가 더 낫고, 상대적으로 자본주의가 더 나아요. 이것이 현실이에요. 상대적으로 비교하면 아무리 미국에 잘못된 점이 많이 있다고 하더라도 중국보다 미국 시스템이 더 나은거죠. 물론 미국보다 상대적으로 더 나은 사회 시스템도 있어요. 이제부터는 다차원 비교가 되요.

한국 정부의 분야별 복지 서비스 순위

예를 들어 북유럽 사회복지국가는 사회복지 서비스가 한국과 미국보다 훨씬 더 나아요. 그러나 사업을 한다고 했을 때는 미국에서 사업을 하면 더 크게 키울 기회가 있어요. 그래서 북유럽의 많은 창업가들이 자기 나라에서 사업을 시작해서 어느 정도 궤도에 오르면 미국으로 가서 글로벌 기업으로 키워요. 국민으로 살면서 창업 초기에 복지 혜택은 북유럽에서 받고, 사업 성장 기회는 미국에서 얻는 것이에요. 이것을 얄밉다고 생각하지 마세요. 이게 똑똑한 행동이에요. 님들도 쇼핑할 때 그렇게 하잖아요. 인터넷으로 사면 좋은 물건은 인터넷으로 사고, 마트가서 사는게 좋은 물건은 마트가서 사잖아요. 그거랑 개념이 같은 거에요. 국가와 정부가 국민을 노예처럼 쥐고 흔드는 게 아니라 국민이 필요에 따라서 국가와 정부를 선택하는 거에요. 이게 민주주의에요.


회사가 글로벌 기업이 되고 나면 중국에 진출하려고 애를 써요. 중국이 시장이라는 측면에서는 제일 크기 때문이에요. 이렇게 입장에 따라서 상대적인 비교의 평가가 달라져요. 그래서 다차원 비교 평가가 되요.

  1. 개인의 입장
    1. 복지 서비스가 좋은 사회가 살기 편하다.
    2. 갑질이 적은 사회가 살기 편하다.
  2. 궤도에 오른 사업가의 입장
    1. 글로벌 사업으로 키우고 싶다.
    2. 미국과 유럽이 좋다.
  3. 글로벌 기업의 입장
    1. 더 큰 시장을 장악하고 싶다.
    2. 중국이 좋다.
    3. 신흥 개발도상국 시장도 개척하고 싶다.  

자, 여기서 무엇을 알 수 있나요? 우리도 그렇게 각자 자신의 입장을 헤아려서 최선을 다해서 살아야 한다는 거에요. 우리도 각 사회를 상대적으로 이해하고 우리 입장에서 좋은 점과 나쁜 점을 평가해서 각자의 입장에서 좋은 부분을 선택하고 사용하면서 살아야 한다는 거죠. 우리도 똑똑하게 살아가요.

저는 미국에서 도심에서 떨어진 전원주택 지역에서 살아요. 제 직장이 거기에 있거나 제가 거기 출신이라서가 아니라 그렇게 사는 것을 좋아해서 그러는 거에요. 처가에서도 가깝구요.  

텍사스 우리집과 거의 비슷하게 생겼음

각종 복지 서비스는 사람들이 버티면서 사는 것에 도움을 주어요. 그러나 어떤 복지 서비스는 강제성을 띄어서 사람을 불편하게 하기도 해요. 예를 들어 저는 북유럽식 교육 복지 서비스는 필요 없어요. 저는 애들 방과후에 제 방식으로 가르쳐요. 토론하고, 같이 활동을 해보아요. 저는 북유럽 사회를 잠깐 들러서 관찰하고 경험하는 것은 좋은데 거기 살면서 인생 대부분의 시간을 보내고 싶지는 않아요. 저는 누가 저에게 간섭하는 것을 안 좋아 해요. 그래서 이렇게 제 입장에서 비교를 해보면 미국이 더 나아요. 미국이 개인의 자유를 더 강조하거든요. 북유럽은 혜택도 있고 통제도 있구요.


한국에는 의료 서비스의 가성비가 좋아요. 그래서 저는 한국에 올 때 건강검진을 해요. 의료 사보험도 미국 보험은 주로 응급 서비스만 커버하게 하고 한국 보험 위주로 들었어요. 수술할 일 생기면 응급을 제외하고는 한국 와서 하는 거죠. 한국 교민들은 대부분 그렇게 해요. 참고로 이렇게 하는 것은 완전히 합법이에요.


저는 사업을 미국에서 하는 것이 좋아요. 저는 미국에서 텍사스 휴스턴 근처에 살지만 일 때문에 미팅 생기면 오스틴 벤처타운이나 실리콘밸리에 방문해요. 비행기 타면 서너 시간 내로 금방이에요. 그리고 저도 제 사업이 커져서 글로벌 기업이 되면 중국 시장에 진출할 거에요. 우리는 중국을 얕잡아보지 않아요. 예를들어 우리는 중국어를 공부해요. 이기환님은 상당히 잘하는 편이죠. 그리고 저는 지난 글에서 밝힌 것처럼 나중에 저소득 국가에서 무료 교육지원 사업을 할 거에요. 이렇게 사업의 진행 상황에 따라서 입장이 달라져요.

  1. 거주는 주로 미국 텍사스에서
  2. 의료 서비스는 가성비 좋은 한국에서
  3. 사업은 주로 실리콘밸리와 벤처타운에서
  4. 글로벌 시장 확장은 중국에서
  5. 자선활동은 저소득 국가에서


정리를 해보아요. 우리는 어떻게 살아야 할까요? 우리는 자기 스스로 인생의 주인이 되어서 더 나은 선택을 하면서 살아야 해요. 시나리오 정보처리를 하고, 평가를 하고, 선택을 조립해서 더 나은 삶을 만들어야 해요. 그러려면 먼저 자기 스스로 버티는 능력을 길러야 해요. 이것이 처음에 해야 할 가장 중요한 일이에요. 버티는 능력에 대해서는 제가 쓴 다른 글 성공적인 소프트웨어 벤처기업을 만드는 방법을 참고하세요. 아래는 조대연님이 주신 댓글과 저의 답변이에요.


자기 스스로 버티는 능력을 개발하지 못하면 상대적으로 "자본주의의 노예"가 되요. 이게 자본주의의 핵심이에요. 상대적인 구속을 받는다는 말이죠. 예전 계급주의 사회에서는 신분이라는 것이 날 때부터 정해져 있어서 낮은 신분으로 태어나면 그것을 벗어나는 것이 정말 힘들었는데 자본주의에서는 그런 절대적인 구속이 없어요. 그런데 사람들이 지금 어떻게 살고 있나요? 또다른 형태의 노예가 되어서 살고 있어요. 왜 그럴까요? 이 상대적인 구속의 사슬을 벗어나지 못하기 때문이죠.

상대적인 자본주의의 노예, 상대적인 구속이 뭔지 한 번 볼까요? 님이 다니던 회사를 그만둔다고 상상을 해보세요. 그때 주택 임차료, 차량 할부금, 생활비, 애들 교육비, 의료비 등이 걱정되어서 눈 앞이 캄캄해지면 그게 바로 님이 상대적으로 딱 그만큼 자본주의의 노예라는 뜻이에요. 상대적인 구속을 받고 있다는 말이죠. 정신이 확 드세요? 자신의 노예 신세를 자각하세요.


함부러 빚을 지지 마세요. 내가 버티는 능력이 있어야 내 인생의 주인이 될 수 있어요. 월급 잘 나온다고 지르면서 살지 마세요. 이번 분기에 보너스 나오면 어디다 쓸까? 이런 생각 하지 마세요. 차곡차곡 모아서 버티는 능력을 키우세요. 지금은 당장 눈에 안 보여서 이해가 안되겠지만 지르면서 사는 것은 노예 신세를 향해 미래로 달려가는 급행열차에요.


버티는 능력을 기르면 민주주의 사회에서는 아무도 우리를 못 건드려요. 중국이나 북한에서는 숨만 잘못 쉬어도 처벌받고 말만 잘못해도 잡아가지만 한국은 그보다는 훨씬 더 나은 민주주의 사회에요. 대신 민주주의 자본주의 사회에서는 돈을 쓰도록 은근하게 바람을 잡는 광고를 조심해야 되요. 주변 사람들의 부추김을 조심해야 되요. 광고에서 아무리 얄랑거리면서 이거 사라, 저거 사라 부추겨도 내가 안 사면 그만이에요. 돈 안 쓴다고 해서 잡아가는 일은 없어요. 대신 자본주의 사회에서는 돈을 안 쓰면 촌스러운 것 같고, 초라한 것 같고, 뒤처지는 것 같은 느낌을 사람들에게 주면서 돈을 쓰도록 부추겨요. 막 대세가 이것인 것 같고 이것만 구입하면 뭔가 이루어질 것 같은 그런 부추김에서 내가 자유로워져야 해요. 강한 멘탈이 필요해요.


버티는 능력은 절대적으로 많은 돈을 버는 것이 아니에요. 버티는 능력은 상대적이에요. "나의 저축능력 / 나의 씀씀이"로 나타나는 습관과 행동양식이 바로 버티는 능력이에요.

  1. 버는 돈의 절반인 50%를 생활비로 쓰고 남은 50%를 저축했다.
    1. 그러면 이 사람이 5년 동안 일하면 그 이후로 5년 동안 아무런 일을 안 해도 버틸 수 있다.
    2. 이 계산은 이해를 돕기 위해서 일부러 간단하게 만든 것이다.
      1. 물가 상승률과 저축한 돈에서 발생하는 이자소득은 각자 알아서 계산하자.
  2. 이제 "쓰는 돈"의 비율을 줄이고 "저축하는 돈"의 비율을 늘려 보자.
    1. 그러면 내가 버틸 수 있는 시간이 늘어난다.
    2. 이것이 바로 버티는 능력이 커지는 것이다.

참고로 저는 TV를 끊고 안 본지 이제 20년째에요. 덕분에 그 시간 동안 책 읽고 글 쓰고 하면서 내면 사고방식을 개발하고 능력을 개발할 수 있었어요. 저는 페이스북을 쓰면서도 광고차단 프로그램을 이용해서 쓸모없는 정보를 거르면서 사용해요.  


저는 위의 두 개를 병행해서 사용해요. 크롬 웹스토어에서 ad blocker로 검색하면 관련 프로그램이 여러 개 나오니까 테스트를 해보고 자기 컴퓨터에서 잘 동작하는 것을 선택하세요.

저는 제가 정한 규칙에 맞지 않는 정보는 아예 열어서 읽어 보지도 않아요. 이렇게 판단하고 실천하는 것이 사람들에게 굉장히 어려운 능력이에요. 자기 욕구와 감정을 관찰해서 이해하고 컨트롤해야 하기 때문이죠. 그리고 이 능력이 "노 땡큐" 하는 능력에 영향을 주어요. 또한 대범하게 하고 싶은 일을 쭉쭉 해나가는데 영향을 주어요.

버티는 능력을 개발하세요. 그런 다음에는 내면관찰을 하고 능력을 개발하면서 앞으로 님들이 살고 싶은 인생을 계획하고 실천하세요. 그러고 나면 인생을 장기적으로 내가 원하는 일을 하면서 살아갈 수 있어요. 내가 내 인생의 주인이 되어서 살아갈 수 있어요.  

그리고 추가 당부 한 가지 드릴게요. 조금이라도 더 나은 미래를 만들려면 상대적인 비교를 해서 투표를 하세요. "그놈이 다 그놈이다."라는 말에 속지 마세요. 그거 사람들이 포기하게 만들려고 부패 언론과 정치권에서 속임수 치는 거에요. 아까 제가 말한 것처럼 상대적으로 다차원 비교를 하면 내 입장에서 조금이라도 더 나은 사람을 뽑을 수 있어요. 똑같이 실수를 하더라도 더 심한 쪽이 있고 덜한 쪽이 있어요. 조금이라도 나은 사람, 조금이라도 덜 나쁜 사람을 뽑으려고 노력하세요. 설령 그 사람이 당선되지 않더라도 그 투표가 기록으로 남아서 미래에 영향을 주어요.


그리고 부당한 갑질에 대고 "노 땡큐" 할 줄 알아야 해요. 이 세상에 더러운 짓을 하는 사람들은 대놓고 노 땡큐 안 하면 뉘우치지 않고 은근하게 자꾸 그 짓을 반복해서 하려고 해요. 그래서 우리는 강한 내면을 만들고 노 땡큐 하는 것을 훈련해야 해요. 잘못하는 걸 잘못한다고 말하지 않으면 대개 안 고쳐요. 계속 그래도 되는 줄 알아요.


한국사회가 다른 나라들보다 상대적으로 발전했던 이유는 정부 수립 이후 수십 년 동안 용기를 가지고 노 땡큐 한 사람들이 많이 있었기 때문이에요. 역사에서 우리를 대신해서 노 땡큐를 외쳐 준 그 사람들에게 감사하고, 우리 스스로 버티는 능력을 갖추어서 자유로워진 다음 우리도 잘못에 대해서 노 땡큐 하고 말하면서 살아가요. 그렇게 해서 우리 아이들, 우리 후손에게는 더 나은 기회를 가질 수 있게 해주어요.


전세계로 눈을 열어라

트럼프 당선되고 나서 미국 비자가 어려워 졌죠? 그러면 유럽이 있어요. 캐나다가 있어요. 호주가 있어요. 발상을 한 번 바꾸어서 생각을 해보세요. 한국보다 잘사는 나라가 아니라 못사는 나라에도 기회가 있을 수 있어요. 시나리오 정보처리를 해보세요. 제가 이예슬님의 아이디어를 드라마틱하게 바꾸어서 "릴랏 대중교통 앱"으로 재창조해낸 것처럼 저는 항상 그렇게 해요. 아래는 조대연님이 완전쉬운 딥러닝 2에 써주신 댓글이에요.


트럼프 임기는 겨우 4년이에요. 물론 연임해서 8년 할 수도 있죠. 그러나 이 세상에 그 어떤 대통령도 임기 내내 한 가지 정책을 끝까지 고수한 적이 없어요. 모든 정부가 평균적으로 2년만 지나면 정책에 통계적으로 역효과가 나서 구멍이 생겨요. 구멍이 생긴다는 말은 쉽게 말해서 정책에 예외가 생기고 변화가 생겨요. 그 예외와 변화를 어떻게 이용할지 미리 준비하세요. 그러면 모두가 어렵다고 말할 때 님들만 기회를 가질 수 있어요. 항상 세상 일을 이렇게 보고 마음에 여유를 가져요.

기다리면서 능력을 쌓고 돈을 모으세요. 내가 능력 쌓고 내가 돈을 모았는데 누가 그걸 훔쳐내서 가져갈 수 없어요. 위험한 상황은 제한된 기회에 너무 심한 기대심과 의존심을 가지고 올인하는 경우에요. 그러면 예상과는 다른 결과가 나왔을 때 큰 타격을 입게 되요. 그러다가 사기당하는 거죠. 심리적으로 불안하고 힘드니까요. 브로커에게 의존하려고 하지 마세요. 사설 이민 서비스에 의존하려고 하지 마세요. 그 사람들 다 님이 가진 돈 따먹으려고 하는 거에요.

이게 다 트럼프 때문이라구!

가장 최악의 행동, 가장 멍청한 행동은 무엇일까요? 그것은 바로 "트럼프 때문에 망했어."라고 하면서 돈도 안 모으고 능력도 쌓지 않고 그냥 시간만 흘려 보내는 거에요. 트럼프 핑게 대면서 소중한 자기 인생을 팽개치는 거죠.

저는 앞으로 유럽, 중국, 중남미, 동남아, 아프리카를 돌아다닐 거에요. 말 그대로 전세계를 돌아다닐 거에요. 우리 가족은 이미 미국 국적과 거주비자가 있지만 전세계 각 나라들의 장기 거주 비자를 확보하려고 계획을 해요. 님들도 차근차근 준비하세요. 내가 버티는 능력이 있으면 세계 어디를 가도 무서울 것이 없어요.


질문을 하는 것이 모든 것의 시작이다

눈을 열려면, 마음을 열려면, 사고방식을 열려면 질문을 해야 해요. 질문을 안 하면 망하는 거에요. 제가 이렇게 릴랏 프로젝트를 열어서 원맨쇼 하는 이유가 뭔지 아세요? 님들에게 질문하는 습관을 가르쳐 주려고 하는 거에요.

우리나라에서도 똑똑한 사람들만 골라서 뽑은 기자들이 질문 하나를 제대로 못해요.

질문하면 나댄다고 괴롭혀요.

  1. 정승호님 정리도 잘하고 질문도 잘하셨어요.
  2. 조대연님 요즘에 질문 잘하고 계세요.
  3. 정원석님도 틈틈이 꾸준이 잘하고 계세요.
  4. 이예슬님도 잘하고 계세요.
    1. 그리고 이예슬님 아이디어는 이번에 대박쳤죠? 앞으로 계속 이렇게 해보는 거에요.  
  5. 얼마전에 연락 시작한 Do Park님도 잘하고 계세요.

제가 이런 분들은 칭찬해 드릴게요. 그외에도 간간히 질문 주시는 사람들이 많이 있어요. 질문을 하면 저와 토론을 할 수 있고, 제가 쓰는 글에 인용해 드려요. 그것이 릴랏 프로젝트에 참여하는 방법이에요. 코딩을 잘해야만 참여할 수 있는 것이 아니에요. 질문을 적극적으로 자주 해야 되요. 자기 혼자 있을 때부터 질문으로 일기를 쓰면서 연습해야 되요. 코딩을 잘하려고 해도 먼저 질문을 잘해야 해요. 저를 보세요. 저의 창의적인 아이디어는 전부 멈추지 않는 질문과 그 질문에 제가 스스로 대답하면서 나온 거에요. 제가 한국에서 학교를 여러 번 중퇴한 가장 큰 이유는 괴롭힘 받는 것이 힘들어서가 아니라 저의 이 소중한 사고방식을 방해받지 않고 계속 키우려고 했기 때문이에요.


우리가 전수해 줄 수 있는 것

우리가 살면서 자녀에게 전수해줄 수 있는 것은 무엇일까요? 우리가 살면서 다른 사람에게 가르치고 전수해 줄 수 있는 것은 무엇일까요? 제가 제 이야기로 예시를 들어서 가르쳐 드릴게요. 제가 자녀교육을 어떻게 시키는지 예를 들어서 보여 드릴게요.

저는 우리 아이들 왕따예방교육을 이렇게 시켜요. 미국은 왕따 없을까요? 미국도 있어요. 미국은 평화로운 곳이라고 착각하면 안되죠. 이 세상이 정도의 차이는 있지만 다 사람 사는 곳이에요. 오히려 미국은 한국보다 범죄의 스케일이 커요. 총기도 돌아다니고 마약도 돌아다니는 곳이죠. 그런 미국에서 제가 자녀교육을 어떻게 하고 있을까요? 저는 아이들에게 이렇게 가르쳐요.

우리집 첫째와 둘째

"사람은 각자 입장이 다르단다. 그래서 같은 경험을 하고도 기억이 다를 수 있어. 그래서 문제를 해결하려면 사건의 초기부터 기록을 해야 해."
"아버지가 주는 이 녹음기를 주머니에 항상 넣고 있다가 상황이 안 좋게 돌아가면 기록을 하면서 당당하게 맞서라. 녹음기 뿐만 아니라 미니 캠을 꺼내서 들고 찍어라. 만약 공격을 받으면 이제 그 공격을 받은 사실이 고스란히 기록으로 남게 될꺼야. 이제 그 뒤부터는 아버지가 변호사와 함께 너를 도와줄게. 너를 괴롭힌 사람에게 벌을 주고 학교에서 추방할거야. 그리고 나쁜 행동을 한 것을 기록으로 남겨서 살아가는 동안 각종 불이익을 줄 거야."


"누가 널 괴롭히려고 하면 처음부터 그 사실을 고지해서 일깨워 주어라. 걔가 하려고 하는 행동이 대학갈 때, 취업할 때, 나중에 결혼할 때까지 영향을 줄 거라고 얘기해줘. 그러면 대부분의 현명한 사람들은 깨우치고 그만둔다. 그 말을 듣고도 덤벼드는 사람에게는 동정심을 가질 필요없어. 최선을 다해서 철저하게 맞서고 댓가를 치르게 해주면 돼."

"그리고 다시 기본원리로 돌아가자. 사람은 각자 입장이 다르단다. 그러니 다른 사람이 무슨 말을 하던지 그게 네 자유, 다른 사람의 자유를 침해하고 괴롭힘을 주는 것이 아니면 그냥 내버려 둬라."

이렇게 하면 어떻게 될까요? 평생 왕따같은건 없는 거죠. 왕따 비슷한 분위기가 일어나다가도 우리 애들이 "그러지 마, 그렇게 괴롭히는 것은 나쁜 행동이야." 이러면 상황이 다 정리되요. 우리 아이들이 학교에서 갈등을 예방하는 역할을 해요. 다른 아이들이 깨우치고 조심해 주어요. 배짱으로 선을 넘는 애들이 나오면 우리 애들은 조용히 증거 수집에 들어가요. 주머니 속에서 녹음기를 켜고 미니캠을 꺼내요. 그리고 얘기를 해요. "내가 네 행동을 기록하면서 지켜보고 있어. 어디 네가 방금까지 하던 짓을 계속 해봐." 그러면 거의 99%는 자기 잘못을 깨우치고 그만 두어요. 이제 그 선까지 넘는 애는 자기 인생이 망가지게 되는 거죠.


학생들 뿐만 아니라 선생들까지 다들 알아서 조심해 주어요. 우리 아이들과 부모인 저와 제 아내가 얼마나 악착같은지 알기 때문이에요. 왕따, 괴롭힘, 차별 엄두도 못내요. 다들 알아서 선을 지켜요. 범죄와 갈등이 초기 단계에서 예방되요. 자, 이제 다시 질문을 해보아요.

제가 우리 아이들에게 물려줄 수 있는 것은 무엇일까요?
돈일까요? 명예일까요? 사고방식일까요?
정답이 있네요. 제가 우리 아이들에게 가르치고 전수해 줄 수 있는 것은 오로지 사고방식 뿐이에요.

또 질문을 해봐요. 제가 릴랏 활동하는 여러분들에게 가르치고 전수해 줄 수 있는 것은 무엇일까요?
제가 님들에게 줄 수 있는 것도 사고방식 뿐이에요. 저는 제 자녀들에게 가르치는 방식으로 님들을 가르치고 있어요.
아래는 이예슬님과 대화를 하다가 나온 저의 코멘트에요.

저에게 우려하는 의견, 좋게좋게 하자는 의견, 티격태격 하지 말고 기술 얘기, 코딩 얘기만 하면 안되겠냐는 의견을 주신 분들이 있었어요. 다른 사람들과 티격태격 싸우고 굳이 고소를 할 필요가 있느냐 하면서 서운해 하는 사람들도 있었구요. 그 사람들이 틀린 것은 아니에요. 그렇게 생각하는 사람들은 그렇게 살면 되죠. 제가 알 바는 아니거든요.

그러나 제가 이거 하나는 확실하게 말할 수 있어요. 저보고 우려가 된다면서 좀 바꾸면 안되냐고, 참고 살면 안되겠냐고 하는 사람들은 나중에 인생 살면서 갑질 같이 힘든 일을 당했을 때 찍소리 못하고 참으면서 살 확률이 높다는 것이에요. 그리고 또 한가지, 그 사람들은 그들의 자녀들이 괴롭힘 받고, 갑질에 시달리고, 부당한 대우를 받았을 때도 조용히 참으면서 살라고 할 확률이 높아요. 그게 그 사람들 인생의 확률적인 모양이에요. 사람은 자기 사고방식을 실천하면서 살거든요.  


저보고 바꾸어 달라는 말에 대해서 제가 하는 대답은 노 땡큐에요. 싫으면 제 글 보지 말고 나가시면 되요. 이건 강압적인 의견이 아니라 정중한 부탁이이구요. 제 권리에요. 여기서 다른 사람의 권리 침해하는 거 없어요. 제 인생은 제 인생이고, 다른 사람 인생은 다른 사람 인생이에요.

사람은 자기 사고방식을 실천하면서 살아가요. 그리고 자기 사고방식과 다른 것을 보면 스트레스를 받아요. 다른 사람이 자신의 자유를 침해하는데도 가만히 참으면서 조용히 넘어가는 사람은 평생 그 행동을 반복하면서 살아갈 확률이 높아요. 그것이 사람이 가진 사고방식이 그 사람의 인생을 쥐고 흔드는 매커니즘이에요. 그런데 저는 달라요. 다른 사람이 어떻게 살던지 그건 그 사람의 인생이지만 저는 달라요. 저는 그렇게 안 살아요. 저보고 고치라고 하지 마세요.

스스로 질문하는 사람만이 릴랏 프로젝트를 즐겁게 할 수 있어요.
저는 스스로 질문하는 습관을 님들에게 전수해 주는 것이에요. 글을 쓰고 실천을 하고 모범을 보여 주면서요.

오픈소스 사고방식이 무엇인지 이해하는 사람만이 릴랏 프로젝트를 즐겁게 할 수 있어요.
저는 오픈소스 사고방식을 님들에게 전수해 주는 것이에요. 글을 쓰고 실천을 하고 모범을 보여 주면서요.

다양성을 인정하고 개인의 자유를 이해하는 사람만이 릴랏 프로젝트를 즐겁게 할 수 있어요.
저는 다양성과 개인의 자유 사고방식을 님들에게 전수해 주는 것이에요. 글을 쓰고 실천을 하고 모범을 보여 주면서요.

위의 사고방식을 이용해서 프로젝트를 진행하면서 발생하는 다양한 갈등과 문제를 합리적으로 핸들링할 수 있는 사람만이 릴랏 프로젝트를 즐겁게 할 수 있어요. 저는 다양하게 발생하는 갈등과 문제를 합리적으로 해결하는 사고방식을 가르쳐요. 스스로 어떻게 권리를 지켜 나가는지를 보여 주어요. 저는 "조용히 참고 가만히 있으라."는 사고방식을 가르치지 않아요. 저는 글을 쓰고 실천을 해서 모범을 보여 주어요.


"좋게 좋게 하자, 참아라." 이렇게 말하는 사람은 위에 제가 가르치는 사고방식을 절대 못 배워요. 그러니까 그냥 하지 마세요. 하지 말고 자기 인생 사세요. 좋게 좋게 참으면서 살아가세요. 그게 님 인생이에요. 그렇게 자기 사고방식에 맞게 살아가세요.

저는 3개월 마다 한 번씩 정기적으로 그동안 저에게 욕설, 모욕, 명예훼손 댓글 단 사람들과 그외 시비걸고 집적거린 사람들을 모아서 고소해요. 1년에 두세 번씩 미국 한국 왔다 갔다 하면서 정기적으로 하는 거에요. 앞으로 제가 글을 쓸 때 마다 일어나는 각종 분쟁과 갈등을 처리하는 것을 기록으로 계속 남길 거에요. 그거 보고 기분 상하면 제 글을 보지 마셔야 해요. 스트레스 받으면서 제 글을 억지로 보지 말고 자유롭게 살아가세요.

저는 제 자녀들이 나중에 이 기록을 읽고 "아, 아버지가 한 것처럼 우리도 할 수 있구나. 누가 우리를 부당하게 입막으려고 하면 그것을 기록하고 합법적인 방법으로 대처해서 내 자유를 지킬 수 있구나.", "누가 뭐라고 하던지 나는 내가 하고 싶은 일을 자유롭게 하면서 살 수 있구나."하는 것을 깨달으라고 기록을 써요. 저는 똑같은 이유로 님들도 그것을 깨달으라고 글을 써요.


저에게 고소 먹은 사람 중에 하나가 댓글로 "이기준님 그렇게 오만하게 글 쓰다가 나중에 이불킥하면서 후회할 날이 올겁니다."하더군요. 아니요. 저 이불킥 안 해요. 저 이런 기록 평생 남기려고 쓰는 거에요. 이불킥은 고소 먹고 유죄 판결 받아서 등본에 빨간줄 그일 그 사람이나 하는 거죠. 형사사건 가해자가 피해자에게 이불킥하고 후회할 거라고 경고하는 것을 보니 좀 우습더라구요.


제가 쓴 글을 읽고 감동을 받아서 힘이 난다는 메세지와 이메일을 준 사람들이 20명 정도 되요. 일주일에 한두 명씩 그런 메세지를 하는 사람이 늘어났어요. 제가 그 사람들에게 보라고 릴랏 강의를 하는 거에요. 그외에 사람들이 어떻게 생각하던지 저는 관심 없어요. 제 인생 아니니까요.

저 이거 하면서 돈 안 받죠? 무료잖아요. 제가 돈 벌려고 이거 쓰면 아마 사탕발림과 그럴듯한 긍정적인 문구로 글을 포장해서 썼을 거에요. 광고를 하고 마케팅을 했겠죠. 사람들이 그런 사탕발림에 너무 길들여져서 그게 이 세상의 본모습이라고 착각해요. 그런데 아니거든요. 그거 님들 돈 빼먹으려고 수작 부리는 거거든요. 공사친다고 하죠.

저는 제가 가르쳐 주고 싶은 20여 명의 사람들에게 보라고 글을 쓰는 거에요. 제 자녀들에게 가르치는 이걸 그 사람들에게도 가르쳐 주려고 하는 거에요. 릴랏 한국 모임에 800명이 넘게 가입하고 릴랏 블로그 접속하는 페이지뷰는 전세계 합계 내서 한 달에 5만 뷰 정도 되요. 전세계 12개국에서 사람들이 접속해서 보구요. 그런데 저는 딱 20여 명 보라고, 그 사람들에게 제가 가르쳐 주고 싶은 것을 정리해서 글을 쓰는 거에요. 제가 오늘 쓴 글에는 정승호님, 조대연님, 이예슬님, 파브르의곤충기님, Do Park님 등에게 전하는 말들이 곳곳에 들어 있어요. 그리고 비슷한 처지에 있었던 사람들, 비슷한 의문을 가지고 있었던 사람들, 비슷한 고난을 겪었던 사람들이 그것을 보고 도움을 얻는 거에요.


이 글을 읽는 님들이 여기에 속할지 말지는 님들 자신의 선택이에요.
스스로 질문하고, 자신의 고정관념과 존재규정에서 벗어나고, 능력을 쌓고 자유로워지려고 하는 사람은 여기에 합류할 수 있어요. 저는 강요 안 해요. 동의하지 않는 사람은 떠나세요. 함께하는 문과 나가는 문은 둘 다 항상 열려 있어요. 기본적인 개념에 동의하지 않으면서 은근하게 걱정하는 척 하면서 저에게 이래라저래라 강요 하지는 마세요. 저에게 "노 땡큐" 듣고 거절당했다고 서운해 하지 마세요. 애초에 남의 영역에 간섭을 시작한 것이 문제였어요.

저는 존댓말하면서 사기치는 사람들을 잘 알아봐요. 제가 교도소에서 범죄자들의 탄원서 등 법률서류 작성을 도와주는 봉사활동을 했거든요. 제가 담당한 교도소 구역이 사기범죄자 구역이었어요. 그래서 저는 수백 명의 사기꾼들을 면담하면서 그들의 스토리를 듣고 법률서류 쓰는 것을 도와주었어요. 제가 그들 편에서 그들에게 도움이 될 법률서류를 작성해 주었기 때문에 사기 사건의 스토리를 가해자 입장에서 자세히 들을 수 있었어요.


저는 사기꾼, 거짓말쟁이가 존재로 처음부터 정해져 있다고 생각하지는 않아요. 그러나 어떤 말과 행동이 사기행위가 될 확률이 높은지, 어떤 사고방식이 사기 행위로 이어지는지, 왜 사람들이 사기에 말려드는지는 잘 알아요. 그래서 위에 한국인공지능협회 이강훈님 같은 경우에도 뭐가 잘못되었는지 바로 알아보고 판단을 내리는 거죠.

사기, 기만, 거짓이 일어나는 기본 원리는 자기 내면에서 진심으로 동의하지도 않으면서 눈앞에 보이는 이득 때문에 생각과 의견, 행동을 거기에 맞추어서 조정하는데서 일어나요. 그래서 자기 내면 관찰을 잘하는 사람은 왠만해서는 사기에 휘말리지 않아요.

그러니 제가 실천해서 모범으로 보여주는 것이 님의 마음을 불편하게 한다면 한 번 자기 마음을 돌이켜 보고, 정 이게 아니다 싶으면 하지 마세요. 저에게 돈을 주신 것도 아니고 손해 본 것 없잖아요. 그래야 자기 자신을 속이는 것을 예방할 수 있어요. 미래의 갈등을 예방할 수 있어요. 반대로 제가 쓴 글을 읽고 그게 맞다고 생각하면 열심히 읽고 실천하세요. 그게 그 사람이 가진 자유에요.


자신이 옳은 쪽에 속한다는 착각

제가 성공적인 소프트웨어 벤처기업을 만드는 방법 글에서 한국인의 오지랖 사고방식에 대해서 언급한 적이 있어요. 자, 보세요. 제가 간단한 논리 모델을 예를 들어 볼게요.

  1. 나는 나의 의견, 너는 너의 의견이 있다.
  2. 우리는 서로 입장이 다르다. 그래서 서로 생각이 닮은 점도 있지만 다른 점도 있다.
  3. 그러나 우리는 서로에게 자기 생각을 강요하지 않는다. 이게 자유의 개념이다.
  4. 자, 이제 우리가 공동으로 무슨 일을 하기로 했다.
  5. 여기서 누구의 아이디어가 이 일을 하는데 더 도움이 되는지 서로 얘기를 꺼내서 토론을 해보았다.
  6. 그래서 생각을 해보고 최선으로 잘할 수 있는 절충안을 만들어서 합의했다.
  7. 그걸 열심히 실천했다. 좋은 성과를 얻었다.
  8. 일이 끝나고 나자 우리는 다시 자유로운 개인으로 돌아갔다.


이게 전세계에서 통용되는 "글로벌 스탠다드"에요. 그런데 한국 사람들은 뭔 생각을 하냐면 첫 번째 단계부터 이상한 생각을 해요.

  1. 나의 의견, 너의 의견은 없고 "다수의 의견", "옳다고 정해진 여론", "주인님의 의견", "갑의 의견"이 무엇인지 눈치를 살핀다.
  2. 눈치코치로 탐색을 한 다음 내 입장을 슬며시 그쪽으로 옮긴다. 나도 원래 그런 척 한다. 이해한 척 한다.
    1. 줄서기를 한다.
    2. 사바사바를 한다.
  3. 그렇게 했는데도 잘 풀리지 않는 부분은 "좋게좋게 하자.", "참자."고 얼버무린다. "우리 모두 갑 앞에서는 약한 을 아니냐."이러면서 설득하려고 한다.
  4. 그렇게 자기 마음을 억누르고 좋게좋게 참다 보니까 스트레스를 받는다. 그래서 주변에 눈치 잘못보고 줄서기를 잘못하는 사람들을 괴롭힌다.
    1. "야, 인생 그렇게 살지마. 여기가 너만 사는 곳이냐? 다른 사람들 생각 좀 해라."
  5. 그렇게 해서 결과는 전세계에서 자살률 1위 국가가 탄생했다.


자신이 대세에 속해 있다는 착각, 자신이 다수 의견에 속한다는 착각, 자신이 심판이라고 생각하는 착각이 있어요. 자기도 피해자면서 가해자의 편에 서서 가해자와 자신을 동일시하는 사고방식이 있어요. 피해자를 보호하기는 커녕 피해자가 그럴 만한 잘못을 해서 피해를 입은 것처럼 왜곡하는 사고방식이 있어요.


그렇게 해서 결과는 뭐다? 자살률 1위 국가에요. 지금 한국이 10년 넘게 1위를 유지하고 있네요. 님들 언제까지 그렇게 사시려구요. 이제 그만하셔야죠. 저는 그렇게 살기 싫어요. 저처럼 그렇게 살기 싫은 분들은 깨달으세요. 버티는 능력을 키우고, 실력을 키우고 당당하게 "노 땡큐"하세요. 자녀들에게 이런 삶을 물려주지 마세요. 한국 10년 넘게 OECD 자살률 1위


우리는 실천하는 사람에게 권한을 준다

무엇이 실천인가요? 실천을 어떻게 하나요? 오늘 제가 쓴 글에서 사례를 들어서 설명을 해드렸어요. 종목이 무엇이던지 상상을 현실로 만드는 일에 도전하면 되요. 릴랏 사고방식을 실천하면 되요. 내용을 공개하고, 과정을 공개하면 되요. 글로 쓰던지, 코드로 쓰던지, 그림으로 그리던지, 음악으로 만들던지 상관없어요.

생각을 공유하고 과정을 공유하는 사람, 이런 사람들이 우리가 친하게 지내고 싶은 사람이에요. 제가 릴랏 프로젝트를 진행하면서 점점 유명해지고 있는지 강연 요청도 들어오고, 인터뷰 요청도 들어오고, 홍보 요청도 들어오고 하는데요. 저는 유명해지고 싶지 않아요. 저는 님들에게 뭘 판매하러 나온 사람이 아니에요. 제가 원하는 것은 제가 가르치는 사고방식을 실천해서 질문도 하고 참여도 하는 사람들이 많아졌으면 하는 것이에요. 그럼 다 같이 열심히 해보아요.

"릴랏 강의 2"를 다쓰게 되어서 기뻐요. 우왕~


의견, 피드백은 여기로 주세요.




후원 안내

글이 마음에 들고 저희를 후원하고 싶으시다면 아래 모네로 마이닝을 해주세요. 밑에 링크한 주소로 들어가서 START MINING 버튼을 누르면 님들의 컴퓨터가 일을 해서 저희에게 가상화폐 후원을 해줍니다. 하루종일 하면 백원 정도로요. 참고로 SPEED를 100%로 하지 말고 한 80%로 내리면 컴퓨터가 버벅거리지 않아서 좋습니다.

저는 후원을 받아서 제 개인 용도로 사용하지 않습니다. 저는 개인적으로는 이미 부족함 없이 잘살고 있습니다. 저는 앞으로 부모 없는 아동과 청소년을 돌보는 그룹홈(보육원)을 만들어서 후원할 생각입니다. 그리고 저는 컴퓨터 프로그래머인데 릴랏이라는 무료 코딩 교육 활동을 2016년부터 하고 있습니다. 후원해주신 것은 여기에 전부 사용할 것입니다.


이미 가상화폐를 갖고 계신 분은 저희에게 송금을 해서 후원을 해주실 수 있습니다.

Bitcoin: 1Jocrm8iKUtw4h19JttGLjj9ouQnDHrmpB
Monero: 45sQXZzqtFAKgJJgtQh3MuGYwUHHTb5bEZzvfdw3QhvSKpb1KMJmgnSQCVkWGcmL1PVzqVfV4bZH5D2C5uRfeWHLUf5pMkw

그외 기타 다른 방식으로 후원을 해주실 분은 저에게 메세지를 주십시오. 감사합니다.

Facebook Comments

Disqus Comments

글쓴이 소개

안녕하세요. 제 이름은 이기준이에요. 저는 Deduction Theory, LLC라는 소프트웨어 회사에서 CEO로 일하고 있어요.
저는 최근 오픈소스 공개 스터디 릴랏 프로젝트의 내용을 번역해 주실 자원봉사자를 모집하고 있어요. 제 생각에는 이 프로젝트가 전세계에 사는 어린이, 학생, 어른에게 도움이 될 거에요. 특히 저소득층에게요. 이 프로젝트는 무료에요. 사람들에게 도움을 주려고 기획했어요. 저는 나중에 저소득 국가에 학교와 고아원을 짓고 사람들에게 이 프로젝트 방식으로 컴퓨터 프로그래밍을 가르쳐 주고 싶어요. 그렇게 해서 나중에 그 사람들이 더 나은 직업을 가질 수 있게 돕고 싶어요.
아래에 링크한 릴랏 소개 페이지를 읽어 본 다음 이것이 도울 만한 가치가 있다고 생각되시면 저에게 말해주세요.
오픈소스 공개 스터디 프로젝트 Rellat을 소개합니다
원문 컨텐츠는 한글로 전부 제가 쓴 것이에요. 우리는 세계 모든 언어로 번역할 계획을 가지고 있어요. 감사합니다.
안녕하세요. 이기준님과 함께 Rellat 프로젝트를 진행하고 있는 이기환입니다.
제가 프로그래밍을 처음 시작한 것은 어린 시절 어도비 플래시 프로그램에서 애니메이션을 만들다가 게임을 만들고 싶어서 액션스크립트를 사용한 것입니다.
연역론의 방법론은 제가 평소에 일을 하는 방법과 같습니다.
저는 사실 500줄 이상 넘어가는 코드를 보면 정신이 없고 잘 기억도 안됩니다. 지금도 간단한 코드 문법이 기억이 안나서 구글을 뒤지는 경우가 허다합니다.
대신 저는 이 코드가 어떤 사고방식을 사용해서 만들어졌는지, 어떤 관계정보를 사용했는지를 추적합니다. 이것이 연역론의 코딩 방법론, 코딩 스타일, 컴퓨팅 세계관입니다.
이 사고방식을 갖추면 더 나은 정보처리 방식이 무엇인지 비교할 수가 있습니다. 이것이 프로그래밍의 본질이고, 가장 중요한 것입니다.
나머지 프로그램의 빈공간은 구글과 스택오버플로우의 힘을 빌려서 채워넣습니다.
저는 여러분도 그렇게 하면 끊임없이 만들어지는 새로운 기술, 수만 줄의 코드 속에서 허우적거리지 않으면서 대규모의 질 높은 정보처리를 더 효과적으로 할 수 있다고 생각합니다.

Popular Posts

Visitor Map

Flag Counter