Quelles sont les alternatives open source à Black Duck Software?Artboard


Il est follement difficile de faire un projet open source réussi.

Contrairement à ce que vous pouvez lire dans la réponse de Franklin Veaux (pour qui j'ai énormément de respect), il n'y a pas un seul logiciel sur la planète qui ne soit pas construit au-dessus d'un logiciel open source d'une manière ou d'une autre.


Dans de très nombreux domaines, la question des " inconvénients " des logiciels open source n'a même pas de sens car il n'y a pas d'alternative.

Ce n'est pas non plus comme si vous deviez choisir entre support et open source. Beaucoup des entreprises open source les plus prospères existent en fait pour fournir un support à leurs produits open source. Ce ne sont pas des applications de bureau - les applications de bureau sont comme les licornes du logiciel open source. Elles sont à la limite du mythique et ont tendance à paraître pires de près. Ce sont les blocs de construction clés de l'internet que vous expérimentez et de la technologie dans son ensemble.


Vous pouvez regarder des entreprises comme Elastic, Redhat, Hashicorp, Zyte, des centaines et des centaines d'entreprises, qui offrent des logiciels open source et leur produit est le support avec. Même des exemples comme Adobe ne peuvent pas être dits purement closed source car Adobe a vraiment ouvert publiquement de grandes parties de leur codebase. Le plus célèbre est le standard PDF.

Alors, maintenant que nous en avons fini avec cette notion stupide, parlons des inconvénients réels des logiciels open source :

  1. Une charge beaucoup plus élevée pour la documentation et l'utilisabilité
    1. Comme toute personne ayant travaillé dans une startup peut l'attester, une base de code à source fermée peut devenir assez insondable assez rapidement. Absence totale de documentation, absence de tests, vulnérabilités de sécurité flagrantes - la totalité des 9 ans. Ce genre de choses est incroyablement commun dans les bases de code, grandes et petites. Si vous mettez quelque chose comme ça dans la communauté open source, vous serez soit ignoré (auquel cas votre initiative open source a échoué), soit excorié (auquel cas votre entreprise peut échouer).
    2. Un projet open source est fondamentalement fait pour soutenir le développement externe. Si vous ne payez pas les gens pour patauger dans le code, ils sont beaucoup moins disposés à supporter une mauvaise base de code. Pour cette raison, la qualité du code d'une bibliothèque open source populaire va être à des années-lumière de toute option closed source équivalente.
  2. Community Building is HARD
    1. Comme je l'ai dit, le but ultime d'un projet open source est d'obtenir des contributions tierces productives. Comme mentionné ci-dessus, la barre pour le code open source est très, très haute. En outre, vous ne payez pas les gens pour cela. Cela signifie essentiellement que votre projet doit être assez cool et accessible pour capter le temps des meilleurs professionnels de l'industrie dans leur temps libre très limité.
    2. Il est beaucoup plus courant de recevoir une centaine de plaintes sur le manque de documentation, l'installation difficile ou le commit mal conçu d'un étudiant AP comp sci trop zélé.
    3. La licence est compliquée
      1. Disons que je prends un repo avec une licence copyleft. Disons AGPL. Ensuite, disons que quelqu'un décide d'utiliser cet a piecepart dans un nouveau repo qu'il licencie sous la licence BSD, plus permissive. Imaginons ensuite qu'une entité commerciale emballe ce repo BSD dans un microservice. Quelle est l'obligation de l'entreprise ?

        Faites-vous tourner la tête ? Oui. Les licences sont super confuses, souvent contradictoires, et sont si rarement plaidées que vous ne pouvez pas vraiment avoir confiance en une interprétation spécifique. Même les pierres angulaires de l'Internet comme Creative Commons sont de grands cauchemars juridiques vagues et effrayants.

    4. Airer votre linge sale
      1. Comme le montre l'acquisition d'Autonomy (et une centaine d'autres échecs plus petits) - il est très rare d'avoir une réelle transparence dans la base de code d'une entreprise. Légalement, même l'acquéreur le plus agressif n'est pas autorisé à inspecter directement le code source d'une entreprise. L'inspection doit se faire via des outils automatisés et des tiers experts qui ont des exigences de confidentialité strictes.
      2. Si vous ouvrez quelque chose de clé en source, vous perdez cette couverture aérienne. Tout acquéreur potentiel vous jugera bien plus sévèrement qu'un système comparable à source fermée parce qu'il le peut, et parce qu'il existe un groupe de personnes qui pensent que c'est leur travail de passer au crible votre base de code à la recherche d'un hash md5.

Franchement ? L'open sourcing de votre logiciel n'a presque jamais de sens. C'est une énorme dépense continue et une responsabilité pour un retour assez minime. De nombreux types de logiciels n'ont tout simplement pas de sens dans une offre open source. Si les données privées ou le calcul sont une partie clé de votre offre, alors il n'y a pas beaucoup d'intérêt à open sourcer votre code.

Attendu, indico fait de l'open source dans certains domaines assez clés de notre technologie. La raison de cela est culturelle plus que tout. Nous le faisons pour redonner à la communauté et pour nous forcer à un standard plus élevé pour certaines pièces clés de notre codebase. Je ne dirais pas que nous avons des dépôts open source vraiment réussis, bien que nous ne pourrions certainement pas faire notre travail sans eux.