AFTERWORD

image

If you’ve made it this far, you now know how to manage and use FreeBSD as a platform for just about any server task. You might have to learn new protocols and how to configure new programs, but the underlying operating system is pretty much a solved problem. Congratulations! FreeBSD is a wonderful, flexible platform, capable of assuming just about any role in your network. To wrap things up, I’d like to discuss some other aspects of FreeBSD.

We’ve talked about FreeBSD’s features throughout this book: the programs, the kernel, the features, and so on. One thing we haven’t covered is the community that creates all this.

The FreeBSD Community

The FreeBSD community includes computer scientists, experienced programmers, users, system administrators, documentation writers, and just about anyone interested in the system. They come from countries all around the world and have education levels ranging from high school to post-doctoral. I personally have had dealings with FreeBSD users from every continent and most of the larger islands on Earth.1 Nationality simply isn’t important—nor is race, color, gender, sexual orientation, or creed.

Some are computer scientists. Some work at cloud providers or manufacturing firms. Some are physicians, and some work as clerks in dubious little stores that disappear just before the government notices them. At one point, I worked closely with a brilliant developer who turned out to be too young to legally drive. Oddly enough, time zones are important, but only because they impact the developers’ ability to communicate with each other. Since most of the community’s interaction is online, the only things that represent you are your words and your work. These are the people who improve FreeBSD and drive it forward, making it more than a collection of ones and zeros and more than just a way to serve websites.

One of the interesting things about the FreeBSD community is that it has developed methods for coping with changes in its leadership. Many open source projects have a single leader or a small static leadership team. When those people decide to move on, the project is probably over. Someone else might branch or fork that project, but the original community usually fragments. The people who created FreeBSD have mostly moved on to other things, but the community has grown other leaders. After five generations of leadership, FreeBSD as a project has demonstrated a resilience to leadership changes that is almost unique in the open source world. Today’s FreeBSD leaders take a very active interest in their own replacements, mentoring and coaching those junior community members who seem most likely to become the leaders of the 2020s and and even the 2030s.

This ability to change leadership has kept FreeBSD as a community vital and helped it adapt to the world. In 1994, nobody thought an open source project would need a Code of Conduct or a process for discussing and managing architectural changes. FreeBSD now has both. Where once the Core Team handled all the central decisions, Core has delegated many of its responsibilities to more specific groups. All organizations change as they grow and mature. Change destroys many organizations, but FreeBSD has demonstrated that it can survive and prosper while redefining itself.

What’s more, they always welcome those who came before, both in the Subversion repository and at the bar. The original author of the UFS filesystem still hangs around. One of FreeBSD’s founders recently rejoined the project. Some people have been committers since the founding. And somehow, they’ve let me hang around since the mid ‘90s—probably because I’m too large to easily shift against my will, but I’ll take it.

Why Do We Do It?

Each person works on FreeBSD for their own reasons. A tiny portion of people are paid to improve the code by corporations dependent on FreeBSD, such as Dell EMC and Netflix. The FreeBSD Foundation hires developers to complete specific tasks on a contract basis. Most developers work on FreeBSD as a hobby, either so they can program things more correctly than they’re allowed to at their day job or so they can do work that interests them. How many of you have completed work projects less successfully than you’d like because of outside influences? And how many of you have jobs that pay the bills but don’t leave you feeling fulfilled? Developing FreeBSD allows people to satisfy both those itches.

Many contributors are not software developers but work on some other part of FreeBSD instead. Some write documentation, some design the websites, some just lurk in shadowy alleys of the forums and answer user questions. People who can’t do anything else test release candidates and snapshots, hunting bugs that crop up only in their environments. Many people spend hours and hours working on FreeBSD-related matters. Why? I can assure you that the royalties on this book won’t come close to compensating me for the time I could spend with my family. I’m a full-time writer now, but if I were to chase money, I’d write about Windows, Linux, and the latest cockamamie management snake oil. Instead, I’m writing a book about FreeBSD.

Worse, I’m writing this Afterword up in my office on a Saturday afternoon while my family is downstairs having a grand old time persuading the family of Canadian Red Squirrels that’s conquered the barbeque grill to move back into the tree. There’s yelling and squeaking and the occasional shout of “Oh, God, please no!”—so a good time is being had by all. You’d be within your rights to ask: “What is wrong with you? Why do you do this?”

We do it for the satisfaction of creating something useful to the rest of humankind and to return some of what we’ve been given.

You’re free to simply take what FreeBSD offers and do whatever you wish with it. I did exactly that for a while. After a couple years, once I became a modestly competent sysadmin, I found that I wanted to return something to the community. This is how the community grows, and a growing community means that FreeBSD will prosper.

If you want some of that satisfaction yourself, there’s a place for you too.

What Can You Do?

If you’re interested in supporting FreeBSD, for whatever reason, there’s space for you. Ever since I started with FreeBSD back in 1996, every so often, someone posts, “I’d like to help, but I can’t code.” (I’m pretty sure I sent that email to the questions@ mailing list back in 1998 or so.) The standard response to these posts is silence. If you’ve already decided that you can’t help, you’re right—you can’t. Once you decide that you can help, though, you can.

Nobody denies that some high-visibility programmers are the celebrities of FreeBSD. Many of those have impressive skills, and most of us could never dream of being the next Robert Watson or John Baldwin. Even if you can’t program your way out of a damp paper bag, however, you can still help.

You’re just asking the wrong question.

Don’t ask what FreeBSD needs. You can’t provide that, unless you have a large bank balance begging for a charitable cause to belong to. (If you do have spare piles of cash in desperate need of someone to nurture them, the FreeBSD Foundation would be happy to adopt them and cuddle them and make them feel loved.) Don’t say, “Wouldn’t it be cool if FreeBSD did such-and-such?” if you can’t create that yourself. Lots of people can do that.

Instead, ask yourself what skills you have. Any large organization needs many different people, and whatever skills you have today are useful to FreeBSD. Can you write documents? Dive into the official documentation, and maybe port a popular tutorial from the forums to the official doc repository. Do enough of that, and the doc team will drag you into FreeBSD and brand a commit bit on your forehead.

Are you a web designer? Independent web designers provide valuable third-party resources, such as https://freshports.org/ and http://daemonforums.org/. There’s lots of room in this space, and you can fill it.

Is there third-party software you need that hasn’t already been ported to FreeBSD? Bludgeon it into working and then turn it into an official port. FreeBSD is always looking for more maintained software. Once you’ve done a couple of those, you can adopt maintainership on ports you need that no longer have maintainers. Keep that up, and the Ports Team will come for you to make you a committer.2

I write copiously and passably well. I wrote some updates for the FAQ and then the first edition of the book. The FAQ updates made me a committer, although I let that lapse many years ago when I turned my attention to writing more books. The mere sight of code I’ve written drives small children to desperate sobs and compels sweet old ladies to make the sign to ward off the evil eye, but the FreeBSD folks welcome me as one of their own and treat me as a partner simply because I do the work.

What is it that you do? What is it that you enjoy doing, even if you don’t get the chance to do it often? Leverage that skill. It will be appreciated.

If Nothing Else . . .

If you truly have no useful skills, and you have no other ideas, reread this book. Read the documentation on the FreeBSD website. Subscribe to [email protected], or join the forums, and help other users. Many people started contributing to FreeBSD in exactly this way.

I encourage you to direct people to existing information resources whenever possible. When someone asks a question answered in the FAQ, steer them there. If the question has been asked before, suggest that they search the mailing list archives. Teaching people to help themselves is the most effective use of your time—not just in FreeBSD, but in the world as well. As the old saying goes, teach a man to fish and you can sell him fishhooks.

Do enough of that and you’ll want to update the FreeBSD FAQ just so you don’t have to answer that question one . . . more . . . time. Submit enough FAQ updates, and once again, the doc team will offer you a commit bit.

Best of all, after answering questions for a while, you’ll develop a deeper understanding of FreeBSD’s needs. One of those needs will almost certainly match your skills.

Getting Things Done

Here’s the big secret of success in FreeBSD: everything that it contains is there because somebody saw a need they could fill and did something about it. NetBSD and FreeBSD started when a bunch of 386BSD patchkit users got sick of waiting for the next official release. I didn’t ask for permission to write this book before starting. The fine folks over on [email protected] don’t wade through the bug database for fun; they do it because they think it’s important enough to spend their time on. (And if you are a programmer, wading through the bug database and finding problems you can solve is one of the best contributions you can make.)

Once you have an idea, search the mailing lists for discussions about it. Many projects are suggested and debated but never implemented. If someone’s brought up your idea, read the archived discussion. If the idea met with general approval in the last few years, but nobody’s working on it, get to work! The FreeBSD folks will be perfectly content if the first time they hear from you is in a bug saying, “Hi, here are my patches to implement this feature, as discussed in such-and-such mailing list thread.”

Whatever you do, don’t go on the mailing list or forums to ask, “Why doesn’t someone else do the work for X?” Most of these suggestions fall into three categories: obvious (“Hey, wouldn’t it be cool if FreeBSD ran on Teslas?”), foolish (“Why isn’t there a kernel option BRINGMEACOLDBEER?”), or both (“Why not support my Sinclair ZX80?”). In any of these cases, the person asking is both unqualified to perform the work themselves and claims to be helpless to support others who could do the work. All these suggestions do is waste bandwidth and annoy people. Bandwidth is cheap; people are not.

In short: shut up and work. Do what you can, and do it well, and people will appreciate it. Programmers can help by jumping into the bug database and picking a promising bug to attack. Nonprogrammers can help by finding a hole they can fill and doing the work to fill it in. You might become a leader in FreeBSD, or you might be known as “that awesome woman who hangs out on -questions@ and helps people with EFI boot loaders.” All are absolutely vital. Your help makes FreeBSD prosper. Stick around long enough, and what starts by helping people with EFI boot loaders might grow into representing the whole of FreeBSD.

I look forward to seeing you on the mailing lists.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset