Free Software

Lawsuit Averted As WordPress and Thesis Settle Differences Over Themes And The GPL

This post originally appeared on Techdirt.

Free (libre) and open source software is one of the best examples of an alternative to restrictive copyright, but even within these communities there can be heated debates about licensing. The WordPress community just witnessed such a debate between the founder of WordPress, Matt Mullenweg, and the developer of a popular premium WordPress theme, Chris Pearson, over whether or not themes are subject to the GPL (WordPress’ license). The GPL applies to derivative works of a program—requiring that they, too, must be licensed freely—but Pearson maintained quite publicly that he wasn’t subject to it and could use a proprietary license for his theme. This caused tension between him and Mullenweg, until last week, when Pearson gave in and switched to a split GPL license.

Without getting too bogged down in the legal details and community politics, the dispute is of interest for a couple reasons. Although some open source developers believe the GPL is too restrictive, copyright enforcement is approached in a very different way by free software projects than proprietary software companies or the entertainment industry. Mullenweg had sought a legal opinion from the Software Freedom Law Center over a year ago, and they agreed that the PHP part of a WordPress theme (which interfaces directly with WordPress code) is subject to the GPL, while JavaScript and CSS are not. Pearson disagreed, relying on some pretty novel legal arguments, but those were countered by others in the community. Mullenweg began to put more social and business pressure on Pearson, offering to pay for people to move away from Thesis to premium WordPress themes fully available under the GPL, and speaking publicly about how he felt Thesis was hurting the community by violating the license. Things became pretty heated, and the two squared off in a joint interview, failing to reach any visible consensus. It seemed like a lawsuit from Mullenweg would be the only way to resolve things—something he’d been trying to avoid at all costs—but a week later, the legal conflict was averted as Pearson switched to a split GPL license (i.e. PHP is GPL, as required; proprietary license for the rest). It was messy, but very different from the sue-first-ask-questions-later approach of so many copyright holders, and a lot less messy than a lawsuit could have been. The business and social pressure caused some tension in the short-term, for sure, but ultimately led to a resolution without nearly as much pain or division as a lawsuit within the community might have caused.

This kind of disagreement also highlights the fact that free software licenses (like the GPL) and the free culture licenses they’ve inspired (like some of those offered by Creative Commons) are ultimately hacks on a restrictive copyright system; they’re merely tactics to reverse the negative effects of overly restrictive copyright, but not at all the ideal scenario. For example, we’ve seen concerns over how Creative Commons licenses act as a contractual layer on top of copyright, and non-commercial restrictions can also be a source of tension. Sometimes these disputes help a community to better develop its position on copyright and licensing, but other times, they’re a sign that these licenses are still just a hack on a less than ideal system.

It’ll be interesting to see how Thesis fares in the long-run with a split licensing approach compared to other premium themes that are 100% GPL. Regardless, it’s nice to have a more or less happy ending where the community was able to resolve things without getting the courts involved.

Read the comments on Techdirt.

New Canadian Copyright Bill C-32: The Good, The Bad, The Ugly, And What To Do About It

As expected, the Canadian government tabled a new copyright bill today. Despite the consultation last summer, rumour has it that Canadian Heritage Minister James Moore and Industry Minister Tony Clement—the two cabinet ministers responsible for copyright (who seemed to understand the new opportunities technology presents)—couldn’t come to an agreement, and the Prime Minister’s Office sided with Moore’s more hard-line approach. Yet, it appears Clement’s influence was not lost. The proposed legislation, Bill C-32, actually contains many good provisions… but strict digital lock restrictions threaten to undo them all.

Fair Dealing—There’s An Exception For That

The current Canadian concept of fair dealing is more limited that the American doctrine of fair use. The Supreme Court has repeatedly ruled that it should be interpreted broadly, but present law restricts fair dealing to just five categories—research, private study, criticism, news reporting, and review. NDP Member of Parliament Charlie Angus had tabled a private member’s bill to introduce flexible fair dealing back in March, but with Moore’s vision winning out over Clement’s, Bill C-32 rejects flexible fair dealing.

But, it does contain a host of new exceptions for parody and satire, education, time shifting, formating shifting, and backup copies. There’s even a new “Non-Commercial User-generated Content” exception (29.21), which would legalize mashups and remixes under certain circumstances.

While the litany of exceptions fails to introduce real flexibility into the law for new innovations, Michael Geist—leading critic of the last, failed copyright bill—still describes this as “a pretty good compromise.” There are those who strongly oppose the uncertainty that comes with flexibility, so maybe the “there’s an exception for that” approach is the best we can hope for right now.

Though not perfect, it’s still a positive development, and definitely an improvement on the past.

Other Good Compromises

Geist notes two other good compromises. As with the last two copyright bills, C-32 would implement a notice-and-notice system for Internet Service Providers to handle copyright infringement allegations, rather than the guilty-until-proven-innocent American notice-and-takedown system, or the insanely disproportionate three-accusations-and-you’re-kicked-off-the-internet approach. Also, a change to the statutory damages provision would finally distinguish between large scale counterfeiting and non-commercial infringement, limiting the latter between $100-$5000 instead of the current $20,000 maximum. While $5000 per infringement is still pretty ridiculous, cutting the maximum down by 75% for non-commercial infringement would be a positive development.

The Downright Terrible: Digital Lock Provisions Undo The Exceptions

The huge loophole in this bill is the approach to anti-circumvention provisions, which would make it illegal to break a digital lock even if what you are doing is otherwise non-infringing. It’s important to understand how this massively undermines any good which might come from additional fair dealing exceptions: if there’s a digital lock, the exceptions are meaningless. Bill C-32′s rigid digital lock provisions undo the exceptions.

  • Want to make a backup copy? There’s an exception for that… unless there’s a digital lock!
  • Want to transfer songs to your iPod? There’s an exception for that… unless there’s a digital lock!
  • Want to make use of copyrighted content in the classroom? There’s an exception for that… unless there’s a digital lock!
  • Want to remix Louis Armstrong with death metal? There’s an exception for that… unless there’s a digital lock!

This has to change. More importantly, it doesn’t have to be this way. Submissions to last summer’s consultation were overwhelmingly opposed to this approach. Other countries have met their international obligations with anti-circumvention provisions that are actually linked to copyright infringement (e.g. New Zealand‘s passed law, India‘s proposed law). With a flexible anti-circumvention provision, the exceptions would apply to digital locks too.

Why should companies be able to rewrite copyright law and trump exceptions simply because they slap a digital lock onto something? If there’s a backup exception, there should be a backup exception. If there’s allowance for parody and satire, no digital lock should be able to take that away. And what’s the use of a format shifting exception if digital locks will force you to repurchase your content to stay legal anyways?

Canada needs to have a flexible anti-circumvention approach that is actually linked to infringement, or none of the compromises in this bill even matter.

Other Nasty Things

There’s an inducement clause (27 (2.3)) which would make it illegal to provide a service online “that a person knows or should have known is designed primarily to enable acts of copyright infringement.” Would the Internet-equivalent of a VCR pass that test? What about BitTorrent? Both technologies can be used to enable acts of copyright infringement, but they also have legitimate uses. How the “primary use” is determined could have significant implications here.

The time shifting provision (29.23) warrants further review, as it contains a variety of conditions under which you can record a program for later viewing. For example, the bill would require that you “keep the recording no longer than is reasonably necessary in order to listen to or view the program at a more convenient time”—seemingly, a requirement to get rid of recordings once you’ve listened to/watched them.

Also, library provisions allowing for distribution are subject to digital locks, and contain a requirement for copies to be destroyed within five days.

There are lots of details like this in this bill that require further study, and most likely revision.

The Strategy: Let’s Make Some Noise

The Conservatives are seeking support on this bill from the Liberals. Liberal Industry critic, MP Marc Garneau, is keen to work with the government to introduce a new law, and is open to the possibility of summer hearings to get it passed. But Clement told the CBC, “I’m not coming down from the mountain with this chiselled in stone… we could seek some consensus and there could be some positive amendments to this bill.”

When I met with my MP, Liberal Joe Volpe, over Bill C-61 in the summer of 2008, his main question to me was whether to scrap the bill or to fix it. Critically, We must let our MPs know—especially the Liberals—which compromises are acceptable, and which undermine the entire copyright bargain. Flexible fair dealing would have been better than a litany of exceptions, but that compromise could work. However, allowing digital locks to undo those exceptions is simply unacceptable.

Conclusion

Politics is the art of the possible, a complex art of balance between ideals and interests. This bill isn’t perfect, but there is a push from both sides of the floor to get it passed. There are a lot of good compromises, but whether or not the bad provisions get fixed could have huge implications on Canadian culture, technology and business in the years to come. Make your voice heard.

Acoustic Assaultcast: Free Culture

Back in March, I was invited by my friend Roman Verzub to the first episode of The Acoustic Assaultcast to talk about music and free culture.

HOWTO: Sync Notes Between Tomboy and Conboy With Unison

Disclaimer: this is a hack from someone who doesn’t know Tomboy well. It seems to work for me, but YMMV. And I have backups.

I wanted a way to sync Tomboy on my Ubuntu desktop with Conboy on my Nokia N900, but Conboy only syncs to Ubuntu One—a proprietary web service. Snowy synchronization support is supposed to be on the way, but Snowy itself is still under heavy development, so this might be a great option in the near future, but not today.

A comment on maemo.org made me think that rsync over ssh was a possibility, and a quick rsync showed this to work (as far as I can tell). The trick is being able to sync changes back and forth; rsync can’t handle updates to both the source and destination—it’s unidirectional.

Hence, Unison—a bidirectional synchronization utility. In case it’s useful to anyone else, this is how I’ve setup Unison to sync notes between Tomboy and Conboy.

Step 0: Some things you should know

First, I want to be clear that this is a temporary hack while I wait for proper synchronization support through Conboy with Snowy.

Prerequisites: I already have OpenSSH running on my server, and I have key-based ssh access configured from both my laptop and N900. Unison syncs remotely over SSH.

What this does: It allows me to synchronize notes and changes to notes from my N900 to my laptop, and potentially to any number of other computers.

What this doesn’t do: Unison has support for handling conflicts, but it’s not the least bit Tomboy-aware. A proper Tomboy sync might give you the option of renaming a note that has been changed in more than one place, but with Unison, you’ll be looking at diffs and merges of cryptically named XML files. So, I don’t recommend relying on Unison to sort out conflicts. I plan to sync often, backup often, and avoid conflicts as much as possible. This is for advanced users.

Tomboy Concerns: I’m using Tomboy, but actually quite uncomfortable with the risk, since it depends on Mono. I’ve considered switching to Gnote, but haven’t yet because I’m concerned about losing data/synchronization compatibility. But, this solution might work for Gnote too, and I may well s/Tomboy/Gnote/g in the near future.

Step 1: Desktop

1A: Install Unison

Unison is cross-platform and available for a variety of operating systems

I have Ubuntu on both my laptop and server right now, and I’m syncing through that server (instead of directly to my N900, which would be another option).

In Ubuntu, you can install unison with the command:
sudo apt-get install unison

Or, if you want a GUI:
sudo apt-get install unison-gtk

1B: Create a Unison profile for Tomboy

I created a file called ~/.unison/notes.prf with the following text:
# Unison preferences file
root = /home/balleyne/.local/share/tomboy/
root = ssh://alleyne.to/.local/share/tomboy/

I decided to sync my notes with the Tomboy directory on my server, which is also a workstation.

Now, I can synchronize the notes on my laptop with my server by running the command:
unison notes

1C: Enable NoteDirectoryWatcher Add-in for Tomboy

Tomboy doesn’t automatically look for changes to notes on the file system unless you enable the NoteDirectoryWatcher Add-in: Edit > Preferences > Add-Ins > Tools > Note Directory Watcher > Enable. This way, Tomboy will accept any changes you get from the Unison sync.

Step 2: Mobile

2A: Installing Unison in Maemo 5

To compile Unison, you need the OCaml compiler. To compile OCaml, you need the gcc compiler. I began the process of compiling compilers, but then realized that there were some unison .debs available already:

These were compiled for an older version of Maemo, but the command line version seems to be working fine for me in Maemo 5. Note, that if you use the GUI, it’s standard GTK, not a Maemo port, so you might need the stylus to use it.

To install, I ran the following commands:
$ sudo gainroot
# wget http://www.bundyo.org/maemo/unison/unison_2.27.57-2_armel.deb
# dpkg -i unison_2.27.57-2_armel.deb

2B: Create a Unison profile for Conboy

Similar to step 1B, I created a file at ~/.unison/notes.prf:
# Unison preferences file
root = /home/user/.conboy
root = ssh://alleyne.to/.local/share/tomboy

Now, I can sync my mobile computer with the server by running the command:
unison notes

And there was much rejoicing.

Conclusion

With Unison configured, I now have a basic, low-level sync between Tomboy and Conboy. I’m getting into the habit of syncing every time I change anything, to avoid conflicts. This should tie me over until a Conboy Snowy sync is available.

SOLUTION: Firefox Fails When Upgrading to Ubuntu 10.04 After Using Mozilla PPA

This is a quick fix for a problem I had when upgrading to Ubuntu 10.04, after having used the Mozilla PPA.

The Firefox upgrade failed during the distribution upgrade process (from 9.10 to 10.04). I was told to run `dpkg -a –configure`, and the same error occurred again (it’s in bold).

$ sudo dpkg -a --configure
Setting up firefox (3.6.3+nobinonly-0ubuntu4) ...
update-alternatives: error: alternative path /usr/bin/firefox doesn't exist.
dpkg: error processing firefox (--configure):
subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of firefox-3.5:
firefox-3.5 depends on firefox; however:
Package firefox is not configured yet.
dpkg: error processing firefox-3.5 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of firefox-3.0:
firefox-3.0 depends on firefox; however:
Package firefox is not configured yet.
dpkg: error processing firefox-3.0 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of firefox-gnome-support:
firefox-gnome-support depends on firefox (= 3.6.3+nobinonly-0ubuntu4); however:
Package firefox is not configured yet.
dpkg: error processing firefox-gnome-support (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of firefox-3.5-gnome-support:
firefox-3.5-gnome-support depends on firefox-gnome-support; however:
Package firefox-gnome-support is not configured yet.
dpkg: error processing firefox-3.5-gnome-support (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
firefox
firefox-3.5
firefox-3.0
firefox-gnome-support
firefox-3.5-gnome-support

A quick web search brought up a bug report, and I was able to figure out this fix with the help of

$ sudo rm /usr/bin/firefox
$ sudo ln -s /usr/lib/firefox-3.6.3/firefox /usr/bin/firefox
$ sudo dpkg -a –configure

The symlink for /usr/bin/firefox had been pointing to /usr/bin/firefox-3.5, which no longer existed, so the commands above (1) remove the dead-end link; (2) add the proper link (YMMV depending on which version of Firefox you are upgrading to); (3) resume the upgrade process.

Hope that helps!

Family Room Computing

Old monitor
Credit: exfordy [CC BY]

My first computing experience was on the family computer, a 386 running Windows 3.1 in my parents’ den. It was truly a family computer—my parents used it for work, and the kids used it for games. A few years later, my parents moved to IBM ThinkPads with Windows 95 (vehicles for my first Internet experiences, dialing into chat rooms to talk about my dog with strangers… I was 9!), but the kids’ computer was still the shared desktop. When the 386 was no longer able to run our games, it was replaced with a new Windows 98 desktop. That shared kids’ computer spent most of its life out in the open, in our family room.

In the next five years, our home computing landscape changed drastically. I got my own desktop when I started high school in 2001. A few years later, I acquired a laptop after a summer trip overseas, and my two siblings (3 and 6 years younger) both got recycled older desktops in their rooms for homework. My desktop became the new kids’ computer, but it was quickly phased out as gaming shifted to consoles and my siblings got upgraded machines. By 2005, our computing took place in separate rooms.

But in 2007, I entered the free software world and developed an interest in bringing old neglected Windows machines back to life with GNU/Linux. I bought a TV tuner card, and turned my old Windows 98 desktop into a MythTV server (among other things). It was an odd project, since I rarely watch TV, but soon enough I had another old computer connected to my MythTV server and setup on the big screen TV in our family room

I soon realized that we didn’t just have a new way of watching TV, but a fully-featured PC hooked up to a giant screen. With a couch and a wireless keyboard, I began using it to browse the web and consume other forms of media (especially useful when we had company!) and even used it for some work (handy for group projects!). It provided a stark contrast to the tethered appliance computers nearby—an XBOX 360 and a Rogers HD PVR (which broke!).

I don’t want any proprietary tethered appliances when I move out. I want a general purpose computer that opens up to the room—not a personal computer that family members take turns using, or a TV that people just watch, but a group computer that brings other people into the computing experience.

With a general purpose computer, I can specialize with software (MythTV for television channels, Firefox for web content, etc.). MythTV is cool, but video is moving from TV to the web—why not focus on that? I don’t know of a real group user interface for general purpose operating systems yet (i.e. like on video game consoles), but a big display goes a long way to involving a room in the meantime. I’m also fascinated to think about how handheld devices fit into the picture, with large tablets for media consumption or smaller tablets as controllers.

A TV is just a big screen. I’d rather have a computer I can own, control and create with hooked up to it, instead of the black box proprietary tethered appliances that commonly broadcast into a room. I don’t want a “home entertainment system;” I want a shared computing experience.

Is there a name for this? I’ve been calling it “family room computing”—or just “room computing”—but suggestions are welcome. I’m just getting some rough thoughts out. What do you think family room computing could look like, with computer users in charge?

ps that original family room computer? It’s still semi-set up in our basement—I installed Debian on it a few years ago to give Fluxbox a try!

I’ve Pad Enough — It’s 1984 for Apple

Defective by Design -- Apple Restriction Zone

Just hours before the iPad announcement yesterday, I wrote the following:

When we think of mobile computers as merely “phones,” we tolerate restrictions that we would otherwise reject on our computers. How many iPhone users would come to Apple’s defence if they instituted the same strict policies and arbitrary limitations on third-party applications for a Macbook as they do on their mobile computer?

The iPad is a general purpose computer with precisely those restrictions.

Today, Apple launched a computer that will never belong to its owner… By making a computer where every application is under total, centralized control, Apple is endangering freedom to increase profits… Their record of App Store rejections and removals gives us no reason to trust them. The iPad’s unprecedented use of DRM to control all capabilities of a general purpose computer is a dangerous step backward for computing and for media distribution.

Talk about lockdown. I’m still waiting for them to ban third-party apps on Macbooks that haven’t been approved through the app store. The Vista bodyguard may be annoying, but with new Apple products, there’s simply no “allow” button. Apple has become what it sought to destroy.

It’s worth quoting the rest of that paragraph from yesterday’s blog post:

Recognizing that these devices are really mobile computers is an essential step to gaining control over our mobile computing. Carriers and handset makers control our phones. We should control our own computers.

The same goes for tablets (and for “TVs” for that matter). Say no to computers that can’t be ours.

It’s Not A Phone, It’s A Mobile Computer

Nokia N900
Credit: mackarus [CC BY]

People keep asking me about my new “cell phone,” but the Nokia N900 isn’t a phone. It’s a handheld, mobile computer. Calling it a phone is like calling a house a bed—sleeping is just one thing you do inside a house.

I became interested in the Nokia N900 in the fall, and after a several good reviews, I ordered one off eBay earlier this month. The N900 is the first from a series of Nokia Internet tablets to have cellular capabilities, but the SIM card doesn’t overshadow all the other things you can do with the device—it just frees you to connect to the Internet on the go. The day after it arrived, I signed up with WIND Mobile (another contributing factor to the purchase: leaving Rogers). The combination of a powerful mobile computer, and unlimited 3G data for just $35/month has changed the way I use the Internet.

Yes, it can handle phone calls and SMS messages, but it’s totally arbitrary that a call is a cellular call as opposed to over Google Talk or SIP / VOIP, or that a message is SMS rather than IM; the same applications are used in either case. I can use it as a cell phone, but I can also use it as an Internet tablet, GPS, digital audio player, camera, etc.

Maemo, the operating system that comes installed on the N900, is a fully-featured GNU/Linux distribution. Android shares a common (ish) kernel with other Linux-based distributions, but Maemo has much more in common with the operating system running on my laptop. It uses the same system for finding and installing new software, and it has a lot of the same applications available, since it’s easier to port from other GNU/Linux distributions. Rather than forcing developers to write Java “apps,” Maemo makes a variety of common development environments available. Thus, it’s the first platform to see a Firefox mobile release.

It’s a computer, not a phone. And it’s not just semantics. When we think of mobile computers as merely “phones,” we tolerate restrictions that we would otherwise reject on our computers. How many iPhone users would come to Apple’s defence if they instituted the same strict policies and arbitrary limitations on third-party applications for a Macbook as they do on their mobile computer? (Update: I spoke literally hours too soon.) Recognizing that these devices are really mobile computers is an essential step to gaining control over our mobile computing. Carriers and handset makers control our phones. We should control our own computers.

Google has tried to replace the term “smartphone” with it’s own buzzword — “superphone” — but it’s not just the “smart” part that’s become inadequate. It doesn’t make sense to call these devices “cell phones” anymore than it would make sense to call the buildings we live in “beds.” I have a handheld computer, and my carrier is my ISP.

ps I wrote and edited this post on my N900 using MaStory

Approaching 1.0

I had a bit of a moment yesterday.

It’s just that I’m so incredibly excited and energized right now. I’m starting to move on a variety of really cool projects and endeavours.

A little over a year ago, I claimed I was about to “up the diversity” on this blog. Better late than never. Here’s me committing to actually begin talking about a Catholic case for free culture. I have been giving it a lot of thought and making lots of notes, but I just need to get over the urge to write an essay instead of blog post so that I can start getting the ideas out.

The other theme I hope to explore in depth is the full potential of a true free culture approach to transform music. I’ve had some fascinating conversations with Nathan Simpson, Roman Verzub, Matt York and Josh Newman, and I’ve been putting the pieces in place at blaise.ca/music to start turning some of these ideas into action. I plan to expand on this at length in future posts.

I feel like these two ideas will be prominent themes in much of what I do in the next few years, and beyond.

Then, there’s the work I’ve been doing on the Drupal Creative Commons module and, more recently, the new Creative Commons Canada website (hope to have something to show soon…), among many of the other cool things I get to do through Alleyne Inc. My band is showing signs of life again, and I’ve been gigging on violin. I’ve also been part of a great team with the University of Toronto Students for Life, and I’ll be putting on another pops concert with the Hart House Chamber Strings in February. The day after that, I’m headed to Philadelphia for a week-long immersion course with one of the leading scholars on the Theology of the Body.

Oh, and I’m getting married next summer.

I’m hitting the release candidate stage for version 1.0 of my life. And there are a lot of things I’m going to create.

Free Software Paves The Way For Open Source

At the end of September, Matt Asay wrote a provocative post: Free software is dead. Long live open source. He argued that, while “free software advocates provided the early backbone,” that “ideological” approach has given way to the more realistic “pragmatism” of open source and that “we’re all the better for it.”

A month later, he wrote a post arguing that open clouds are more important than open phones. Astoundingly, he points to Bradley Kuhn’s post on the lack of a truly free mobile operating system as evidence that software freedom types are focused on the wrong things. Except… as Bradley points out in the comments:

Matt, I find it troubling that you would fail to mention that I’ve historically written and spoken *much* more about software freedom in the “Cloud” than I have about freedom in mobile space. In fact, I and my colleagues at autonomo.us were well along looking at the issue of “Freedom 2.0″ long before we started dealing with the freedom issues in the mobile phone space.

Indeed, for my part, my blog post you quote is exactly the first time I’ve talked publicly about software freedom on mobile phone platforms. Meanwhile, if you had done any research, you’d have found me speaking and writing about freedom in the Cloud going back to at least November 2007 (and even further if you consider the work I did with Henry Poole and Eben Moglen on the AGPLv1 in early 2002).

Matt Asay, caught up in open source pragmatism, is way behind the free software crowd. How can you mention an “open cloud” without talking about autonomo.us? And projects like Identi.ca/StatusNet and Libre.fm? This is the future of free networked services. Once again, free software advocates are leading the way. In five or ten years, I suppose open source folks like Matt Asay will arrive just in time declare the free software pioneers irrelevant again.

“Open source” in the “cloud” is about more than just infrastructure. Yes, software freedom is about more than source code, but source code is the foundation of software freedom. If you control the software, things like data portability and federated services come much more naturally. The open source movement won’t understand that until the free software movement makes it manifestly obvious — but don’t expect a thank you.

Creative Commons Attribution-ShareAlike 2.5 Canada
This work by Blaise Alleyne is licensed under a Creative Commons Attribution-ShareAlike 2.5 Canada.