Communication

Allison on 2005-07-07T23:34:00

I'm pretty terrible at writing in my journal regularly. Partly, I work insane hours (on a combination of paid and volunteer projects). Partly, I'm just a quiet person (I used to be painfully shy, but I seem to have mostly grown out of that). But, I would like to do better. I suspect the image that TPF and Perl 6 are "secretive" is partly my fault. It's not that there's anything to hide, just that we're not very good at making sure the information gets broadcasted. So, if you have any questions about TPF or the Perl 6 project (or O'Reilly books, for that matter), email me at allison {at} perl (dot) org, and I'll try to give sensible answers here in my journal.

I'll start with one subject. It's a rough paraphrase of some questions people asked me at YAPC::NA:

What is Pugs?

Pugs is a prototype compiler for Perl 6. It's currently written in Haskell, but is being ported to Perl 6. It's not intended to be a complete compiler from Perl 6 source to executable code, it's a compiler targeting a virtual machine: Parrot, CLR, Mono, JVM, etc. In fact, there's a good chance it'll target all of those.

What do you think about Pugs?

I think Pugs is incredibly cool. I remember when I first heard about it: Leo and Nick and I were at the German Perl Workshop. Leo pulled out his laptop and showed us some Perl 6 code running. I was so excited I immediately downloaded it and compiled GHC to play with it, and then used it for a demo in a talk the next week.

Will Pugs be the production implementation of Perl 6?

Autrijus has asked us not to treat Pugs as a production system. It may sound strange at first, but I think he's absolutely right. It gives the Pugs team a lot of flexibility to experiment without worrying about the results. It's called "R & D" in the corporate world, and is probably the biggest source of technological innovations in all large companies.

But will Pugs code ship in the production release of Perl 6.0? I don't know yet. It partly depends on the speed, robustness, and maintainability of the final code (which is not something the Pugs folks need to be thinking about right now). Whatever the relationship in terms of lines of code, the work being done in Pugs will certainly have a significant impact on the final form of the Perl 6 compiler. What I think is most likely is that the final compiler will be a synthesis of ideas between Pugs and the Parrot compiler tools. To be postmodern about it: the production implementation of Perl 6 both is and is not Pugs.

Pugs isn't a TPF project?

I'm not exactly sure what that means. There isn't much of a difference between "TPF projects" and "non-TPF projects". They're all groups of volunteers working on stuff for Perl. Pugs uses Perl.org (i.e. TPF) mailing lists and IRC servers. I suppose when you boil it down to brass tacks, all it really means is that the code isn't being contributed to TPF; it's copyright Autrijus Tang. That's okay. It means we'd have to do a little legal legwork to incorporate Pugs code into Perl 6, but it's not a big deal.

Would TPF consider funding Autrijus for Pugs?

Absolutely. IIRC, he has said he doesn't want to be funded. But, if not Autrijus, we would happily fund any of the other Pugs developers.


Communication++

autrijus on 2005-07-08T00:36:10

It's wonderful to see this post. With leo and you both journaling, the visibility of Perl 6 development will be much enriched.

A small nitpick, lest people stumble into an empty channel -- Pugs's IRC server is irc.freenode.net #perl6, not irc.perl.org. The social atmosphere of freenode is of communication between various language/project communities, which is methinks essential to Perl 6 in general and Pugs in particular.

As for funding, I've said in PA01 that it would be more helpful to donate time to the Perl 6 project by hacking Pugs, rather than asking TPF for money to do the same thing. As my six-month sabbatical is drawing to a close soon, I'd certainly welcome sponsorship, from TPF or other places.

As for copyright, I'd like to see Artistic-2.0-final released, before I can consider assigning it to TPF under that license. Even better if we can get a round of public review for the current beta of Artistic license, so CPAN authors and other Pugs hackers can help improving it.

Please do keep the journals flowing. :)

Re:Communication++

Allison on 2005-07-08T02:13:52

Pugs's IRC server is irc.freenode.net #perl6, not irc.perl.org.


Righto, thanks for the correction.

As my six-month sabbatical is drawing to a close soon, I'd certainly welcome sponsorship, from TPF or other places.


You hear that folks (especially the company who asked me about it at YAPC)? Get cracking. :)

Even better if we can get a round of public review for the current beta of Artistic license, so CPAN authors and other Pugs hackers can help improving it.


That's the plan (as I mentioned in my YAPC talk). Nothing will be final until it's had a round of public review. But, it'll be a month or more before the legal reviews are done.

Re:Communication++

mdxi on 2005-07-08T06:52:13

The social atmosphere of freenode is of communication between various language/project communities...

Huh...I thought it was the IRCOPs sending 14-line global messages every half hour (followed immediately by another 1d4 to correct typos in the original) in order to beg for money or apologize for decoupling Europe while in a drunken stupor.

*rimshot*

Re:Communication++

autrijus on 2005-07-08T12:20:43

Indeed? I ignore window #1 in irssi, so I don't know anything about that... I guess you can /ignore them at will. :)

I wrote a better comment...

Alias on 2005-07-08T22:43:50

Lots of details and good points about the whole secrecy thing (took 20 minutes), but then accidentally closed the window and lost it. Crap. So here's the questions in point form. Don't interprate it as agression.

- Given the Summer of Code projects have started, why can't we see what they are beyond a title.

- What on earth is "Extended Type Inference System for Perl 5" and should I care or help out?

- For the benefits of people like the Java::Swing authors that have decent Perl/Java integration working already, what the ... does "Open Sourcing Perl/Java Integration" mean?

- Why aren't the TPF meeting minutes available on the website?

- Why aren't the annual reports available on the website?

- Why isn't there a single legal document listed since the very first meeting in 2001.

- Why aren't the steering committee's quarterly reports on the website? I'd feel much better about the situation where the committee elects itself to it's position if I knew what was happenning.

- Why can't we see where our donation money goes? We see appeals for money, and donations going into a bottomless pit, and the occasional "$4,000 to X, $50,000 to Y" go past. But where's the annual report with the actual details of what was earned and what was spent and where, and how much you have in the bank at the end of each year.

Most of this stuff is just ordinary stuff, export a PDF version of the document you make anyway and add it to the site.

But it certainly means that those that care can look when they want to, and you don't look like you are hiding information within a self-electing group of upper-eschalon old-timers who only give in-person reports to the 5,000 that get to conferences, instead of the 100,000 looking from teh web.

BTW, thanks again for the PPI grant, I'll be done on Tuesday (you can call Ovid off now). See you at OSCON! :)

Re:I wrote a better comment...

Alias on 2005-07-08T22:57:39

errr... wrong formatting option. might want to view as source. hating not being able to edit after posting. :(

Re:I wrote a better comment...

Allison on 2005-07-09T21:25:46

Too much to reply to all at once. I'll split it out over several journal posts.

BTW, thanks again for the PPI grant, I'll be done on Tuesday (you can call Ovid off now).


Thanks for doing your part of making grant results public by writing up a follow-up article. This is a responsibility of all grant recipients, but far to many of them just drop off the face of the planet after the grant is "finished" (it ain't finished 'til ya' tell folks it's finished), even with Ovid's wonderful skills at hounding people. :)

What about ponie?

crzwdjk on 2005-07-11T01:28:53

How has ponie been doing? I can't seem to find much recent news about it. Is it still alive? Has there been any progress? Where can I get a copy? I hope it's not dead, it was an interesting idea.

Re:What about ponie?

nicholas on 2005-07-11T16:37:29

Ponie is progressing, athough progress seems to be stalls then jumps, even when the effort is applied smoothy. A development snapshot was released a couple of weeks ago, announced in Allison's state of the carrot at YAPC::NA. I sent an announcement to the ponie-dev mailing list, and it's also waiting in the use.perl story submission queue for a use.perl editor's tender loving care.

Details of what's new are in the README, and you can also view the most up-to-date version of the Roadmap in the subversion repostiory.

The development snapshot is now out of date - if you want to get the most recent version check it out with subversion from http://svn.perl.org/ponie/trunk

The trouble with Ponie in general is that because it's mostly a big, progressive refactoring exercise it keeps throwing up unexpected problems that need to be investigated and solved prior to completing a task. Quite a few of the problems so far have been in the perl 5 core code, and have been solved there first, before being merged over as a block. It's also tricky to declare any task as "finished", because most of them aren't, in the sense of being completed. Most need revisiting once other parts progress far enough, so I don't consider them finished, so I don't make grand sweeping pronouncements to that effect. Also I feel that given all the twists and turns, attempting to keep the roadmap/tasklist updated on a daily basis would eat up more time than the actual development work.

I attempt to keep the commit messages both short and informative - possible the best way of tracking progress is by watching the commit list ponie-changes