Posts tagged “freedom”.

Upcoming travels – ALA and CNX

Even though I am a recently minted new parent, I am still keeping up on outside world obligations (barely!) and as such, I will be traveling to some upcoming conferences. Will I see you at any of these?

State Education Technology Directors Association

January 19th – webinar
One that doesn’t need travel is a webinar for SETDA this Thursday on Open Educational Resources and how K-12 schools can really harness the power of open licenses.

American Library Association’s Midwinter Conference

January 20th-22nd – Dallas, TX
I’ll be speaking on a panel titled “Getting the Rights Right” about Creative Commons and Open Access (essentially, why OA is truly transformational when paired with CC licenses).

Connexions Conference

February 15th-17th – Houston, TX (Rice University)
Connexions is a great platform for writing, editing, and sharing open textbooks. I’ve only been to the conference once before, and just as an attendee, but this year I’ll be speaking about the metadata work I am doing at Creative Commons under the Learning Resource Metadata Initiative (LRMI) project.

If you’ll be in either Dallas or Houston on those dates and want to get a beer, let me know!

The Kerfuffle

Today Jono, as well as Gabriel, announced that the new deal for the Banshee developers regarding the referral money would be a 75/25 split. To show good faith, Canonical will also be donating 25 percent of the proceeds from the UbuntuOne Music Store. As could be predicted, there was a lot of commentary about the relative merits of this outcome. Here are my thoughts on those comments.

A choice withdrawn
First, Gabriel’s blog post. As you can read from the language Gabriel uses, this was a one-sided decision where Canonical withdrew their previous offer. Reminder: that was where they gave the Banshee maintainers a choice between on by default and a 75/25 split and a not on by default and 100% GNOME Foundation. The maintainers choose the second. Some may say “but Canonical is now offering 25% of U1 Music Store revenue, which is more than they offered before.” Yes, that is true, but the Banshee maintainers specifically did not choose a revenue sharing deal. To then respond with a statement that their previous offer was a “mistake” and that this new plan devised by Canonical is the way they are going to go, nevermind the decision previously made, is bad form.

Money supports FLOSS development
This next part surprised me. And I have to preface this with that I respect [openly ;)] the work that Jono does for the Ubuntu community. The Ubuntu community is lucky it has such a devoted person working on their behalf. I’ve always been impressed with the quality of team leadership/management I have seen from Jono. But, his comments on Twitter following this announcement did not reflect the Jono I know.

Jef Spaleta asked if Jono could see the difference between legal and ethical (we all know it is permitted by Banshee’s license to change the source code, and thus the referral code, but ethics are separate from legalness). Jono responded with “my view is that it is all going to FLOSS, so it is fine.” Sandy Armstrong correctly pointed out that Canonical does not only do FLOSS development. They also produce Landscape and UbuntuOne, where the bulk of the code (my guess), the server/web interface portion, is proprietary. Jono ignored his previous statement and responded with “that’s why I said ‘most.’” Sandy correctly pointed out that he indeed said “all.”

Yes, that whole previous paragraph of “he said/she said” was only to point out, in exruciating detail, that Jono slipped up on his wording in a tweet – something I’m sure none of us have ever done. But this is a very delicate matter and should be handle accordingly.

So, it was especially disappointing to see that slip-up followed by another sloppy post: If Canonical put 100% of the money into non-Free software then he’d see the problem, suggesting that anything less that 100% is just fine.

Then his last comment (on Twitter) about the issue for the day suggested that if the Banshee maintainers didn’t want their referral code to be changed they should have licensed their app that way. This is either a suggestion to create a non-Free software license or a statement that “as long as it is legal it should be OK with everyone.” The first is just ridiculous. And the second exemplifies the world where ethics do not enter a decision making process. Something can be both legal and unethical.

Transparency
(I’m making this a separate section because I want to bring attention to the idea, and I hope it happens.) One of the suggestions by Jef was to open up the financials of Canonical to prove where the money is going. I’m a huge fan in open book financials for companies I support. The Wikimedia Foundation does this, along with Creative Commons (PDF). They are non-profits in the US and make their 990 tax fillings public. Bradley Kuhn has even started a gitorious project collection those fillings for various FLOSS non-profits.

Aaron Bockover, another Banshee maintainer, wrote an open letter to Canonical suggesting another route. Basically, let the banshee.fm server handle the revenue sharing/affiliate code managing. This not only allows a more transparent audit trail but also has many technical benefits. I’ll let you read them on his post. They are very sound and well thought out.

The decision process
This kerfuffle brings one very important part of the Ubuntu project to the fore: the governance and decision making process. Reminder, the decision to switch the default media player from Rhythmbox to Banshee was a community decision at an Ubuntu Developer Summit. This was a community-led decision. This is in stark contrast to some other decisions in the Ubuntu project that are not made by the community, an example of which is, of course, this revenue sharing decision, and another is the changes made by the design team, Ayatana.

Because of today’s developments, I decided to relisten to this interview with Phillip Schmidt (of P2PU) and Mako on my walk home from work. The interview was about, generally, governance in Free and Open projects. Obviously, much of the interivew focuses on Debian and Ubuntu governance. I HIGHLY recommend listening to that interview if you are at all interested in the governance structue of Ubuntu, Debian, Wikipedia, etc. Mako’s insights into those communities, especially Ubuntu’s, is greatly worthwhile. One thing of note is the way decisions are made regarding Ubuntu. Mako brings up the point about recent changes made by the Ayatana team and how they are presented to both the community (including the Community Council) as done deals with recommendations to “keep people on message” if they disagree with the changes.

I wanted to bring this governance aspect up because I think it really gets to the core of the issue for me. This decision was made by people not accountable to the community. The relative merits of an organization running a FLOSS project that has people and decisions that are not accountable to the community is up for debate, but not here. I’m just noting it and saying that it is something to be extremely aware of. The conclusion you make about its morality is your own. I might write more on it later, but this post is already getting to be too long.

My Opinion
My opinion is simple: This decision was made in a very bad way. No community involvement without any course for a real dialog. It disappointed me.

It reminds me, all too clearly, of the decision to name the file sync cloud service UbuntuOne instead of CanonicalOne (or similar). Some of you might remember the intense debate that happened on the topic. I watched the Community Council meeting where Mako and others talked with Mark about not only the name but also the issue that UbuntuOne was, and is, not a Free Network Service. I remember the conversation not being a true discussion with open minds. The decision had been made by Canonical people (including sabdfl) and no amount of discourse from the Council could change that. It disappointed me.

In addition, the communication of this decision was made poorly. Things could have been said better on Twitter. Things could have been more openly discussed on mailing lists. But none of those open channels of communication were used effectilvely (if at all). That disappointed me.

So I guess that’s my opinion of the matter: I’m disappointed.

This post has agonized me the entire time I wrote it. I don’t like these posts, but I feel they need to be written from time to time. I don’t mean to offend anyone, I only mean to share my thoughts on an important issue. I could have written more, because this kerfuffle brought up some problems that will need to be solved to prevent future kerfuffles. I didn’t write more because those issues deserve their own post and it is getting late.

Open Data Day Hackathon – CitySpender

International Open Data Day Hackathon Logo
Today was the International Open Data Day Hackathon and I helped coordinate a group of people in Ann Arbor, MI to participate pretty last minute. There was a post to the School of Information’s (my alma mater) mailing list saying, effectively, “Short notice but this looks cool.” I replied with “Yes, short notice, but that doesn’t mean we can’t do anything!”

With a quick rallying of the troops, notably Eli Neiburger of the Ann Arbor District Library and Ryan Burns of a2geeks, we had a free space to have the event with free wifi and electricity (what else do you need?). I sent out the announcement that same day (Nov. 29th, 5 days ago). Even with the last minuteness, end of semesterness (Ann Arbor is a college town), and the holidays right around the corner we had a really good turn out. Including myself there were 8 people in attendance.

What we did:

This project has A) a name (CitySpender), B) a git repository, C) a license, D) and code that does stuff that isn’t yet checked into the repository :)

All in all I think this was a big success. Met some great new people who I’ll continue to work with on this project (we’ll be at the next Coffee House Coders in Ann Arbor this Wednesday night).

Expect more updates…..

Novacut – FLOSS ideals for Video editing

Novacut is a new Free/Open Source project that aims to create a new type of video editor, one that embodies the ideals of the FLOSS community and makes collaboration easier. Basically, it will enable a team to collaboratively edit a video from where ever they are while working on the same version of the source files. It will be able to do this by using a combination of couchdb, Amazon S3 (and EC2 for rendering), GStreamer.

Why am I excited about this and telling you about it (and aside from them seeking donations via Kickstarter)? Because in their video (embedded below) they sold me with the promise that not only will artists be able to share their final product, but Novacut will also allow others to see the process that the creator took to make that product. In effect, the source files of the video. We have this for code, most definitely. We also are starting to have this more often for music with people uploading the individual tracks to community sites like ccmixter.org. But aside from really awesome projects like the Blender Foundation, there isn’t much of this for the video world.

Also, this is of special interest for those of you in the Ubuntu community because the developers for this project will be at the next UDS for Natty.

So, if you have the ability and the inclination, helping with this project is probably a worthy endeavor. Check out their Launchpad project and join the mailing list.

PS: Check out this great note from the lead developer about the response from the FLOSS community.

Other Launchpad intalls in use?

I’ve been wondering about this for a while: Are there any other installations of (the wonderuflly AGPL’d) Launchpad in use by a project (or group of projects)? And, if so, are they doing any fancy distributed bug tracking awesomeness like the bug comment import feature with bugzilla? It would be great to see how other groups use the power of Launchpad in their own way.

What might even be more interesting is if a development company was using Launchpad as their internal dev platform (because they either didn’t want to pay Canonical to let them host a proprietary project or they simply wanted all their development to be hosted on their own servers); how are the features of LP either used or not used in that case?

Severed Fifth – Its coming back

You may have already heard, but Severed Fifth, Jono Bacon’s music project, has been ramping up recently.

I want to highlight a few things that I think are fairly interesting.

First, Fair Pay:
Jono is experimenting with the same model that many others have done (notably: Nine Inch Nails, Radiohead, and GirlTalk) where you let the music fan pay for the enjoyment they get from the music (that is about the best way to put that, because they aren’t really paying for the bits, those cost practically nothing). When this choice is put in front of music fans, either paying zero or some other non-zero amount, many pay some non-zero amount. My recollection is that the amount is somewhere around $8 for an album.

What would be curious to look at in the case of Severed Fifth is what that amount is. As we saw with the Humble Bundle from Wolfire, Linux users paid more per game than any other platform. Will the awareness of Jono’s project in the FLOSS world translate into a higher average “Fair Pay” for Severed Fifth? That probably isn’t measurable, unfortunately.

Second, Frets on Fire:
Boy do I love me some Rock Band, er, Frets on Fire! I think this is one of the cooler things about CC-licensed music: easier conversion into kick ass formats like Frets on Fire with no worries about copyright law (more accurately, the copyright holder) telling you that enjoying Jono’s music in a certain way is not permitted.

Third, YouTube:
This one might seem obvious, but I promise there is a bit more to it. Basically, because the Severed Fifth music is licensed under a CC license, people can us it in their YouTube videos without getting take-down notices. Pretty awesome stuff. Now the really interesting part. Jono has licensed the Severed Fifth music under CC:BY-SA (Attribution ShareAlike) license. That means, simply, you can use, redistribute, and remix the work as long as you give attribution to the author (Severed Fifth, or Jono) and share any derivative work you make under the same license, CC:BY-SA.

Now, using Severed Fifth music in your video means that your video, a derivative work of both your footage and the Severed Fifth music, is now required to be licensed CC:BY-SA. From the legal code of the license: “For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image (“synching”) will be considered a Derivative Work for the purpose of this License” (see section 1b). This is great, now all of those awesome videos Jono showcased in his blog post are now available for your reuse under the terms of the CC:BY-SA license! I think that might be my favorite part of the new happenings around Severed Fifth; Jono spreading the Freedom!

Flickr Backup

As some of you are probably (way too) aware of, I like to backup my social data across the web (see what I do for backing up my google calendars). I actually dream for the day when there is an Ubuntu package I can install, give it my credentials to a few websites (which it saves in your keyring), and then it proceeds to create an initial backup of all your data across all your services. Why do this? Well, aside from the mantra of “keep your own backups!” in case of service malfunction (remember when gmail went down for a few hours? I do, people went crazy), there is also the personal desire to have the ability to migrate to a new service should I wish in the future. If I find a better photo sharing service for some reason, I want to migrate my data/photos to it easily.

Now, backing up flickr.

There are few very important pieces of information to backup from flickr which I can do right now: my photos and my stats (views/referrals of my photos).

Photos
Tool: FlickrTouchr
Why #1: Do you backup your ~/Photos directory? If your answer is “No” or “Infrequently” you might really like this when your harddrive crashes and you don’t have local copies of those awesome photos from your awesome vacation.

Why #2: Do you take photos with your cell phone and upload them directly to flickr? Do you then clear them off your phone because they take up valuable space? This will make sure you have a copy of those on your own machine for easy editing/backup (see #1).

What it does: This one does what it does very well. It authorizes itself with your flickr account and then proceeds to download all of your photos (including your private ones, hence needing to authorize). Also, if you use the Sets feature of flickr, it keeps those associations by creating directories with the sets’ names. So, my directory structure that flickrtouchr creates for my account looks like this:

greg@rose:~/backup/flickr/photos$ ls -1
Bike Lock Fail Blog
Bike Ride – 20090628
Botanical Garden, July 4th, 2009
Bug Jam
Favourites
Gettysburg Trip
Jaunty Release Party
Mackinac Island Trip
No Set
SF – 2008
touchr.frob.cache
Traverse City – December ’09
UDS Karmic

You’ll see the “No Set” directory, which is where all the photos that are NOT part of any set.

How:
If you are going to run this script manually and your local machine with a web browser, you’ll be just fine and just follow the instructions it gives you. If, however, you are like me and want to run this via a cron job on a regular basis, you’ll need to take an extra 2 steps.
1. Start it on your local computer and it will authorize itself via your browser.
2. Kill it (CTRL+C) so you don’t have to sit there and wait for it to finish downloading all of your photos.
3. Copy the touchr.frob.cache file to your server and put it in the folder you’re going to backup your photos to.

Now when it runs it will pick up your credential information from that file and run as expected. Put 5 23 * * * python /home/greg/src/scripts/flickrtouchr.py in your crontab and you always have a backup of your photos! Don’t worry about running it every night; if the photo is already downloaded it just skips it (ie: It does The Right Thing®).

COOL! Now you have your photos backed up!

Statistics
Tool: My flickr-stats-export.sh based on this unnamed Github Gist
Why #1: I like numbers and these are the “raw” CSV files that flickr is producing for your photos. It tells you how many times your photos are viewed and what the referrer was.
Why #2: The stats are going away!

What it does: Pretty simply, it goes to the your stats download page and downloads all the CSV files linked from it. You can see that page by going to this url: http://www.flickr.com/photos/YOURUSERNAME/stats/downloads/ (fill in your username). It then makes a tar.gz of these to save space.

How:
How about we let it tell you:

greg@zen:~/src/scripts$ ./flickr-stats-export.sh –help

Usage: ./flickr-stats-export.sh DIRECTORY USERNAME COOKIES

DIRECTORY:
Directory to save the flickr-stats.tar.gz file of stats .CSVs

USERNAME:
Your flickr.com username

COOKIE:
See the -b flag from the CURL manpage.
It can be the contents of a cookie file or the full filename of the cookie file.
I recommend getting the cookie file from flickr using Firebug, then saving that
in the directory you plan to save the stats files.

If there is already a cookiejar.txt file in the download directory,
we will use that instead and this can be left blank.
See the -c flag from the CURL manpage for more on cookiejars.

As you can see, it needs your flickr cookies to run, so, 1) Install Firebug and Firecookie 2) Login to flickr 3) Go to the cookie tab in Firebug, then the Cookies dropdown and select “Export Cookies For This Site.” 4) Save that file somewhere.

I run this form my server, so I copied that cookies.txt file to the ~/backup/flickr/stats/ directory and then ran
./flickr-stats-export.sh ~/backup/flickr/stats/ grggrssmr /backup/flickr/stats/cookies.txt

I would suggest running this automatically so you don’t miss any stats. But, you only need to do it monthly as the stats csv files are only updated every first of the month. So, I have this in my crontab:
0 12 1 * * /home/greg/src/scripts/flickr-stats-export.sh /home/greg/backup/flickr/stats/ grggrssmr

Notice that I left off the cookies.txt? That is because after the first time it runs it saves the cookies in a “cookiejar.txt” file in the stats directory, and if that file is there, it uses it.

That cron job runs at Noon (Eastern time zone, where my server is) on the 1st day of every month. Why? This data will only be available until June 1st, 2010 at Noon PDT (Pacific time zone). So, I picked a time 3 hours before the data will disappear so that I A) won’t miss it and B) give it time to generate my data for the month of May. After June, you can remove this from your crontab as it won’t do much after the files are gone.

Luckily, if you forget to remove the script’s entry from your cronjob file after that date, it will just exit if it doesn’t have any .csv urls to download. So, it then won’t try to make a tar.gz of empty files and save empty data over your last good flickr-stats.tar.gz

Future Research
So, with those two things you have the photos and the statistics from your flickr account. However, that isn’t everything. I am working on extending flickrtouchr to also download the photo metadata (title, description, tags, comments, license) which it doesn’t save. With that metadata I will either create a metadata xml file associated with the jpg or embed the info INTO the jpg using the XMP standard (see: python-xmp-toolkit). You can see what I’m doing at this launchpad branch. Please feel free to branch it and help out!

A quick backup script for you tonight

I just got back from a great day at the Ubuntu Michigan LoCo edition of the Global Jam were we tested Lucid on a ton of different hardware. It was a great time. See the photos.

But, what I want to share with you right now is a quick script I whipped up to backup my Google Calendars nightly. This is one of the steps in my on-going process of making sure all of my personal data is backed up by me on machines I control with an eye to migrating to self (or friend) hosted services. Yes, I want services I use to follow the Franklin Street Statement.

Until the day that all of the services I use follow the Franklin Street Statement recommendations, I will just have to make sure I make personal backups of my information. So tonight, I finally did that for Google Calendars. It was pretty simple, really:

#!/bin/sh
# Backup my Google Calendars

WORK="/home/greg/backup/google/work-`date +%F`.ics"
PERSONAL="/home/greg/backup/google/personal-`date +%F`.ics"
OPENMICHIGAN="/home/greg/backup/google/open_michigan-`date +%F`.ics"
MILOCO="/home/greg/backup/google/miloco-`date +%F`.ics"

wget private_url_for_work_calendar -O $WORK
wget private_url_for_personal -O $PERSONAL
wget private_url_for_otherwork -O $OPENMICHIGAN
wget private_url_for_the_loco -O $MILOCO

# Remove files that are older than 1 week
find /home/greg/backup/google/*.ics -mtime +7 -exec rm -f {} \;

That’s it. Create the filenames for the various calendars I’m backing up, including today’s date. Then wget them. Then, delete any .ics file that is older than a week. Not sure why I need 7 days of backup, but better safe than sorry, I guess.

sourcecode:binary::???:ppt/odp/pdf

(sourcecode is to binary as ??? is to ppt/odp/pdf)

Ted Gould just posted to the planet with his presentation that he gave at the Desktop Summit. At the end of his post you’ll notice that he uploaded his presentation to Launchpad (at lp:~ted/presentations/2009_desktop_summit/).

I think that is a great idea! Not only does it provide the ability for the community to see what others are using for their presentations but it allows anyone to branch a presentation, which has awesome potential. Especially with the presentation format that Ted chose, SVGs. The S5 presentation format (XHTML/CSS/JS based) would also be a great candidate for easy branching and editing of presentations.

But what if you need to create presentations with others who use Powerpoint or Impress and you wanted to harness the power of a Version Control System? Old powerpoint (ppt) files are binary blobs which don’t work well in version control systems (they *work* but not *well*). Impress (odp) and new Powerpoint (pptx) files are effectively zipped archives of xml and images. However, since it is zipped, bzr treats it as a binary. I only tested with bzr but don’t foresee any of the other systems behaving any differently.

Why would you want to use a VCS for your presentation files? Especially a DVCS like bzr/git/hg? COLLABORATION!

Some of you may know that I am currently working with Open.Michigan, a project at the University of Michigan that enables the creation of Open Educational Resources (OER). OER is effectively a broader term for the concept of Open CourseWare. Basically, everything used in education is a resource, not just presentations, and thus is useful for others to see, use, and remix. If you are curious to see what kinds of things we produce, see our Educommons installation.

OpenMichigan

Back to the topic at hand though: presentations and DVCS.

One of the major areas that the OER community could greatly improve upon is the area of remixing; taking the openly licensed materials and using them, adding new material, and creating something original. Remixing, in general, is enabled by having access to the source files of the material being worked with. Sure, you can use a PDF or a mp3 in a remix, but it is usually better to have the original .odt or multitrack file to work from. This is why Open.Michigan provides to the public the ppt files along with the pdfs of the presentations created through the OER program.

But lets leverage some of the tried and true methods of the FLOSS community in the OER community. One of the biggest and most fundamental benefits of the FLOSS world is that everyone has access to the source code, and can easily get it, edit it, and (hopefully) compile a new version of the program; effectively a “remix.” How does the FLOSS community lower the barriers and increase efficiency for that workflow? We provide public access to code repositories, instructions on building the software (documentation), and a bug tracker to inform what needs to be worked on next.

I want to mirror much of that to the OER community. One of the first things that needs to happen is to provide an easy way to manage multiple versions of a single resource (eg: presentation, video/audio, book). A VCS seems like the obvious choice. But there must be a better way than just managing binary blobs, right?

That is the part that I need to figure out next: how to utilize the power of a DVCS in this genre. Then I can move on to figuring out what a bug tracker for OER would look like (and if it is even needed). The documentation is actually already there, at least for Open.Michigan.

Do you have any ideas?

Creative Commons and FLOSS

Tuesday night I gave a presentation at the Michigan!/usr/group (MUG) meeting about Creative Commons and its relationship with Free/Libre Open Source Software. I had a great time giving the presentation and judging from the amount and activity of the questions it seems like others enjoyed it, too!

I started off with a quick background on Creative Commons and what we do, in general. Then, after answering a ton of questions which were raised in the first 5 minutes, I went on to discuss CC’s role in the Free/Open Source Software community. Specifically, the FLOSS projects we develop and/or work on and how we can help others create awesome things.

If you weren’t there, you missed the opportunity to be a part of a great conversation between some great MUG members and I. But luckily, my slides are available online:

And, since Craig was nice enough to use my photo camera to record the presentation, we even have video! We only have 34 minutes of video, but that gets the majority of the talk. Apparently my camera records at a 1 gig per 10 minutes rate, we only got 34 minutes because it filled up my 4 gig memory card.

Thanks to everyone who came out, you made it fun.