Quels indicateurs d'avertissement dois-je surveiller lors de la sélection d'un logiciel open source? [fermé]

13

Lorsque vous comparez des projets open source à des logiciels commerciaux, ou même à d'autres projets open source, quelles situations soulèvent un drapeau rouge et vous poussent à appuyer sur le bouton d'éjection et à chercher ailleurs?

jldugger
la source

Réponses:

17

Open source

Regardez le site web du projet

  • Regardez la documentation
  • Regardez les archives de la liste de diffusion
  • Regardez le SCM (svn, git, hg, etc.)

Ce faisant, reprenez les points suivants ...

  • Quelle est la maturité du logiciel
  • Quelle est la taille de la base d'utilisateurs (beaucoup de gens? 3 personnes?)
  • Qui sont les membres de la base d'utilisateurs (entreprises, utilisateurs à domicile, petites entreprises, etc.)
  • Le développement est-il actif? Depuis combien de temps est-il actif?
  • Les archives de la liste de diffusion divergent également beaucoup d'informations sur «l'esprit d'équipe» parmi les développeurs, entre autres. Semble-t-il sain, hostile, ennuyé, etc.?
  • La documentation est-elle décente?
  • Le package / projet a-t-il été accepté dans des Distros tels que Fedora, Debian, RHEL, SLES, Ubuntu, etc.? Si c'est le cas - c'est une bonne chose - au moins plus d'une autre personne a confiance dans le projet.
  • Le site dispose-t-il d'un système de billetterie approprié? Si oui - Combien de billets sont ouverts depuis 5 ans? Ceci est une autre indication de la «vie» du projet.

Assurez-vous également de prendre note de la licence sous laquelle le logiciel est distribué. Certains peuvent ne pas convenir à vos besoins.

Logiciels d'entreprise

Je n'ai pas grand chose à dire ici à part ...

  • Assurez-vous (ne demandez pas au vendeur - il mentira simplement) que l' application ne fonctionne pas commeroot . Surtout s'il va écouter sur un port TCP / IP. * En regardant la réputation du vendeur
  • Assurez-vous que les fournisseurs sont conscients que les personnes administrant ce produit (c'est-à-dire n'auront pas rootaccès, et donc le produit doit prendre en charge sudo . Quiconque soutient que cela sudon'est pas pris en charge est généralement simplement sénile, mais ce sont les fournisseurs, et ils le feront). soyez ceux qui doivent vous soutenir - vous ne voulez pas acheter le produit et plus tard, demandez-leur de vous dire "Non, vous ne pouvez pas utiliser sudo, vous devez su pour rooter".
  • N'achetez jamais de logiciel de sécurité à source fermée - jamais
  • (subjectif): ... et ne faites jamais confiance à un représentant des ventes - ce sont tous des menteurs et des serpents, sans exception.
Xerxès
la source
Comment déterminez-vous la maturité d'un programme? Ce n'est pas comme si les numéros de version signifiaient quoi que ce soit, et de nombreux projets ont des numéros de version impairs pendant des années et sont largement utilisés. (Je vous regarde NetworkManager). Qu'est-ce qui serait un drapeau rouge de l'immaturité?
jldugger
Exact, bien qu'il soit possible que les numéros de version aient une signification spécifique pour les développeurs, c'est une chose interne - le monde extérieur, c'est au mieux une indication - que les logiciels d'entreprise semblent essayer d'exploiter avec des sauts de numéro de version ridicules. . Pour avoir une idée de la maturité, vous pouvez regarder à quelques endroits, en particulier le système de billetterie - beaucoup de tickes est une bonne chose - surtout si vous pouvez voir que les développeurs ont fait un réel effort pour les réparer et les fermer. D'un autre côté, si vous n'avez pas de billets, ou pire, pas de système de billetterie, ce n'est pas un bon début.
Xerxes
7
  • Manque d'activité. Si le projet n'a pas publié de nouveau code, afficher de nombreux bogues non fermés (ou des bogues très très anciens sans aucun nouveau bogue), ou avoir des forums d'utilisateurs qui ont un rapport spam / publication très élevé, c'est une odeur certaine de base de code en décomposition. Les projets actifs ont des versions régulières, un bug-churn qui indique que les nouveaux ouverts ne dépassent pas les anciens fermés et les forums d'utilisateurs avec une activité quotidienne. Ces trois éléments sont essentiels pour maintenir le code en vie et en bon état - libération, retour en arrière et débogage / refactoring, formant une boucle complète.

  • L'activité est proportionnelle à la taille, la complexité et la maturité de la base de code. Plus le programme / projet est important, plus les diffusions ponctuelles sont rares, mais il devrait y avoir un flux cohérent de diffusions ponctuelles. Pour un projet comme Samba, avec une grande base de code complexe, attendez-vous à des versions ponctuelles après un mois environ. Pour un projet comme gcc, qui est une base de code arrivée à maturité avec des objectifs de conception plus conservateurs, les versions ponctuelles sont plus longues entre les deux, mais plus importantes. Des cibles rapides sur de très petites quantités de code montrent également des problèmes potentiels - il se pourrait que les développeurs luttent toujours contre des bogues ou n'aient pas encore tous les objectifs / fonctionnalités codés.

  • Le code source doit être facilement accessible. À blanc, s'il s'agit d'une véritable source ouverte, il ne devrait pas y avoir de poignée de main magique, d'offres vaudou ou d'incantations aux chandelles pour voir le code source. Peu importe qu'il soit accessible via CVS, SVN, Git, Mercurial ou même un pigeon voyageur, à condition que vous puissiez y accéder sans un accord de licence click-wrap. Si vous signez une renonciation, un accord de non-divulgation ou acceptez un régime de licence dont vous n'avez pas entendu parler, vous ne traitez pas avec l'open source, vous traitez avec un fournisseur commercial qui a accepté de vous ouvrir sa source - pour un prix .

Avery Payne
la source
++ pour les besoins de l'activité.
sh-beta
6

Il y en a vraiment beaucoup.

Licence trompeuse - Trop de solutions tentent de me nickeler et de me décimer à mort. Le package coûte X, mais si vous voulez les options annoncées 1, 2 et 3, ce sera 500 à 1500 $ de plus par option. Non, merci.

Personne ne l'utilise - ou du moins, Google ne trouve personne qui en parle. C'est soit flambant neuf (dans ce cas, vous êtes un cobaye) ou si mauvais que tout le monde sait mieux

C'est la racine de plusieurs fourches - Si quelque chose a été bifurqué plusieurs fois, il y a probablement une bonne raison à cela, et l'une des fourches a probablement résolu le problème mieux que la source. Étudiez-les plutôt.

Conception d'interface toujours mauvaise - je ne parle pas seulement de l'interface graphique. Les options ou indicateurs CLI fous, non identifiés ou mal étiquetés me rendent fou

Cela ne fonctionne pas - ou il prétend qu'une situation qui doit être résolue ne devrait pas (ou n'existe pas) et ne la résout donc pas.

Matt Simmons
la source
1

J'ajouterais également que le taux de désabonnement du code est cohérent et fait par de nombreuses personnes, pas seulement quelques-unes. Vous ne voulez pas qu'une personne lance du code à temps partiel quand il est enthousiasmé par son projet, puis s'en lasse et laisse le soin à la communauté de continuer à le soutenir. Drupal et Joomla sont deux bons exemples.

SQLGuyChuck
la source
1

Si vous cherchez le logiciel pour votre entreprise, pour le vendre, le changer, etc., l'aspect le plus important est la licence. En regardant l'inclusion de busybox sur les routeurs WLAN et à la suite des actions en justice, les entreprises pensent "open source = faites ce que vous voulez".

Quelques autres choses: je recherche également la date de dernière mise à jour et une communauté active, donc forum, peut-être d'autres pages qui ont le logiciel comme sujet.

mec
la source
1

Sous Linux, je vérifierais quels logiciels sont fournis par votre distribution. Les logiciels emballés ne se limitent pas à simplement opensource / GPL - Ubuntu, Gentoo et SLES incluent au minimum des logiciels propriétaires dans leurs listes de paquets. Bien qu'il n'y ait aucune garantie que ces packages fonctionneront aussi efficacement que le logiciel de base de la distribution - quelqu'un a investi du temps et des efforts pour préparer un package.

jay_dubya
la source
1

Je regarderais principalement la maturité et l'activité. Si cela semble raisonnablement mature et qu'il semble y avoir une quantité décente d'activité (activité forum ou wiki par exemple), je peux me sentir assez à l'aise. Ensuite, je sais qu'il y a de fortes chances que les bogues soient résolus et que je puisse obtenir de l'aide pour les problèmes qui surviennent. Je choisirais un projet actif qui ne correspond pas parfaitement à mes besoins, plutôt qu'un projet qui semble être une correspondance parfaite mais qui semble mort, n'importe quel jour de la semaine.

En ce qui concerne la maturité, cela dépend à peu près de l'utilisation prévue. Si c'est quelque chose que je dois déployer instantanément et qui ne peut pas échouer ou causer des problèmes, la maturité sera évidemment un facteur assez important. Si je peux vivre avec quelques bizarreries et que ce n'est pas critique avec un certain temps d'arrêt, je préfère regarder les perspectives d'avenir.

Mikael Grönfelt
la source