Microsoft partners with Strawberry Perl to improve the CPAN

Alias on 2008-12-06T06:32:40

It would appear I have finally I achieved my long-time goal of slashdotting pudge's private Slashdot beta testing site :)

For the last 2 years, starting with the Vertical Metre of Beer competition, I've been working to make Win32 a truly first class citizen of the Perl platform world.

The goal, as I keep repeating on the Strawbery Perl website, is Complete Platform Equality. Not different, or "better", just equal and identical. When writing Perl code, your platform should ideally be irrelevant.

I feel that Strawberry Perl has managed to achieve this for the Perl core.

In the year since it was released, the community has used it to help fix many of the largest and most important CPAN modules as well. Modules that have improved their release process and are now reliably problem-free on Windows include Bundle::CPAN, the DateTime family, Template Toolkit, POE, Wx, and a number of XML modules.

Unfortunately, we are now reaching the end of the large important modules that have big teams and are relatively well resourced. For smaller modules, and many individual CPAN authors, problems accessing legal licenses or the hardware to run it on, is now becomming a critical limiting factor. Some authors have simply never used Windows before, and don't want the hassle of learning how to set it up.

So it's time to remove that problem.

At YAPC::NA this year, at the beginning of my world tour, I was introduced to an attendee from the Microsoft Open Source Software Lab. He was interested in finding out if there was anything Microsoft could do to help with Strawberry.

Later in my tour, after diverting my first week in Portland over to Seattle, with Ingy and I took a trip out to Redmond to visit the Microsoft OSSL. After some discussions there, lunch, and a look at what they are doing for people like the Samba team, one interesting very possibility started to emerge.

A week or two later at OSCON, I managed to catch up with Sam Ramji (the head of the OSSL) briefly in the hallway track after his keynote, and bounced the idea off him directly. He was extremely positive about it, so after I returned to Australia I polished the idea into a formal proposal and sent it off for consideration.

The proposal was accepted about 3 weeks later, and last night at OSDC we announced a new partnership between Microsoft and Strawberry Perl.

So, finally, I can now stop with the waffling around and just unveil The Sekrit.

Commencing this month, Microsoft will be providing every CPAN author with free access to a centrally-hosted virtual machine environment containing every major version of Windows.

The result is now practically the entire Perl community has a zero-cost and zero-setup way to doing light development, problem replication, debugging, and ad-hoc hesting on every version of Windows.

This arrangement is particularly amazing because it is, to my knowledge, several orders of magnitude larger than anything of this nature ever attempted before with the Open Source community.

Neither the Microsoft guys nor I know quite what is going to happen once we turn this baby on. With 7,000 potential users and endless possible use cases, I expect at the very least something of an adventure. :)

So as a result, we are treating the initial implementation as completely experimental. Within Microsoft, the partnership is being lead directly by the locals in Microsoft Australia.

They have already procured and installed the hardware, and the OSSL guys in Redmond have prepared the Windows system images.

The actual hosting service itself needs to be provided by a non-Microsoft Sydney-based hosting company, due to some legal wrinkles relating to the Australian Trade Practices Act.

Once some final paperwork issues are resolved (which should happen over the next few business days) the admin passwords will be handed over to me, and then we have to work out the specific mechanics for how to manage everyone@cpan.org, and how we'll be dealing with instancing and rollback of the environments.

The launch set of Windows system images is currently exoected to be the following: Windows XP Professional Windows Server 2003 32-bit Windows Server 2003 64-bit Windows Vista Ultimate Windows Server 2008 32-bit Windows Server 2008 64-bit

All environments will be updated to the current service packs, and are (I believe) the default English (American) versions.

It's worth nothing that this initial set is based on the MINIMUM useful variations I identified as necesary. Once the environment is running, it's likely that more environments will be added.

I've already suggested we add internationalisation as the next major priority, so hopefully we can also shortly see localised instanced that represent typical install configurations from Germany, Japan and China.

As for types of activities you can use the environment for, initially I want to contain it to relatively light activities to prevent over-loading the servers.

Ad-hoc testing, debugging and experimentation is fine. Resource-intensive CPAN Testers installs and other heavy smoke testing activities will initially not be allowed, until I have some idea of just what the resource implications of this whole exercise will be.

I'd very much like to avoid melting the servers for at LEAST the first week :)

More information (and press releases) will follow, the entire program under which this partnership will be run is so new it's only just been given a name, so some of the organisational details will ironed out as we go.

But for now, to all the CPAN authors, all I have to add is...

Merry Christmas

Adam K

P.S. Or your appropriate equivalent religious or non-religious event, if any, occuring during the month of December, etc etc


Cool

barbie on 2008-12-06T08:34:35

Seeing as I've now moved to Linux completely, this will hopefully prove to be quite useful. However, one aspect I'd be interested to see, and would make it most useful for one particular distribution of mine, is will it have an MS Office Suite installed? Specifically for me will it have Outlook install?

I can potentially see a stumbling block for installing Outlook (or any email software), but hopefully monitoring will help to keep any potential abuse in check.

Regards CPAN Testers, it might be worth looking at doing something that runs rather like ActiveState's build system, but perhaps just once a week, and only for the previous weeks latest uploads. I would see that as potentially more useful for authors rather than everyone having to set up each environment and running their distributions to see what happens. It would be getting close to your PITA idea too :)

this is huge

spx2 on 2008-12-06T08:40:40

wow ! to quote "Steve Jobs" ... This is huge :)

Cool!

cosimo on 2008-12-06T09:44:48

Does that mean that I will be able to work on the 64-bit "port" of Win32::API ? :-)

Perl has been first class on Win32 for a decade ..

zeek on 2008-12-06T09:55:19

Perl has been a first class citizen on Win32 starting with the GSAR port back in late 90s, then Perl for Win32 and now ActivePerl.

In fact ActivePerl was more up to date than unix Perl during the late 5.005 and 5.6 because the pumpkin was primarily a Win32 developer.

If you want to find the second class citizens in the Perl world look at OS2, Aix, Hpux, and other strange unixes. I know you want to make Perl better and are working hard on it, but insulting the people who put together the foundation you're now working on is misguided. They did a damn fine job.

Re:Perl has been first class on Win32 for a decade

Alias on 2008-12-06T12:43:46

> If you want to find the second class citizens in the Perl world look at OS2, Aix, Hpux, and other strange unixes.

Consider it one-and-a-half class then...

> Perl has been a first class citizen on Win32 starting with the GSAR port back in late 90s, then Perl for Win32 and now ActivePerl.

I don't consider a Perl that doesn't support CPAN properly "first class".

Re:Perl has been first class on Win32 for a decade

vadrer on 2008-12-07T19:12:12

Hey, you're acting as an asshole!
I consider ActivePerl firstclass, and strawberry perl is some strange shit distracting resources - and so what?
Give some respect to people who did the port to win32!

Re:Perl has been first class on Win32 for a decade

chromatic on 2008-12-07T21:34:45

... and so what?

Read the article and find out. If it weren't for the work of ActiveState and all of the work that went into Perl 5.6.0 to enable Win32 support, this wouldn't be possible. No one but you and Zeek have disputed that.

ok, ... the CPAN a first class citizen

Eric Wilhelm on 2008-12-08T00:40:34

Sure Perl works and there is ActiveState and this is all very significant, appreciated, and important, but the CPAN is a very important part of any non-trivial Perl application, so without top-notch support for the CPAN, Perl applications end up as second-class citizens on Win32, which Strawberry goes a long way toward correcting.

Hell yes

bradfitz on 2008-12-06T10:10:41

This is wonderful!

Re:Hell yes

thickas on 2008-12-08T08:38:43

I couldn't agree more.

I would not be using Perl on Windows without Strawberry Perl (SP).

I am simply reluctant to invest in yet another product (Active Perl) when with SP I can reuse the techniques so familiar to me in the old country (Unix).

For me, SP has been a huge success. Since the second release I have been able to get modules such as Net::DNS going pretty easily (and they sometimes have been a bitch on Unix).

Thanks alias.

Yes, I donate to P5/P6 development because it makes my lousy arse of a life easier. If Alias would tell me where to send some cabbage, I would do so with much pleasure and gratitude.

Access method?

tirwhan on 2008-12-06T10:14:15

While I doubt I'll be porting over my currently existing modules anytime soon ;-), I see this as an incredibly good thing and congratulate you on bringing it about. Maybe TPF could take up the cue and try to set up something similar for other OSes out there (I for one would love to have an OS X and FreeBSD setup to test on).

One question though, how will us *NIX-only folks access the servers? Will there be an ssh login? Possibly a cygwin install?

Re:Access method?

srezic on 2008-12-06T11:16:17

Probably:
http://sourceforge.net/projects/tsclient/
http://www.rdesktop.org/

Re:Access method?

Alias on 2008-12-06T12:45:14

There was some discussion about using VNC, but the server and hosting people reckon it uses much more bandwidth comparatively to RDP, and there are decent RDP clients for every platform.

Re:Access method?

mw487 on 2008-12-07T00:11:21

Cygwin! Cygwin! Cygwin! Cygwin! Cygwin! Cygwin! Cygwin! Cygwin! Cygwin! Cygwin! Cygwin! Cygwin!

And the crowd goes wild!

Seriously. I believe it is tested much less often than MSWin.

Re:Access method?

drhyde on 2008-12-08T12:18:00

If you need to test your code on FreeBSD or OS X, I keep a guest account on a couple of machines which I let CPAN authors use.

Re:Access method?

tirwhan on 2008-12-08T12:51:45

That sounds great! I'll send you a private email about it.

Congratulations and Thanks

amoore on 2008-12-06T13:55:46

Alias - you've done some great work on this project. Thanks for your continued efforts. You're making it so that I don't have to stutter and mumble so much when people tell me that they want to learn perl and say that they only use windows. Consider this move from Microsoft validation that what you're doing is good and useful. It is.

awesome, thanks!

oliver on 2008-12-06T14:52:22

there are lots of Windows users of my modules and it pains me to be unable to fix their bugs (or even see if the report -is- a bug).

many thanks indeed to you, Ingy, and the OSSL folks!

That's one hell of a Xmas present

Yanick on 2008-12-06T18:51:29

As the great Keanu would say in such circumstances: whoa.

This is very, very, veeeery cool.

More smokers, please.

elliot on 2008-12-06T19:28:04

For testing purposes, I don't want to personally log into six different O/Ss. It would be nice if a CPAN smoker was set up for each Strawberry and Windows combination.

Re:More smokers, please.

Alias on 2008-12-07T03:17:37

There already is a number of these, thanks to BinGOs. Not all of them, but quite a few.

Re:More smokers, please.

elliot on 2008-12-07T03:34:04

But nowhere near the number that there are for other platforms. The number of Windows reports I get is way too small.

Set my hopes too high...

jk2addict on 2008-12-07T01:17:48

While this is great news, I was hoping for something more, like them making Perl in IIS (FastCGI/win32 mod_perl) a first class language much like they declared for PHP/FastCGI under IIS7.

Great For The CPAN But What About The Core

Limbic Region on 2008-12-07T19:44:07

This is really nice news for obvious reasons.

Now it is probably no sekrit that I don't follow p5p, haven't ever read the perl C source to find the cause of my bug, and have referred folks to perldoc perlport without doing so much as skim reading it myself.

So with those facts of ignorance entered into evidence, what would have really been mind blowing if M$ engineers had decided to start hacking on the perl core to improve the port.

Re:Great For The CPAN But What About The Core

Aristotle on 2008-12-07T20:56:45

That would indeed be cool – in fact it would be cool if any of the big players in IT earmarked any amount of money to aid Perl. But without wanting to detract from your point… it wouldn’t replace this VM farm – because this is about improving Windows support not in perl, but in CPAN modules.

Access?

mw487 on 2009-01-04T03:24:43

Is this now accessible? Where are the docs for a CPAN author to use this?

Thanks.

Update, please

wsmith on 2009-01-18T17:57:46

Any new news? When can we play?