Date: Mon, 1 Nov 2004 23:28:24 +0200 From: Giorgos Keramidas <keramida@ceid.upatras.gr> To: Joe Warner <rootman22@comcast.net> Cc: freebsd-chat@freebsd.org Subject: Re: Why do you do it? Message-ID: <20041101212824.GA35814@gothmog.gr> In-Reply-To: <200410300630.14877.rootman22@comcast.net> References: <200410300630.14877.rootman22@comcast.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2004-10-30 06:30, Joe Warner <rootman22@comcast.net> wrote: > As far as the FreeBSD user community goes it's a no-brainer for me, FreeBSD > touts a long list of reasons why someone interested in UNIX, computing, > programming and/or networking would want to use it. However, I've always > wondered what motivates the FreeBSD Developers. The general explanation I've > heard is "Because we get to work on projects we're interested in as opposed > to profit-based projects imposed by our employers which we may or may not be > interested in." Is it that simple or does it go deeper? Why do you do it? > What motivates you? I hope this isn't too long. The quoted material is copied verbatim from Poul-Henning's article. The comments below the quoted stuff are mine. : I guess the closest we get to anything of the sort is the "FreeBSD: tools : not policies" catchphrase which I coined some years ago (heavily inspired by : the Software Tools concept, which you can read more about in Peter's book). To understand why someone would contribute to FreeBSD, it's first important to understand why someone would *use* FreeBSD. The greatest majority of FreeBSD contributors are also users of the system itself. Here's a list of reasons for using FreeBSD that I have been able to write down during the last few days: - Appreciation of quality. This works in multiple levels: . As a user, for having a quality system to work with. This includes a wide range of FreeBSD characteristics, but the most visible are: the excellent documentation (manpages, sgml docs, other documents), the featureful base system, are all important reasons why a user would prefer FreeBSD. . As an administrator, for having a stable system that Just Works(TM). The flexibility of the installation procedure, the documented detailed instructions for updating or upgrading an installed system, are details that make administering FreeBSD a lot more fun than other UNIX systems. . As a developer for having a system that is organized in a logical manner. The clear separation of the base-system vs. third-part applications, machine dependent vs. machine independent features, the well-known BSD platform, and the availability of the system source are all details that make developing on or for FreeBSD a very pleasing experience. . All the above together. When combined, all the details listed above, the tiny little fragments of every day life with FreeBSD, make it the system of choise for many people. I know they do for me. - Tools. FreeBSD has been useful to me. . As a workstation: I'm too addicted to the UNIX way of doing things -- to the point of being frustrated when I have to sit in front of the pretty point-and-click randomness that some people like calling a 'desktop'. FreeBSD lets me work the way *I* want, any time. When I feel like using a GUI, a GUI is there for me. When I don't, it's gone. Simple and nice. . As a network server, firewall, NAT gateway, etc. Some will argue that all these can be done with other UNIX systems too. The advantages of FreeBSD in this area are many though, speed and stability being almost invariably the two most important ones, followed by the great number of network related features the system has (netgraph, ipfw, dummynet/natd, bridging, ipfilter/ipnat, pf, altq) or the excellent support of networking standards, etc. - Education. Learning by reading the work of others. Just having the source of some-random-kernel version 1.2.0 doesn't count. The history and the rationale of the changes made, set forever in stone in a CVS tree, browsable and searchable with standard tools is very important too. - FreeBSD is UNIX. I have used UNIX systems almost exclusively for doing my every day work since about 1994. At times, I had to work in other environments too. The comfort level of UNIX beats all of those I've tried so far, any day, easily. I hate it when I have to work with non-UNIX platforms, because I feel like being constantly delayed and put back by the limitations of the system: you can't use more than 13 characters for names of files, directories cannot nest more than a couple of levels, the filesystem is dog-slow unless you run a defragmenter, there is no way to create a disk image without specialized and very expensive software, you can't put more than a few hundred files in the same directory before the whole thing crawls to its knees, ... and the list goes on forever. No, thanks! I'll take my UNIX any day. - Licensing reasons. GPL may be good if you plan to `conquer the world'. Doing real work, in a real business environment, is easier if you don't have to worry about the possibility of being forced to open source everything your company has ever done. - Community. I meant to write a post in my weblog entitled "Why Attitude Matters", describing why I think the attitute of the FreeBSD users and developers played an important role in my initial choise of FreeBSD as my favorite OS. I never quite finished it, but I'm still collecting notes, searching for interesting messages in my mail archives and so on. It will be a while before I have something resembling a complete article, but in the mean-time let me say just this: Apart from very rare cases, everyone I've corresponded in the years I've used FreeBSD (both members of the team and not) has been very gentle, understanding and *helpful*. I can't stress the last word too much. _Very_ helpful. Despite the fact that they don't have to. Giving back to a community like this feels absolutely great. It's the best way to become a part of this group of talented, smart, gentle community that treats newcomers with respect. : Why am I sitting here at ten in the night, writing a column for an e-zine : that I don't know when will come out next? Why did I even volunteer to : co-write this column in the first place ? Optimistic expectations. Making a contribution to an open source project is always based a bit on the expectation of "making a positive difference". This is something that cannot be done so easily with commercial UNIX OSes. When you buy a UNIX system from a vendor like Sun, HP or whoever, you get a `product'. The roadmap of improvements, the design of future directions, the changes that are made and the features that will eventually get implemented are usually chosen by the `big customers'. In FreeBSD, every user, even the newbie who has installed the system yesterday and tries to read through the Handbook but gets confused, has a chance to make a positive difference to the system: by submitting a question, by posting a bug report, by suggesting features, etc. Having the impression that the evolution of FreeBSD *can* be influenced by every user, if they put the time and effort to do something, is what works as a trigger to make the users really *do* something. : I have been close to quitting the project a couple of times over the years. : But each time, emails from friends and strangers and the soft seducing song : of code needing improvement have lured me back. The first part of the closing sentence above rings a familiar bell to many of us, the contributors to open source projects. Some times, the reasons why one contributes are linked with social life. There is a great deal of truth in the last part of the above sentence too, which I'm sure Poul-Henning put there intentionally, but might go unnoticed if one hasn't worked with FreeBSD people for a while. It can be put into words as a simple phrase that characterizes a great percentage -- the overwhelming majority -- of the developers that are members of the FreeBSD team: The obsession with quality. If there is something that is broken (or, at least, that they consider broken) the FreeBSD developers have a huge, irresistible urge to fix it. Here is then the second sort of motive for contributing to an open source project: all the technical reasons. : I guess that gives me personally an answer: I bother because I can make a : positive difference in FreeBSD and have some fun with friends and likeminded : individuals while doing so. That's the meat of it. Technical and social reasons. : In the light of the increasing commercial momentum of Linux, not, by : definition, an entirely good thing for them, and with "Linux Standards Base : 2" looking like a strong contender for the long promised definitive UNIX : standard, we could find ourselves relegated to being "a better linux than : linux" if we are caught unprepared. : : Why do we bother? I bother because I like what I do as part of the FreeBSD project. Both the technical and social part of it all. The technical part refers to working with a system that I can twist and bend to my will, that serves me as a workstation, server, or research machine, that includes all the UNIX features I have grown accustomed to during the 11 years I work with computers, a system whose source has educated me and increased my knowledge of the way computers work and a system that is hackable without having to pay hefty amounts of money for 'buying' the right to read the source. The social part refers to all those wonderful afternoons or nights that I hang out with my friends, doing things that I like, sharing our common interest in computers and the way they work and using FreeBSD as our vehicle to learn how to think, how to design and build things, as a tool to assist us in our (very interesting, to all of us) programming hobbies ;-) - Giorgos
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041101212824.GA35814>