Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Absolute BSD - The Ultimate Guide To FreeBSD (2002).pdf
Скачиваний:
25
Добавлен:
17.08.2013
Размер:
8.15 Mб
Скачать

Getting Things Done

Here's the big secret of getting things done in FreeBSD. Everything that it contains is there because somebody saw a need that he or she could fill, and did something about it. NetBSD and FreeBSD started when a bunch of 386BSD patch kit users got sick of waiting for the next release. Mike Smith is hammering ACPI (Advanced Configuration and Power Interface) support into FreeBSD 5.0 because he thinks it's important. I didn't ask permission from the FreeBSD project before starting to write articles about it. You don't ask before answering mailing list messages, and you don't have to ask before starting on a FreeBSD project. If your idea is large enough that you feel you'd like an outside opinion before starting work, use a mailing list.

First, search the mailing list archives for your idea. Read any previous discussion about it. Many projects are suggested, but never implemented. Chances are, someone else has had your inspiration before and abandoned it. If someone's previously brought up your idea, and it's been discussed and approved of, you can assume that you'd get the same reaction. If the discussion is old enough that it appears the project died stillborn, start working.

For example, every so often someone sends email to the FreeBSD−hackers mailing list suggesting that IBM's JFS (journaled file system) be ported to FreeBSD. This is generally considered to be a Good Thing. The person goes away and is never heard from again. Now, porting a filesystem is a lot of work and requires a very particular skill set. It's not surprising that a lot of people have given it a try, and failed. But you don't need to send yet another message asking if it's a good idea. If you have the skills to do it, go for it! You'd meet nothing but delight if you posted a message on FreeBSD−hackers saying, "At such−and−such URL, you can find my initial patches for porting JFS to FreeBSD. I can mount a drive, create files, but upon creating a directory weird things happen. This may destroy your data, fry your kernel, and upset your pets. I would appreciate any comments."

Second Opinions

If nobody's previously beaten your idea into the ground, and you still want a second opinion, ask on a mailing list. If you really want their attention, you need to be very brief and to−the−point. Most truly useful ideas can be summarized in a single sentence, or two at the most; anything after that is implementation details. Remember, some people get over two thousand pieces of email a day. A simple post saying, "Hey, would people find this useful?" is a great way to tell the difference between a boneheaded waste of time and a serious need.

Avoid suggestions 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 C P U i n m y a u t o m o b i l e ? " ) , f o o l i s h ( " W h y d o n ' t w e h a v e a k e r n e l o p t i o n READMYMINDANDDOWHATI−WANT?"), or both ("Why not support my Sinclair ZX80?"). In either case, 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.

493

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 the project. Can you translate the documentation into Sanskrit? Yep. Can you start a users' group in Topeka? Absolutely. If no such project exists, go do it.

Do It!

This is perhaps the most vital part. Once you have buy−in, shut up and do it. We can talk all day about your project, but it's wasted keystrokes unless something comes out of it. 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 help greatly 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 (http://www.freebsddiary.org/). The committers and contributors directly enhance the bits that the Project produces. Others are just known as "that dude who hangs out on the mailing list and helps people with ppp." All are absolutely vital. Your help will make FreeBSD prosper and grow.

I look forward to seeing you on the mailing lists.

494