>Most code passes through the "it needs work" stage before being included in
>the tree. This is one of the prime characteristics of NetBSD, and something
>I've certainly been scolded myself for not paying enough attention to: code
>should be polished and cleaned up _before_ it goes in the tree, not
>afterwards.
>I know that various members of core have useful but unpolished bits of code
>lying around that they intend to see in the tree at some point, but don't
>want to commit until they're cleaned up; some of them pass through this very
>list as patches. The fact that the members of core practice the same type of
>restraint with their own code that they're practicing with that of others
>should be plenty of indication that nobody is insulting you when they indicate
>that a given piece of code "needs work".
Its a good sentiment to require cleaning before insertion into the
tree. However, I think this lacks one essential thing:
When someone has a nifty bit of code that they'd like to put in, but
wants to clean it up first, that code lies around somewhere (say in that
person's home directory or local machine) for weeks if not months, before
it gets modified and put in.
There are two groups of people here, that clash quite soundly.
A. Don't put this code in, its not clean!
B. Please put this code in, my hardware is useless!
"Having cake and eating it too" is one of my favorite sayings, and
not just because I really like cake. MMM, chocolate ..
Sorry, lost it for a moment.
Wouldn't it make MORE sense to put this code someplace
NetBSD-supported, and where NetBSD people of all types and all access
priveledges could get to it and clean it up too?
It seems to me that code which is not in a CVS tree where netbsd
maintainers can get to it is NOT going to get fixed up and cleaned nearly
as fast as code which is.
What I'm thinking is something like another CVS module or tree
(call it "pending-src"?) which contains all that code which has been
written but which has not yet been 'approved' for entry. This CVS tree
could have a larger set of people with access to it, code-revisors or
code-cleaners, or somesuch, so that a larger group of people could fix
up this code in a reasonable parallel/controlled fashion. Then, once the
code is up to the specifications, it could just be dropped into the real
tree as-is, all nice and purty.
Then, this pending-src could be distributed like regular source,
to those of us who don't mind having a little less-than-clean code in
our tree, and have hardware that needs it. This would also be great for
people with unsupported hardware who are willing to TEST new code. No more
"contact me in private email if you'd like to test this", just a lot more
"grab module XXXX from the new-modules or pending-src repository".
I seriously urge anyone/everyone to review this suggestion, or
(even better) modify this solution or come up with other solutions so
that more people can get at this "sub-standard" code and allow it to get
integrated.
Seriously, folks, all this bickering about whether or not its
"right" to have less-than-HQ code in the tree is unnecessary, if you have
a repository of "works-in-progress" that people can look at, change, etc.
Comments? Am I completely off my rocker?
Cheers,
Phil
--
Phillip F Knaack
Database Programmer, Information Development for Extension Audiences (IDEA)
Iowa State University Extension