Linked by Thom Holwerda on Mon 3rd Oct 2005 14:52 UTC
Thread beginning with comment 39469
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
No it is not a different bear. Operating systems control guidance systems on rockets and other potentially expensive and/or dangerous machines.
I correctly written spec, based off honest and complete requirements, is very beneficial to keeping a project, especially one with many different developers working in small groups that eventually have to tie their code together, in concert.
On the other hand, you might as well just throw away a poorly written spec because it will be entirely useless!!!!!




Member since:
2005-06-29
I'd say he's pretty right for writing a kernel. It's a different bear than rocket engines and automobiles (and I don't know why you'd use a spec for a rocket engine, that'd be terribly silly: How much thrust and how big doesn't count as a spec either
).
. Well, except the proc filesystem.
He's used things that act for the kernel like a spec historically: He used the SunOS API for POSIX compatibility. That's not a spec, but it did what most software engineers use specs for: To tell you what you should be writing without writing it first.
But the kernel isn't tailored to a customer, it's tailored against millions of customers. Its roll is pretty well defined, and where it's not the question is an argument and not a blank (arguing if it should do something, as opposed to having no clue what to do in a situation).
Also, it's a working stable project. They keep a working version that does the full job: Minus the couple of features being implemented at a given time.
If you wrote a spec for Linux it'd instantaneously be broken by 18 different patches anyway. Those aren't going to be mainline patches, but someone like RedHat will probably end up using them. So then what was the point of your spec? The Linux spec would probably end up saying: "Should have this API found here (url), and should be modifiable at a source level in every possible way."
Great spec, that sure tells you what to write.
Now, I certainly hope Linus doesn't think specs are always useless. They certainly have their place, especially around human interaction. But the kernel doesn't do any human interaction