Jeśli problem występuje często, np. Podczas pisania kompilatora lub przeglądarki, wymagania są podane w postaci standardów językowych, docelowych systemów operacyjnych i docelowego sprzętu itp.
W przypadku takich rzeczy jak GNU Emacs, który jest wiele dla wielu oprócz doskonale wypełniającego swój pierwotny cel, jakim jest edytor tekstów, myślę, że wymagania miały sens ze względu na ogromny zakres jego rozszerzenia. Przychodzą na myśl czaty, e-maile, grupy dyskusyjne, edycja kodu, kontrola wersji. W Emacspeak pracuje naukowiec. Myślę, że podobne rzeczy można powiedzieć o przeglądarkach i innych rzeczach, które pozwalają na rozszerzenia.
Jeśli oprogramowanie nadrabia zaległości w funkcji, która jest dostępna tylko w oprogramowaniu innym niż open source, wymaganie to jest ponownie podane.
EDYTOWAĆ:
Kiedy oprogramowanie open source przechodzi do konserwacji i mniej pierwotnych wymagań pozostaje niespełnionych, większość wymagań może wynikać z błędów, trzeba dostosować się do nowych platform, takich jak wielordzeniowe procesory i inny sprzęt, który oferuje lepszą wydajność, gdy jest wykorzystywany.
W całkowicie opartym na badaniach projekcie, takim jak GNU Hurd, sądzę, że wymagania wynikają z wyników badań i artykułów.
Podsumowując
na początku wymagania dotyczące oprogramowania, które próbuje rozwiązać typowe problemy, mogą wynikać ze standardowych dokumentów
w przypadku oprogramowania, które nadrabia zaległości w stosunku do innego istniejącego oprogramowania, wymagania prawdopodobnie będą dotyczyć całego lub większości zestawu funkcji istniejącego oprogramowania oraz niektórych innych funkcji, które twórcy / użytkownicy uznają za interesujące
w przypadku projektów badawczych papiery i inne publikacje mogą określać wymagania
w trakcie konserwacji błędy w adaptacji do nowszych środowisk mogą być głównym źródłem wymagań