Projects die when the original authors stop working on them. github/sourceforge/savannah are littered with dead projects.
What causes this? I would argue that it is the development style and focus. We still code the way we did when I worked on an 8k PDP-11. Memory constraints forced small files, #include statements, overlay linkers, etc. To 'organize' we invented 'informative names' for directories like 'src', 'test' (minimal), and 'doc' (usually empty). This 'pile of sand' (POS) approach is still used today. This POS style forces a focus on the code.
This focus on code has the side-effect of making everything else optional. Projects are considered 'done' when you ship the code.
Successful commercial projects spend a lot of time on presentation and documentation. Books are written, technical notes are available, for-profit and/or online courses are available. The user interface is polished. All of this without publishing a single line of code.
It is my belief that we need to develop a different style and focus for open source. I believe that literate programming (ref: Knuth) will make it possible for non-authors to maintain, modify, and improve programs. It will change the style from POS and focus from 'only the code' to 'the WHY behind the code'. Throwing POS code on github/sourceforge/savannah is certain death.
See 'Physically Based Rendering' by Pharr and Humphreys for a gold-standard example.
1 comment
[ 0.26 ms ] story [ 17.3 ms ] threadWhat causes this? I would argue that it is the development style and focus. We still code the way we did when I worked on an 8k PDP-11. Memory constraints forced small files, #include statements, overlay linkers, etc. To 'organize' we invented 'informative names' for directories like 'src', 'test' (minimal), and 'doc' (usually empty). This 'pile of sand' (POS) approach is still used today. This POS style forces a focus on the code.
This focus on code has the side-effect of making everything else optional. Projects are considered 'done' when you ship the code.
Successful commercial projects spend a lot of time on presentation and documentation. Books are written, technical notes are available, for-profit and/or online courses are available. The user interface is polished. All of this without publishing a single line of code.
It is my belief that we need to develop a different style and focus for open source. I believe that literate programming (ref: Knuth) will make it possible for non-authors to maintain, modify, and improve programs. It will change the style from POS and focus from 'only the code' to 'the WHY behind the code'. Throwing POS code on github/sourceforge/savannah is certain death.
See 'Physically Based Rendering' by Pharr and Humphreys for a gold-standard example.