Category Archives: Uncategorized

One More Day of Thought – Introducing CC-One (Formerly CC-Infinity)

I am totally geeked and somewhat histrionic that CC took a look at my plight. Elliot Harmon of CC commented on my post about CC-∞ (Infinity) from yesterday.

… Thinking about CC Infinity, I worry that it would create an infinite number (sorry) of incompatible bodies of work. The exciting promise of OER is the ability to seamlessly mix content together from different sources. Navigating a complicated set of restrictions would make life much more difficult for educators and content creators….

Since my response is really long I decided to make it whole post.


Elliott,

Thanks for your comment. I feel good that the topic is receiving some discussion at CCHQ. When I say “content slums” – I mean any cloning of material for the sole purpose of making money off ads, getting into search results or taking away views. YouTube is not a content slum – but a YouTube channel with nothing but cloned content is a slum (in my vernacular). But my definition hardly matters.

The problem in a sense is the kind of thing that happens when something like CC-BY is very successful – I used it on everything. But at some point my fragmentary bits come together in something like a whole book or whole course and after years of development and promotion my work starts to get some attention. But that very moment that I get attention for my work is the exact moment when bottom-feeders can gain the most advantage by cloning those materials.

There comes a time where one needs something that is more precise than the CC-BY series. One might say “use NC” and that will keep people from cloning content on YouTube with ads. But if they are caught – they turn off ads for a few days and then when no one is looking they turn them back on. If all they are doing is cloning materials, they are complying with ND. And they are not trying to limit others from spamming – so they are complying with SA. So all the CC additions are pretty much useless in the face of those whose intention is to clone (and not remix or add value to) materials.

The answer is ARR with pre-granted permissions. In order to avoid the “incompatibility” you speak of above, I would word all the permissions in the following form:

If you are printing a limited number of copies of this book for use in a course,
then you are granted CC-BY license to these materials for that purpose.

If you translate this book into a language other than English,
then you are granted a CC-BY license to these materials with respect
to the publication of your translation. In particular you
are permitted to sell the resulting translated book commercially.

If you are hosting these materials on a server not connected directly to
the Internet (i.e. behind a firewall) to better serve a local population,
then you are granted a CC-BY license to these materials for that purpose.

If you are creating a derived work that includes more than 50% and less than 90% of
this content then you are granted a CC-BY-SA-NC license to these
materials for that purpose.

If you are creating a derived work that includes more than 5% and less than 50% of
this content then you are granted a CC-BY license to these
materials for that purpose.

If you are creating a derived work that includes less than 5%
this content then you are granted a CC0 license to these
materials for that purpose.

By limiting the statements to when a non-ARR license can be used but insisting that those licenses be from the existing CC set hopefully means that the only complex legal interpretation will be the “when to apply” parts of the statements and not the “what happens” part of the statements. Of course I am not a lawyer… :)

You can sit in a room at CCHQ and convince yourselves that such a thing would somehow confuse the CC brand. It indeed might. And so CC might decide not to do it. But just because CC does not build such a thing, it does not mean that thing thing is not needed and it does not keep someone else (i.e. like me) from building such a thing.

I have decided that CC-Infinity is a bad moniker for the idea. Yesterday I was in a hurry and trying to figure what the “opposite” of CC0 was. My new “opposite of CC0” is CC1 – CC-One.

With the addition of CC-One, there is a delightful slider bar of options on a number line. CC0 would be at 0.0, CC-BY would be at 0.25, CC-BY-SA would be at 0.5, and CC-SA-NC would be 0.75, CC-BY-SA-ND-NC would be 0.85, and CC1 would be at 1.0. It is beautiful – CC1 completes the set perfectly. CC0 starts from PD and works up while CC1 starts from ARR and works down while CC-BY populates useful stopping points in the middle.

I love the symmetry – as an engineer it feels like it is now complete.

I also understand if CC thinks that if you make CC1 it will be come too popular and folks will abandon CC-BY, preferring CC1 even for little things like a Flickr photo. This might reduce the overall amount of CC-BY.

I would disagree, I think that CC1 would mean more people would find one of the CC licenses suitable for far more materials. Some might start with CC1 to dip their toes into CC and then after becoming more educated and comfortable know when they want to use the CC-BY series. I think that CC1 might lead to a short term drop in the use of CC-BY and friends – but in the long run – by making the CC language more expressive and widening the range, we can involve far more content creators in CC overall. Every crack we can put in ARR is a step in the right direction. And frankly something like CC1 might give mainstream publishers and content producers a way to loosen their grip ever so slightly in a way that more slowly achieves our common goals – but does so for a far wider range of materials.

Comments welcome.

P.S. You really need to look at the Bill Fitzgerald post on Creative Commons and Human Nature where he talks about the recent improvement in the Createspace policy that addresses the rights of the copyright holder when the copyright license is “non-exclusive”. It is a beautiful thing – the policy was changed from “first in wins” to “copyright holder wins” early last year. If CC had something to do with this – outstanding. If not, you should say nice things about it and try to get other distribution channels to adopt similar policies. I had a very unhappy run-in with Createspace back in 2010 that caused me a lot of pointless work – back when the policy was “first in wins” and the material was CC-BY-SA.

P.P.S. If I do build this “something less than ARR” framework, I won’t call it CC1 because then I would be sued (rightfully) for trademark infringement. I would love to call it “ARRGH” but I don’t yet know what the “G” and “H” stand for to make the acronym work. :)

The Day After CC-BY Fail – CC-Infinity

Yesterday was an interesting and emotional day for me.

  • I made a video of how upset I am at my own mistake of putting CC-BY on materials and having that decision play into the hands of spammers who would use my content for search or link bait.
  • I removed all the CC-BY references from my Coursera Internet History, Technology, and Security recorded lectures and replaced it with All Rights Reserved.
  • I got some help from Cory Doctorow (tweet) who noticed my situation and gave me some reassurance that YouTube would fall on the side of the copyright holder and not let the spam stand even with the small detail of the CC-BY license. I of course did not believe him (tweet)
  • YouTube did remove the offending videos – even the ones that were CC-BY. Cory was right. It only took two days. (tweet)
  • I made a new version of my histronic video addressing the issues independent of YouTube taking the videos down.
  • Bill Fitzgerald wrote an excellent post titled Creative Commons and Human Nature where he covers some of these issues with less histronics than me. In particular points out that Createspace has an excellent policy that nicely addresses the rights of the copyright holder when the copyright license is “non-exclusive”. It is a beautiful thing – the policy was changed from “first in wins” to “copyright holder wins” early last year. Worth a read.

So reading the above sequence of events you might think, “Great – You won against a spammer.” – but actually that is not at all how I feel.

I effectively used a bit of bluster and YouTube’s general tendency to do whatever the copyright holder asks to get my way. But in effect, I succeeded in revoking CC-BY after the fact and that makes me feel bad. I don’t want to break CC-BY – it was my mistake to use it and legalize spammers.

So I am still removing CC-BY from all my materials that I don’t want used as spam or link bait. I don’t want to face YouTube the next time and have them look at the actual copyright detail and decide that I have no recourse.

We still need a license that protects high-value OER materials from inappropriate reuse while enabling responsible reuse without any requirement of permission.

What we need – CC-∞ (Infinity)

I tenatively title my idea CC-∞ as homage to Creative Commons CC0. CC-∞ starts with All Rights Reserved as the default license (much like CC0 starts with effectively Public Domain) and then adds statements that define legitimate reuse scenarios for which permission is explicitly given.

In a sense if we look at CC-BY+SA+ND+NC it is structured as a liberal license that adds increasing restrictions based on the desires of the copyright holder. CC-∞ is the opposite – it is a restrictive license that adds clauses that make it more liberal in scenarios per the wishes of the copyright holder.

Much like in all of CC – we are best served if the smart lawyers at Creative Commons draft these up. All this stuff is so complex especially when international laws are involved. This is not something that I should draft up by myself – but unless CC builds something like this – I will be forced to define CC-∞ myself – and it will suck. But it will be better than any of the CC-BY variations and better than All Rights Reserved – but still suck unless Creative Commons steps up and does this work.

Reflection

I was really upset yesterday. But I should be clear that I was not upset at YouTube and I was not upset at the spammer. I was upset at myself for not anticipating this “CC-BY” gotcha. It is always painful when you assume that you are safe and doing the right thing and then something jolts you and makes it clear to you that you made a mistake. And you might suffer negative consequences for your mistake. Yesterday my intellectual property and copyright cheese got moved and I was scared and upset.

Now 48 hours later all is well. I will still keep CC-BY on much of my materials – for example, my Python for Informatics course on online.dr-chuck.com is 100% CC-BY and releases all its materials with CC-BY (here). I am not going to remove the CC-BY from these materials because I really want them distributed as widely as possible and and want to pre-permit unfettered reuse – even if a copy of the materials end up in a content slum. I have thought that through and am prepared for it.

Going forward, I won’t just put CC-BY on everything I create related to teaching and learning. I will put it on most of what I produce – just not all. I will ask myself the question, “Are you prepared to make spam-like reuse of these materials legitimate?” If the answer is “yes” – then I will use CC-BY and if the answer is “no” the answer will be my own self-constructed version of CC-∞.

Just in passing, I would just like to note that I am very explicitly not revealing *who* did the spamming. They probably did not have any truly evil plan – they do not deserve any particular attention or criticism. They were in possession of a few MP4 files and put them up on YouTube. I got them taken down – nothing to see here – move along.

Thanks for listening and as always comments welcome.

Creative Commons Has Failed Me and My Heart is Breaking

Update: YouTube did take down the spammer copies of my videos – I am glad this worked out but still will move away from CC-BY for some of my material

Update: Bill Fitzgerald wrote an excellent post about this and points out that Createspace actually has a policy about this. That is great news – it was not the case several years back. I also get accused of histrionics by one of the commenters in his blog. I probably am guilty of histronics.

I understand that this is the fault of Copyright Law and not Creative Commons per se, but I am at the point where I will be using CC licenses on my materials less and less.

I am 100% committed to allowing reasonable use, reuse, remixing, translation, republishing of my materials, even commercial and non-commercial.

So for me, I have been using the CC-BY license for years, wanting to give the maximum flexibility to those who would come into possession of my materials. I don’t want to add the SA, NC, or ND to my licenses because that limits the freedom of those using/adapting my materials.

It turns out that the only thing that I don’t want people to do is simply clone my materials with no value add at all and put up cloned copies of my materials on competitive sites as link and search bait. It is like my material is trapped in a content slum. You might think that search engines can tell the difference between me publishing my content and some scumbag replicating it in a content slum – but they can’t – when enough slums exist the original is lost in the noise.

These unethical spammers are not making derivative works (they merely clone my materials) and they are not trying to limit redistribution – so they are *technically* perfectly legal w.r.t. CC-BY.

If they did something like translated my work into multiple languages or even auto-tuned my lectures it would be awesome and great.

So for now, I am going to start converting my materials away from any CC license unless I am willing to have 1000 useless spammers duplicate the materials I am creating. Some materials I will still release as CC-BY – but my richest and most well-developed materials will be All Rights Reserved with some kind of asterisk.

Perhaps I will write up my own Copyright License that tries to give flexibility and options to those who would use my materials responsible manner while prohibiting evil spammers from using my work as link bait.

I doubt that there is any legal way to capture what I really want. Sadly, “All Rights Reserved”, while reprehensible at least gives me recourse when spammers decide my stuff is worth ripping off.

Sad sad sad. My heart is breaking. It almost brings me to tears to think about it.

It would be great if I were wrong – but I don’t think I am.

Note: I would add in passing that software can use a trademark to protect this brand while allowing flexible copyright licensing. But since books videos and other similar materials cannot take advantage of trademark protection for a brand I have to fall back to All Rights Reserved.

Note: My son Brent (the musician) is sitting here doing his Algebra homework and watching as I write this. He looked closely at CC for his work a few years back and felt that it made no sense at all. He would almost certainly let anyone who asked use his work – all they have to do is ask. He sits here wondering why it took me so long to figure it out and why I am feeling so bad about switching to All Rights Reserved and just saying ‘yes’ to requests for reasonable reuse.

Update: Commenters pointed out that spammers will ignore copyright – that is of course true. But if those spammers are using a well-known site like YouTube or Amazon Createspace as the outlet for their competitive clones of CC-BY materials – those sites will correctly say “too bad” when you ask them to take it down. Google’s web search is better at catching and punishing “content slums” – but other sites search engines like YouTube and Amazon that are merely looking at their internal content can’t tell the difference between the original CC-BY content and a useless duplicate.

Reusing Parts of Sakai’s LTI Java Implementation

I have been recently talking to several folks about LTI implementations in Java environments and whether there is reusable code in the Sakai course tree.

The answer is ‘yes’ – and I have structured the Sakai source tree to make this as easy as possible by isolating the generic code form the Sakai code. The “generic” code in the Sakai course tree is based on the IMS code and is copyright IMS (and others) under the Apache License. The Sakai-specific code is copyright by the Sakai (Apereo) Foundation under the ECL 2.0 license. The Sakai-specific code is useful as an example but not particularly useful as direct reuse.

The reusable (non-Sakai) code is here:

https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-util/

The Sakai code that makes use of these utilities is scattered throughout, but here are the high points:

Code that calls all the Sakai APIS and fills up the data structures and exercises the above utility code.
https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-common/src/java/org/sakaiproject/basiclti/util/SakaiBLTIUtil.java

The servlet that contains the web services to handle this incoming web services – this of course is Sakai specific, but the outline is useful and it makes good use of the utility code above:
https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-blis/src/java/org/sakaiproject/blti/ServiceServlet.java

A php test harness that pretends to be a simple tool to launch and does some very simple exercising of the XML web service APIs:
https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-docs/resources/docs/sakai-api-test

Abstract: Massively Open Online Courses: Beyond the Hype

I will be giving a Keynote speech at the Moodle Moot Australia 2013 in Melbourne, Australia June 23-26, 2013.

This is my draft abstract for that keynote. Comments welcome.

This keynote will look deeply into what MOOCs are; how they are affecting the future of the software we build to enhance teaching and learning; and how the current trends will ultimately affect real teachers or real universities. We will get beyond the hype, contrast these new systems with more traditional Learning Management Systems, then anticipate how MOOCs will progress as they move through the Gartner Hype Cycle; become more prevalent; and potentially lose sight of re-mixable Open Educational Resources.

We will examine and debunk the fallacy of the one “gold standard course” taught by some premier university that effectively converts the professors in the “rest” of the universities into local graders / mentors. For those of use in educational technology for the past 20 years, we have seen extreme and unwarranted hype around numerous products which eventually modulates into a reasonably practical approach that strives to make all teachers better, rather than obsolete.

Dr. Severance has a long history of of being involved in disruptive trends in technology for teaching and learning. As the Chief Architect for the Sakai Project and first Executive Director of the Sakai Foundation, he helped form the worldwide open source community around the Sakai LMS. After he resigned as the Executive Director in 2007 (right before he was about to be fired because his passion for genuine open source conflicted with the grand top-down plans of his board of directors) he spent the next few years working with the IMS Global Learning Consortium building software and data interoperability standards to change the nature of the LMS marketplace. This work resulted in the IMS Learning Tools Interoperability (LTI) and IMS Common Cartridge (CC) support across then entire marketplace. He has also contributed to the LTI support in Moodle. In 2012, he became the Sakai Chief Strategist for Blackboard, Inc. and is paid by Blackboard to work on and support the Sakai open source project. Also in 2012, he taught the online course “Internet History, Technology, and Security” during 2012 using the Coursera MOOC platform. The course had over 56,000 registered students from all over the world and 5,000 received a certificate. In 2013, in order to teach a MOOC that would augment his on-campus class he developed his own open source MOOC framework (online.dr-chuck.com) that used Moodle as its teaching engine and taught Python to nearly 2000 students around the world in addition to his on-campus students.

bio: http://www.dr-chuck.com/dr-chuck/resume/bio.htm

LTI, Frames and Cookies – Oh MY!

I got the following question about LTI recently:

Recent Safari and Chrome browser versions have changed the way they filter 3rd party
cookies in iframes:

http://stackoverflow.com/questions/9930671/safari-3rd-party-cookie-iframe-trick-no-longer-working
http://groups.google.com/a/chromium.org/group/chromium-discuss/browse_thread/thread/91fb1bf55e483dc4

Previously, a POST in an iframe would allow the target of the POST to set cookies. However, this has changed, and those cookies are no longer allowed when 3rd party cookie blocking is enabled (the default setting). This causes them to completely break Basic LTI tools that use cookies to establish and maintain a session and all of the LMS systems enclose LTI Tools in an iframe.

Here is my Answer

The simple answer is that tools will need to go through a step where they attempt to set a cookie and then do a redirect back to themselves with the session as a GET parameter and check to see if the cookie is set. If the cookie is not set – they should open in a new window, passing the session id as a GET parameter and then setting the cookie and redirecting to one’s self one more time.

Yes – it sucks. And many tools just give up and don’t even bother trying to set a cookie within frame. If they notice that they are not the top frame pop open a new window with a GET parameter. Friendly instructors or admins placing the tool could make it easier and just tell the lMS to pop up in a new window. But the tools shold not assume this is the case and gently deal with being in an iframe or new window.

I think that in the future there will be two situations. (A) Relatively large tools that insist on a new window and immediately pop themselves out into a new window if they find themselves in an iframe. (B) Small widgets that happily live in an iframe but do not use any cookies at all to maintain session – they just use GET parameters or POST parameters on every screen to maintain the session state.

How to Build a Rich / Non-Trivial IMS LTI 1.1 Provider

PHP IMS LTI 1.1 Providers

I have a “hello world” provider in PHP here:

https://source.sakaiproject.org/svn//basiclti/trunk/basiclti-docs/resources/docs/sakai-api-test/tool.php

It is nice as it does all of LTI 1.1 as well as Sakai’s extensions documented here:

https://source.sakaiproject.org/svn//basiclti/trunk/basiclti-docs/resources/docs/sakai_basiclti_api.doc

I have built a few other PHP providers that do a little more and use a database with some Authz and different implementation approaches. I used these as examples for various advanced LTI workshops I have given:

http://ims-dev.googlecode.com/svn/trunk/basiclti/php-simple/adlist/
http://ims-dev.googlecode.com/svn/trunk/lti/lms/

The best example is the Moodle LTI 1.1 Provider written by Juan Levya. The Moodle provider is more rich and powerful than the Sakai provider (below). The Moodle provider does grade send-back as well launch and provisioning at either a course or a tool level. I would love to get Sakai’s provider to feature parity with Moodle’s provider.

http://docs.moodle.org/22/en/LTI_Provider
https://moodle.org/plugins/view.php?plugin=local_ltiprovider

https://github.com/jleyva/moodle-local_ltiprovider

Java IMS LTI 1.1. Providers

There are three samples of Java LTI code here:

http://ims-dev.googlecode.com/svn/trunk/basiclti/

They were the initial sample code that was developed as proof-of concept. The Sakai LTI 1.1. providers started with this:

http://ims-dev.googlecode.com/svn/trunk/basiclti/java-servlet/

And went quite a ways beyond it. So I would ignore the above and start with:

https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-portlet/src/java/org/sakaiproject/blti/ProviderServlet.java

https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-docs/resources/docs/sakai_basiclti_provider.doc

You will note that the code here:

https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-util/src/java/

Is not even copyright Sakai – it is generic utility code copyright IMS and others – and it is more well-tested than the code in http://ims-dev.googlecode.com/svn/trunk/basiclti/java-servlet/ – so I would start with this as your utility code.

The connection between that generic Util code and Sakai APIs happens here:

https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-common/src/java/org/sakaiproject/basiclti/util/SakaiBLTIUtil.java

I made sure that I kept the generic bits and non-generic bits 100% separate.

Sakai LTI 1.1 Beta Release – 2.1.0-b01

I have been working on a new release of the Sakai LTI support to complete the support for IMS LTI 1.1 and lay the ground work for an effort to implement IMS LTI 2.0 in the summer. The internel Sakai version number for the LTI code base is 2.1.0 (unrelated to the IMS spec version number).

This code is planned to be shipped with the Sakai 2.9.2 release – sometime in May or June. It will likely be the version that is installed by many Sakai schools over the summer.

Many things have been fixed, new features have been added, the UI has been cleaned up, and there are several security fixes.

Release notes including the 40+ JIRA tags fixed in the 2.1.0 release:

https://confluence.sakaiproject.org/display/LTI/LTI+-+Release+2.1.0+Notes

Video demonstration:

http://www.youtube.com/watch?v=Xfmc6ePgyaw

Beta 01 Tag:

https://source.sakaiproject.org/svn/basiclti/tags/basiclti-2.1.0-b01/

It would be great if folks were willing to test this and give me some feedback.

Abstract: Sakai – The First Ten Years and the Next Ten Years

I will be submitting this abstract to the 2013 Apereo Conference in San Diego June 2-7, 2013.

The Sakai project is nearly ten years old, having started informally in June 2003 and then formally funded by the Andrew W. Mellon Foundation in January 2004. There is no question that Sakai has brought tremendous value to the LMS market – even for schools that have never used or installed the product. Sakai has been a force for good and shown other LMS systems the right path to meet the real needs of their users. Sakai is the only Apache-style open source / open community LMS project in the marketplace. As of November 2012, Sakai represented six percent of the US LMS marketplace. These are all impressive results and with the release of Sakai 2.9, we have a product that we can be very proud of (and everyone should upgrade to it as soon as possible). But at the same time, we cannot rest on our laurels and need to think carefully about the kinds of activities that we will undertake beyond Sakai 2.9 to maintain and strengthen our place in the marketplace in an increasingly standards-oriented, component-based learning systems, trends toward multi-tenancy, software as service, MOOCs and extreme scalability. In this presentation, we will take a look at the past, present, and future of the Sakai Collaborative Learning Environment.

This is just a draft – comments welcome.