2009-11-23 7 views
1

J'envisage deux possibilités:Inclure NUnit dans mon téléchargement de projet Open-Source?

  1. comprennent NUnit avec le code source d'un projet open-source - pour faire très facile pour les contributeurs potentiels à exécuter des tests automatisés tout de suite. Je pense qu'il est important de promouvoir la culture «tests d'abord» dans ce projet (ou du moins de faire comprendre à tout le monde que les tests sont importants).
  2. distribuer le code source sans , mais alors je devrais décrire en le readme comment faire les tests course et inclure un lien vers la page de téléchargement NUnit .

La question: est-# 1 juridique? Laquelle des deux options est normalement préférée? J'aimerais entendre ceux qui connaissent le permis legalese et ceux qui connaissent les pratiques courantes.

+4

Je vote pour clore cette question hors-sujet car ** il s'agit de licences ou de problèmes juridiques **, pas de programmation ou de développement de logiciels. [Voir ici] (http://meta.stackoverflow.com/a/274964/1402846) pour plus de détails, et [help/on-topic] pour plus d'informations. –

Répondre

0

Je vais essayer de répondre à la question moi-même.

Tout d'abord il est important de séparer notre distribution binaire produit open-source (destiné aux utilisateurs) de son référentiel de code source (qui est pour les développeurs/contributeurs). La question concerne vraiment le dernier. J'ai regardé deux produits open-source comme exemples.

NUnit

  • binaire: a une dépendance à l'adaptent (inclus avec la licence)
  • source: a des dépendances sur NAnt (télécharger vous-même) et log4net (inclus sans une licence)

M OQ

  • binaire: aucune dépendance
  • source comprend les dépendances externes suivantes:
  • Silverlight outils de test - inclus sans permis
  • framework Microsoft .NET ensembles de référence - pas de licence
  • Castle - licence incluse (Le projet Castle utilise la licence Apache, et basé À mon avis, c'est une exigence)

Ainsi, l'intégration d'outils de développement/construction/test tiers avec le code source (pas avec les binaires de production) semble être une pratique courante, et les outils peuvent être inclus avec ou sans avis de licence en fonction du type de licence et de ses exigences. Vous pouvez inclure la licence au cas où.

2

En ce qui concerne la légalité va, je ne suis pas un avocat et vous devriez en parler à un sujet.

Inclure vos tests unitaires dans votre projet open source. Vous n'avez pas besoin de redistribuer les bibliothèques d'exécution de l'unité [n/j] lorsque vous publiez.

Permettez-moi de reformuler. NE PAS redistribuer les temps d'exécution j/nUnit avec votre projet. Vous pouvez conserver les tests unitaires dans votre projet. La seule fois où vous voudriez redistribuer les frameworks unitaires est si la version disparaissait et que vous ne pouviez pas utiliser une version plus récente.

+0

+1 Je suis d'accord. Une autre bonne raison est que même s'il est légal de regrouper NUnit avec votre projet open source, il y a de fortes chances que NUnit change au fil du temps, ce qui nuira à vos utilisateurs en leur donnant une version plus ancienne et crue. le plus grand. Juste regrouper dans vos tests unitaires et ensuite inclure un lien vers l'endroit où ils peuvent télécharger NUnit. –

+0

la question n'est pas de "regrouper", mais de vérifier dans un référentiel de code source. Ceci est destiné aux développeurs/contributeurs plutôt qu'aux utilisateurs – azheglov

0

Beaucoup de projets faire avec des bibliothèques externes afin que toute personne qui vérifie dehors a immédiatement tous les fichiers binaires dans le cas où ils ont besoin de bibliothèques supplémentaires. J'ai vu certains projets qui incluent une copie binaire complète des outils dont ils ont besoin, de sorte que vous avez la version exacte dont l'application a besoin, plus un autre dossier qui a juste les dlls exactes ou tout ce dont le projet a besoin.

+0

Avez-vous des exemples de tels projets? J'aimerais jeter un coup d'œil à leur code source. Merci! – azheglov

Questions connexes