[CentOS] CentOS Project Infrastructure
Karanbir Singh
mail-lists at karan.org
Wed Aug 12 23:36:44 UTC 2009
Hi,
Late to the party, oops! Everything in this email is my personal
opinion, and I speak for myself not the project here. Just as Russ and
Johnny dont speak for the project either in their emails, they speak for
themselves.
On 08/06/2009 02:52 PM, Marcus Moeller wrote:
> I recently started thinking about how to make a project like CentOS
> more transparent and open (especially for new contributors).
There are a lot of good ideas in your mail, Marcus - however some that
are mis-aimed, not your fault, and maybe not taking the entire CentOS
context in mind. But everyone of them put forward with good intent. The
conversation that followed from there is also very interesting, some of
it made me sad though. CentOS has been quite an experience over the last
few years and I think a few things need to be put into context. Kai, if
you dont want these emails, setup a filter for yourself or unsubscribe
from the list for the duration of the conversation. Given the traction
this has and the context of the conversation, I feel its important that
it gets somewhere.
Anyway to kick things off, here is a bit of history to start with :
CentOS started way back when..... We had no management, there was little
or no direction and people didn't care much about things. A few of us (
mostly Johnny and me, to be honest ) took up the task of fixing stuff
and making things happen. And because we used it and because we were
able to[1], it was the norm spending the 36 hrs /week on the day job
followed by the 30hrs/week on the CentOS 'job'. Its pretty much stayed
like that for years, when Ralph and Tru got involved with the
infrastructure side of things and Ralph took up the additional task for
'being chief executioner' on the wiki. Tim has been an even more recent
addition to the 'team'. And this is even before we start talking about
the distribution. Most of us do other things as well, like help and work
on building a distro[2], Some of the people on this list might have
heard of it. One of the important things to keep in mind is that CentOS
hasent been an accident. We had decided very early in the lifecycle (
Jan 2005, I still have the logs from the conversation ) that we would
either do things the right way, or not do them at all. I guess that paid
off long term, even at the cost of personal loss ( I've lost count of
how many times people have called me all sorts of things ).
So, effectively late last year, we decided that things were getting a
bit mad and something had to be done. And we setup the infrastructure
group to keep things moving along while we looked at options and also
tacked other issues, which needed attention. Much of whats been going on
recently in terms of the 'project issues' with the media is negative
spin to what I'd say is a good thing for the project. We are at a stage
where we can restart, with much hindsight and a clearer idea of what
needs doing and how it needs doing. We also realise that while we made
mistakes along the way (eg. the QA Team ), somethings we did get right.
So let me lay out what I'd consider an ideal situation that we can build
on from here. Remember, that this is my personal take on things. Much
needs to happen before some of these are even considered.
The first thing that we need to do, all of us, is step back a bit and
see exactly what CentOS is. I think about 80%(guess) of the contributors
to the thread already, dont seem to know or prefer to ignore it as they
foster a deam of something wildly different. Anyway, whichever way you
spin it - CentOS is about the people. The people here. Its not about the
distribution. Its not about any 'team', its not about the infrastructure
or the means for the infrastructure. Its a group of people, who all
use/abuse a common code base. Therein lies my take on what is the 'C' in
community. I'd be happy to clarify and explain ( although Smooge and
Mike already do a great job of that ), if anyone still cant 'get it'.
CentOS, in its early days was about the optional setup to EL, in the
last few years its become about the people. Even if you dont agree with
me and try to spin it otherwise. At the core of this group-of-people is
a codebase that we dont change, we dont edit, we dont 'develop' on[2].
Look at the wiki, look at the forums, this list, look at the companies
who base their products on CentOS - and you will see this community.
People who 'get it', and are offering to help others 'get it'.
So, I think lets start by first defining what it is that the 'CentOS
Project' stands for. Johnny already pointed people at the website and
whats on there. I think now would be a great time to redefine that into
a real 'charter' or a 'mandate'. Having said this, I also realise one
thing that we got really wrong was calling people 'CentOS Developers'
and others 'the Non Developers'. A more apt name for these people would
be 'administrators' ( or even something else ). These are the people who
keep the 'stuff' working, they 'facilitate' the community. They are not
the community or even try to be them. We got it wrong. Lets fix it now.
Fix what ? Well, for one - a contributing community needs to have
something to contribute to. Also, as I said earlier, the community is
the people, and they are people based around a shared interest in a
common codebase. A codebase that is essentially open source. So the
ability to expand and promote that codebase should be something we can
'facilitate'. A process would need to be defined, and I am sure there
are enough people around who can help with that process definition. But
once its in place, I see no reason why it cant be done.
Exactly who gets to make the decisions that would then in turn influence
the whole userbase ? One way would be to have everything churn through a
mailing list and have everyone contribute a voice. Something that works
well in some cases ( package policy definition would be a good example
!), and in other cases thats a really bad choice ( are we going to use
machineX for DNS or a torrent seed ). Most users dont care as long as a
'reasonable expected level of competence' goes into making these
decisions. And these are the sort of decisions that need to be made
within a specific user group. Could they be done in public ? I am sure
some can. while there are plenty which cant. My point here is that while
there are some things that can really go into a circular route and stay
open ended, others cant. And this is where I feel a 'admin/core/infra'
team fits in. The list of people who work within this team should also
be mentioned, but all contact and work / requirement work done through
'role' accounts actively discouraging personal contacts.
Similarly, I feel we need to have a 'control group'. Someone who can
look at issues like donations, management of funds, management of any
centos branding and also be the focal point for the promo efforts[3][4].
A group that is built initially from the existing core group and
initially atleast, based around an invite only process. However, this
group should be put into place with a reasonable transparency process in
place. Exact extents on this and the mechanics of how this would work is
something that is still pretty much in the air.
Anyway, so where does this leave the 'developer person'. As I see it,
anyone 'doing stuff' on projects.centos.org should be able to call
themselves a CentOS contributor. Anyone doing anything else can call
themselves whatever else they want. So where does this leave the 'build
people' ? I'm going to propose that the build-group/ key-holder group
stays small, invite only. However, let people from the community have a
mechanism to help with the process. Remember, the action is not going to
be in signing packages, its in making sure that things are doing what
they need to do. What I am also going to propose is that the
infrastructure for this stays where it is. We have major wins in keeping
the buildsystem offline, not only the security part - but also the wins
we get in manageability are worth a lot. Besides, mock hosted builds
local to where the contributors want to be are trivial these days. Also,
with the keys - we dont even need all the people doing builds to hold
keys. There are, as most people know, issues within the way things are
pushed out right now. Packages that should take a few hours or even a
day sometimes, take a much longer time to get there. And this is a very
real problem and something that needs addressing right away.[5]
I just want to finish this brain dump off by saying that there is no
reason to panic, we are changing things and we will change things in the
long term best interest of the project. Exactly what we change and how
and why and when would be things that I will attempt to bring into a
place where there is plenty of option for user feedback. And feedback,
before things change up. End of the day, if we cant convince the users
about what we are doing as being in their best interests, perhaps were
doing things wrongly - and we should take that on board.
- KB
[1]: Not easily, but we made the efforts. Just as the other guys do now
as well.
[2]: I have a few ideas on why only idiots merge 'development' and
'distro' into one set. Will collect and post those thoughts elsewhere.
[3]: This needs to be extremely transparent, and the idea of a
foundation does sounds very enticing. And is being actively pursued at
this time.
[4]: the 'promo' group again is something which we got the naming for
quite wrong. its more of a 'conference' group.
[5]: there are other things that need attention as well, but changing
too much at one go, specially with the build setups is going to break
way too much. so one problem at a time. If you are interested in
helping, track centos-devel list for a few weeks
--
Karanbir Singh : http://www.karan.org/ : 2522219 at icq
More information about the CentOS
mailing list