[e장인] ‘플라스크’ 만든 스타 오픈소스 개발자, 아르민 로나허

가 +
가 -

지난 8월 열린 파이콘 APAC 2016 컨퍼런스에서는 유난히 많은 개발자들에게 사인과 사진을 요청받은 인물이 있다. ‘플라스크‘ 창시자, 아르민 로나허다. 일반적으로 오픈소스 기술 창시자는 한 가지 기술을 깊이 오래 개발하는 데 비해, 그는 20개가 넘는 다양한 오픈소스 프로젝트에 소스코드를 제공했다. 그는 어떻게 하다가 그렇게 많은 오픈소스 기술에 관심을 가지게 됐을까? 아르민 로나허를 찾아가 직접 그 답을 들어보았다.

Armin_Ronacher_03

▲8월 한국에서 열린 파이콘 APAC 2016에 참여한 아르민 로나허의 모습. 기조연설이 끝나자 많은 개발자들이 찾아서 질문을 쏟았다.

오픈소스 기술을 사랑하는 오스트리아 개발자

아르민 로나허는 어린 시절부터 컴퓨터를 좋아하는 학생이었다. 그렇다고 프로그래머라는 직업을 오랬동안 꿈꿨던 것은 아니다. 단순히 컴퓨터라는 기계 자체에 매료됐다가 이후 책을 사고 프로그래밍까지 접했다고 한다. 아르민 로나허 개발자는 “프로그래밍은 13살 때 처음 해본 것 같다”라며 “정확히 기억은 안 나지만 혼자 이것 저것 공부하면서 프로그래밍 언어를 배웠다”라고 설명했다.

그는 오스트리아에서 태어나고 대학교까지 공부하고 개발자가 됐다. 오스트리아는 미국, 영국, 중국처럼 기술이 발달된 지역이 없어 몇 년 전부터 아예 런던으로 옮겨 주로 일했다고 한다. 2년 전부터는 프리랜서 개발자로 활동하고 있다. 주로 파이썬, 오픈소스 프로젝트, 시스템 아키텍처와 관련된 컨설팅을 하고 있다.

언어는 뭘 사용했을까? 과거엔 델파이나 파스칼을 주로 썼고, 얼마 전까지는 C, C++, PHP를 자주 다뤘다고 한다. 파이썬 외에 자바스크립트, 러스트 같은 새로 뜨는 언어도 꾸준히 배우고 있다. 이렇게 배운 언어들은 향후 오픈소스 기술 기여로 이어졌다. 아르민 로나허는 “개인적으로 여러 언어를 배우는 것을 좋아한다”라며 “한가지를 깊이 파는 것보단 다양하게 배우는 것이 더 나한테 맞았다”라고 설명했다.

“현대의 프로그래밍 세계에서는 어떤 기술과 방법이 가장 좋은 것인지 확신할 수 없습니다. 그래서 여러 기술을 살펴보는 거죠. 오픈소스 프로젝트는 소스코드를 공유하고 서로 피드백을 활발히 주고받는 문화가 존재해 새로운 관점을 배우기 좋습니다. 최근 관심있게 본 언어는 러스트입니다. 러스트를 보면 파이썬 생태계의 5-6년 전 모습이 생각납니다. 지금은 부족한 부분이 있지만 향후 강력한 언어가 될 거라고 봅니다.”

Armin_Ronacher_00

▲아르민 로나허. 플라스크 창시자

그는 오픈소스 컨퍼런스에도 많이 참석하고 발표자로 나선 경험도 많다. 아르민 로나허는 “사람들과 소통하는 것을 좋아하고 오픈소스 커뮤니티에서 실제로 좋은 사람을 많이 만났다”라며 “오픈소스 커뮤니티를 통해 많은 곳을 여행하기도 했다”라고 설명했다. 여담으로 현재 그의 아내도 오픈소스 커뮤니티에서 만났다고 한다.

오픈소스 개발자가 되기 위한 3가지 방법

오픈소스 개발자가 되려면 어떻게 해야 할까? 아르민 로나허 개발자는 3가지 방법을 추천했다. 첫 번째, 내가 직접 기술을 만들고 그것을 오픈소스 프로젝트로 전환하는 것이다. 이게 제일 쉬운 방법이라고 한다. 두 번째는 이미 존재하는 오픈소스 프로젝트에 참여하는 것이다. 아르민 로나허는 “자기 자신의 기술이 생각보다 유용하지 않다는 말을 들을 수도 있다”라며 “조금 실망할 수 있지만 그러한 말을 들을 수 있는 태도도 필요하다”라고 설명했다. 한 가지 팁은 이제 막 시작하고 성장하고 있는 오픈소스 프로젝트에 참여하는게 입문자에겐 더 좋다고 한다.

“예를 들어, 플라스크는 처음 오픈소스 기여를 시작하는 분에게 좋지 않을 수 있어요. 플라스크는 이미 여러 변화를 겪었고, 개선할 때 신중을 기해야 합니다. 새로운 기여자의 아이디어가 소스코드에 반영 안 될 수도 있죠. 다른 유명하고 안정적인 버전이 나온 프로젝트에서도 새로운 소스코드나 변화를 받아들이는게 조심스럽습니다. 하지만 자바스트립트처럼 새롭게 뜨고 있는 언어는 처음인 만큼, 다양한 변화가 필요하고 토론도 활발하거든요. 참여할 여지가 그만큼 많죠.”

세 번째 방법은 오픈소스 프로젝트에 관련된 사람들과 함께 어울리는 것이다. 그러한 개발자들이 어떤 일을 하고 어떤 식으로 기술을 다루는지 지켜보면서 배울 수 있다고 한다.

Armin_Ronacher_01

▲아르민 로나허가 기여한 오픈소스 프로젝트 일부(사진 : 아르민 로나허 블로그)

아르민 로나허는 자신이 개발하는 분야가 웹처럼 오픈소스 기술을 많이 사용한다면 꼭 오픈소스 기술을 배우고 익숙해지라고 조언했다. 꼭 소스코드를 작성하지 않아도 된다. 오류 보고 같은 작은 활동도 오픈소스 프로젝트에선 충분히 가치있다고 그는 말했다. 하지만 C#, ASP 같은 분야는 상대적으로 오픈소스 기술과는 떨어져 있다. 이러한 언어를 주로 쓰는 개발자는 오픈소스 문화나 기술을 의무적으로 배워야 할 것까진 없다.

아르민 로마허의 공부법도 독특하다. 그는 어떤 언어를 배울 때 사람들의 고민에서 출발한다고 한다. 잘 알든 알지 못하든 말이다. 예를 들어, 누군가가 “A 함수를 B 환경에서 쓰면 왜 오류가 날까?”라고 물어보면, 그는 A 함수가 무엇인지 B 환경이 무엇인지 찾아보고, 그 과정에서 꼬리의 꼬리를 물듯 질문을 하고 답을 찾는다. 이러한 방식은 특히 어렵거나 복잡한 언어를 배울 때 유용하다.

“C++를 생각해보세요. C++은 굉장히 복잡하고 사실 어디서부터 어떻게 공부를 시작할지도 막막합니다. 하지만 어떤 작은 문제를 보고 그 문제의 답을 풀듯 기술을 학습하면, 해결 방법의 폭을 작은 단위로 좁힐 수 있어 더 쉽게 배울 수 있습니다. 그러한 질문의 답을 퍼즐조각이라고 생각하면 결국엔 하나의 큰 그림이 완성되고 그때 언어를 제대로 이해할 수 있게 됩니다. 그래서 저는 누군가의 질문은 또다른 지식이라고 생각해요. 컨퍼런스에 참여하는 이유도 비슷한 맥락입니다. 컨퍼런스에선 실제 기업과 현장에서 부딪히는 문제들을 듣기 좋습니다. 저 스스로 발표 연사로 참여할 때도요. 저는 추상적인 내용보다는 구체적인 경험을 이야기하는 것을 더 선호합니다.”

플라스크와 파이썬의 미래는?

Armin_Ronacher_02

▲플라스크 로고(사진 : 플라스크 공식 홈페이지)

플라스크는 장고와 함께 인기 파이썬 웹 프레임워크로 자리잡고 있다. 플라스크는 그냥 웹 프레임워크가 아닌 ‘마이크로프레임워크’라고 부르는데, 이 표현대로 간단한 웹이나 모바일 앱 서버 등을 아주 빠르고 쉽게 만들 수 있다. 플라스크 개념은 만우절에 장난삼아 던진 아이디어였다고 한다. 하지만 사람들의 관심이 높아져 아예 서비스로 만들어졌다. 그가 파이썬을 처음 접했을 때만 해도 딱히 유용한 서비스를 만들지 못했다고 한다. 하지만 몇 년이 지나고 PHP를 다루다가 좀 더 나은 기술을 고민했고, 그때 파이썬을 활용해 플라스크를 완성했다.

그는 파이썬이나 플라스크의 미래를 긍정적으로 평가했다. 언어의 설계 자체가 좋고 실용적인 장점 때문이다. 하지만 한편으로 특정 환경의 아주 어려운 문제를 해결할 수 있을 정도로 빠르거나 성능이 좋다고 말할 수 없다고 설명했다. 그는 “아시아 지역에서 특히 플라스크에 대한 관심이 높다”라며 “한국도 그 중 하나”라고 말했다. 현재 플라스크와 관련된 튜토리얼이나 한글화 문서도 쉽게 찾아볼 수 있다.

“아주 먼 미래에는 다시 기업으로 돌아가고 싶긴 합니다. 하지만 일단 지금은 조금 더 재밌는 주제의 컨설팅을 계속 하고 싶습니다. 전세계를 여행하면서 오픈소스 커뮤니티에서 발표도 하고 많은 분들을 만나고 싶어요.”

 

udemy_python_ad

네티즌의견(총 0개)