search.cpan.org makes improvements in searching

search.cpan.org, which for many people is the CPAN, has added a crucial little enhancement. The star ratings given to distributions at cpanratings.perl.org now appear on the search results. This makes it easy to tell at a glance which modules may best serve your needs.

Say you want a module to work with Excel spreadsheets. Now, when you search on “Excel”, the star ratings in the results give the searcher starting points.

Thanks to Graham Barr for making this change.

Perl’s Artistic License comes under legal scrutiny

There’s very little case law around Open Source software licenses, but this week we’ve seen an interesting case involving the Artistic License, under which Perl is distributed.

The blog Law and Life: Silicon Valley has a discussion of the case:

The decision makes two important points: (1) the Artistic License is a contract and (2) the failure to include the copyright notices was not a “restriction” on the scope of the license. The first point is important because the Free Software Foundation and some lawyers have taken the position that open source licenses are not contracts. They have good reasons for wishing to avoid some contract formalities, but this position has complicated discussions about the enforceability and remedies for open source licenses.

The second point is very important because it deals with remedies. Generally, the remedy for contract violations under US law is damages, not “injunctive relief” (which means that the court order a party to cease their violation). On the other hand, copyright infringement generally includes a presumption that injunctive relief is appropriate. Thus, the question of whether the violation of a license is a contract violiation or copyright infringement (it can be both) is very important, because licensors would prefer to obtain an injunction prohibiting the breach of the license.

As pointed out in the article linked above, this decision in relation to the Artistic License doesn’t apply to other licenses. This will no doubt have some bearing on how Perl chooses to use the Artistic 2.0 license.

An article on use Perl asks:

  • Could the same thing happen under the Artistic 2.0 or Will further revisions to the Artistic license be required?
  • Should adoption of Artistic 2.0 wait until Perl 5.10?

However, as a District Court case, this decision only applies in California — admittedly a very influential place in the tech world, but we can still hope that this decision, which many see as a bad one, will be overturned in a higher court.

Further reading:

Statistical views of open source projects on ohloh.net

ohloh.net is a social networking site built around open source projects. People give kudos to each other, and there’s some sort of ranking system such that I’m #277 of 29,000 users, which shows that their ranking system is fueled by psychedelics.

ohloh has some cool analyses for the projects, since they analyze the public source repositories of the projects they track. For instance, here’s the codebase size for Parrot

There are also great tools to look at who’s committed to projects. Take a look at the list of committers to the Parrot project. This is a great use of sparklines to reveal the history of the project through the amount of code committed to the project.

See how Leopold Tösch works like crazy for years on Parrot, then disappears.
My Parrot contributions started out modest, and then I lost interest for a year, then came back a year later.
Compare that to my Perl 5 contributions which are more sporadic, but over a longer period of time.

I’ve never seen analyses like these done before. If there are others, please let me know in the comments.

“Beginning Perl” turned into a wiki

Simon Cozens has been mostly absent from the Perl community since he’s gone off to mission work in Japan, but he writes in to tell us:

I’ve begun the process of putting my (very) old book Beginning Perl,
first edition, into a wiki to allow it to be updated, corrected and
annotated: http://books.simon-cozens.org/index.php/Beginning_Perl It’s a very rough data dump at the moment and needs a lot of gardening,
but hopefully it’s still a useful resource.

Thanks to Simon for making this available to the community.

PerlBuzz is go for launch!

Welcome to Perl Buzz! Andy and I are excited to be launching a new Perl blog, and hope you’ll like it as much as we do.

A lot of people have been asking us, “Why do we need another Perl blog?” We believe that there’s room for as many Perl blogs, journals, and news sites as people want to set up. Each has its own flavour and will appeal to different groups of people, and that’s just fine. Perl Buzz’s unique selling point is that we’re bringing a shiny, happy view of the Perl world to the masses. Some other sites focus on communicating within the existing Perl community. We’ll do that, too, but we also hope to reach out to those who aren’t yet part of the tribe, and show them just how cool Perl is.

So, let’s take a look at what Perl Buzz has to offer.

You can subscribe to any or all of the feeds via RSS; see the links in our sidebar.

If you’d like to contribute to Perl Buzz, please email us at editors@perlbuzz.com, or see our How to contribute page.

Organizing Tests with Test::Class

At the Perl and Mac Development Blog, Christopher Humphries has written a tutorial on using Test::Class.

There are basically two schools of testing that is either Test::Harness based or Test::Class based. Test::Harness school runs a series of scripts which have tests in them top down, usually with a plan at the top of the file (plan is the number of tests you are planning on running). Test::Class manages itself, using Test::Class for tests and to run them…

Most of my test files use Test::More and little else, but Test::Class is a great way to organize tests for larger projects. Best of all, it works with all test modules built on Test::Builder, which is to say almost every test module on the CPAN.

Perl Foundation looking for a chair for the Grant Committee

The Perl Foundation is
is looking for a chairperson for its Grant Committee. After two years, Curtis “Ovid” Poe is stepping down, and someone else needs to take on the responsibility of doling out the dollars for Perl development grants. This is a great way to help the Perl community in a non-technical way.

I CAN HAS LOLCODE PARSER?

Unless you’ve been buried in a bog for the last year, you’ll have come across lolcats, the pictures of cats speaking an amusingly stilted dialect of English.

From lolcats came lolgeeks and then, inevitably, lolcode:

HAI
I HAS A VAR ITZ 1
IM IN YR LOOP
VISIBLE VAR
IZ VAR BIGGER THAN 39 O RLY?
YA RLY
GTFO
NO WAI
UP VAR!!1
KTHX
KTHX
KTHXBYE

I talked to Joe Drago, author of a lolcode interpreter written in Perl.  The parser is based on Parse::RecDescent, a recursive descent parser written by Damian Conway.

Joe’s a Senior Software Developer at a video game company, where most of his work is in other languages, but he says he prefers Perl to the C++ that pays the bills.

Joe says, “I’d never used Parse::RecDescent before… I found it to be wonderful. I’ve been wanting to write a parser for a while now (I own the Dragon book and one on lex/yacc), but I needed a test case. This was a great opportunity to screw around with that. The module is very Perlish, in the sense that it lets you have fun with the grammar of a language without having to plan complex data structures too much to see some results. I highly recommend P::RD for Perl programmers interested in how grammars are written.”

Unfortunately Joe’s lolcode interpreter predates the official lolcode specifications and isn’t compliant with them. But, he says, “I released it under the BSD license under the notion that someone more interested in the final standard would be inspired by my simple stuff and make something really cool with it. Hint, hint!”

Continue reading “I CAN HAS LOLCODE PARSER?”

White Camels for 2007

The 2007 White Camel awards for achievements in promoting the Perl community have been awarded to Norbert E. Grüner, Allison Randal and Tim O’Reilly.

The White Camel awards were started in 1999 to acknowledge the work of Perl’s community leaders, and are awarded each year at the O’Reilly Open Source Conference.