I’ve finally released version 2.9 of HtmlCleaner!
This month I also had to answer my first ever official support request for HtmlCleaner in my “day job” – it appears a researcher at the University of Oxford is using it as part of a project analysing legislation passed by the State Duma of the Russian Federation :)
In my last post I looked at the first part of Kwan and West’s paper, which concerns the phases of technology adoption. Now I’m turning to the second part, which concerns the adoption model.
Kwan and West propose the following model for open source adoption:
In their 2005 paper, A conceptual model for enterprise adoption of open source software , Kwan and West use as a starting point the “Strategic Grid” developed originally by McFarlan, McKenney and Pyburn (1983)  which divides firms or divisions of a company into four categories depending on how valuable IT is to the performance of the division:
This doesn’t work:
documentType = impl.createDocumentType("html", "", ""); document = impl.createDocument(null, "html", documentType); document.getElementsByTagName("html").item(0).appendChild(document.createElement("head")); assertNotNull(document.getChildNodes().item(0).getChildNodes().item(0)); assertEquals("head", document.getChildNodes().item(0).getChildNodes().item(0).getNodeName());
In fact, it just silently fails to add any child nodes. No exceptions, nada.
Its the first release of 2014, and its got a nice patch from Rafael that makes it run a lot faster (who knew that just checking whether a String is a valid Double in the XPath processor would cause so much stress?) and another patch from Chris that makes it output proper XML ID attributes in DOM.
My contributions this time around were more enhancements to “foreign markup” handling, which is important when cleaning up HTML that contains valid SVG or schema.org content. HtmlCleaner wasn’t really written with that sort of use in mind when Vladimir started on it back in 2006, so it involved a fair bit of wrangling, but I think we’re nearly there now.
While the OER community owes some of its genesis to the open source and free software movements, there are some aspects of how and why these movements work that I think are missing or need greater emphasis.
1. Its not what you share, its how you create it
One of the distinctive elements of the open source software movement are open development projects. These are the projects where software is developed cooperatively (not collaboratively, necessarily) in public, often by people contributing from multiple organisations. All the processes that lead to the creation and release of software – design, development, testing, planning – happen using publicly visible tools. Projects also actively try to grow their contributor base.
When a project has open and transparent governance, its much easier to encourage people to voluntarily provide effort free of charge that far exceeds what you could afford to pay for within a closed in-house project. (Of course, you have to give up a lot of control, but really, what was that worth?)