Every action should have a public result. That's one thing that makes open source powerful. The lines of code are not hidden away, but available for inspection. They have uses one could not predict. I'm trying to solve a problem with this effort. At the same time that effort can be used by someone else for their problem, or even demonstrate what I can do to other interested parties.
Every time I work on a closed source project, my effort has a fraction of the impact it could.
Requiring a public or user-facing result is also useful for building features of a webapp. One interpretation that I find interesting is no administrative interfaces. An admin page does not have a user-facing benefit. Let consensus make those decisions. If you have an analytics page, let that be open to users. Want to delete users? Have a red-flag mark button. If an account gets more than X flags, dumb down the account to a read-only mode.
A webapp I worked on recently was closed source and I felt like an unnecessary gatekeeper. Other users would find bugs in the system and had to wait on me to implement and deploy them. At least with open source they could read the code and submit a patch. Then they'd have to wait for a review and deploy.
Which got me to thinking. A wiki has an edit button for content. What if there were an edit button for code? That would be an interesting sandbox, to see what edits people make. If you know of such a system, please post a comment. The code for a page would have to be mostly self contained.