De 0 à 1 : la voie Apache d'Apache APISIX

API7.ai

December 16, 2019

Uncategorized

Apache APISIX est un projet très jeune, open source en juin de cette année, a rejoint le CNCF Panorama en juillet, et est entré dans l'Apache Incubator en octobre. Je vais donc partager avec vous comment APISIX est passé de 0 à 1 et est entré dans l'Apache Incubator.

Apache APISIX compte maintenant 17 committers, provenant de 16 entreprises différentes, et est un projet très communautaire. Chaque committer dispose d'une voix et décide des grandes choses comme les releases, l'élection de nouveaux committers et PPMC.

La voie Apache

La voie Apache est un concept que nous connaissons tous : la communauté avant le code. Un mauvais code peut être changé, et les mentors d'Apache ne vous coach pas sur la manière d'écrire un code de niveau supérieur, ils se soucient davantage de savoir si la communauté est saine et en croissance, et tant qu'il y a une bonne communauté, un mauvais code sera refactoré en un meilleur code par des personnes de niveau supérieur. Donc tant que la communauté est là, le projet survivra, et c'est la chose la plus importante chez Apache.

La priorité de la liste de diffusion est un autre point important, ceux qui n'apparaissent pas dans la liste de diffusion sont considérés comme inexistants. C'est en fait un très grand défi en Chine, les gens n'aiment pas beaucoup utiliser les emails culturellement et par habitude : premièrement, le temps n'est pas assez rapide, peut-être 1-2 jours après l'envoi d'un email pour recevoir une réponse ; deuxièmement, beaucoup de choses dans la liste de diffusion sont publiques, certaines personnes aiment discuter en privé ; troisièmement, seul l'anglais peut apparaître dans la liste de diffusion, mais en réalité l'anglais des Chinois n'est pas mauvais, nous sommes bien meilleurs que la plupart des autres pays en anglais. Après tout, nous avons appris l'anglais pendant de nombreuses années, et il existe divers logiciels de traduction, même s'il y a des erreurs grammaticales, ce n'est pas un gros problème.

Le troisième point est la gouvernance par les élites, où chaque membre de la communauté Apache contribue pour gagner plus de voix, et des titres plus élevés signifient plus d'engagement et de responsabilité.

Le quatrième point est la démocratie, tout le monde peut participer au vote Apache, même si vous n'êtes pas dans la communauté Apache, mais pas toutes les voix sont valides. Par exemple, lorsque APISIX est entré dans l'Apache Incubator, je pouvais voter pour le projet, mais je devais écrire "no binding" ensuite pour indiquer que je soutenais et suivais le projet, mais j'étais un observateur, mais ce vote n'était pas décisif pour savoir si le projet pouvait entrer dans Apache. Seuls ceux qui ont contribué à l'incubateur et sont reconnus par la communauté, c'est-à-dire le PMC de l'incubateur Apache, leurs votes sont valides, c'est la démocratie de la communauté Apache.

Modèle de gouvernance pour les communautés open source

Nous savons que de nombreux projets open source sont sous des fondations et certains ne le sont pas. Les projets sous fondations, comme la Linux Foundation et la Apache Foundation, ont un modèle de gouvernance appelé "consensus communautaire", qui nécessite une discussion au sein de la communauté et un vote après avoir atteint un consensus, plutôt qu'un vote direct. S'il n'y a pas de discussion et de consensus, alors le vote est sans signification. Cette efficacité peut être très lente, mais seulement lorsque toute la communauté atteint un consensus, il n'y aura pas de dissension par la suite.

Le deuxième modèle est le consensus des entreprises commerciales, tant que les personnes de l'entreprise commerciale atteignent un consensus, alors le PR ou la fonctionnalité peut être fusionné, et la voix de la communauté est inutile car c'est un projet contrôlé par l'entreprise commerciale, et si vous contribuez du code à l'entreprise commerciale, la décision de fusion est entre les mains de l'entreprise commerciale. Cela peut ne pas importer pour les développeurs individuels, mais cela importe pour les entreprises impliquées dans le projet. Habituellement, les entreprises ont des versions privées, et elles veulent contribuer leurs fonctionnalités à la communauté, mais les entreprises commerciales peuvent les rejeter car elles entrent en conflit avec leurs propres versions commerciales.

Le troisième modèle est le dictateur bienveillant, le plus typique étant Python, où l'individu décide du développement des projets open source.

Les modèles ci-dessus sont les trois modèles des communautés open source, si c'est une entreprise qui choisit un projet, en général nous recommanderons Apache, les projets de la Linux Foundation, c'est d'abord sur le plan juridique qu'il n'y a pas de danger caché, et deuxièmement c'est un consensus communautaire, nous pouvons contribuer à la communauté de cette manière pour obtenir plus de voix, de sorte qu'un cercle vertueux se forme.

Comment entrer dans l'Apache Incubator

Apache compte maintenant près de 50 projets en incubation, dont 10 proviennent de Chine. APISIX est maintenant le seul projet d'une startup domestique à entrer dans Apache, tandis que beaucoup d'autres proviennent de grandes entreprises comme Huawei, Ali et Baidu.

Les termes et étapes suivants doivent être compris pour qu'un projet entre dans l'Apache Incubator :

  • Champion : Il est l'introducteur de votre projet, c'est le rôle le plus important que vous devez contacter en premier, et il doit vous connaître ainsi que le projet.
  • Mentor : Le mentor du projet, après que le projet est entré dans l'Apache Incubator, le Champion se transforme en mentor. Le Mentor guidera le projet d'un projet en incubation à un projet de niveau supérieur d'Apache, y compris la publication de versions Apache, la gestion de la marque, la croissance de la communauté, etc. S'il devient un projet de niveau supérieur, alors le projet sera autonome communautairement.
  • Proposition : Après avoir trouvé un Champion et un Mentor, l'étape suivante est d'écrire une Proposition, c'est-à-dire une proposition qui présente qui je suis, quels problèmes je résous, pourquoi je veux rejoindre Apache, si les fichiers de code actuels du projet entrent en conflit avec la licence Apache, qui sont les committers initiaux, de quelles entreprises ils viennent, s'il y a des risques potentiels, comment développer plus tard, etc.
  • Discussion : Ensuite, un email de discussion sera initié pour voir combien de personnes sont intéressées par cela, et certains PMC intéressés peuvent être trouvés pour rejoindre le programme de mentorat à ce stade.
  • Vote : Enfin, il y a un vote, et si le vote passe, le projet peut entrer dans l'incubateur Apache.

La voie Apache et le choc de la culture open source domestique

Le projet Apache en Chine rencontrera de nombreux défis différents, qui sont liés à l'environnement et à la culture open source à l'intérieur et à l'extérieur du pays.

Par exemple, les ingénieurs domestiques se sentiront trop occupés, souvent en heures supplémentaires 996, donc ils n'ont pas le temps et l'énergie de faire de l'open source. Mais en fait, de nombreux ingénieurs dans le travail utiliseront également des projets open source, écri

Tags: