Yes, indeed the linux/unix way is better. Simple stuff that works as expected.
Absolutely "Do one thing, but do it well" should be the ethos of every programmer/developer, and yes the 'mavericks' are great because that fuels diversity and innovation in software. The problem comes when a piece of software develops "a life of it's own". At that point the developer ego with the "Look what I can do" needs to be curbed somewhat and the project needs a "road map" that everyone works towards and a defined set of rules that every one adheres to.
I was baffled by a seven day discussion about whether to use 3,4 or 5 spaces for a tab, yet
NOBODY bothered to define the 'naming' guidelines so there are functions and variables using all lowercase, all UPPERCASE, CamelCase, under_scores and any mixture of them all. Properties with 'Designer Wizard' generated name (textfield01 textfield02 and so on) some have meaningful names that are a mish-mash of letter case underscores etc, and there's an 'argument' going on about bloody tab sizes!
As for annotations and comments, well there is the usual huge chunk of licence text in every document, but this module does .... what ..... and uses .... .something ... almost nothing. Just how exactly are additional developers going to bother joining something they have to start almost from scratch with??
Fix the damned code people, make it so it is intelligible. So long as tabs are more than two spaces f****** wide it really does not matter.
[/rant]