From owner-freebsd-advocacy Fri Jan 31 16:34:46 2003 Delivered-To: freebsd-advocacy@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 864C737B401; Fri, 31 Jan 2003 16:34:39 -0800 (PST) Received: from stork.mail.pas.earthlink.net (stork.mail.pas.earthlink.net [207.217.120.188]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6DEC643F43; Fri, 31 Jan 2003 16:34:31 -0800 (PST) (envelope-from tlambert2@mindspring.com) Received: from pool0203.cvx21-bradley.dialup.earthlink.net ([209.179.192.203] helo=mindspring.com) by stork.mail.pas.earthlink.net with asmtp (SSLv3:RC4-MD5:128) (Exim 3.33 #1) id 18elbw-00063Z-00; Fri, 31 Jan 2003 16:34:21 -0800 Message-ID: <3E3B0D58.4D2FB13C@mindspring.com> Date: Fri, 31 Jan 2003 15:57:12 -0800 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Michael Lucas Cc: Giorgos Keramidas , advocacy@FreeBSD.ORG Subject: Re: [bsd-advocacy] Re: Draft: Proposed FreeBSD PubRelproject Charter References: <007501c2c898$b2fbdd30$0502000a@sentinel> <3E39B755.34A8253@mindspring.com> <20030130235537.GB758@gothmog.gr> <3E39C28F.F26DC60E@mindspring.com> <20030131081028.B25507@blackhelicopters.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-ELNK-Trace: b1a02af9316fbb217a47c185c03b154d40683398e744b8a4fec0bdacb2757808b4b0fb7beb9bc6d7667c3043c0873f7e350badd9bab72f9c350badd9bab72f9c Sender: owner-freebsd-advocacy@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Michael Lucas wrote: > On Thu, Jan 30, 2003 at 04:25:51PM -0800, Terry Lambert wrote: > > In particular, the core team members and the average committers > > do not value PR work sufficiently to give it, say, the moral > > equivalent status as "GEOM" or other code-work. > > Actually, I have to take some (mild) objection to this. > > My press relations work within the Project has been greatly supported > by both core and re@. It has required a certain amount of education > on what PR means and how the game is played. These people aren't > dumb, and they aren't even ignorant; they just haven't played that > game before. We have finally been able to arrange for a PR Newswire > membership (thank you, Foundation!), as it's been demonstrated that > without that a press release will go nowhere. My point was to how they value PR. The common response to most suggestion/complaints/questions/etc. is a terse "send patches". The problem is that a marketing program can not really be effective without some form of project sanction, *if* it's to take place within the project itself. The intent of placing oneself in a subservient position is to obtain defacto sanction. But in doing that, you come not as a peer, but as a supplicant. Various people have put themselves forth, in the past, producing publicity for the project, etc.. Brett Glass and Jordan Hubbard are examples. Jordan was mostly effective because he could speak on behalf of the project leadership, and do so with sufficient reserve that he was able to commit resources through his leadership. He was "official spokesperson", in part, because of his membership in the original core team organization, and in part, because of his ability to "send patches" -- both in their generation, and in his personal ability to commit them to the source tree. These days, there is a significant amount of buearocracy, and the "review process" has engulfed the ability of people to personally make a difference in project direction, merely by being a willing contributor of source code. At this point, in fact, merely being a willing contributor of source code *with a commit bit* is not enough to avoid sanction for changes to the status quo. The organization has become insular, and self-defensive against change; this is not a recent thing: it's been an ongoing process, but that doesn't make the effects: John Dyson leaving, Jordan leaving, Mike Smith leaving, other people dropping out of participation (Satoshi as "ports-meister", etc.), and so on. In order to be effective, any focus of change has to occur outside the normal channels of the project, proper. This is as true with a PR effort as it is, for example, with KSE, or ports to other CPU architectures (all current examples). People are, at this moment, arguing whether or not a "config" change is going to be permitted, even though it's a necessary step in porting to the PPC and MIPS architectures. People are standing in the way: they are not asking how the work should go forward, but *if* it should be *permitted* to go forward, as if volunteer efforts required sanction to take place. Well, they do, if they are to occur under cover of authority, in the context of the project, proper. Someone made the suggestion that the PC98 architecture be converted to this new style of "config". The reasoning behind this was transparent to me, and so I threw what philosophical weight I could behind the idea: to demostrate to the skeptics that such a change would not impact their daily lives, so they could feel "safe" in not hindering it. > Will re@ hold to a release date for marketing purposes? Probably not. If there were official sanction, then yes, it would. It did. There is historical precedent for this in FreeBSD. Jordan was in a position, as both PR contact and release engineer, to be able to make this happen. He was able to synchronize releases with major events, and with press releases that had lead times appropriate to the publication/forum. We all knew about the Usenix release, for example, and Jordan was there to hand out CDROMs with the new release on it, coincident with the release appearing in the media. At this point, though, you're right: "re@" would not hold a release date for marketing purposes. And part of the reason for this is that they would feel that this would be giving power over them to marketing, which is something that they don't value enough to yield power over, even if the yeilding is in fact an illustion of when a disk is cut, rather than when a tree is tagged, so that a code feeze doesn't mean voluntarily ceasing to make checkins on the HEAD branch. > But that's part of the nature of how open source projects staffed > almost entirely by volunteers are run. If we had a highly paid staff > of developers, that would be a different matter. Yes and no. A business is a system, and a volunteer organization is also a system. What it comes down to is the core values and mission of the organization, not whether or not people are paid for their efforts in the coin of dollars, or the coin of ego, or some other coin, such as wanting to leave a better situation for those to follow. It's true that you can't schedule volunteer resources -- unless they volunteer to be scheduled -- but it's also true that the same thing that motivates you to volunteer effort can motivate you to show up at your job, Monday morning, instead of showing up at a competitors HR department. That thing is called "vision". And, while the project attempts to create a focus, and does moderately well at supporting the feedbck mechanisms that reinforce particular focus for efforts, in the end, focus is no substitute for vision. When people tell you to focus on a goal, what they are really saying is that they are managing a crises, and they can't see any farther than the immediate short term goal -- that they have no roadmap, are as clueless as the next guy as to what the future will bring, and are focussing on the short term as a way of compensating for this lack of direction. The only thing they know for sure is that they have a means of stomping out fires, and they can always wait for the next fire, and demonstrate how good they are at stomping them out, and if it's a slow week, they can start their own. > "The FreeBSD Project" is not just about code. It's about producing > something. For example, we on doc@ are held in high regard. While at > times I may feel inferior because I cannot follow the latest > discussion on kernel architecture in arch@, I have *never* been > treated as a second-class citizen just because I don't code. That's > because I produce actual content which other people can use, and I > give it away, just like the programmers. You are in the same boat as a regular developer... for the most part. Because you commit something to the source tree, it doesn't matter that it's documentation, your contribution is visible, and, if anyone cares to make the effort, at least measurable. On the other hand, documentation *is* a second class citizen, to code, according to the project powers, or there would be a documentation requirement for new subsystems. I'm firmly convinced that the major reason people have not converted all the code from the old way of doing things to the new way, when it comes to APM vs. ACPI and the APM "screen saver", or "newbus" for everything, or "GEOM" for raidframe and Vinum, or making everything "devfs knowledgable" or the AHA15xx drivers not being there when CAM first went in, or the AppleTalk, X.25 and ISODE support dissapearing when the new routing code went in, etc., etc. ... derives from the fact that there was a lack of documentation. And if documentation were a first class citizen, then there would have been a requirement that the authors provide at least enough data to document their APIs, if not their code, so that third parties would be able to actually use them, instead of code "getting stale" (impossible: there is no such thing as bit-rot, there's only half-assed porting jobs). The most apparent example of this trend right now, in FreeBSD, is the SMP locking: there's not enough documentation for people to be able to contribute usefully to the project, even if they are knowledgable engineers, unless they already have built their kindom into the area where they are entering: people can only operate within restricted domains, where they have credibility to spend. Credibility that they might not gain back, if spent this way. Some obvious questions, which should be answered by documentation: o What is the overriding locking philosophy for the SMP effort? o Do you lock a code path? o Do you lock a data object or container? o How do you make sure people aren't using one lock to achieve the effect of the other? o What's the quick way to fix a lock order reversal? o What's the philosophy about holding locks over function calls? o Is it an attribute of the function being called? o If so, how can you know ahead of time which functions have which attributes? o Where is it documented? These questions are only vaguely answered -- not well enough that code does not ship with daily posts to the -current list about "LOR this" or "LOR that". > Advocacy work is unquestionably work. I happen to know that commit > bits have been offered to certain advocates who produce neither code > nor committable docs, but their advocacy work has been important and > far-reaching enough that we feel they have earned the right to the > @freebsd.org address. In the cases I am aware of, the advocates have > turned down the offer. (I'm not going to name names here, at least > one person involved is on this list and I don't care to either > embarrass him or subject him to a flood of email of "why did you turn > it down?" It's nobody's business but his.) Philosophically, I can well understand the refusal. If the commit bit is a plaque on your wall for service to the project, rather than a gating factor, it becomes a goal in itself to obtain it as a reward. It is no longer a tool to use to achieve an objective, it is an ends in itself. I suspect that there are many people who, after an initial amount of effort after achieving their commit bit, and getting the "FreeBSD Committer" to put on their resume to imply to potential employers that they are buying some small editorial control over the project with the employee, have not committed anything for a very long time. I also suspect that there are those for whom having their name in the CVS logs is more important than actually doing any real work of value, and they make large commits of mechanical changes, in order to have their name attached. There might even be behind-the-scenes versions of "core wars", where coup is counted by who has touched a file last, or who has the most files with their initials on it, or some other arbitrary (and ultimately meaningless, in terms of moving the project forward) measure. It would be very interesting to see statistics, up to the point that this posting was made, and potentially made people rethink what they were doing, or at least think about making it less obvious. > Internally, the "FreeBSD Project" is highly interested in advocacy > work that creates content. Some of this content is useful for > inclusion in one of our source repositories. Some of it is not. If > it is not suitable for inclusion in our source repo, we don't need to > do anything except say "thank you." The valuation is high for committable material. I've generated a lot of it myself. > But we definitely appreciate people who go out and pound the pavement. > Since pounding pavement does not produce content, however, there's no > need for action from "The FreBSD Project." All we have to do is keep > producing content for others to advocate (or not advocate, if they > choose). Who has written the most articles mentioning FreeBSD? I would bet that the person who, by far, holds the record, is, in fact, well known to us all. But their contributions are uniformly disparaged on the mailing lists, and they have, in fact, been banned from some of them in the past, or simply "kicked off", and forced to resubscribe. > PS: Why do I keep putting "The FreeBSD Project" in quotes here? Well, > that's because in my opinion it's a lot more amorphous than people > seem to think. There is no Project; there are just people who work on > FreeBSD. There is no person or group that can approve your project to > advocate FreeBSD, but there is nobody that can tell you *not* to do > it. True, you cannot send out a legal document in the name of > FreeBSD, but you can do dang near anything else. The power derives from control of the source tree, and the tokens of power which are handed out are community membership, in terms of commit bits, and mailing list membership. What is given, either explicitly, or tacitly, thorough it's ability to be taken away. One of the main reasons I've advocated avoiding yielding internal power (e.g. "PR core team member removal") to the project itself is to avoid involvement in this funnel of centralization, and immediate inferior hierarchy relationships (as docs is to the rest of FreeBSD committers). You are unlikely to be nearly as effective in any PR effort, if you yield the power to technocrats. They will not sabotage you intentionally, but the effect will be the same as if they had. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-advocacy" in the body of the message