2009-05-06 18 views
0

Vor kurzem haben wir die erste stabile Version unseres API-Zugriffs für Entwickler (Hauptmerkmale des Hauptprodukts) veröffentlicht.Sollten wir Open-Source gehen?

Unsere API hat jetzt etwa 4 Funktionen mit ihren eigenen Signaturen, Antworttypen und so weiter.

Um seine Popularität zu erhöhen, möchten wir Wrapper Class für diese Funktionen in den beliebtesten Programmiersprachen freigeben.

So, jetzt müssen wir entscheiden, wie und wo diese Klassen gehostet wird:

1) Sollten wir (Github, Google Code etc.) verwenden, um einige öffentliche Repository - so dass jeder, Ich möchte, dass sie diese Möglichkeit haben (ich bezweifle, dass wir viele finden können).

2) Oder sollten wir einfach ein Archiv zum Herunterladen über unsere Website zur Verfügung stellen und es vielleicht in die beliebtesten Klassenrepositorys (Code-Snippets) veröffentlichen?

Welche Vorteile/Nachteile sehen Sie in jedem dieser Ansätze? Was sollen wir wählen?

wichtiges Thema # 1:

Wir haben die Fähigkeit und Ressourcen, um diese Klassen mit anständiger Codequalität in einigen Sprachen zu implementieren.

Wichtige Ausgabe # 2:

Wir werden mehr Änderungen in unserer API Unterschriften haben - so hat diese Klassen auch nachbearbeitet werden.

Wichtige Ausgabe # 3:

Gute Qualität des Codes und der Dokumentation ist ein Muss.

+0

Werden Sie das gesamte Programm als OpenSource oder nur API-Wrapper dafür freigeben? –

+0

Wir möchten nur Wrapper veröffentlichen, um das API-Produkt beliebter und einfacher zu verwenden. – ep3static

Antwort

1

Ich bin ein wenig Mühe mit Ihrer Frage zu verstehen.

Zunächst, wenn Sie planen, Ihre API-Wrapper OpenSource, aber nicht den Code wickeln, dann müssen Sie sehr vorsichtig sein, wie Ihre OpenSource-Lizenz formuliert ist. Außerdem sollten Sie darüber nachdenken, ob Sie Clients die Verwendung Ihrer API in Nicht-OpenSource-Programmen erlauben können. Sie könnten vielleicht beide GPL mit einer linking exemption ermöglichen. Der Linkerlebnis ist jedoch wichtig.

Ich habe quite a few API 's als Freie Software selbst veröffentlicht, so kann ich vielleicht den Rest ansprechen.

Sehr, sehr wenige Menschen werden mehr als nur Ihre API verwenden. Ein paar Leute werden mit Vorschlägen zurückschreiben. Ein paar wenige werden tatsächlich den Code durchsehen. Wenn Sie jemanden bekommen, der tatsächlich Patches einreichen möchte, haben Sie einen seltenen Diamanten gefunden. Schätze es.

Das bedeutet nicht, dass Sie nicht auf zertifizierten Standards der Codequalität und Stilkonformität bestehen können. Aber sei ermutigend.

2

Ich empfehle dringend, den Code für die Gemeinschaft freizugeben; Außerdem denke ich, es wäre eine gute Idee, es mit einem öffentlichen Repo zu veröffentlichen. Selbst wenn Sie nicht viele Benutzer beisteuern (obwohl ich vermute, dass Sie das wahrscheinlich unterschätzt haben), wird die Tatsache, dass Sie den Code veröffentlicht haben, für viele Entwickler ein Unentschieden sein.

Die Verwendung eines öffentlichen Repos zeigt Transparenz, Offenheit und die Bereitschaft, sich mit Entwicklern zu beschäftigen, alle Dinge, die geschätzt werden.

Obendrein werden Leute oft von binären Blobs von Drittanbietern zurückgehalten, da Bugs nicht behoben werden können; Die Freigabe des Codes wird für Ihre Endbenutzer sehr praktisch sein.

Wenn Sie daran denken, dass Sie auf Entwickler abzielen, ist die Freigabe von Code insgesamt ein Gewinn.

Stellen Sie sicher, dass Sie Ihre Lizenz entsprechend auswählen, da Entwickler möglicherweise Probleme mit bestimmten Lizenzen haben. Etwas wie das MIT license deckt ziemlich alle Grundlagen ab - d. H. Entwickler können es kommerziell nutzen, tun, was immer sie wollen, solange sie erkennen, dass Sie nicht für Probleme verantwortlich sind, die daraus entstehen.

Los geht's!

2

Es kommt wirklich drauf an. Da kronoz bereits festgelegt ist, ist die Lizenz am wichtigsten zuerst. Das wird anderen Benutzern ermöglichen oder nicht. Dann kommt es darauf an, was Sie davon erwarten, Open Source zu machen. Wenn man nicht weiß, was "offen" wirklich bedeutet, ist es super zu machen.

  • Es vielleicht werden Menschen in Geläute und Ihren Code entwickeln.
  • Erwarten Sie nicht, die Code-Qualität zu erhöhen
  • Immer bewusst sein, dass eine Gemeinschaft entwickelt sich selbst Sinn, wohin die Entwicklung führen sollte. Wenn dies von deinen Zielen abweicht, gewinnst du nicht so viel, weil du wieder abzweigen musst.
  • Du brauchst einen Mediator in der Community. Jemand, der die Mailingliste liest, Fragen beantwortet, Dinge beschreibt. Erst dann erhalten Sie das Maximum aus dieser Kooperation
  • Andere Entwickler in anderen Ansichten bringen und dass die meisten der Zeit ist wirklich wertvoll
Verwandte Themen