PDS 20110730 Proposal: Sharpen Support Policy for Windows, Then Implement It!

James E Keenan jkeen at verizon.net
Fri Jul 29 00:18:38 UTC 2011


This is a proposal for a roadmap goal for Parrot during the period from 
the Parrot Developer Summit on Sat July 30 2011 to the next quarterly 
supported release, 3.9, on Tue Oct 18 2011.

The proposed Roadmap Goal is: "Sharpen our support policy for Parrot on 
Windows, then implement that policy."

Rationale:

1.  docs/project/support_policy.pod states:

"We commit to running (passing all tests) on our supported platforms.

"We support recent versions of the three major operating system 
families: GNU/Linux, Mac OS X, and Microsoft Windows.  Any version less 
than two years old counts as "recent".

"We support the most recent version of the dominant compiler which 
conforms to the C89 standard on each supported platform.

"We may not support all additional features on every platform (JIT, 
native binaries, alternate runcores), but the default configuration and 
runstate of Parrot will work on all supported platforms."

2. As I argued in my presentation at FOSSCON, to be successful Parrot 
needs high-level language developers from Python, Ruby and other 
communities to develop implementations on the Parrot virtual machine. 
Python and Ruby already have well-developed implementations on the two 
major commercially supported virtual machines, the Java Virtual Machine 
and the Common Language Runtime -- both of which run on Windows.  It is 
reasonable to suppose that the people who are capable of leading 
HLL-implementation efforts will want Python-on-Parrot, Ruby-on-Parrot or 
AnyHLL-on-Parrot to run on Windows just as their *-on-JVM and *-on-CLR 
do.  Thus, we need to have Parrot on Windows in order to win 
HLL-implementor mindshare.

3. In conversation, Patrick Michaud has reported that Larry Wall, chief 
language designer for Perl 6 -- Parrot's currently most important HLL 
user -- has stated that he wants Perl 6 not only to run on Windows -- 
his long-stated wish for Perl 5 -- but "to run *well* on Windows."

4. In the months preceding Parrot 3.6, we often did not have Smolder 
reports coming in.  When Smolder came back to life, we encouraged smoke 
test reports on Windows machines -- only to find that we were getting 
different sets of test failures on differently configured Windows 
machines.  By release date, we were getting all tests PASS on some 
Windows boxes, but not on others.  We have only a superficial 
understanding of why this is so.  It is quite likely that current Parrot 
users or likely future users who work on Windows would view some Windows 
configurations as suitable for professional software development and 
others as not suitable.

5. Hence, we should identify the Windows configurations which are most 
likely to be used in ongoing Parrot and HLL development, and encourage 
people to use those configurations for development, testing, debugging 
and smoke testing.  That would imply that we would put much more effort 
into fixing failing tests reported by certain Windows boxes than others.

Proposal:

1. Establish a team of Parrot developers and users to work on this 
Roadmap Goal.  The team would be tasked with:

* Interviewing current Parrot developers and users who work on Windows 
to determine their needs and preferences.  (Yes, such people do exist!)

* Interviewing professional software developers who work in the Windows 
environment and who currently have no connection with Parrot to develop 
an understanding of what it would take for them to first smoke-test 
Parrot on Windows and later undertake Parrot/HLL development on Windows. 
  Colloquially:  What would it take to get them into the Parrot showroom 
and have them kick the tires?

* Examine Smolder reports to see which Windows configurations get to 
PASS more often than others.

2. Develop a report to the Parrot project as a whole:

* Recommending Windows configurations we should target for testing.

* Recommending ways in which we can encourage Windows developers to 
explore Parrot.

3. At the very least, implement Smolder reports from recommended 
configurations.

Patrick Michaud and I have discussed what some of those recommended 
configurations would be, but I'll defer discussion of them as the ideas 
of current Parrot developers in this area ought to be pursued only after 
we start to know what our users want.

I believe this proposal meets the criteria for promotion to Roadmap Goal 
status.  It is important for Parrot -- important enough that we should 
publicly commit ourselves to do it and recruit a team of people to do it.

Thank you very much.

kid51



More information about the parrot-dev mailing list