Wenn das Problem häufig auftritt, beispielsweise beim Schreiben eines Compilers oder eines Browsers, werden die Anforderungen in Form von Sprachstandards, Zielbetriebssystemen und Zielhardware usw. angegeben.
Für Dinge wie GNU Emacs, die viele Dinge für viele sind und nicht nur das ursprüngliche Ziel, ein Texteditor zu sein, hervorragend erfüllen, halte ich die Anforderungen aufgrund des immensen Umfangs für eine Erweiterung für sinnvoll. Chats, E-Mails, Newsgroups, Code-Bearbeitung und Versionskontrolle kommen mir in den Sinn. Es gibt einen Forscher, der an Emacspeak arbeitet. Ich denke, ähnliche Dinge können von Browsern und anderen Dingen gesagt werden, die Erweiterungen erlauben.
Wenn die Software eine Funktion aufholt, die nur in Nicht-Open-Source-Software verfügbar ist, wird die Anforderung wiedergegeben.
BEARBEITEN:
Wenn die Open-Source-Software gewartet wird und weniger ursprüngliche Anforderungen nicht erfüllt werden, können die meisten Anforderungen auf Fehler zurückzuführen sein, die an neue Plattformen wie Multi-Core-CPUs und andere Hardware angepasst werden müssen, die bei Ausnutzung eine bessere Leistung bieten, und dergleichen.
In einem vollständig forschungsbasierten Projekt wie dem GNU Hurd würde ich denken, dass die Anforderungen aus Forschungsergebnissen und Papieren stammen.
Um zusammenzufassen,
Zu Beginn können die Anforderungen an Software, die versucht, häufig auftretende Probleme zu lösen, aus Standarddokumenten stammen
Für Software, die andere vorhandene Software einholt, besteht die Anforderung wahrscheinlich darin, den gesamten oder den größten Teil des Funktionsumfangs der vorhandenen Software und einige andere Funktionen zu erstellen, die für Entwickler / Benutzer interessant sind
Für Forschungsprojekte könnten Papiere und andere Veröffentlichungen die Anforderungen festlegen
Während der Wartung können Fehler, die an neuere Umgebungen angepasst werden müssen, die Hauptursache für Anforderungen sein