a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server
That quote is taken from the Wikipedia entry for Git (software), the full quote is:
In software development, Git (/ɡɪt/) is a distributed revision control and source code management (SCM) system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. … Git supports rapid branching and merging, and includes specific tools for visualizing and navigating a non-linear development history. A core assumption in Git is that a change will be merged more often than it is written, as it is passed around various reviewers.
The idea of using Git as a platform in open educational development (not just as a software development tool) is something that has pinged my radar a couple of times this year so I thought I’d quickly* share some interesting links material in this area. The core concept when reading this is the idea that Git repositories are:
- designed as a collaborative space; and
- encourage remixing and branching of material
*I’m not entirely happy with how this post is written but don’t want to spend too much time on it – consider it as some very rough notes.
Open bid writing
As it happens to order in which I came across these links also fits in with an evolution of the idea from software to educational support tool. The first example is still more at the software end, in this case the use of the GitHub Service by Joss Winn at the University of Lincoln as a place for Open bid writing, but it helps highlight the potential benefits of Git.
In ‘Open Bid writing’ Joss reflects on the use of GitHub to develop his proposal for, the now funded, JISC OER Rapid Innovation Bebop project. The main advantages highlighted in the post are as this was proposed as a software development project the final code and proposal will all sit in one place. Now you might say how is this different from just uploading your project plan to your project site. The difference here is just as GIt allows you to navigated different versions of the code you can also see how the proposal evolved, see different versions of the proposal and how it was constructed and even how ideas evolved. Joss also points out that using GitHub during the writing process also gave the opportunity for others to learn or even contribute to the proposal.
The final aspect not included in the post but mentioned by Joss is a tweet before submitting the proposal is Git’s functionality for someone else to fork the project, that is take a snapshot of the proposal and develop it in a completely different direction. So at a later date you might see an opportunity to do something similar to Bebop and instead of starting from scratch use Lincoln’s proposal as the basis of your own work.
[In Joss’ post he also that one of the student projects at DevXS was to create a GitHub hosted version of the collaborative writing tool Etherpad which stores documents in Github. You can read more about RevisionHub here and the code developed at DevXS is here].
Not code, but poetry
‘Code is poetry’ is the WordPress motto but as Phil Beauvoir (JISC CETIS) highlights in his post Forking Hell? Git, GitHub, and the Rise of Social Coding already people are using Git repositories for other purposes beyond coding. These include writers, musicians and artists all putting there material in Git for others to contribute or fork to make something different. My favourite example from Phil’s post is:
Durham-based band, the Bristol 7’s, last year released their album, “The Narwhalingus EP” on GitHub under a Creative Commons licence “to see what the world could do with it”. The release, if we can call it that, comprises the final mixes and the individual tracks as MP3 files. The band invites everyone to:
“Fork the repo, sing some harmony, steal my guitar solo, or add a Trance beat. Whatever you want to do, just tell us about it, so we can hear what’s become of our baby!”
[Sticking very loosely with art I see via Ed Summers cc0 and git for data post that:]
the Cooper-Hewitt National Design Museum at the Smithsonian Institution made a pretty important announcement almost a month ago that they have released their collection metadata on GitHub using the CC0 Creative Commons license
Forking Your Syllabus
So far the examples I’ve highlighted have all used the GitHub service. Earlier in the week I had a chance to chat to Joss Winn at the JISC OER Rapid Innovation start-up meeting and started talking about Git. One of the things Joss mentioned was whilst Git presented a number of opportunities for academics to contribute, share and reuse material the terms and concepts of Git are foreign to the average academic. A post I had read but not fully processed is Brian Croxall’s Forking Your Syllabus. In this post Brian highlights that for new teachers it can be daunting to design a programme of learning and that “when you’re beginning to plan something new, you can always benefit from seeing what others before you have done”
Brian goes on to join the dots between syllabus creation and Git, the final picture coming together with Audrey Watters ClassConnect: “GitHub” for Class Lessons. My hunch is ClassConnect has a Git backend and while the icon set and functionality is ‘fork’ the language is ‘used’.
As Audrey points out ClassConnect is a new product and I don’t think all of the required features are there yet, like selecting and searching by Creative Commons license, but the idea of using the Git model in educational development is one to watch.
But that’s what I think. What do you think? Are the soft issues of getting people to work in a more open way always going to overshadow any technical development to make it easier to do this? Or will tools like ClassConnect suck people into different working practices? Will staff ‘git’ it?
Update: There’s been some more discussion on this idea on the OER-DISCUSS JISCMail list
Join the conversation
Thanks for this post, Martin.
I think we have to start a competition for the corniest blog post title punning on the words “git” and “fork”… 😉
Certainly the rising popularity of sites like GitHub have turned Git into the new rock star, but when you, er, “git” down to it, Git can be hard going, especially if you try using the command line. Easy to use Git client tools are a must if it’s going to be used more broadly. Or as you suggest, client apps that use the Git back-end.
The opportunity for a corny title alone will mean I’ll no doubt revisit this area. Having wrestled with GitHub I know what you mean by hard going. If ClassConnect is running on top of Git they’ve done a great job to remove the technical load. Potentially the building blocks are already there to do something very interesting. A bit of SWORD maybe some other 3rd party apis. One to watch!
Alan Levine (@cogdog)
I so git it. This is really timely Martin, as I am contriving a ds106-like course for next year with a nebulous concept of “Crafting and Computing” about using web-thinking and code-ways to create things online (but not as a programmer). This along with your many tools for cranking data through things to find meaning are right up my alley.
I had no idea people were side-purposing Git, it makes a ton of sense.
A long way of saying “Thanks”
I love it when people take a tool and use it in a way it was never intended for just because it fits with what they want to do.
Joss introduced me to the concept of technological craftsmanship. It’s an idea that sits well with me coming from a line of cabinet/watch makers and I sleep easier at night with the thought I’m somehow I’m continuing it (although I hope I’m not remembered as Master Spreadsheet Maker 😉
Do tell us more about ‘Crafting and Computing’; it’s something I’m definitely interested in. Have you read around the use of the term ‘software craftsmanship’? http://joss.blogs.lincoln.ac.uk/2012/02/25/learning-a-craft/
All the best.
I’m the same Martin. I’m much more comfortable thinking of what we do as Craftsmanship – my dad was a carpenter, furniture restorer and bricklayer and working with him every weekend throughout my teenage years definitely shaped my values, too.
On the use of Git for bid writing, I wrote another bid shortly after the Bebop proposal, where I very consciously set out to write it in public, rather than it being an after-thought. https://github.com/lncd/AIM-project
I let people know early on that I was starting to write it, via a blog post (and Twitter) that became the first rough draft of the bid: http://joss.blogs.lincoln.ac.uk/2012/03/05/implementing-oauth-2-0/
It was fun writing it but I also enjoyed documenting the writing of it via the commit messages. https://github.com/lncd/AIM-project/commits/master
Of all the bids I’ve written and published openly, this was by far the most transparent from the outset.
On alternative uses of Git, you reminded me a brief exchange I was involved in on the JISC Repositories mailing list in 2009: http://lncn.eu/gs3
There was also a post recently that brought WordPress and Git together: http://ben.balter.com/2012/02/28/github-for-journalism-what-wordpress-post-forking-could-do-to-editorial-workflows/ Shame he won’t be working on it this summer.
I’d love to build something on Git, or preferably Github, where the APIs are already available. http://developer.github.com/v3/
Thanks for the extra links. Its a shame the WordPress/Git is on hold would have been an interesting project.
Ditto on the ‘hmmm’. Looks like your 3 year old hunch might be ready for the big bad world. Something else I came across recently is openstax college http://openstaxcollege.org which is compiling and publishing open textbooks/ebooks. As part of this they are letting anyone edit and republish the existing textbook using the Connexions/Rhaptos Software http://cnx.org/. Haven’t really played with any of these but thought I’d share as the project is generating other interesting stuff like OERPub https://trac.rhaptos.org/trac/rhaptos/wiki/TechnicalDocumentation/Code/Sword
Connexions looks good but looks like you are confined to their environment. A git based solution should give the user more freedom to grab whatever files are in the master, fork or edit and republish.
So please go forth and make it happen 😉
I meant to link to this, too: http://www.git-legit.org/ It’s git simplified on the commandline, but you can see how such an approach might translate to a GUI application using domain specific language.
Alan Levine (@cogdog)
@Martin It’s not about the spreadsheets but the way in which you use them as vehicles to move/rework data.
@joss It’s a super alpha idea I am writing up now (and I just read your Software Craftmanship post linked from here, it is where I am intending to go). It’s not a course aimed at programmers but people who have drive to have an understanding to be able to manipulate existing code libraries, apis to build things. It came out of the serendipity experience of riffing back on forth on an idea with John Johnston
I’m thinking of having enough understanding of inputs/outputs to build web tools with jquery, with having a conceptual understanding of using web apis, with being able to manipulate data to visualizations with refine/gephi like Martin and Tony Hirst do. I had thought it was also key to be in an environment like git (which I know actually little of).
It’s vague, but I am seeking ideas on how to frame this, and the work you both do is key inspiration.
On reading, I am just getting about to reading “Shop class as soulcraft: in inquiry into the value of work” that Scott Leslie had recommended.
yes, that book was a nice read, but I found Sennett and Pye more useful for history and concepts. If you find more references, send them my way, please! 🙂
@cogdog Riffing, Remix and DIY are all things I can relate to. I think you’re right that the gap between literacies and the tools to make stuff are narrowing and there is an appetite out there for people to make their own mark. No idea how you’d frame it but I’m always looking for interesting stuff to do 😉
Our favourite posts of 2012
[…] Do you git it?: Open educational resources/practices meets software version control Software version control tools like Git have long provided software developers a space to collaboratively work on projects providing an easy way track, contribute and modify code even when offline. Given the features of remixing and branch existing material you’d think it would make the ideal repository for open educational resources (OER). This solution is not without its issues such as confusing terminology and very structured workflows but it’s interesting to see non-coders adopt Git as a place to host their content. This post highlights some existing examples like open bid writing, music and course content and asks should we be Gitting OER. […]
Comments are closed.