Liste de contrôle pour le démarrage d'un projet open source [fermé]

51

Démarrer un projet open-source ne signifie pas simplement jeter le code source sur un référentiel public pour ensuite en être satisfait. Vous devriez avoir une documentation technique (en plus des utilisateurs), des informations sur la manière de contribuer, etc.

Si vous créiez une liste de contrôle sur les tâches importantes à faire, que feriez-vous y inclure?

Anto
la source
1
+1 bonne question. Puis-je recommander: gawande.com/the-checklist-manifesto
JeffO
2
Je recommande le livre de Karl Fogel (l'un des auteurs originaux de Subversion) Producing Open Source Software - Comment gérer un projet de logiciel libre réussi. C'est un livre O'Reilly.
Michael
Produire des logiciels Open Source de Karl Fogel devrait vous aider. Le livre est disponible entièrement en ligne.
Coyote21

Réponses:

34

La chose la plus importante est:

  • utilisez le projet vous-même et placez-le dans un état utile propice à son utilisation. assurez-vous que le projet fonctionne et est utile.

Les choses que je mettrais dans les premières priorités sont:

  • avoir un simple "qu'est-ce que c'est?" site Web contenant des liens vers des forums de discussion (que ce soit par courrier électronique ou par chat) et vers le référentiel de code source
  • assurez-vous que le code est compilé et fonctionne normalement, ne commettez pas de correctifs de travaux en cours ou de demi-ass sur la branche principale qui cassent des choses, car le travail des autres personnes serait perturbé
  • placez un fichier de licence dans le référentiel de code avec une licence connue et indiquez le propriétaire du droit d'auteur (probablement vous ou votre société). n'omettez pas la licence, ne créez pas de licence et n'utilisez pas une licence obscure.
  • avoir des instructions sur la façon de contribuer, par exemple dans un fichier HACKING ou à inclure dans votre fichier LISEZMOI. Cela devrait inclure où envoyer les correctifs, comment formater les correctifs, les règles d'indentation du code, toute autre convention importante du projet
  • avoir des instructions pour signaler un bogue
  • être utile sur la liste de diffusion ou quels que soient vos forums

Après ces priorités, je dirais:

  • documentation (cela vous évite de travailler sur la liste de diffusion ... créer une FAQ à partir de votre liste de messages est un simple début)
  • essayez de faire les choses de manière "normale" (n'inventez pas votre propre système de construction ou n'utilisez pas un système bizarre, n'utilisez pas d'indentation sur 1 espace, ne soyez pas ennuyeux en général, car cela ajoute une courbe d'apprentissage)
  • promouvoir votre projet. marketing marketing marketing. Vous avez besoin de blogs, de sites d’information et d’autres choses du même genre pour vous couvrir, puis lorsque les gens se montrent intéressés, vous devez leur parler et vous assurer qu’ils fonctionnent et qu’ils examinent leurs correctifs. Peut-être mentionner votre projet dans les forums pour les projets connexes.
  • toujours examiner et accepter les correctifs aussi rapidement que possible. Immédiatement, c'est parfait. Plus que quelques jours et vous perdez beaucoup de personnes.
  • répondez toujours aux courriels sur le projet le plus rapidement possible.
  • créer une atmosphère accueillante / positive / amusante. ne sois pas un imbécile. dites s'il vous plaît et merci et distribuez des éloges. chasse tous les crétins qui se présentent et commencent à empoisonner la communauté. essayez de rencontrer des gens en personne quand vous le pouvez et formez des liens.
Havoc P
la source
Qu'en est-il des problèmes juridiques potentiels? Comment s'assurer que la mise en œuvre ne contient pas par inadvertance un algorithme breveté?
Den
Il est malheureusement impossible de déterminer cela. Étant donné un morceau de code, il est impossible de savoir quels termes de recherche vous auriez besoin pour localiser le (s) brevet (s) concerné (s), ce qui est l'une des raisons pour lesquelles les brevets logiciels posent un tel problème. Parfois , vous savez qu'il ya un brevet qui applique, mais je ne l' avez jamais entendu parler d'un moyen d'être sûr qu'il n'y a pas un brevet qui s'applique. Difficile de prouver un négatif. Les brevets sont un sujet suffisamment important pour être probablement leur propre question ...
Havoc P
17

Pour les débutants, abaissez la barrière à l'entrée , cela signifie:

  • le rendre facile à installer,
  • le rendre facile à modifier,
  • faciliter la recherche de votre projet,
  • faites simplement tout ce que vous voulez faire facilement.

Comment?

  • Donnez une réponse à chaque question à laquelle vous pouvez penser dans votre documentation,
  • Créer un système de construction facile à utiliser,
  • Nettoyez votre code, personne n'aime travailler sur le code spaghetti,
  • Faites quelque chose dont les gens ont besoin.
dan_waterworth
la source