Snellman: On open sourcing existing code
Snellman: On open sourcing existing code
Posted Mar 23, 2015 14:14 UTC (Mon) by pboddie (guest, #50784)In reply to: Snellman: On open sourcing existing code by fb
Parent article: Snellman: On open sourcing existing code
What comes into play here is what Brooks describes in the classic "The Mythical Man Month", which despite discussing large software projects in the main, touches on some of the same problems when you make a software project for more general consumption. You can certainly get away with developing something with minimal documentation, implicit build dependencies, and with a good-enough but infrastructure-specific build system, but as soon as you have other people wanting to use that software (either as actual users or other developers, either within or beyond your organisation), the software becomes a product and demands multiples of the original effort put in to make something that is functional.
Something that is openly developed often has to maintain this readiness for external usage at the cost of time spent on things like documentation, although some Free Software projects manage to muddle through by making new users and contributors "learn the ropes" the hard way. But aside from exceptional cases where the motivation to adopt the software overrides deficiencies in the materials of the "product" and where people will use it no matter what, many projects will struggle to get the attention of their target audience. The last thing potential adopters want to see is a dependency on arcane technologies or a menagerie of weird programs and libraries (or worse: network services) just to even evaluate whether some software does what it is claimed to do.
So, projects developed in the open may very well be oriented towards being some kind of consumable "product", although many of them may also be looking for contributors to help them get to that state, and being exposed to broader requirements and demands (running on different systems and in different environments) by potentially attracting outside help to meet such needs probably keeps the applicability at a higher level than some internal software that will eventually be thrown over the wall.
In short, something without a broader audience in mind probably won't have had much extra effort put in to make it a "product", regardless of the licensing applied to that software, but openly-developed - not merely freely-licensed - software may well have been incurring the costs of building a "product" all along in order to grow the project and get people to use it.