Avoid ideas that boil down to "Why doesn't someone else do the work
for this?" Most of these suggestions fall into three categories:
obvious ("Hey, wouldn't it be cool if we supported the CPU in my
automobile?"), foolish ("Why don't we have a kernel option
READMYMINDANDDOWHATIWANT?"), or both ("Why not support my Sinclair
ZX80?"). In all of these cases, the person asking is almost always
completely unqualified to actually do anything about the matter, and
doesn't even offer to buy a drink for those who can. You can
generally rest assured that the people who are qualified to do the
work have considered these ideas and are either doing something about
it or are working on more important tasks.

You can't expect a thousand people to respond with "It's a great
idea." The mailing lists are public discussion boards. If everyone
agrees with a message, they won't all post "me too!" But if you get a
few people agreeing with you, and nobody says, "Your concept is so
awful that it simultaneously sucks and blows," you can generally
assume that it's a decent idea. This is the closest thing FreeBSD has
to "management buy-in." You can consider this full-blown approval.

Occasionally, someone might write you back saying "I think Fred's
working on that, why don't you drop him a line?" You might find that
you can join an existing effort. Other people will want to discuss
the implementation with you. You can take this as approval; they
wouldn't bother discussing the fine details if they didn't like the
idea.

The same sort of thing applies to every portion of every BSD. Can you
translate the OpenBSD documentation into Urdu? Yep. Can you start a
NetBSD users' group in Topeka? Absolutely. Check to see if anyone's
already working on it, and go do it.

This is perhaps the most vital part. Once you have buy-in, go do it.
Shut up and start working. Most of the ideas I've seen on the FreeBSD
lists die on the vine. There is a huge amount of basic grunt work
that can be done. Nobody bothers to do it, so it doesn't happen. All
of the BSDs -- indeed, all open source projects -- suffer from this to
some extent. Non-programmers can ease a vital gap by simply picking
some little hole and doing the work to fill it. Some people set up
independent Web sites, such as Dan Langille's excellent FreeBSD Diary. The committers and contributors
directly enhance the bits that the Project produces. Others are just
known as "that dude who hangs out the mailing list and helps people
with PPP." All are absolutely vital.

For example, Dave Hawkey wrote the FreeBSD-hackers with an old idea.
You don't recognize the name? I'm not surprised. You won't find his
name on a commit bit, or the PR database. He's just a guy who wanted
to provide small patches for older versions of FreeBSD, so that users
with a particular problem could have a bugfix or improvement without
having to upgrade their whole system. It's a great idea. It can be
expressed in a single sentence. People would enjoy having it, and
would actually use it. It's been brought up before, many times. If
you check the mailing list archives, you'll see that this it's been
discussed to death. This particular dead horse has been beaten beyond
recognition, sold for glue, distributed across the country, and eaten
by several thousand kindergarteners. Nobody has ever actually done
anything about it.

This started the usual process that occurs when ideas are suggested. People
generally agreed that it would be nice. Nobody said that it was a bad
idea. People made suggestions about how it could be improved.

Unlike everyone else who has made the suggestion before, Dave actually
created a site where people could download actual tested patches to
actual source code. There isn't much there at the moment, but as time
goes on, it'll build up. People will submit their own patches.
Eventually, I expect it to be a well-known resource for people who
cannot easily upgrade their systems. These users will be happier for
knowing about it. When he quits one day, hopefully far in the future,
there will hopefully be enough there that some other person will grab
the existing patches and build upon them.

The important thing is, Hawkey isn't a FreeBSD community name. He's
not even "the guy who hangs out on the mailing lists answering
questions about file permissions." He's just this guy. He wanted
patches, and nobody had them. Instead of going away unhappy, he shut
up, produced them, and put them out for the world to use. If even
half of the people who suggested ideas did as much, BSD would have
taken over the world already.

The upshot of all this is: do something. You have skills; if you
truly want to help BSD, you can. If what you want is to become a
godlike kernel programmer, you can do that too; it will just take a
few years. Or, as a well-known philosopher said, "Do, or not do.
There is no try." Next time, we'll look at what can happen when you
do a job too well.