Lorsque le projet jQuery a débuté, je me souviens de la passion de l'équipe pour aider les développeurs à utiliser la bibliothèque JavaScript jQuery. Ce fut un travail d'amour avec chacun d'entre nous qui a passé d'innombrables heures, jour et nuit, à contribuer à la croissance du projet et de la communauté de développeurs. Et nous les avons fait gratuitement parce que nous avons tout simplement adoré le faire. Mais au fur et à mesure que le projet se développait, les attentes de la communauté en termes de fonctionnalités et de support grandissaient. Et c’est là que la plupart des efforts en code source ouvert échouent.
Je pense que la plupart des développeurs qui ont mis en place un logiciel libre le font pour des raisons altruistes, voulant redonner à la communauté quelque chose qui puisse résoudre un problème critique..
À mesure que les besoins de la communauté grandissent, vous devez trouver des moyens de disposer de plus de temps pour vous concentrer sur les fonctionnalités. Vous pouvez le faire en développant votre équipe, mais ce n'est pas toujours une solution. Sur le projet jQuery, nous avons augmenté la taille de l’équipe et le travail délégué, mais malgré cela, étant basé sur le volontariat, le projet dépendait de la disponibilité des autres personnes. Et comme nous avons tous des emplois à temps plein et beaucoup ont des responsabilités familiales, je peux dire que nous avons réussi à accomplir beaucoup de choses avec très peu de disponibilité..
L’autre option qui s’est manifestée a été la capacité de financer le temps nécessaire pour se concentrer sur des tâches spécifiques. Cela se présentait généralement sous la forme de parrainages d'entreprises de grandes marques qui avaient réalisé d'importants investissements internes dans jQuery et souhaitaient que le projet aboutisse. En fait, cela a bien fonctionné, car cela a permis aux membres de l'équipe de pouvoir se concentrer spécifiquement sur les besoins de la communauté et de concentrer leurs capacités sur les domaines difficiles qui nécessitaient une attention particulière de la part du personnel..
Maintenant, s'il vous plaît, ne croyez pas que cela vient du jour au lendemain Il a fallu beaucoup de temps avant que quiconque veuille contribuer au projet et il était essentiel de prouver la valeur de l'effort. jQuery est un élément important de nombreux sites et produits, mais il a été développé au fil de nombreuses années de dur labeur et de cohérence et n’est pas la norme pour la plupart des projets de logiciels libres. Et la plupart des projets d’OSS n’auront jamais le niveau de succès et de notoriété que jQuery a tout simplement en raison de son timing ou de sa "trop grande place".
Et il n'y a absolument rien de mal à cela. Je pense que la plupart des développeurs qui publient un logiciel libre le font pour des raisons altruistes, dans le but de redonner à la communauté quelque chose qui puisse résoudre un problème critique. Alors, comment ces projets ont-ils une longueur d'avance, comme le projet jQuery?
Explorons cela.
Je n'ai pas rencontré quelqu'un (à la fois hors ligne et en ligne) qui n'a pas utilisé de logiciel open source. C'est un gros problème car cela montre que le logiciel libre est partout. Les développeurs s’en remettent pour lancer leur prochaine bonne idée. Les entreprises en tirent parti pour réduire leurs coûts. Et les gouvernements l'utilisent pour s'assurer de répondre aux besoins de leurs communautés. Dire que c'est omniprésent serait un euphémisme.
La seule chose que je ressens depuis longtemps, cependant, est qu’il existe un déséquilibre évident entre les consommateurs et les contributeurs. La facilité avec laquelle une personne peut récupérer un logiciel OSS et le faire fonctionner grâce à des licences flexibles et à un coût faible à nul rend incroyablement facile d'oublier que quelqu'un écrit et prend en charge ce logiciel. Si vous consommez simplement sans tenir compte du temps, des efforts et des coûts inhérents à ce logiciel, il est fort probable que vous soyez affecté par la suite si le projet échoue. La route vers les logiciels libres est encombrée de projets échoués et abandonnés, créés par des développeurs qui avaient toutes les bonnes intentions mais ne disposaient tout simplement pas des ressources nécessaires pour le maintenir..
Cela ne veut pas dire que vous devez utiliser une solution complète, comme Facebook l’a fait avec PHP, mais il existe de nombreuses façons d’aider un projet dont vous avez tiré parti de quelque chose qui a de la valeur pour vous et votre entreprise. Quelques fruits à portée de main sont:
De nombreux projets ont des pages similaires à celle-ci qui expliquent spécifiquement comment contribuer.
Si, pour une raison quelconque, vous ne pouvez en proposer aucun, vous devriez envisager de contribuer au financement de certains de ces efforts. "Comment?" tu demandes.
Des plates-formes ont été créées pour résoudre ce problème et nous allons jeter un coup d'œil à deux des plus populaires..
Récemment, j'ai rencontré une collecte de fonds pour RVM (Ruby Version Manager). Si vous avez déjà codé dans Ruby on Rails, alors je suis sûr que vous savez à quel point RVM est important. Malheureusement, son sponsor principal mettait fin à son soutien et le projet devait trouver un autre sponsor, alors ils se sont dirigés vers un nouveau site appelé Bountysource, qui vise à fournir une plateforme de financement pour les logiciels open source..
J'ai trouvé cela totalement génial car il n'y avait pas vraiment de ressource comme celle-ci pour le projet jQuery (ou MooTools, Prototype, etc.) qui pourrait permettre à un projet de créer une page de collecte de fonds avec tous les outils permettant de collecter des dons. Et bien sûr, cela permet aux particuliers de naviguer dans les projets qu’ils souhaitent aider à financer et à faire des dons via PayPal ou Google Wallet..
Ce qui m’impressionne vraiment, c’est le fait qu’un projet peut répertorier les tâches qu’il souhaite accomplir et que, grâce au crowdsourcing, la communauté peut contribuer au financement de l’achèvement de fonctionnalités spécifiques par le biais de paiements aux développeurs (appelés «primes»). Alors dis que tu voulais vraiment $. Différé fonctionnalité dans Zepto.js. Vous pouvez contribuer à la demande de fonctionnalité pour inciter la communauté à mettre en œuvre et une fois que c'est fait, la prime sera versée à la personne qui l'a fait..
Le service répond aux besoins du projet, même au point de décomposer les primes en fonction de tâches et de valeurs spécifiques, mais permet également à la communauté de décider de ce qui est important et de financer le développement de cette fonctionnalité. C'est un peu un KickStarter pour open-source. Très sympa.
Gittip est un service que j'ai découvert grâce à John Resig. Il a été un véritable défenseur du service et cela en dit long.
Pour citer John:
J'ai vu une grande opportunité pour l'équipe de développement de la Khan Academy de redonner à la communauté Open Source d'une manière non liée au code..
Il est très différent de Bountysource en ce sens qu'il vise à offrir de petits cadeaux en espèces hebdomadaires à des personnes qui, selon vous, vous offrent une valeur. Vous pouvez donner le montant de votre choix jusqu'à 100 $ par semaine. Il s’agit en réalité d’une excellente ressource pour les projets individuels où le seul codeur ajoute des fonctionnalités, répond aux e-mails de support et travaille avec la communauté. Cela peut sembler sans importance, mais même donner cinq dollars par semaine à ce développeur peut être ce dont il a besoin pour s'assurer qu'ils savent que leur travail est apprécié..
Plus de 650 communautés sont répertoriées sur Gittip et en choisir une affichera tous les principaux donateurs et destinataires:
Cela vous permet également d'explorer des pages de profil individuelles pour vous permettre de contribuer à ceux qui vous inspirent:
Et pour rester en ligne avec son éthique OSS, Gittip vous permet même de vérifier son code source via son référentiel Github..
Le but de cet article est de faire comprendre l'importance de contribuer à l'open source. Si vous êtes un consommateur, vous devriez alors évaluer sérieusement la valeur de cette bibliothèque ou de cet outil et déterminer comment le prendre en charge. Si le projet n'est pas sur Bountysource ou Gittip, pourquoi ne pas contacter le propriétaire du projet et lui demander de vous rejoindre afin que vous puissiez faire un don.
Et ce n'est pas parce que vous n'êtes pas intéressé par du code que vous ne pouvez pas exploiter d'autres compétences pour faire progresser un projet. À mon avis, le plus gros besoin d’un projet open source, ce sont des gens qui savent travailler avec une communauté. Les compétences générales sont si importantes et de par mes expériences, elles manquent cruellement.
L'essentiel est qu'il n'y a vraiment aucune excuse pour ne pas contribuer lorsque vous trouvez quelque chose de précieux. Ce n'est pas parce que c'est "gratuit" que cela ne signifie pas que beaucoup d'investissement n'y a pas été investi. Si vous ne le supportez pas, cela risque de disparaître un jour..