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