Pouvons-nous rendre l'open source plus durable?
Si vous êtes un développeur de logiciels, vous ne vous rendez peut-être pas compte que l'économie derrière l'open source n'a aucun sens pour la plupart des gens.
Par exemple, considérez cette conversation que j'ai eue avec une personne normale il y a quelques jours. [19659003] Moi: «Désolé, je suis un peu en retard. Journée folle au travail ".
Ami:" Ah, pas de soucis, quoi de neuf? "
Moi:" Nous essayons juste de choisir entre trois cadres JavaScript différents pour ce projet, et la date limite est la semaine prochaine nous devons donc choisir bientôt.
Ami: «Ah, gotcha. Eh bien, quel framework est le moins cher? "
Moi:" Oh, ils sont tous gratuits. "
Ami: ?
Dans la plupart des industries, vous payez pour des outils qui vous aident à faire votre travail, mais dans le monde du logiciel —Un monde où il y a une tonne d'argent en jeu — la plupart d'entre nous construisons des applications en utilisant une variété d'outils gratuits.
L'éditeur de texte le plus populaire? Code Visual Studio: gratuit. Le fournisseur de contrôle de source le plus populaire? git — gratuit. Les bibliothèques JavaScript les plus populaires? React, Angular, Vue et leurs concurrents, tous gratuits. Bien que les logiciels payants existent, il est étonnant de voir à quel point notre infrastructure critique est passée à des logiciels libres et open source au cours des dernières années.
Et bien que ce passage aux outils libres et open-source ait été énormément bénéfique pour les développeurs, et pour les logiciels en général, ce même changement a également eu des conséquences. Dans cet article, je vais discuter de l'une de ces conséquences: un modèle économique problématique, et je vais discuter de ce que je pense que nous pouvons faire à ce sujet.
Commençons cette discussion en jetant un bref regard sur la façon dont nous nous sommes retrouvés avec le modèle open-source que nous avons aujourd'hui.
Comment cela s'est-il produit?
Pour vous donner une idée de la façon dont les temps ont changé, voici quelques citations de cadres de Microsoft du début des années 2000 qui
«L'open source est un destructeur de propriété intellectuelle. Je ne peux pas imaginer quelque chose de pire que cela pour le secteur des logiciels et celui de la propriété intellectuelle. »
– Jim Allchin, ancien chef de Windows
« Comme l'histoire l'a montré, alors que ce type de modèle (ouvert source) peut avoir sa place, il ne réussit pas à créer un marché de masse et à rendre un logiciel puissant et facile d'utilisation largement accessible aux consommateurs »
– Craig Mundie, ancien vice-président senior de Microsoft
Bien que ce soit facile pour rire de ces citations aujourd'hui, ce n'étaient pas des opinions très radicales à l'époque. Même si l'open source était déjà un concept établi et en croissance en 2000, la plupart des entreprises utilisaient principalement des solutions payantes pour créer des applications.
J'ai commencé ma carrière dans les logiciels au début des années 2000, et mon premier emploi a consisté en un IDE basé sur IBM pour l'écriture. Code Java, une solution propriétaire de contrôle des sources dont je préfère ne pas me souvenir, et un ordinateur central IBM pour héberger nos applications de production.
Open source et économie
Les projets open source commencent souvent comme une passion projet pour un individu ou un petit groupe, qu'ils partagent ensuite avec le monde gratuitement. Le fait que cela soit courant dans le monde du logiciel est en fait assez impressionnant.
Mais cela ne signifie pas que le travail de ces développeurs est 100% altruiste. La principale incitation à travailler sur un projet open source aujourd'hui est l'avancement professionnel. Par exemple, de nombreux anciens membres de l'équipe jQuery ont désormais des rôles importants dans les grandes entreprises technologiques. Plusieurs contributeurs de MooTools travaillent maintenant sur React sur Facebook . Personnellement, j'ai travaillé sur jQuery UI pendant deux ans, et cette implication m'a aidé à obtenir l'emploi que j'ai aujourd'hui chez Progress.
Il n'y a rien de fondamentalement mauvais avec l'avancement professionnel comme principale incitation à travailler sur l'open source, mais cela peut devenir problématique lorsque le ou les auteurs du projet réussissent. Parce que, en fin de compte, une fois que vous avez atteint la notoriété que vous aviez en tête, traiter soudainement des problèmes aléatoires de GitHub ne semble plus être la meilleure façon de passer vos samedis soirs.
Dans cette situation, de nombreux développeurs essaient de rassembler des dons pour couvrir leur temps et leurs efforts. Par exemple, si vous regardez en arrière sur le site de jQuery de 2007, notez comment il y avait déjà un bouton de donation dans le coin inférieur gauche de l'écran.
core-js qui comprend une demande de don manifeste à chaque fois que vous installez la bibliothèque, et qui a généré une controverse .
Merci vous pour en utilisant core-js ( https : //github.com/zloirock/core-js) pour bibliothèque standard JavaScript de polyfilling!
Le projet a besoin de votre aide! Veuillez envisager de prendre en charge de core-js sur Open Collective ou Patreon :
> https : //opencollective.com/core-js
> https : //www.patreon.com/zloirock
En outre, l'auteur de core-js ( https : //github.com/zloirock) recherche pour un bon travail -)
Dans un mouvement encore plus controversé, l'année dernière, le projet JavaScript standard a commencé à diffuser des annonces chaque fois que vous avez installé son package .
Je suppose que nous vivons maintenant dans l'ère "Annonces dans le journal d'installation npm" pic.twitter.com/pSnBnMDNSg
– Atome de Quine (@qntm) 24 août 2019 [19659053]
Comme vous pouvez vous y attendre, les développeurs n'étaient pas très satisfaits de l'annonce et npm a rapidement pris des mesures – interdisant tout package qui "affiche des annonces lors de l'exécution, lors de l'installation, ou à d'autres étapes du cycle de vie du développement logiciel, comme via les scripts npm. »
Indépendamment de ce que vous pensez des publicités dans vos journaux npm, il y a probablement une chose sur laquelle nous pouvons tous nous mettre d'accord: du point de vue économique, l'idée que les auteurs veulent de l'argent pour leur travail ne devrait pas être surprenant du tout.
Dans le monde open source d'aujourd'hui, il y a une énorme déconnexion entre la quantité de projets de valeur tels que core-js et Standard, et les responsables financiers gagnent en retour de leurs efforts.
Avec ce contexte à l'esprit, regardons à ce que je crois sont trois façons différentes que nous pourrions essayer de combler ce déficit de financement.
Solution 1: Fondations
La plus ancienne solution au financement open source se présente sous la forme de fondations. La fondation la plus connue est la Linux Foundation qui a été fondée en 2000, et qui compte aujourd'hui un nombre fou de membres corporatifs . La fondation prend en charge certains des plus grands projets open source, de Linux lui-même, à Node.js, à jQuery, et à peu près tout le reste.
tonne de projets .
Bien que la Linux Foundation soit la plus grande fondation logicielle, il en existe de nombreuses autres pour plus par exemple, la .NET Foundation aide à soutenir les projets .NET et FINOS la Fintech Open Source Foundation, prend en charge les projets open source dans l'espace financier.
Bien que ces fondations aient fait un bien indiscutable et soient la raison pour laquelle les grands projets open source comme Linux restent maintenus, ils ne sont pas une solution miracle pour résoudre le financement open source.
Peut-être le plus gros problème avec fondations est l’ampleur du projet ts qu'ils soutiennent. Si vous êtes une entreprise et que vous payez de l’argent pour rejoindre une fondation – et c’est généralement beaucoup d’argent – vous comptez sur la fondation pour allouer ces fonds aux projets open source individuels de manière appropriée. Et quand il y a un nombre fou de projets que ces fondations soutiennent, il n'y a aucune garantie que votre argent ira aux projets que votre entreprise utilise ou dont elle se soucie. Il y a également une chance que votre argent soit investi dans un projet ou une initiative open source d'un concurrent.
Pour cette raison, je considère les fondations comme une excellente solution pour les grands projets établis, tels que Linux, Node.js et jQuery, mais moins utiles pour les projets open source moins établis. Mais la bonne nouvelle est qu'il existe un autre modèle destiné à ces petits projets qui a retenu beaucoup l'attention ces derniers temps: les abonnements.
Solution 2: les abonnements
Les abonnements sont depuis longtemps un moyen populaire pour les auteurs de projets open source de lever des fonds.
Au début des années 2000, des services comme PayPal étaient populaires pour les dons ponctuels et les paiements récurrents. Plus récemment, Patreon a popularisé un modèle d'abonnement pour financer des projets open-source, et un certain nombre de plates-formes d'abonnement différentes sont désormais en concurrence pour fournir un service similaire.
Par exemple, la Plateforme Open Collective lancée en 2016, offrant un modèle de financement qui tourne autour des dons publics.
Bootstrap et core-js . Parce que les dons sur Open Collective sont publics, ils fournissent une vue rare sur le montant d'argent que certains de ces projets prennent réellement. Par exemple, voici les principaux contributeurs financiers de Bootstrap sur Open Collective.
GitHub Sponsors un programme de parrainage open source intégré à GitHub lui-même. GitHub a un avantage concurrentiel assez important pour assurer le succès des sponsors GitHub, car GitHub lui-même a été l'endroit canonique pour héberger des projets open source au cours de la dernière décennie.
Au crédit de GitHub, cependant, ils prennent des mesures pour s'assurer que leur programme est positionné aux côtés de services de dons concurrents. Par exemple, tout projet sur GitHub peut désormais créer un fichier
.github / FUNDING.yml
et dans ce fichier, vous pouvez répertorier toutes les options de parrainage offertes par votre référentiel – que ces options soient Sponsors GitHub ou non.Si vous le faites, GitHub affichera un bouton «sponsor» sur votre référentiel, qui répertorie toutes ces options de sponsoring pour vos utilisateurs. Par exemple, voici à quoi ressemble ce processus pour le référentiel GitHub core-js .
Tidelift ), qui a une offre assez unique. Tidelift est un produit d'abonnement mensuel de ~ 1 500 $ qui fournit quelque chose qu'ils appellent "open source managé, "Que le site Web de Tidelift décrit en trois parties:
- Outils . Nous fournissons des outils pour garder une trace de toutes les dépendances que vous utilisez, signaler les problèmes et appliquer des politiques
- Gestion . Nous gérons le noyau, la mission- packages critiques en votre nom, y compris la recherche et la résolution de problèmes afin que vous n'ayez plus à le faire
- Mainteneurs . Nous recrutons des mainteneurs pour de nombreux projets importants et les rémunérons pour prévenir de manière proactive les problèmes et traiter les causes profondes des problèmes [19659081] Je suis un peu sceptique approche, à la fois parce que cela semble être un moyen indirect de soutenir les mainteneurs open source et parce que je ne vois pas beaucoup d’incitation pour les entreprises à s’abonner. Néanmoins, j'aime qu'il y ait des entreprises qui essaient de nouvelles façons innovantes de créer un modèle de financement open source différent. Et je dois également noter que Tidelift a levé un financement choquant de 40 millions de dollars donc il y a des investisseurs qui pensent que le modèle de Tidelift a un réel potentiel.
Dans l'ensemble, c'est peut-être la principale raison d'être optimiste l'avenir des services d'abonnement est le nombre actuel de concurrents. Plus de concurrents signifie plus d'idées, et si l'économie fonctionne comme il se doit, les meilleures idées trouveront leur place dans de plus en plus de projets. Et le fait que GitHub est maintenant impliqué et fournit des boutons sponsor sur les référentiels, aidera à garantir que ces services de parrainage restent visibles.
La raison d'être pessimiste à propos des services d'abonnement est qu'ils comptent beaucoup sur la bonne volonté. Convaincre les entreprises de donner de l'argent n'est pas facile, et même si ces services d'abonnement offrent des incitations, telles que figurer sur une liste des principaux donateurs, je pense qu'ils devront offrir davantage aux entreprises en échange de leur argent.
Avant de conclure notre tournée de solutions de financement open source, je veux discuter d'une dernière option à laquelle vous n'avez peut-être pas pensé.
Solution 3: payer pour un logiciel
En recherchant cet article, j'ai lu beaucoup d'opinions sur la façon de réparer l'ouverture -source economics, et aucune d'entre elles n'incluait la solution économique la plus simple: demander aux entreprises de payer directement le logiciel qu'elles utilisent.
J'ai beaucoup d'expérience personnelle avec les logiciels gratuits et payants, car j'ai passé ma carrière avec les deux , et au fil du temps, je suis passé d'un fan de l'open source inconditionnel à une approche beaucoup plus pragmatique quand il est logique de payer pour un logiciel – en grande partie parce que j'ai vu la difficulté de financer des projets open source de première main.
J'étais membre du free-and-o pen-source Projet jQuery UI pendant deux ans, et je suis fier que nos composants aient aidé les développeurs Web du monde entier à créer de meilleures applications. Mais en même temps, j’ai aussi vu que lorsque les intérêts des mainteneurs disparaissent et que l’argent du parrainage ne peut plus couvrir les factures, un projet peut rapidement disparaître. Aujourd'hui, jQuery UI fait techniquement partie de la Linux Foundation, mais la dernière version du projet a eu lieu en 2016.
J'ai ensuite travaillé dans le cadre du projet Free-and-open-source NativeScript pendant cinq ans, et notre cadre a aidé des tonnes de développeurs JavaScript à créer des applications iOS et Android. Mais en travaillant sur NativeScript, j'ai appris à quel point il est difficile de financer un framework lorsque vous ne gagnez pas d'argent directement, en particulier lorsque vous êtes en concurrence avec React Native de Facebook et Flutter de Google, des entreprises qui ont un budget apparemment sans fin et des objectifs de revenus nuls. [19659004] Contrairement à mon travail sur jQuery UI et NativeScript, depuis plusieurs mois, je suis passé à travailler sur l'équipe KendoReact où nous vendons des composants d'interface utilisateur premium aux développeurs de React. Alors qu'avec jQuery UI et NativeScript j'avais du mal à expliquer les finances de tout ce que je faisais, avec KendoReact c'est assez simple: les développeurs nous paient de l'argent, et en retour, nous leur donnons une suite de superbes composants d'interface utilisateur.
ici . . [19659004] Les logiciels payants présentent un certain nombre d'avantages. En payant, vous obtenez un certain nombre de garanties que vous n'obtenez pas d'un projet aléatoire que vous trouvez sur GitHub, par exemple des mises à jour garanties, des API plus cohérentes et une entreprise avec laquelle vous pouvez entrer en contact lorsque les choses se produisent.
Cela ne veut pas dire que les logiciels payants sont parfaits. Faire payer de l'argent pour les logiciels rend plus difficile la création d'une communauté, car vous n'aurez jamais autant de clients payants que vous aurez d'utilisateurs gratuits. vous oblige à avoir une infrastructure d'entreprise, w ce qui peut être onéreux pour les petits projets.
Pour ces raisons, je ne suggère pas que tous, voire la plupart des logiciels, facturent de l'argent. Les logiciels open source ont fait beaucoup de bien pour le monde et devraient continuer à être la façon dont nous développons la plupart de nos logiciels. Mais je crois que les logiciels payants ont une place et ne devraient pas être quelque chose que les développeurs rejettent immédiatement par principe.
Avec les fondations et les dons, faire payer de l'argent pour les logiciels devrait être considéré comme un moyen viable de financer des projets logiciels.
Conclusion
Dans le monde des logiciels d'aujourd'hui, il existe un énorme décalage entre la valeur des projets open source et la compensation financière qu'ils reçoivent en retour.
Cette déconnexion a stimulé la création d'un certain nombre de services pour tenter pour rendre l'économie open source plus saine d'esprit. Les fondations aident à garantir que les grands projets open source continuent de fonctionner et les services d'abonnement peuvent aider les petits responsables de projets open source à payer leurs factures.
J'espère que, en général, nous pouvons encourager les entreprises à payer de plus en plus pour les logiciels qu'elles utilisent . Ces paiements peuvent prendre la forme d'adhésions à des fondations, d'abonnements à des projets open source ou de paiements aux logiciels qu'ils utilisent directement. Espérons que l'innovation en cours dans ce domaine contribuera à faciliter ces paiements et encouragera davantage de sociétés à redonner à une industrie dont elles bénéficient énormément. S'ils le font, cela nous aidera à expliquer comment l'open source fonctionne à nos amis et à nos familles beaucoup plus facilement.
Source link