On Dec 16, 2005, at 8:06 AM, josh giesbrecht wrote:

> Hi all,
>
> One quick sanity check: where do we want information to end up?  Is  
> the
> ALU Wiki used primarily to give us a repository for brainstorming, or
> are we putting more 'public' info there?

Let me start by saying that I'm incredibly impressed with David Aue's  
work on the ALU wiki. It certainly brings home some of the strengths  
of wikis. However I also have some reservations about trying to do  
too much on a wiki. So let me explain what I understand the relation  
between the www.lispniks.com website, the ALU Wiki, and the Common  
Lisp Directory to be and how they all relate to the CL Gardener's  
project.

* www.lispniks.com

I expect www.lispniks.com to be the main home for information about  
CL Gardeners, what we're about, what projects we're working on, etc.  
I prefer to keep the public face of CL Gardeners on a traditional  
website because of my previously mentioned interest in the idea of  
editorial control. Which does not mean (in this case anyway ;-)) that  
I have any interest in exercising dictatorial editorial control--just  
that I want it to be controllable by somebody. I'm highly  
enthusiastic about the idea of people collaborating on pretty much  
all aspects of CLG and will work hard to make sure that folks who  
want to contribute can do so without a lot of hassle. For instance,  
as I've mentioned before, I plan to set up a subversion repository on  
www.lispniks.com which I'll use to manage the website's content and  
I'll be happy to give commit access to folks who want to do  
substantial work on the site.

I also expect to host some of the products of CL Gardener's projects  
on www.lispniks.com. For instance, the FAQ will live there. This is  
again in order to maintain some editorial control and also because  
some kinds of information will be easier to present in an appealing  
way with the full power of HTML rather than the subset provided by a  
wiki.

* The ALU Wiki

The ALU Wiki on the other hand is an excellent place to do the kind  
of digesting that David has been doing of conversations that happen  
on the mailing list. Thus I think the ALU Wiki can be used as a tool  
for interested folks to collaboratively develop a proposal for a CLG  
project. I suspect these pages should have a short and standard  
lifecycle--someone creates the page and puts up a strawman proposal  
of what problem the project is aimed at solving. Then other  
interested folks can refine the problem statement, add information  
relevant to the problem (such as the comparison of IDE's on the  
current Newbie Development Environment page), and come up with a plan  
of attack. When the project seems reasonably well defined the folks  
who want to work on it should send mail to the mailing list so the  
project can be added to the official CLG Projects page on  
www.lispniks.com and the ALU page can be deleted or kept as a shared  
notebook for the folks working on the project.

* A digression

Which of course brings up the question of what it means for a project  
to become an "official" CLG project. I'm inclined for there to be  
some controls on that--I think it's important for the viability of  
the CLG project as a whole that sub-projects that spin up under it's  
banner meet some threshold of goodness, achievability, fitness with  
the CLG philosophy, etc. This is particularly important now when we  
are starting--I suspect a good portion of the existing Common Lisp  
world that hasn't joined us is waiting to see what we're going to do.  
If we come out of the gate with a few reasonable projects and  
actually carry them through to completion then we'll gain a lot of  
credibility. But if we immediately start running all over trying to  
change the world and don't get anywhere we'll just look silly. Not  
that I mind looking silly on principle, but eventually we're going to  
want to take on projects that will require us to be in the good  
graces of other folks such as implementors and library authors that  
we want to collaborate with us. Anyway, this is probably worth some  
more thought and some discussion.

Personally I'm inclined to follow something like the way Apache  
Software Foundation projects work. To quote from: <http:// 
www.apache.org/foundation/how-it-works.html>

   Decision Making

   Projects are normally auto governing and driven by the people
   who volunteer for the job. This is sometimes referred to
   as "do-ocracy" -- power of those who do. This functions well
   for most cases.

   When coordination is required, decisions are taken with a lazy
   consensus approach: a few positive votes with no negative vote
   is enough to get going.

   Voting is done with numbers:

       * +1 -- a positive vote
       * 0  -- abstain, have no opinion
       * -1 -- a negative vote

   The rules require that a negative vote includes an alternative
   proposal or a detailed explanation of the reasons for the
   negative vote.

   The community then tries to gather consensus on an alternative
   proposal that resolves the issue. In the great majority of
   cases, the concerns leading to the negative vote can be
   addressed.

   This process is called "consensus gathering" and we consider it
   a very important indication of a healthy community.

The only real question in my mind is how to identify the members of  
the "do-acracy", especially now when we're starting out. In Apache  
projects there's a distinction made between developers, committers,  
and PMC (project management committee) members where only the latter  
have votes that really count. While that seems a bit hierarchical, it  
is also supposed to be based on merit. One becomes a developer by  
actually submitting patches. Then one is made a committer by  
nomination and vote of the PMC members. And PMC members get to decide  
who else is a made a PMC member. I don't know if we need all three  
levels nor how to get bootstrapped but I'm sure we could come up with  
something. For instance, we could appoint Brad Beveridge the seed PMC  
member since this was all his idea to start with and then he can  
appoint a few new PMC members and then they can expand their ranks as  
appropriate and start making folks committers as soon as I get the  
svn repository set up and we have stuff to work on.

* Back to the ALU Wiki and also the Common Lisp Directory

Another relationship between the CLG and the ALU Wiki is that we can  
act as Wiki contributors and WikiGnomes on the ALU Wiki. That is, the  
greatest strength of a Wiki (in my experience) is when it is full of  
well-organized, interesting content. Since there is currently very  
little activity on the ALU Wiki it is sort of like a big grassy field  
ready for planting with maybe a few interesting wild flowers already  
growing in it that'd be worth keeping and building a garden around.  
Folks who are interested in researching various aspects of the Lisp  
world (e.g. what libraries are available to do X?) and writing about  
it should definitely consider contributing to the ALU Wiki. And if  
that takes off, hopefully the more experienced Lispers on this list  
will also take a look and do some WikiGnoming to keep things on an  
even technical keel. Certainly a vibrant and well-maintained Lisp  
wiki would be a pleasant addition to the Lisp landscape.

Similarly, I see the Common Lisp Directory as a project that CL  
Gardeners may be interested in helping out with. I'm hoping Marc  
Battyani will write something about what kinds of things folks could  
help out with to make it a useful resource so we can see if it's  
something folks are interested in working on.

Anyway, that's probably enough for now. Let me know what you think.

-Peter


-- 
Peter Seibel           * [EMAIL PROTECTED]
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp  * http://www.gigamonkeys.com/book/


_______________________________________________
Gardeners mailing list
[email protected]
http://www.lispniks.com/mailman/listinfo/gardeners

Reply via email to