[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