Pourquoi certaines bibliothèques open source ne fournissent-elles pas de binaires? J'ai remarqué que certains projets s'en remettaient à des tiers qui maintiennent les versions actuelles du logiciel, en particulier pour les versions Windows.
Je demande parce que cela semble être un obstacle à l'adoption d'une bibliothèque. C'est plus de travail pour le développeur car il doit configurer son environnement pour le construire. Un développeur doit également s'inquiéter d'avoir introduit des bogues en construisant la bibliothèque de manière incorrecte.
EDIT : Quelques mises à jour pour répondre aux commentaires et réponses. J'ai supprimé les exemples car ils ne sont pas au centre de la discussion. J'ai également reformulé ma question car "certaines bibliothèques open source fournissent" plutôt que "les bibliothèques open source ont tendance à fournir" ... ne réalisaient pas que les gens s'en offusqueraient.
la source
Réponses:
Parce que créer des binaires Windows est un travail complètement différent nécessitant une base de connaissances et un ensemble d'outils complètement différents. Les gens semblent avoir du mal à comprendre cela à propos des développeurs Linux, alors permettez-moi de changer la donne.
la source
Le Caire est une bibliothèque, pas une application. Postgres semble avoir des binaires Windows . Les petits projets ne fournissent souvent pas de builds car ils n'ont pas l'infrastructure / les ressources.
la source
.dll
très souvent, donc ces binaires seraient largement inutiles pour certains d'entre nous. Une source pure serait mieux.Cela fait partie de la philosophie open source de «si vous voulez que quelque chose soit fait, prenez une pelle». Naturellement, cela réduit la charge de travail des développeurs si les utilisateurs compilent simplement le programme eux-mêmes. Pas besoin de vous soucier de toutes ces architectures, OS, etc ...
Mais, si vous créez un produit de niveau consommateur (Firefox, Paint.NET, Audacity, Keepass, etc.) et que vous vous souciez d'acquérir des utilisateurs, vous devriez toujours, toujours, toujours! inclure des binaires. Probablement seulement 2% des personnes qui tombent sur votre site Web et qui sont intéressées par votre produit vont:
(Évidemment, sur Linux, les choses sont beaucoup plus saines, mais la plupart des consommateurs utilisent toujours Windows.)
Il est beaucoup plus facile pour les nouveaux venus de dire "ooh, version Windows! Téléchargez. Exécutez".
Cependant, de nombreux projets open source ne sont pas au niveau des consommateurs; ils ciblent les programmeurs, qui ont une tolérance beaucoup plus élevée pour ce genre d'épreuve, et les binaires sont donc des bricolages. D'après mon expérience, les programmeurs peuvent être tout aussi paresseux que les utilisateurs, alors soyez averti. :)
la source
Les créateurs d'applications écrites dans un environnement Write Once Compile Anywhere (C, C ++, etc.) bénéficient de la réduction de l'étape de compilation aux distributeurs (apt, rpm, yum, etc.) qui créent et empaquettent des binaires pour les architectures populaires. Cela permet d'obtenir une application portable maximale avec moins d'efforts de la part des créateurs et leur permet de passer plus de temps à se concentrer sur leur compétence de base (développer l'application, pas la compiler et l'héberger pour plusieurs architectures). Certains créateurs d'applications WOCA sont prêts à payer le coût supplémentaire dans des cas spéciaux comme Windows parce que - eh bien - personne d'autre ne le fera, les utilisateurs s'y attendent, et ils ne veulent pas abandonner le marché.
D'un autre côté, les applications écrites dans un environnement Write Once Run Anywhere (Java) ou pour une architecture cible spécifique (applications OS X, par exemple) sont capables de fournir un seul binaire et le font souvent car elles n'ont qu'à payer la compilation coûte une fois.
Enfin, leurs utilisateurs sont généralement à l'aise de construire à partir de la source ou d'utiliser leur gestionnaire de packages de système d'exploitation, de sorte que ce modèle offre également une meilleure convivialité. Les utilisateurs savent où trouver les binaires (leur gestionnaire de packages), ont une expérience cohérente du cycle de vie de l'installation et de la gestion des packages et savent où acquérir la source s'ils en ont besoin.
la source
Pourquoi voudrais-je mâcher la bande passante en vous fournissant une version (qui peut évidemment être très grande) plutôt que de construire la source que je vous fournis de toute façon? Sans oublier que la construction d'un projet sur votre propre machine donnera toujours de meilleurs résultats car il est compilé spécifiquement pour votre plateforme.
la source
Je peux penser à deux raisons.
Tout d'abord, vous disposez de plusieurs systèmes d'exploitation exécutés sur plusieurs types de matériel; le nombre de cibles binaires que vous auriez à construire devient ingérable. Il existe trois versions de Windows encore couramment utilisées (XP, Vista, 7) fonctionnant sur du matériel 32 bits ou 64 bits; c'est 6 cibles binaires juste là. La situation est pire du côté de Linux, avec une plus grande variété de distributions exécutées sur Dieu sait quel matériel (x86, PPC, MIPS, SPARC, PA-RISC, etc.). Allez-vous construire pour chaque combinaison possible? Avez-vous même l'équipement et / ou le logiciel pour le faire? S'il y a quelqu'un là-bas qui exécute toujours (Dieu nous aide) NT sur un PII, allez-vous construire un binaire pour eux?
Deuxièmement, la source d'expédition signifie que les utilisateurs peuvent optimiser la construction pour leur environnement particulier; ils peuvent activer toutes les optimisations dont ils ont besoin, ou modifier la source elle-même si nécessaire.
la source
Généralement, la valeur d'un projet open source, qu'il s'agisse d'une application, d'un système, d'un module ou d'une bibliothèque, est qu'il peut être étudié et / ou modifié selon les besoins. La distribution de la source est intrinsèque au modèle de publication.
La distribution d'un binaire court le risque qu'il ait été modifié d'une manière ou d'une autre à des fins néfastes. La compilation du projet à partir de la source tente d'atténuer ce risque.
la source
Cela peut avoir plusieurs raisons. De nombreux projets open source (sinon la plupart) démarrent sous Linux. Ainsi, le projet initial est fait pour ce système et l'emballage est fait par les membres de l'équipe.
La création d'un programme d'installation Windows est un travail supplémentaire qui nécessite des connaissances que les développeurs Linux peuvent ne pas avoir. Donc, si quelqu'un de l'extérieur de l'équipe principale assume ce travail, il est souvent mentionné spécialement.
La même chose peut être vraie pour d'autres systèmes comme OS X ou même des distributions Linux spécifiques. Tout dépend de qui a les connaissances et le temps de faire le travail supplémentaire.
la source