2010-02-11 10 views
3

J'ai un projet open source que j'avais développé activementEncourager Open Source Projet de programmation à être actif sans code Sacrifier Qualité

JStock - Free Stock Market Software

Du point de vue du côté de la programmation, la plupart du temps, est en solo travail.

Cela m'inquiète. Quant à la croissance à long terme de JStock, elle n'est pas saine.

Bien que j'ai quelques programmeurs comme membres de l'équipe, ils ne sont pas impliqués activement. La plupart d'entre eux sont juste un ou deux fois contributeurs de code. Après cela, je n'ai reçu aucune nouvelle d'eux.

La principale raison pour laquelle je pense qu'ils ne sont pas actifs, est due à une règle stricte que j'avais imposé:

Aucun commit écriture étant donnée. Tous les changements doivent être soumis sous forme de plaques, et examinés par moi

Voir, moi aussi ne même pas comme cette règle stricte.

J'ai supprimé cette règle une fois et laissé les programmeurs libres de valider le code comme ils le souhaitent. En conséquence, juste après quelques jours, j'ai trouvé que le code était foiré (être foiré signifie, ne peut même pas compiler). Je n'ai aucun moyen, mais rapidement arrêter l'accès de validation, et récupérer le code source manuellement.

je sens que:

  1. Trop de règles, mauvais pour les programmeurs. Ils ne contribueront pas.
  2. Aucune règle, mauvaise pour les utilisateurs finaux. Ils vont utiliser un produit construit à partir de code foiré.

Je sais que dans la situation actuelle est totalement malsain pour JStock. Puis-je savoir comment encouragez-vous tous les programmeurs à contribuer au code, en même temps maintenir un certain degré de qualité du code?

Actuellement, JStock ont ​​

  1. Feature Tracker et Bug Tracker. Ils sont activement utilisés.
  2. Forum pour les développeurs.
  3. CVS

Est Guide développeur fichier PDF est quelque chose doit avoir, afin de laisser nouvellement développeur commune pour comprendre le code? Ou je laisserai les développeurs explorer les 50 000 lignes de code par leurs propres moyens?

Merci.

+0

Il me semble que vos développeurs ne sont peut-être pas très impliqués dans votre projet. –

+0

Je dirais que le principal obstacle est dû à ma politique. Cela va faire baisser l'esprit des programmeurs. J'ai besoin de les exciter, de les laisser commettre le code par eux-mêmes :) –

+3

Je vote pour clore cette question hors-sujet parce qu'elle concerne la gestion communautaire, pas la programmation. – TylerH

Répondre

1

Hm. Votre projet est plutôt joli. En outre, le site Web est assez attrayant (si c'était le mien, je voudrais me débarrasser des annonces Google, mais c'est au goût personnel). Peut-être que vous devriez créer une section de page spécifique "développeurs", servant des nouvelles, des informations spécifiques, des clichés CVS ...Pour l'instant, il est très difficile pour un développeur intéressé d'en savoir plus sur la façon dont le projet est développé, qui le dirige, les conventions de codage ... Le blog est un début mais il n'est pas activement invitant participation. On devrait vous contacter et peut-être que c'est déjà trop un engagement pour certains avant de connaître plus de détails sur le projet.

Avez-vous une liste de souhaits?

Les gens peuvent-ils mettre en place des primes pour les nouvelles fonctionnalités souhaitées? C'est une question pour une longue discussion si c'est bon et sain à faire dans un projet Open Source, mais juste comme une idée. Je veux dire, quand j'ai besoin de garder la trace du marché boursier, je suis susceptible d'avoir de la pâte supplémentaire qui traîne, n'est-ce pas?

+0

Ya. Je comprends ce que tu veux dire. Mon plan initial est le a moins d'éléments de menu sur mon site Web, de sorte que les utilisateurs finaux peuvent vraiment trouver ce qu'ils veulent (téléchargements). Avoir un élément de menu supplémentaire appelé «Développement», va certainement confondre les utilisateurs finaux qui ne sont pas de la littérature informatique. Je traite les utilisateurs finaux comme King. Je suis sûr que ceux qui aiment avoir du code contribueront à l'informatique et sauront où chercher;) Mais je comprends aussi votre point de vue ... «trop d'engagement pour certains avant de connaître plus de détails sur le projet». Je vais y réfléchir. –

1

Passer de CVS à un système de contrôle de source distribué (par exemple git, mercurial). De cette façon, quiconque veut pirater le code, avec un contrôle de source approprié, mais s'engage à votre ligne de code doit être poussé à vous explicitement.

+0

Ya. SourceForge fournit ubversion, Git, Mercurial, Bazaar, CVS. Ma seule expérience est avec CVS. Je vais tester le reste pour voir si elles correspondent à mon besoin (autorisation Branch/Trunk) –

0

Peut-être que vous devriez travailler avec des succursales.

Je ne suis pas un expert sur le terrain mais je l'ai utilisé une fois et ça a bien marché. Nous avons utilisé launchpad pour héberger notre projet et bazaar pour le contrôle de la source. (qui est bien intégré dans le tableau de bord)

Tout le monde peut faire des erreurs avec le code dans sa propre branche, et vous pouvez appliquer un peu de contrôle lorsque vous fusionnez une branche dans la branche principale. De cette façon, les développeurs ont plus de liberté, sans mettre en danger le projet.

+0

Pour autant que je sache, sourceforge n'a pas la gestion des permissions de branche/tronc. Est-ce que launchpad ne l'a pas? –

+0

Oui, autant que je m'en souvienne, les succursales ont un propriétaire, qui peut être un développeur ou une équipe.Et seul le propriétaire (membres de l'équipe si c'est une équipe) peut s'engager dans la branche. Les agences peuvent également avoir un réviseur, qui est chargé d'examiner les propositions et de fusionner dans la succursale. Dans votre cas, vous pourriez être le seul propriétaire et relecteur de la branche principale, et laisser les gens faire leurs affaires dans les leurs. Une dernière information: les branches ont un propriétaire, un projet, un nom, un statut (dev/mature/...), et peuvent être attachées à des bleus ou à des bugs. –

+0

Argh. C'est la caractéristique que je souhaite vraiment avoir. SourceForge fournit Bazaar. Peut-être que je vais juste l'expérimenter. –

0

Dans web2project - http://web2project.net/ - nous utilisons la Subversion de Sourceforge pour le primaire/code officiel, mais je viens de nous a lancé sur Github pour le titre officieux de l'un - http://github.com/caseysoftware/web2project

Jusqu'à présent, il est au service comme un moyen à la fois a) b) les membres de la communauté à partager des correctifs sans compromettre l'intégrité du référentiel principal. Comme nous l'avons vu dans notre «réseau», j'ai déjà appliqué un correctif d'un contributeur et même créé une branche en fonction de ce qu'un autre membre de la communauté a partagé.

Bien sûr, RIEN ne va dans le maître (et fusionne avec le tronc) sans subir la même révision de code que pour tout le reste. De plus, nous avons plus de 200 tests unitaires qui sont exécutés régulièrement (l'intégration continue est la prochaine) et nous travaillons également sur les lignes directrices de contribution avec l'espoir que les gens vont filtrer les pires choses avant même de les voir.

+0

L'hébergement de deux référentiels de code à deux endroits différents ne va pas perturber les développeurs sur le référentiel de code sur lequel ils vont travailler? –

+0

Non, car la synchronisation est simple: git-> svn: git svn dcommit svn-> git: git svn rebase – CaseySoftware