The Git and the Pendulum

(This has nothing to do with Edgar Allen Poe, I just liked the pun. Sorry to disappoint).

Having worked in technology and education since the late 1990s I’ve witnessed several swings in what is deemed to be common sense or received wisdom of “what’s best”. I’m starting to notice patterns, and I have a sneaking suspicion that this is nothing particularly specific to the field I work in, but a wider pattern of how fields of practice evolve.

I’m going to be lazy and let you look anything unfamiliar up on wikipedia.

To start off, I love the analogy in Wittgenstein’s semantic river.

Philosophers please forgive me my inexactness, I merely want to sketch out how this concept informs my thinking, not to try to describe it or critique it.

So …

At the top of the river is the fast flowing water of everyday lived experience. Below that the silt, the fluid mud that rolls along the river bed, slower than the water but faster than stones. You can see and touch the silt, it starts to get tangible. Below that the stones, each one a thing with boundaries, each one describable, but slowly moving with the direction of the river. Then the rocks, moving imperceptably slowly. His analogy is that this is what meaning is like, and for him, language is the meaning. Big concepts feel like rocks, unquestionable, but in truth, all is fluid, all is effected by fluid, its a question of time. This past year I’ve been using the word “churn” a lot, and for me this is often what I’m thinking about.

Sidenote – if you want to really blow your mind, there was an amazing programme a while back about waves and how in some ways all life is waves. Its just a question of time and distance in space. I must watch it again.

Next concept: Dialectic

As in … thesis and antithesis. One person says I think A, another says no, not A, its Z. In a process of discussion, the choice of A gets shifted a little for B, Z gets swapped for Y … and the position that comes to be discussed is somewhere between … G and P. It’s not to say that all ideas reach consensus, but that there are forces at play that mean ideas change in relation to each other, and, I think, people change their positions in relation to ideas.

That’s what I mean by the pendulum: there is a natural swing between preferred options, the options backed by the majority. A good example is the pendulum between centralised “vs” distributed technology, local “vs” outsourced technology expertise, etc.

Physicists – this is where my lack of hard sciences show. I know that a true pendulum settles in the centre, but please forgive me some creative leeway. (I’m actually a little scared of how far this whole post could be ripped to pieces!).

Sometimes the dialectic is up at one end of a discussion. So it’s between Z and T: a small but hotly contested arena of debate. An example of a debate up at the far end of a spectrum is the debate between gratis “vs” libre in open source,or  free “vs” open in open educational resources . It’s fascinating to watch that the question of gratis vs libre is starting to gain weight in the space of open access to research papers, taking the shape of “what sort of creative commons licence should be applied to a research paper?”.  By watching the trajectories of other “opens”, I predict that although it hasn’t been a big focus, it will start to become more important.

It’s interesting the way that a tussle within a short strech of the pendulum, say between P and S, can be really important to progress of a field, but to the folk aligned to the left of M, it looks like silly in-fighting. I fear that the political left sometimes confuses the internal discussions with the external discussions, and could do with a bit of the brash confidence of the right in the pretence that there is common-sense position. Folks who believe that rocks don’t move much can too easily interpret the movement of stones as a lack of a bedrock.

So … a case study in this is the open source movement. And the promised Git of the title. I mentioned above the gratis vs libre concept. I think the big pendulum has been swinging from the A as “economically foolish” to Z as “economically sound”. Meanwhile open source has branched off into a diversity of approaches, from purist to hybrid. At the purist end we find git hub.

I am not a programmer, but I think understand the concept of github. Don’t just share the source code like on sourceforge: host the source code in a shared place where it can actually be used/played/run. Taking the concept of open source one step further to where it can be worked on together. Github is clearly an amazing thing, but to assume that it is the only trajectory of open source would be to misunderstand the way fields develop.

[postscript prompted by the comment from Graham Klyne: I refer here to a tendency to see the live editible source model as an answer to everything. That tendency doesn’t necessarily come from users/advocates of github but of people like me who grasp what it offers. I call it “githubification” and I mean that not as a negative comment on github, but as a caution that a borrowed model cannot necessarily be applied to a long standing problem space like sharing learning materials, and magically work. I think that sharing learning materials is a socio-technical issue, like sharing code, and that though the technical solution might look the same, the sociological/human factors might not be.]

So there we have it. No doubt riddled with inaccuracies and misunderstandings, but this is my take on the Git and the Pendulum.

10 thoughts on “The Git and the Pendulum

  1. My experience is that Github supports a range of working styles from open-everything to closed and private (for which one may pay), and does do even within a single “organization”. I use Github for several tasks,.but have never felt myself being pushed onto a particular mode of working.

  2. Thanks for your comment Graham – that makes a lot of sense. I have added a paragraph to try to address it and clear up what I meant!

  3. There are two separate things to consider

    1) Github is a nice wrapper for git (git is a command line interface for running a code repository). I find git really, really hard to use. Drupal uses git for its version control, and is similarly web-based, but doesn’t have anywhere near the same feature set to the end user as github does. Github wraps a lot of the git command line with a nice friendly interface and provides really simple software for people to use.

    So would I use Git to share teaching and learning materials – no, it is far to hard.

    Would I use github (well we did for ww1c) – but that was mostly as we knew we had “grey” data that made sense to share. We could have used datahub – but that doesn’t seem to have versioning like git. So it was a choice of features.

    2) I think, given I’ve mentioned github for this purpose, that semantically I’ve used github in the same way hoover is interchangeable with a product as well as a brand. I think Github’s profiles, reuse tracking, contribution monitoring, easy duplication, social networking built in are the best features – the fact it is based on git is, and definitely is for me, little more than an abstraction. I’ve just used github as an example to refer to a feature set. I could have referenced google code, or sourceforge, but both are way to complicated.

    The logical comparison is fedora, or which ever repo it was that had no front end and was solely command line.

    I also think macro level specifications tend to lead to arguments over software solutions, whereas if we specify feature sets then most systems could come close to doing it. I don’t care what something runs on or how it does stuff – the feature set it provides me with, and what that empowers me to do is important.

  4. Really useful explanation, Pat, thanks. Thinking in terms of feature sets makes a lot of sense, I’ll try to remember to apply that to my own thinking and writing. Cheers!

    1. I did a presentation for the RSP in oooh March 2010 – and my deliberate twitter quote was
      Data is dead, features are the future.

      After all, who goes somewhere where they can’t do anything?

  5. I think what is interesting about github is not so much the open-ness or closed-ness of the projects that use it but that:
    1. it can enable both ends of the open-closed continuum and everything inbetween
    2. it offers something of a neutral space for collaboration (this is not quite true but Im thinking of collaborating via banner ridden platforms like wikipedia or facebook etc vs the reasonably banner-silent space of the command line)
    3. git can be integrated with all sorts of very interesting workflow tools…take for example pivotal tracker – a very interesting way for a more fluid and less milestone-orientated development.

    so i think your pendulum metaphor is cool but i think there are more axis to it…

    adam

  6. I think that the particular relevance of git and GitHub in this discussion is the way in which it makes a virtue out of forking code. SourceForge (which was to CVS as GitHub is to git) never encouraged forking. git, and especially (perhaps) GitHub say, “here’s my code, take it and do something different. If it works, share it back with the rest of us. If it doesn’t, no harm done….”.

    So, I think this plays especially into the idea of ‘remixing’ in eLearning, insofar as I recall that particular discussion, and I agree that it is worth examining – particularly in the context of OER.

  7. I think Paul gets very close to the mark here, the relevance of git hub itself perhaps not so important apart from the fact it the most prevalent service in this space at the moment, but a development attitude. Repositories by their very nature can be viewed as static places to get to fetch your code / resource and take it off elsewhere to do what you actually want to do. This is about making the repository alive, making the code alive, and as Paul says forking is actually a really important (and positive) approach to this goal.

    We have been using github for some bits and pieces for the UK federation but don’t for Shibboleth as things stand. Given the fact that github wants to be the ‘social coding’ repository, the thing I am most disappointed about with it is I feel it doesn’t manage the identity space well in relation to code. The developer / organisation / code relationship representations aren’t great…which in turn makes the search facilities poor.

  8. Thanks for sharing this rich meditation, lots to ponder here.

    I\’ll have to figure out how to watch that doc on Waves on this side of the ocean.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s