October 25, 2013 § Leave a comment
Last week I posted a few comments pointing to a frustrating phenomena I’ve seen with the acceptance (dare I say popularity?) of open source software: we’ve got too many new projects (over a million) in categories already inundated with viable options. Rather than joining an existing project, folks are creating their own. I used 230+ open source learning management systems (and apparently at least one open source “authoring tool“) to make my point.
However, the phenomena is not limited to learning management systems (or authoring tools) or, for that matter, even software, as the problem appears to have crossed over into other sectors capitalizing on “openness” (fauxpenness?) as a development and distribution (promotion?) method. The Open Educational Resources (OER) movement suffers as well from the “starters over joiners phenomena.” Thankfully, there is tremendous interest in both the use of OER broadly and, just as importantly, open source’s foundational practices that enable it–OER is all good and I am way for it. Massive Open Online Courses (OK, I’m not too “for it” with MOOCs–but that’s another post), Creative Commons licensed learning objects, open access journals, open courseware, etc., all harness the collaborative and community processes of co-creation first ascribed to open source software.
Unfortunately, just like in the world of open source software development, those interested in extending OER are creating new projects and communities rather than joining existing efforts–I’m including content, courses and even the organizations creating and delivering those. To make the point, like my LMS example, I’ve created a list of open courses teaching, Introduction to Programming.
An Introduction to Interactive Programming in Python (Coursera), Gentle Introduction to Programming Using Python (MIT OpenCourseware), Intro to Programming (Khan Academy), Introduction to Computer Science (Harvard College), Introduction to Computer Science (Wikiversity), Introduction to Computer Science and Programming (edX), Introduction to Computer Science and Programming (MIT OpenCourseware), Introduction to Computer Science I (Saylor), Introduction to Computer Science (Stanford), Introduction to Computer Science using Java (Central Connecticut State University), Introduction to Programming (Udacity), Introduction to Programming (Treehouse), Introduction to Programming in Java (MIT OpenCourseware), Introduction To Programming And Computer Science (The BX), Introduction to Programming with Ruby (iTunesU), Introduction to Programming with Python (Alison), The Little Introduction to Programming (codingintro)… maybe more?
As is the case with my open source software list, the above open courses might differ from one another due to, for example, the competencies of the developers or the vision of the community. That is, just as one LMS is written in PHP versus Java because that is what the software developers (the programmers) know best, one Intro to Programming open course may reference PHP instead of Java because that’s what the course developers (the teachers) know best. In addition, just as the features and functionality of an open source LMS may differ, due to the pedagogy or teaching and learning activities of interest within the community, so too may the pedagogy and activities within the open course. I understand there is a need for various projects to support various technical and/or functional requirements/interests.
But how many variants are needed to support the different skills, interests, vision (i.e. communities) of those wishing to collaborate? I’ll extend this question to other open initiatives, as the issues aren’t just with “open” courses, for example, “How many open courses for Introduction to Programming do we need? Can’t we just reuse, remix, revise redistribute the ones we have?” Could also be asked:
- “How many open learning objects for Introduction to Programming do we need? Can’t we just reuse, remix, revise redistribute the ones we have.”
- “How many open texts for Introduction to Programming do we need? Can’t we just reuse, remix, revise redistribute the ones we have.”
- “How many massive open online courses for Introduction to Programming do we need? Can’t we just reuse, remix, revise redistribute the ones we have.”
- “How many MOOC providers offering Introduction to Programming do we need? Can’t we just reuse, remix, revise redistribute the ones we have.”
- “How many open universities offering Introduction to Programming do we need? Can’t we just reuse, remix, revise redistribute the ones we have.”
Even more directly, and much more importantly (because this addresses these questions), how actively/effectively are we undertaking the due-diligence of finding existing communities to join? Where can I even find the canonical list of open resources and platforms? And to turn it around, I’ll add, how might the authenticity in openness–versus fauxpenness, open-washing–within a project community, and the availability of participation opportunities influence–encourage/discourage–those that are actually looking to join and contribute to that project community? That is, even if I find your project, how do I learn about it?
I’ll end with a couple of quotes from Eric S. Raymond, first “Linus’ Law” is, “given enough eyeballs, all bugs are shallow,” not “given enough projects, all bugs are shallow,” and secondly, to Raymond’s lesson learned as offered in the, Cathedral and the Bazaar, “When you lose interest in a program, your last duty to it is to hand it off to a competent successor, ” I’ll add, “When you gain interest in a program, your first duty to it is to find a competent predecessor.”