2012년 9월 20일 목요일

구글 안드로이드 개발자 간담회, In-app Billing 발표내용과 그 논란에 대해.

9월 17일 있었던 구글 안드로이드 개발자 간담회의 세번째 세션, Using In-app billing at Google Play는 최근 논란이 된 내용이라 재밌었기도 하고, 간단히 해당 내용과 제 생각을 좀 정리해 봅니다.



In-app billing.
얼마전 구글이 애플처럼 사악해져서 개발자들의 결제 모델을 통제하기 시작한다는 기사가 휘몰아쳤죠.
이용료는 없지만 일부 아이템등을 현금으로 살 수 있는 온라인 게임처럼 안드로이드 앱들 중에도, 설치는 공짜거나 싼 가격이지만, 앱 내에서 카톡 선물처럼 게임 아이템을 사거나 특정 서비스를 추가로 요청할 때 사용자에게 요금을 받는 경우가 있습니다.
이처럼 앱 내에서 추가 결제를 하는 것을 앱 내 결제라고도 하곤 하는데요.
애플은 이를 위한 서비스를 자체적으로 제공하면서, 앱스토어에서 이 서비스 외의 방법으로 앱 내 결제를 하는 앱은 삭제해 버리겠다고 하고, 실제로 그렇게 해 논란을 일으킨 적 있습니다.

구글에서도 이번에 이와 마찬가지로 구글 플레이에서 앱 내 결제를 위한 in-app billing 이라는 서비스를 내놓으면서, 구글 플레이에서 유통되는 앱은 앱 내 결제를 위해선 이 서비스만 이용해야 한다는, 애플과 똑닮은 정책을 내놓았습니다.
애플과 달리 나름 개방적이라 여겨지던 구글의 이같은 강제 정책에 여러 논란이 있었던 것(아니, 현재 진행형인가요?)이지요.
이에 대해 이야기를 해주셨습니다.

in-app billing 서비스가 뭐고, 어떻게 사용하면 되는지에 대한 자세한 정보는 여기(http://developer.android.com/guide/google/play/billing/index.html)를 참고하시면 됩니다.

간단히 정리해보자면, 사용자의 기기에 있는 구글 플레이 어플리케이션에게 Binder를 통해 요청 메세지를 보내면 마켓 어플리케이션이 사용자 계좌로부터 개발자 계좌로의 금액 결제를 대신해 주는 건데요.


그리고, in-app billing의 제약사항은 다음 링크에 있으며, in-app billing 에 대한 내용은 다음과 같습니다.

http://play.google.com/about/developer-content-policy.html#showlanguages

  • In-app purchases: Developers offering additional content, services or functionality within an application downloaded from Google Play must use Google Play's payment system as the method of payment, except:
    • where payment is primarily for physical goods or services (e.g. buying movie tickets; e.g. buying a publication where the price also includes a hard copy subscription); or
    • where payment is for digital content or goods that may be consumed outside of the application itself (e.g. buying songs that can be played on other music players)

간단히 번역해보죠.
사용자가 구글 플레이에서 다운받은 어플리케이션 내에 추가적인 컨텐트나 서비스 또는 기능을 제공하는 개발자는 그 결제 수단으로 반드시 구글 플레이의 결제 시스템을 사용해야 한다.
예외조건:

  • 물리적 물건이나 서비스를 위한 결제의 경우(예를 들어, 영화 표를 산다거나, 실물책 구독 등과 같은 간행물 구매 시) 또는,
  • 어플리케이션 자체 외부에서 사용되는 디지털 컨텐트인 경우(예를 들어, 어플리케이션 외의 mp3 플레이어 등에서 재생 가능한 음악 - mp3 -)


결국, in-app billing은 구글 플레이와 연동되어서 제공되는, 앱 내 결제 서비스 입니다. 구글 플레이에서 유료 앱을 구매하면 구글 플레이에서 자동으로 통신사와 연결해서, 또는 신용카드 정보 등을 이용해서 결제를 하죠. 상당히 편리하고, 이미 익숙한 방법입니다.
저는 100원 앱 세일 할 때 유료 앱 몇개 결제해 봤는데, 별다른 정보를 입력하거나 active-x 따위와 씨름할 필요 없이, 통신사와 연결되어서 클릭 몇번으로 결제가 끝나더군요.

in-app billing은 그러한 구글 플레이의 결제 시스템을 앱 내에서도 제공할 수 있도록 하는 서비스입니다. 앱 개발자는 in-app billing 서비스를 이용함으로써, 별도의 결제 시스템을 구축할 필요 없어 좋고, 사용자는 이미 친숙하고 신뢰 할 수 있는(구글느님께서 만드셨다는데 신뢰해야지 어쩌겠습니까) 구글 플레이 구매 시스템을 이용해 결제를 할 수 있도록 할 수 있는 거죠.
발표자께서도 특히 사용자 입장에서의 편리성을 강조하시며, consistent experience를 제공할 수 있는게 큰 장점이니, 부디, 부디(please, please) in-app billing을 사용해 달라 하시더군요.
또한, in-app billing의 수수료는 30%나 되지만, 이는 대부분 통신사 등에 가는 돈이지 구글에서 돈벌어 먹으려 그러는 게 아니고, 통신사로 가는 30%가 크다고 생각할 수도 있지만 어디까지나 유저에게 편리한 일관된 사용경험을 만들기 위한 비용이며, 유저의 일관된 사용경험은 그럴만한 가치가 있다고 이야기 했습니다.

이외에 질답을 통해 환불이 가능하고, in-app billing의 강제 조건의 예외 조건 등을 이야기 해주셨습니다만, 발표자께서 말씀해주신 주요 내용은 여기까지구요.
제 생각을 좀 더 정리해 보겠습니다.

대부분 동의합니다. 유료 앱을 구매한 건 몇번 안되지만, 구글 플레이가 제공하는 결제 방식은 비교적 편리했고, 마음에 들었습니다. 이런 경험을 앱 내에서의 결제 방식에도 가져간다는 것은 앱에게 큰 장점이 될거라고 생각합니다. 구매도 구글 플레이에서 했는데, 앱 내 결제도 구글 플레이 방식으로 한다는 건 말 되는 이야기죠. 더구나 그걸 도와주는 서비스라니, 제가 앱 내 결제를 사용하려는 개발자라면 이걸 사용하겠습니다.
일관된 사용자 경험, 얼마나 좋습니까?

문제는, 구글 플레이에 올린 앱에서 in-app billing이 아닌 다른 수단으로 앱 내 결제를 하면 구글 플레이에서 퇴출된다는 강제사항인데요.

MUST. 반드시.

아, 굉장히 맘에 안드는 단어입니다.

좋은 서비스란 건 알겠는데, 세상에는 많은 이해관계가 있고, 많은 특수성이 있기 마련인데, 반드시 그것만 써야 한다니...
애플은 사악하고 closed 되어 있는 독재체제지만 안드로이드는 그렇지 않다고 믿어왔고, 자랑거리였는데, 이제 더이상 그렇지 않은 걸까요? 구글이나 애플이나 그놈이 그놈이고 다 장사꾼이니 세상에 믿을 놈 하나 없는 걸까요? 구글 의존성을 막기 위해 우리나라만의 독자적인 OS를 만들어야 할 것 같습니다. 한민족의 힘을 보여줍시다.

좀 과장해 봤습니다만, 저런 생각 중 일부는 드는 것도 사실입니다.
하지만, 조금 더 생각해 보죠.

기술로써의 안드로이드(조금 더 정확히는 AOSP)는 항상 개방적이었고, 여전히 개방적이고, 앞으로도 개방적일 것(바램에 불과하지 않기를...)입니다. 누구나 소스 코드를 이용할 수 있고, 이걸 가져다가 조금 변형해서 뭘 만들든 자유입니다.

구글 또한 여타 third party 제조사/소프트웨어 개발사들과 마찬가지입니다. 아마존이 기술로써의 안드로이드를 가져다가 Kindle Fire를 만들고  자신만의 앱 판매 서비스를 제공하듯, 구글 또한 기술로써의 안드로이드를 가져다가 Google Android라는 이름으로 사업을 하는 거죠.

구글의 안드로이드 사업은 예전에는 신경을 안쓰는 건가 싶을 정도로 개방적이었고, 지금은 조금씩 체제를 정비해 가고 있는데, UX만 괜찮아 진 게 아니라 좀 논란스러운 강제조건도 생겨나고 있습니다. 하지만, 이런 논란스럽고 강제적인 내용은 기술로써의 안드로이드는 개방된 상태를 유지하는 것을 보장하는 한계 내에서 부가적인 방식으로 진행되고 있습니다.

in-app billing 또한 마찬가지입니다. 기술로써의 안드로이드는 in-app billing과 전혀 관계 없습니다. in-app billing이 강제조항이라 맘에 안들지만 기술로써의 안드로이드는 in-app billing과 무관한 개방 상태기 때문에 구글 플레이로 배포하지만 않는다면 대안은 많아요.
국내는 T-store가 구글 플레이보다 더 개발자 수익성에 도움이 된다는 이야기도 있구요.

하지만, 구글이 사업으로 제공하는 서비스인 구글 플레이를 사용하려면 구글의 조건을 들어야 한다는 거죠. 구글 플레이는 apk 올려둘 수 있는 무료 웹하드가 아니라 보다 좋은 사용자 경험으로 사용자와 개발자들이 만날 수 있도록 제공하면서 구글이 돈버는(하지만 in-app billing의 수수료는 거의 다 통신사 등에 간다더군요) 서비스 사업이니까요.

쉴드는 여기까지.
그렇다곤 해도, 구글의 안드로이드 사업은 아마존의 안드로이드와 달리, 사실상의 안드로이드 표준이기 때문에, 이 강제조항이 미치는 파급효과는 무시할 수 없습니다.
누가 기술과 사업의 안드로이드를 구분해서 생각합니까? 그냥 대충 한뭉텡이로 묶어서 안드로이드지. 이게 그냥 대충도 아니고, 정말 안드로이드를 위에서 밥벌어먹는 사람에게 구글의 사업 정책 변화는 정말 중요한 요소입니다.
상당히 reasonable 한 이유고, 사용자를 위한 방향이라고 하지만, 어쨌건 폐쇄적인 게 옳지 못하다고 생각하는 사람들은 이걸 가지고 구글을 깔 명분은 충분하다고 봅니다.

호텔 식당에 한복 입은 사람은 들어오지 말라고 호텔이 말했다고 해도 어쩌겠습니까, 호텔 소유지인데. 하지만 좋게만 볼 순 없는 일입니다. 더구나 그 호텔이 사막 한가운데 위치한 몇개 안되는 호텔 가운데 하나라면요. 그 한복이란 게 실은 벼룩과 세균이 득시글거리는 걸인이 걸친 넝마였고, 호텔에서는 식당 입장을 위한 멋지고 튼튼한 옷을 거의 무료로 제공하거니와, 이를 몇번이나 공지했는데도 들은척도 안하더라는 비교적 합리적인 설명이 있으면 주관에 따라 개개인의 생각은 바뀌겠지만요.
어쨌건 충분히 생각해 보고, 까야겠다고 여전히 생각하는 사람은 까야 할 사안이라고 봅니다.


어쨌건 이제 우린 어떡하면 좋을까요?
사실, 너무 걱정할 필요는 없다고 봅니다. 구글 플레이에서 구매한 앱에서는 In-app billing을 사용하고, 다른 앱 내 결제가 반드시 필요하다면 T-store 나 Samsung apps 등에 올리면 되죠.

개발할 때 여러개의 앱 내 결제를 구현해야 하고, 구글 플레이에서 구매한 앱인지, 다른데서 구매한 앱인지 체크해야 하는 번거로움이 있지만, 어쨌든 대안은 존재합니다.

하지만, 개발자 분들은 좀 더 일이 늘었고, 회사의 결정에 따라 없어도 될 코드를 짜야 하는 경우가 많아질 것이며, 이를 위한 충분한 시간을 주지는 않는 경우가 많을 것 같습니다.
이런 불운한 상황에 처한 분들께는 그저 애도를 표합니다...

댓글 2개:

  1. 구글 외 결제 금지는 새로 생긴 제약이 아니라 예전부터 있었을 걸. 거기에 대해 구글이 언급을 안 해왔지만 약관에는 있었으니. 어떻게 보면 유명무실해보이지만 글로 적힌 것은 꼭 확인해야한다는 교훈을 주는 듯...

    답글삭제
  2. 아하, 그렇군요.
    하지만 전 그래도 글 잘 안읽을듯 합니다...OTL

    답글삭제