In this question, the author wrote (in the original revision):

Please note: This site specifically calls out questions about software requirements as being on-topic. Escrow is specifically listed as a non-functional/qualitative requirement on Wikipedia, and I argue that makes it a valid requirements-based question for this site.

Clever. But is it true?

Can the Wikipedia definition of "Non-Functional Requirements" be used as a guiding principle for asking on-topic questions on Programmers?

Note that Licensing, which is on-topic, is also listed in the Wikipedia article as a non-functional requirement. But so is Network Topology, Privacy, Environmental Protection, Pricing, and even "Emotional Factors."

1 Answer 1


If you click through to the "Escrow" link on the page you link to, you are brought to the "Source code escrow" page. Source code escrow is not what is described in the question.

What is being described in the question is indeed escrow. However, the type of escrow that deals with money for payments is off-topic here. Source code escrow, as it relates to software requirements, is how a customer can get access to the source code and necessary build tools should the creator fail to meet contractual obligations or cease to exist as a business entity.

Source code escrow does fall into the categories of "software requirements" and "software design". Requirements (and external design constraints) to allow the customer to be able to build the software will affect the design decisions made later in the project.

  • 1
    Then why did the OP cite that as proof? Looks exactly like what he's asking about. May 4, 2016 at 21:42
  • 1
    @RobertHarvey I don't see it. He is describing escrow. However, source code escrow has nothing to do with the exchange of money (which is what is described in the question), but ensuring that the client has access to the source code if the original development organization ceases to exist. This answer on the question is what is being asked about. Source code escrow is just a specific type of escrow related to ensuring that source code and necessary build tools/environments (which may not be delivered to a client) are available to the client.
    – Thomas Owens Mod
    May 5, 2016 at 10:19
  • Alright. What say you about the remaining topics described under the non-functional software requirements page on Wikipedia, and the general practice of citing off-site pages as proof of topicality? May 5, 2016 at 14:41
  • @RobertHarvey It depends on the context of the question. Most of the non-functional requirements would be on-topic. Expressing them as a requirement is definitely on-topic. Designing most would fall under software architecture or software design. Some may be better on other sites (like UX, InfoSec, Server Fault, Open Source, Law) but not explicitly off-topic here, depending on the specifics of the question. In fact, the original question would be on topic if it was (a) about source code escrow and (b) could be answered by a software developer and not need legal knowledge.
    – Thomas Owens Mod
    May 5, 2016 at 14:44
  • I especially like "Emotional Factors." (yes, it's listed as a non-functional requirement in the Wikipedia article). Does our site cover Network Topology? Or Environmental Protection? May 5, 2016 at 14:45
  • @RobertHarvey Depending on the nature of the question, perhaps UX for that. Personally, I don't understand the difference between "emotional factors" and things like "usability", "response time", "reliability", "quality", and several other of the listed non-functional requirements. If I wasn't lazy, I'd probably remove that from the Wikipedia article.
    – Thomas Owens Mod
    May 5, 2016 at 14:47
  • 2
    I removed "emotional factors" from the Wikipedia article. May 5, 2016 at 18:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .