[Windmill-dev] Windmill and OSAF
Mikeal Rogers
mikeal at osafoundation.org
Thu Jun 26 13:25:51 PDT 2008
This is a hard post to make but I can't keep ignoring the feedback I'm
getting from people in the community.
For a while now, I've been getting concerned input about windmill's
future, in particular concerns about OSAF's uncertain future effecting
the windmill project.
After objectively looking at the current state of affairs I've decided
to make a proposal. Before I do, I'd like to reflect on the history of
windmill and OSAF's role in it. The most concerning thing for me has
been that these concerns/feedback seem to paint OSAF's relationship
with windmill entirely negatively and for those of us that created the
project this invokes a strong emotional reaction because we know how
important OSAF has been to windmill and before we move on I'd like
everyone in the community to understand that role.
= History Lesson =
One day I was asked to find a way to get functional UI tests working
against the Cosmo Web Interface (at that time still called Scooby). I
looked at Selenium and decided it didn't yet cut the mustard, and with
no other alternative we decided to table automated web UI testing. 3
months later Adam Christian began work at OSAF on a contract and
Selenium had just made some major improvements and was advertising
some of the features it lacked earlier and were the reason I turned it
down.
Adam spent about a month writing tests in Selenium, he ended up
writing a lot of patches to SeleniumCore to get these working, all of
those patches fell on deaf ears and we resigned to maintaining a local
branch of the SeleniumCore code. Then I was asked to move all those
tests to run on SeleniumRC and get it working in continuous
integration. At the same time we were also finishing up the next
version of the WebUI and Adam was tasked with getting all the previous
tests running against the new version.
Both tasks ended up being incredibly more difficult than they should
have been, and we realized that this strategy couldn't scale,
especially with the time based releases we all wanted to see Cosmo
move to. At this point we had some ideas about how to make things
better, and we started asking some of the OSAF higher ups, in
particular Ted Leung, if it would be ok for us to write a replacement
for Selenium.
It needs to be said here that anyone else, at any other employer
probably would have told us to have our heads examined. Adam was just
out of college and I had never written a Python project as large as
the one we were talking about doing. But we were certain we could do
it and Ted and OSAF supported us. We spent 2 months writing the
initial version of windmill and initial test suite for Cosmo. That was
two months of employment for two people that could have been a wash if
we were wrong or we couldn't hack it. OSAF is a small place ( at the
time consisting of less that 30 people), it doesn't go unnoticed when
two of them are banging away for 2 months on a repository nobody is
watching while everyone else is writing product code. It's easy to say
that windmill wouldn't exist if it weren't for OSAF or Ted, but more
importantly it wouldn't exist is OSAF and Ted weren't who they were,
if it were anyone else, anywhere else, it never would have been done.
We kept incrementally improving windmill, first so that other people
at OSAF could run it and write tests and then, in preparation for our
talk at OSCON, so that people in the community could use it. Our OSCON
talk was very well received and we've enjoyed a steady growth in use
and participation ever since. In this time the only stable contributor
we gained was another OSAF employee, Matt Eernissee, who always
participated in the project but at some point decided to write the
JavaScript test framework in windmill. At the time his manager was Ted
and again Ted decided to let Matt spend time improving windmill and
not writing new Cosmo features with the hope that eventually we could
automate even more testing inside of the product.
The success of windmill inside of OSAF is something most people don't
know about. In mid-2007 Cosmo moved to two week time based releases,
and the QA team decided to drop all manual testing. The signoff
process would be completely automated, and all of the QA cycle would
be spent writing automated tests and tracking failures in existing
tests. I have NEVER worked ANYWHERE that was even close to achieving
this level of test automation, and there is no question that we
couldn't have done it without windmill.
It was widely publicized in January of 2008 that Mitch Kapor had
decided to leave OSAF, and that he would not be renewing funding after
it's current year. This lead to a condensing of the full time staff,
most notably all of QA would be asked to leave. This was a decision I
absolutely agreed with. Windmill was at the point that the developers
could continue writing automated tests themselves. We did an amazing
thing, we automated ourselves out of the job, and in the end we felt
good about the condition we were leaving things in and we had no
doubts that we would land on our feet and that we would be able to
continue to maintain windmill at whatever full time employer we ended
up. At that time the people actively contributing to windmill were;
Myself (QA Developer), Adam Christian (QA Developer), Matt Eernissee
(JavaScript Cosmo Developer), Bear (Continuous Integration and
Infrastructure), and Ted Leung ( All around project leadership and
support). All of us left OSAF, some were asked to leave, some asked to
leave on their own.
Katie Capps Parlante (Head of OSAF) said there would be no problem
leaving the windmill project at OSAF and we never had any reason to
move it... until now.
= Now =
OSAF is focusing on it's core mission and products. It has a tight
group of developers banging away on Chandler (Desktop and Server).
Things like budget concerns, hosting concerns, the future of the
project after the current budget, all happen on a private mailing
list. These things have _always_ been on a private mailing list and
since I didn't complain about that when I worked there I certainly
can't complain about it now just because I'm not on it. OSAF doesn't
keep the windmill project in the loop about this stuff, and if OSAF
has a chance to survive another year they _shouldn't_ be keeping us in
the loop. OSAF is focusing on what are the very most important tasks
they should be doing, and windmill isn't a part of that.
At this time, the only thing leaving windmill at OSAF is doing is
adding to the list of things OSAF has to deal with and causing
uncertainty in our community about the future of the project.
= The Proposal =
First off;
1) WINDMILL WILL NOT BE MOVING TO MOZILLA.
2) WINDMILL WILL NOT BE MOVING TO GOOGLE CODE.
Because I'm employed at Mozilla full time, and now Adam is employed
part time, some people assume we're working on windmill for Mozilla
and that we may want to move the project there. To clear the record
nether I nor Adam do any work whatsoever on windmill at the behest of
Mozilla. [ We're working on something else together, it's super cool
and awesome and we can show it to you at OSCON this year :) ] More
importantly, windmill just isn't a big enough project to need large
institutional backing, windmill certainly has issues and some of those
are issues of organization, but I'm not convinced having some kind of
institutional backing will actually help that.
Trac has been good for windmill. We don't use all the features, and we
don't use some of them nearly enough, but Google code just isn't
suited for a project the size of windmill. And I'm not some Google
Code hater, I host 10 different libraries on Google Code and I think
it's perfect for each one of them, I just don't think it's right for
_this_ project. Plus, nobody is jumping up and down at the idea of
migrating all the documentation in trac to a new wiki format :P
So here is the proposal
1) Move the Trac install to my personal server (I have free hosting so
bandwidth isn't an issue)
2) Move the SVN repository to my personal server
3) Setup rsync backups for the project to both my home server and
Adam's (and anyone else who wants to contribute some more backup
redundancy)
4) Move the email list to Google Groups (I'm not setting up Mailman,
you can all go to hell)
5) Move all the urls to www.getwindmill.com (we also have .net/.org)
6) Setup an apache forward for windmill.osafoundation.org to www.getwindmill.com
7) Pour a nice glass of scotch and wait for people to find all the
crap that we accidentally broke in the migration.
The last thing to note is that OSAF owns copyright on all the windmill
code. Contributions fall under the OSAF contributor agreement. All the
code Adam/Me/Matt/and Bear wrote is owned by OSAF as we were employed
by them at the time. That ownership doesn't just go away, it will
remain. But we, the contributors/maintainers of windmill are making a
decision to move the project. That means the contributor agreement
will go away and we'll need to write a new (most likely less
restrictive) contribution policy (and I will advocate we do _not_
force contributors to sign said agreements). The details of this
policy are something we can discuss after the move, but the
repercussions of OSAF's ownership are thus;
Although no trademark has been filed, OSAF owns the name windmill.
They also own the current code base. If Katie and the rest of OSAF
decide for whatever reason they want to retain control of the project
they can force us to fork and rename it if we want to go ahead with
the move. I seriously doubt this will happen and I'm confident that
everyone at OSAF will recognize that it's mutually beneficial for us
to move, but this is still a possibility.
I now await comments, +1/-1 from contributors, and some kind of formal
response from OSAF blessing the move.
-Mikeal
More information about the Windmill-dev
mailing list