[squeak-dev] [Cuis] Cuis
keith
keith_hodges at yahoo.co.uk
Thu Jan 21 18:00:09 UTC 2010
Igor,
first let us define some terms.
The Squeak Community
===================
You and the board appear to define community as "anyone who pipes up
on squeak-dev".
Now this definition has caused all manner of problems in the past
especially with 3.9, and it resulted in the Pharo split, because the
3.9 team were constantly beaten up by people on squeak-dev. (One of
those persons doing the beating happened to be Andreas). This
definition of community also includes the average "lurker", who may
download the image every now and then to see if it is interesting
enough for them to not have to do java any more.
The "team model" adopted and endorsed by the board for many years,
whereby the teams had their discussions on a separate mailing list,
specifically afforded a layer of protection from the wide ranging
opinions of "lurkers". The flagrant violation of this simple social/
political essential layer (which protected Ralph for more than 6
months), is what caused our problems in the first place, when Andreas
went to squeak-dev with "this is the new process, I am a board member
I can do what I like and I haven't even spoken to the release-team for
two months". Andreas was elected on a mandate of helping along a
release, and by implication to help along the release-team doing the
release. That mandate did not include, using his position on the board
to promote his own interests, and that of his company, over that of
the communities interests, which I shall outline below.
My definition of "community" is, the body of individuals who have
significant code bases built on squeak or squeak like base images, who
are tasked with the problem of maintaining packages, for users who are
using an ever increasing variety of tools and forks of squeak. My
definition of "community" includes all pharo developers, pharo users,
cuis developers, and cuis users, cobalt, croquet, etoys, gjallar the
lot. For example, I consider Göran, who is tasked with the maintenance
of Gjallar, to be the archetypal, community member, whose needs bear
understanding and supporting.
So the "lurkers" who download an image occasionally, they pop up on
squeak-dev and see "nothing appears to have changed in 4 years". These
are the ones that panicked the board, people I had never heard of, and
as far as I know had no commits to any current projects i.e. they
aren't really part of the community.
The "community" who have actual code running, have seen that the range
of tools they can use to make their job easier to move their code
about, to test it and to deploy their code for different clients has
steadily increased and improved over the past 4 years. Now we have
package management systems, improved testing tools (TestReporter),
improved MC, Logging, Rio, Sake, Bob, AtomicLoading, Installer, and
LPF *** running in all base images.
The Vision
=========
The "lurkers" just want to see a new flashy image, that they might try
a little project in one day.
The "community" want to see the board provide vision and to promote
harmony both philosophically/ideologically, and with technical
facilities; harmony among all squeak forks, even those who don't want
to be harmonised (i.e. Pharo). The community members want to be able
to publish a package (e.g. Magma) and have it be tested to work for
everyone, whether they be pharo users or squeak users. The community
wants to be able keep its large published, even deployed code bases up
to date and bug free.
This means that "the community" don't want yet another fork to
support, the communities enthusiasm for "yet more of the same" waned
when pharo forked, and no one wanted to volunteer for 3.11 after 3.10.
To be honest we were all too busy just keeping our own code bases
running, to have to worry about another fork of squeak.
In anticipation of spoon aka squeak 5.0, those of us with big code
bases are already anticipating a significant porting effort in the
future, we don't want to have another one foisted on us every 6 months.
Where are we now
==============
The board has responsibility to the community, the whole community,
and I don't just limit that to squeak users.
This means that the board needs to set and understand its terms of
engagement, that it is here to provide an "older and wiser
supervisory" service different branches of the community, to foster an
inclusive "culture" around which interesting innovations and solutions
can happen.
It is not here to promote the interests of Andreas, and his company in
the following:
1. Producing yet another fork for its own sake, "fork de andreas", and
calling it squeak - is not in the interests of the community.
2. Undermining the existing common tools and the progress made, in the
past 3 years by the community***
3. Orphaning existing code bases, not providing any fixes to us, or a
migration path.
4. Ignoring users of other forks, and users trapped by inertia in past
squeak releases.
My Personal Situation
=================
I was funded in part to work on squeak, because my vision aimed to
provide tools as a means to harness the creativity of the whole
community. This was considered a benefit to both myself and my
clients, and my paying clients considered it a bonus to be able to
contribute back to the OSS community, from which we also derive great
benefits. The vision provided a suite of tools we could use to build
and test our production images, and our code base would be able to
track the latest developments from whatever source.
The board scuppered all of the above, and the reputation of squeak as
a viable solution that is worth contributing back to (i.e and
funding!!!!) has been irreparably damaged. So thanks the incompetent
fly by the seat of their pants flailings of the board, I loose a small
but significant income stream that took several years to build up.
We also believed that modelling an extreme programming approach to
testing and releasing, with a goal of bi-monthly releases, would be of
value to the community and our own projects. (we would be on squeak
3.14-alpha by now, if Andreas had put his considerable skills to
contributing to the release team's work, rather than replacing it)
The fact that the actions of the board, have allowed an individual to
take over, without due process, for his own benefit, following the
agenda of his company, while at the same time, causing problems for
others, is an issue of serious concern that the board should take
seriously, and is not. It is the board that is going around in
circles, refusing to take the "terms of engagement" request seriously.
I have no use for Multimedia tools in squeak or half of Andreas'
ideas, I don't even know or care what they are, and I doubt if Göran
gjallar (a project management tool using seaside and magma) has much
use for them either. These are loadable things, that should be
provided in external packages (again for all base images), Andreas
should go off and become a contributing member of the community first
before presuming to run it. How many loadable packages are on
squeaksource provided and maintained by Andreas, if the answer is
none, then he is not really a contributing member of the community, he
is merely an informed user, aka lurker. Why would his opinion on a
package management solution for the community to use be relevant, if
he doesn't have any packages? Andreas develops using a "monolithic
image under his control", so effectively do the Pharo team members,
yet we, the community had a professed goal of moving towards a kernel
image with load-able packages.
I myself made a specific decision NOT to run for the board (though I
was asked), because I didn't see any purpose for a board member to be
both on the board and on the release team, after all the board had
endorsed the release team and therefore had a DUTY to uphold it as a
decision making entity in its own right. The release-team has the
authority to decide what is in the release, not the board, since that
is what the board appointed the release team to do.
Andreas however joined the board specifically as a ploy to mussel
through his own agenda which is to release a new image. No mention of
the cultural context in which we are all operating, and those of us
who are "the community" of package developers, are offered nothing
from this new deal.
The core image, as a practical artefact, is the least important part
of providing a service to clients, having it change underneath you
however, is a big problem. The important part is the code you develop,
maintaining it and testing it.
Although "Fork de Andreas", has not adopted LPF, Sake/Packages,
Installer, this is not a problem as long as it doesn't break them.
However Andreas has actually undermined and broken the use of MANTIS
as THE tool for documenting bugs, and providing fixes for us legacy
users. Because trunk is a moving target, people are fixing bugs
against the moving target, not against releases. This is a change of
policy which is not in the interests of the community, and hasn't even
been discussed. Bug fixes are not maintained for existing users any
more, nor can you provide them to existing users any more. Sake/
Packages can include a bug fix with a package if it is needed. BUT
that bug fix has to be published relative to a fixed point, i.e. a
release. Throwing fixes willy-nilly into trunk, doesn't help anyone.
We had a golden age in which you could load any bug fix you needed
direct form Mantis, well now no one is providing fixes there any more.
You are forced to use trunk to avail yourself of important fixes, but
trunk is a moving target and is pre-release.
The Boards Job
============
The board's job is to consider the following points, and to provide a
visionary direction as a solution to the community:
1) My own code base is now orphaned and there is no suitable base
image upon which to build, beyond 3.10. I was going to use Pharo, but
I find OmniBrowser unusable, and the image is hugely bloated.
The trunk based 3.11 will not come tested, it will not come with
package management, I will have to port all my own tools, and my own
code, I will have to manually regression test seaside, magritte, pier,
Rio, Beach etc, and some 60 packages, against the release. Andreas
will not do that for me (whereas Bob would have done). The Bob/LPF
process enabled me to apply API fixes to legacy images, and so enables
a smooth migration path to any new releases.
2) The pain of maintaining my existing 14 or so packages for all forks
is getting progressively harder not easier, to the extent that the
inability of getting anyone to work together at all is making
continued community based development prohibitive.
3) The board's ability to make any decisions whatsoever has been
undermined, since it cannot be trusted to support its own decisions,
or even to use due-process for anything it does. Thus the board has
become THE loose cannon, that it was created to stabilise through the
application of diverse elected wisdom. The process of election, which
was intended to enable the board to be a source of wisdom, and to be
representative of the communities interests, has become the potential
source of unpredictable insensitive and partisan disruption.
4) If the board did not exist, or remained as a low key background
entity looking after servers, then the community would have a chance
to work things out in a process of mutual collaboration. The heavy
handed actions of the board, now ensure that for groups sharing common
interests, forking, in order to get away form the potential disruption
that the board may cause, is the only viable option. This is the
opposite of what the community wants.
5) The facilities of the community, can be removed, or re-assigned
without due process. Thus scuppering all work done by users of those
facilities. I spent a lot of effort building tools for mantis, that
would enable mantis to be used as part of the process, effectively.
But now Mantis and mantis harvesters have been reassigned to a
different purpose. For example, I cant deliver my 3.11 even if I
wanted to, because it was bound to and intended to showcase a process
and that process included the way mantis was used to collate, query,
and manage bugs, in a professional manner for the foreseeable future.
Andreas replaced the process with his "New process for contributing to
squeak", in ONE email, with NO discussion.
6) Does the board even have a constitution? This email includes the
announcement that my teddy bear Cyril is running for the board, in the
upcoming elections.
So in conclusion, until the Board, defines what it means by the
community, and what it means to be itself, I don't think the community
is really able to function.
I have repeatedly asked the board to produce a simple little thing
such as a "Terms of Reference", 6 months of complete in-action on this
topic, leads me to feel that I would be within my rights to call for
resignations.
I am not going in circles Igor, I stated my position clearly at the
beginning and I haven't changed. "I will not contribute any further to
squeak, until the board has some form of terms of reference, which
protects anyone from going through what I went through in the future."
regards
Keith
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100121/8242b99a/attachment.htm
More information about the Squeak-dev
mailing list
|