2009-05-06 2 views
0

최근 개발자를위한 API 액세스의 첫 번째 안정 버전 (주요 제품의 주요 기능)을 출시했습니다.오픈 소스로 가야할까요?

이제 Google API에는 자체 서명, 응답 유형 등 약 4 가지 기능이 있습니다.

인기를 높이기 위해 가장 인기있는 프로그래밍 언어에서이 기능에 대해 래퍼 클래스을 릴리스하고자합니다.

그래서 지금 우리는 어디에서 어떻게이 클래스가 호스팅됩니다, 결정해야 :

1) 우리가 일부 공공 저장소를 사용 하는가 (github에, Google 코드 등) - 그래서 사람이 사람 그것을 강화하고 싶다면이 가능성을 가질 것입니다 (저는 우리가 많은 것을 발견 할 수 있을지는 의문입니다).

2) 아니면 우리 사이트를 통해 다운로드 할 수 있도록 아카이브를 만들어 가장 인기있는 클래스 리포지토리 (코드 조각)에 공개해야합니까?

이 접근법에서 각각의 장점/단점은 무엇입니까? 우리는 무엇을 선택해야합니까?

중요한 문제 # 1 :

우리는 몇 가지 언어로 괜찮은 코드 품질이 클래스를 구현하는 능력과 자원을 가지고있다.

중요한 문제 # 2 :

우리는 더 우리의 API의 서명에 수정해야합니다 - 그래서이 클래스는 너무 재 작업해야합니다.

중요한 문제 # 3 :

좋은 코드의 품질과 문서는 필수입니다.

+0

전체 프로그램을 OpenSource 또는 API 래퍼로 릴리스 하시겠습니까? –

+0

API 제품을 더 널리 사용하고 사용하기 쉽도록 래퍼 만 공개하려고합니다. – ep3static

답변

1

정말 가치있는 대부분의 시간입니다.

먼저 API 랩퍼 OpenSource를 만들지 만 랩핑하는 코드는 만들지 않으려는 경우 OpenSource 라이센스가 어떻게 사용되는지 매우 신중해야합니다. 또한 클라이언트가 OpenSource가 아닌 프로그램에서 API를 사용할 수 있도록 허용할지 여부를 고려해야합니다. GPL을 linking exemption과 함께 사용할 수 있습니다. 연결 expemption 중요하지만.

무료 소프트웨어로 quite a few API을 공개 했으므로 나머지 부분을 해결할 수 있습니다.

API를 사용하는 것 외에 다른 작업은 거의 없습니다. 몇몇 사람들은 제안으로 다시 쓸 것입니다. 아주 소수만이 코드를 실제로 살펴볼 것입니다. 실제로 패치를 제출하고자하는 사람이 있다면 희귀 한 다이아몬드를 발견했습니다. 소중히 간직하세요.

그렇다고해서 코드 품질 및 스타일 준수에 대한 certian 표준을 고집 할 수는 없습니다. 그러나 격려해주십시오.

2

커뮤니티에 코드를 공개하는 것이 좋습니다. 덧붙여 공공 repo를 사용하여 공개하는 것이 좋은 생각입니다. 비록 당신이 많은 사용자를 공헌하지 않더라도 (나는 당신이 아마 그것을 과소 평가하고있는 것으로 생각한다), 당신이 코드를 발표했다는 사실은 많은 개발자들에게 끌릴 것이다.

공개 Repo를 사용하면 투명성, 개방성 및 개발자와의 소통에 대한 의지 등을 알 수 있습니다.

버그가 수정 될 수 없기 때문에 사람들은 제 3 자 바이너리 블로 브 (blob)로 연기되는 경우가 종종 있습니다. 코드를 공개하면 최종 사용자에게 매우 실제적인 용도가 생깁니다.

개발자를 타겟팅한다는 사실을 염두에두면 코드 공개가 전반적으로 효과적이라고 생각합니다.

그러나 개발자가 특정 라이센스에 문제가있을 수 있으므로 라이센스를 적절하게 선택해야합니다. MIT license과 같은 것은 거의 모든 기반을 다룹니다. 즉, 개발자는 상업적으로 사용할 수 있습니다. 개발자는 개발자가 상업적으로 사용할 수 있으며, 개발자가 문제를 일으키지 않을 경우 개발자가 원하는대로 할 수 있습니다.

이동하십시오!

2

정말 다릅니다. kronoz가 이미 설정 했으므로 라이선스가 가장 중요합니다. 그러면 다른 사용자가있을 수도 있고 없을 수도 있습니다. 그렇다면 오픈 소스로 기대하는 바가 무엇인지에 달려 있습니다. "열린"것이 무엇을 의미하는지 알지 못한다면 그것은 할 수있는 일보다 실제로 의미합니다. 이

  • 어쩌면명이의 차임하고 코드를 개발할 것입니다.
  • 코드 품질을 높이 지 기대하지 마십시오.
  • 커뮤니티는 개발이 이끌어야 할 자신 만의 감각을 개발합니다. 이것이 목표와 다른 점이라면 다시 포크해야하기 때문에 그렇게 많이 얻지 못할 것입니다.
  • 커뮤니티에 중재자가 필요합니다. 메일 링리스트를 읽고 질문에 답하고 물건을 설명하는 사람. 그런 다음에야 당신은
  • 다른 개발자가 다른 뷰에서 가져이 협력에서 최대 값을받을 수 있도록 내가 질문을 이해하는 약간의 문제가 있어요
관련 문제