Weekly Links #1 – 2016년 4월 첫째주

Weekly Links에서는 지난 한 주, 카카오의 기술 블로그 담당자가 구독하는 기술 뉴스레터들에서 “인간의 눈”으로 선별한 링크들을 짧은 코멘트와 함께 공유합니다.

포함된 뉴스레터 목록은 awesome-tech-newsletters에서 확인하실 수 있습니다.

2016년 4월 첫째주 추천 링크

특집: npm 게이트, 그것이 알고 싶다!

개인적으로 이번 주에 가장 눈에 띄는 소식은 아무래도 npm게이트(a.k.a. leftpad 게이트)가 아닌가 싶습니다. 그래서, 창간 특집(?)으로 npm 게이트의 전말을 파헤쳐 보겠습니다.

다음은 문제의 left-pad 코드(전체!)입니다:

module.exports = leftpad;
function leftpad (str, len, ch) {
  str = String(str);
  var i = -1;
  if (!ch && ch !== 0) ch = ' ';
  len = len - str.length;
  while (++i < len) {
    str = ch + str;
  }
  return str;
}

메신저 플랫폼 회사인 kik이 azer가 개발한 npm 모듈 kik의 이름을 바꾸라고 하면서 사건이 시작됩니다.

  • 3/11 10:20 kik -> azer: kik 모듈 이름의 소유권을 주장하며 azer에게 이름을 바꾸라고 요청.
  • 3/11 10:50 azer -> kik: 거절.
  • 3/11 11:26 kik -> azer: 변호사 언급.
  • 3/11 12:34 azer -> kik: 거절.
  • 3/11 12:42 kik -> npm: 문제 해결 요청.
  • 3/11 12:44 kik -> azer: 보상을 제안.
  • 3/11 12:52 azer -> kik: $30000 제시.
  • 3/11 12:57 kik -> npm: kik은 등록상표이므로 kik 모듈 이름의 소유권을 주장.
  • 3/11 12:59 kik -> npm: azer가 약관을 위반하고 있다고 주장.
  • 3/16 08:42 kik -> npm: 변호사 언급.
  • 3/18 16:39 npm -> kik & azer: kik 모듈의 소유권을 kik으로 넘김.
  • 3/18 17:00 kik -> npm: 감솨~
  • 3/20 14:22 azer -> npm & azer: 유감~ 모든 모듈 삭제 의사 표명.

kik의 무례한 요구, npm의 부적절한 중재, 그리고 azer의 성급한 행동(unpublish)이 결합되어 사건이 커집니다.

  • …(시끌벅적)
  • 3/23 I’ve Just Liberated My Modules – azer가 “본인 소유의 npm 모듈 273개를 내렸다”고 통보. 그 중에 문제의 left-pad가 포함되어 있었음.
  • 3/23 가장 인기있는 npm 모듈 중의 하나인 babel과 atom이 간접적으로 left-pad에 의존성이 걸려 있었음. 수많은 ES6 기반 어플리케이션들이 빌드 안됨. 2.5 시간의 재앙!!
  • 3/23 kik, left-pad, and npm – npm 측의 해명: “우리는 azer의 코드를 훔치지 않았다”, “kik은 좋은 회사다”…
  • 3/23 A discussion about the breaking of the Internet – kik 측의 해명: “우리는 잘못한거 없다”. 자신만만하게 주고받은 메일을 다 공개했으나…
  • 3/25 npmGate — Lessons Learned Again – 변호사를 통해서 으름장을 놓은 kik도 비난하고, 큰 저장소를 운영하면서도 제대로 된 정책도 없고, 제대로 대응도 못한 npm도 비난하고, 그 와중에 은근슬쩍 Sonatype의 Nexus 광고…ㅎ
  • 3/29 changes to npm’s unpublish policy: npm이 후속 조치로 unpublish 정책을 변경. 요약하면, 24시간내에는 본인이 unpublish 가능. 그 이후에는 npm에 메일로 연락. 패키지의 모든 버전이 내려가면 땜빵(placeholder) 패키지로 대체. 땜빵 패키지의 소유권을 획득하려면 npm에 메일로 연락.
  • 4/4 11줄의 코드, 인터넷을 패닉에 빠뜨리다

오픈소스를 생산(기여)하는 측, 사용하는 측, 그리고 이 과정을 중개하는 측이 외부의 도전(?)에 대처하는 방법에 대해서 많은 생각을 하게 만든 사건입니다만… (흠흠) 자세한 설명은 프렌즈의 표정으로 대신합니다.

기술 블로그의 컨텐츠 수급에 어려움 때문에 시작하긴 했는데, 수십개의 뉴스레터에 소개된 수백개의 링크 중에서 몇 개만 선정하는 일이 만만치 않네요. Weekly Links는 쭈욱~~

포함된 뉴스레터 목록은 awesome-tech-newsletters에서 확인하실 수 있습니다.

Latest Posts