Auf welche Warnhinweise sollte ich achten, wenn ich Open Source-Software auswähle? [geschlossen]

13

In welchen Situationen wird beim Vergleich von Open-Source-Projekten mit kommerzieller Software oder sogar anderen Open-Source-Projekten eine rote Fahne angezeigt, und Sie müssen die Auswurftaste drücken, um nach einer anderen Stelle zu suchen?

Jldugger
quelle

Antworten:

17

Open Source

Schauen Sie sich die Projekt-Website an

  • Schauen Sie sich die Dokumentation an
  • Schauen Sie sich die Archive der Mailinglisten an
  • Schau dir das SCM an (svn, git, hg, etc)

Gehen Sie dabei auf folgende Punkte ein ...

  • Wie ausgereift ist die Software?
  • Wie groß ist die Nutzerbasis (viele Leute? 3 Leute?)
  • Wer sind die Personen in der Nutzerbasis (Unternehmen, Privatanwender, Kleinunternehmen usw.)?
  • Ist die Entwicklung aktiv? Wie lange ist es schon aktiv?
  • In den Mailinglistenarchiven finden sich unter anderem auch viele Informationen zum "Teamgeist" der Entwickler. Sieht es gesund, feindlich, gelangweilt usw. aus?
  • Ist die Dokumentation in Ordnung?
  • Wurde das Paket / Projekt in Distros wie Fedora, Debian, RHEL, SLES, Ubuntu usw. akzeptiert? Wenn ja - das ist eine gute Sache - haben mindestens mehr als eine andere Person Vertrauen in das Projekt.
  • Verfügt die Site über ein ordnungsgemäßes Ticketsystem? Wenn ja - Wie viele Tickets sind seit 5 Jahren geöffnet? Dies ist ein weiterer Hinweis darauf, wie "live" das Projekt ist.

Stellen Sie außerdem sicher, dass Sie die Lizenz zur Kenntnis nehmen, unter der die Software vertrieben wird. Einige sind möglicherweise nicht für Ihre Bedürfnisse geeignet.

Unternehmenssoftware

Ich habe hier nicht zu viel zu sagen als ...

  • Stellen Sie sicher (fragen Sie den Verkäufer nicht - er lügt nur), dass die Anwendung nicht wie folgt ausgeführt wirdroot . Insbesondere, wenn ein TCP / IP-Port abgehört wird. * Blick auf den Ruf des Verkäufers
  • Stellen Sie sicher, dass den Anbietern bekannt ist, dass Benutzer, die dieses Produkt verwalten (dh keinen rootZugriff erhalten), sudo unterstützen müssen . Jeder, der argumentiert, dass dies sudonicht unterstützt wird, ist im Allgemeinen nur senil, aber sie sind die Anbieter, und das werden sie Seien Sie diejenigen, die Sie unterstützen müssen - Sie möchten das Produkt nicht kaufen und lassen sich später von ihnen sagen, "Nein, Sie können sudo nicht verwenden, Sie müssen su als Root verwenden".
  • Kaufen Sie niemals eine Closed-Source-Sicherheitssoftware - niemals
  • (subjektiv): ... und trauen Sie niemals etwas, was ein Verkäufer sagt - es sind alles Lügner und Schlangen, keine Ausnahmen.
Xerxes
quelle
Wie bestimmen Sie die Laufzeit eines Programms? Es ist nicht so, dass Versionsnummern irgendetwas bedeuten, und viele Projekte sind seit Jahren mit ungeraden Versionsnummern weit verbreitet. (Ich sehe dich an NetworkManager). Was wäre eine rote Fahne der Unreife?
Jldugger
Richtig, obwohl es möglich ist, dass Versionsnummern für die Entwickler eine bestimmte Bedeutung haben, ist dies eine interne Sache - die Außenwelt ist bestenfalls ein Hinweis darauf -, dass Unternehmenssoftware versucht, diese mit lächerlichen Versionsnummernsprüngen auszunutzen . Um sich ein Bild von der Reife zu machen, können Sie einige Stellen ansehen, insbesondere das Ticketing-System - viele Tickes sind eine gute Sache -, insbesondere wenn Sie sehen, dass die Entwickler sich wirklich Mühe gegeben haben, diese zu reparieren und zu schließen. Auf der anderen Seite ist es kein guter Start, wenn Sie keine Tickets haben, oder das Schlimmste, kein Ticketsystem.
Xerxes
7
  • Mangel an Aktivität. Wenn das Projekt keinen neuen Code veröffentlicht hat, viele nicht geschlossene Bugs anzeigen (oder Bugs, die sehr, sehr alt sind und keine neuen Bugs enthalten) oder Benutzerforen mit einem sehr hohen Spam-zu-Post-Verhältnis haben, ist das ein sicherer Geruch von a verfallende Codebasis. Aktive Projekte haben regelmäßige Releases, Bug-Churn, die darauf hinweisen, dass neue geöffnet sind, die alten nicht übertreffen, und Benutzerforen mit täglichen Aktivitäten. Alle drei sind von entscheidender Bedeutung, um den Code am Leben zu erhalten und eine vollständige Schleife zu bilden.

  • Die Aktivität ist proportional zur Größe, Komplexität und Reife der Codebasis. Je größer das Programm / Projekt ist, desto seltener sind die Punktveröffentlichungen, aber es sollte einen konsistenten Strom von Punktveröffentlichungen geben. Für ein Projekt wie Samba mit einer großen komplexen Codebasis sollten Sie Punktveröffentlichungen nach etwa einem Monat erwarten. Für ein Projekt wie gcc, das eine ausgereifte Codebasis mit konservativeren Entwurfszielen ist, sind Punktveröffentlichungen länger dazwischen, aber größer. Sich schnell bewegende Ziele auf sehr kleinen Codemengen weisen ebenfalls auf potenzielle Probleme hin - es kann sein, dass die Entwickler immer noch mit Fehlern kämpfen oder noch nicht alle Ziele / Funktionen codiert haben.

  • Der Quellcode muss leicht zugänglich sein. Um ehrlich zu sein, wenn es sich um Open Source handelt, sollte es keine magischen Handshakes, Voodoo-Angebote oder Beschwörungen bei Kerzenschein geben, um den Quellcode zu sehen. Es spielt keine Rolle, ob es über CVS, SVN, Git, Mercurial oder sogar Brieftauben zugänglich ist, vorausgesetzt, Sie können ohne Click-Wrap-Lizenzvereinbarung darauf zugreifen. Wenn Sie eine Verzichtserklärung, ein NDA oder ein nicht bekanntes Lizenzschema unterzeichnen, haben Sie es nicht mit Open Source zu tun, sondern mit einem kommerziellen Anbieter, der zugestimmt hat, seine Quelle für Sie zu öffnen - zu einem Preis .

Avery Payne
quelle
++ für Aktivitätsanforderungen.
sh-beta
6

Es gibt wirklich viele.

Täuschende Lizenzierung - Zu viele Lösungen versuchen, mich zu vernichten und zu Tode zu bringen. Das Paket kostet X, aber wenn Sie für die Optionen 1, 2 und 3 werben möchten, sind dies 500 bis 1500 US-Dollar mehr pro Option. Nein danke.

Niemand nutzt es - oder zumindest kann Google niemanden finden, der darüber spricht. Es ist entweder brandneu (in diesem Fall bist du ein Meerschweinchen) oder so schlimm, dass jeder es besser weiß

Es ist die Wurzel mehrerer Gabeln - Wenn etwas mehrmals gegabelt wurde, gibt es wahrscheinlich einen guten Grund dafür, und eine der Gabeln hat das Problem wahrscheinlich besser gelöst als die Quelle. Untersuchen Sie diese stattdessen.

Durchweg schlechtes Interface-Design - damit meine ich nicht nur die GUI. Verrückte, nicht identifizierte oder falsch beschriftete CLI-Flags oder -Optionen machen mich verrückt

Es funktioniert nicht - oder es gibt vor, dass eine Situation, die gelöst werden muss, nicht existieren sollte (oder nicht existiert), und spricht sie daher nicht an

Matt Simmons
quelle
1

Ich möchte auch hinzufügen, dass die Code-Abwanderungsrate von vielen Menschen, nicht nur von wenigen, konsistent ist und durchgeführt wird. Sie möchten nicht, dass eine Person Code in Teilzeit herausbringt, wenn sie von seinem Projekt begeistert ist, sich dann langweilt und es der Community überlässt, weiterhin Unterstützung zu leisten. Drupal und Joomla sind zwei gute Beispiele.

SQLGuyChuck
quelle
1

Wenn Sie sich die Software für Ihr Unternehmen ansehen, sie verkaufen, ändern usw., ist der wichtigste Aspekt die Lizenz. Unter Berücksichtigung der Integration von busybox in WLAN-Routern und der Einhaltung gesetzlicher Bestimmungen denken Unternehmen, Open Source mache, was immer du willst.

Einige andere Dinge: Ich suche auch nach dem Datum der letzten Aktualisierung und einer aktiven Community, also Forum, vielleicht anderen Seiten, die die Software als Thema haben.

Buster
quelle
1

Unter Linux würde ich prüfen, welche Software von Ihrer Distribution gepackt wird. Gepackte Software ist nicht nur auf OpenSource / GPL beschränkt - Ubuntu, Gentoo und SLES enthalten mindestens Proprietry-Software in ihren Paketlisten. Es gibt zwar keine Garantie dafür, dass diese Pakete so effektiv arbeiten wie die Kernsoftware in der Distribution - aber jemand hat Zeit und Mühe investiert, um ein Paket vorzubereiten.

jay_dubya
quelle
1

Ich würde hauptsächlich auf Reife und Aktivität schauen. Wenn es einigermaßen ausgereift erscheint und es eine anständige Menge an Aktivität zu geben scheint (zum Beispiel Forum- oder Wiki-Aktivität), kann ich mich ziemlich wohl fühlen. Dann weiß ich, dass es eine gute Chance gibt, dass Fehler behoben werden, und dass ich Hilfe bei auftretenden Problemen bekommen kann. Ich würde ein aktives Projekt wählen, das nicht perfekt zu meinen Bedürfnissen passt, statt eines Projekts, das perfekt zu sein scheint, aber an jedem Tag der Woche tot erscheint.

Wenn es um die Reife geht, hängt es ziemlich stark vom Verwendungszweck ab. Wenn es etwas ist, das ich sofort einführen muss und das nicht scheitern oder Probleme verursachen darf, wird die Reife offensichtlich ein ziemlich wichtiger Faktor sein. Wenn ich mit ein paar Macken leben kann und es bei einigen Ausfallzeiten nicht kritisch ist, dann schaue ich lieber in die Zukunft.

Mikael Grönfelt
quelle