2018

So… it’s been a bit of a year. I was pretty busy looking back. I think I spent about 9 months on the road. I did some surfing. Bought a fridge. Plus some other stuff… so…. looking back….

The year started with a yet-to-be formed PubSweet community. PubSweet is the underlying ‘open infrastructure’ piece of the puzzle that enables folks to build any kind of publishing workflow on top of it. It is used for books, micropubs, content aggregation, journals… a lot. But at the beginning of this year there was one org building on top of it – Coko. Now, we have 9 publishing organisations building on it and 13 or so platforms in play. All that in one year… can you imagine. It is phenomenal growth. The best thing is the feeling in the community is awesome. As Geoff Builder recently said at a Coko meet “I can’t say enough how amazing it is that you aren’t killing each other”… very true.

This kind of growth and goodwill didn’t happen over night. I’ve been involved in many open source projects where there is no noticeable growth at all over many years. In fact, it was by watching these projects and trying and failing myself a number of times that I learned how to make this work. I had a plan from the start and strategised this growth. There are a few key parts…  First… the proposition is transparent. It’s a no bullshit kinda thing. You can’t buy your way in, you can only be part of this community if you play nice. You must be upfront and work in good faith. If not, then we don’t want you. So it’s transparent, we require transparency, but it is required. If you aren’t transparent then see you later.

Another critical piece was to develop processes for consensus. We have a number of workgroups that have helped with this. We also have an RFC process and 3 meetings in person a year where more difficult stuff can be meted out. It works very well. It is all also, by design. You must intentionally design such stuff and I spent a lot of time working through these scenarios in my own head. It takes time because each community has its own character. You want to make sure you have the right resonance with your strategies and sometimes I need to ponder this stuff a lot, let it sit and then bring it about. Also necessary is to have leadership. I provide a lot of that but I also strategised very explicitly for Jure to be the central pin for the PubSweet community. He is an awesome leader of the PubSweet clan but also it must be noted that this doesn’t ‘just happen’. Jure and I spent a lot of time talking through these things, working out what sort of tone we needed, how to best enable people to feel they could be part of this while curating it so it’s not a free for all. Jure has really risen to the challenge and IMHO stands as a case study of good community leadership.

Andrew Smeall from Hindawi and Paul Shannon from eLife have been early leaders in this community. To have such goodwill and leadership from folks like Andrew and Paul is really amazing. They have been in boots ‘n all from the beginning and never blinked. They are heart n soul and mainstay keepers of the PubSweet community ‘way’. I feel very privileged to work with them.

Also at the beginning of the year, Editoria was alive but no books were being put through. We have since changed that with at least three scholarly publishers using it in production as well as Book Sprints using it (recently used in a World Wild Life Fund Book Sprint). We got there also by careful strategy. Alison McGonagle-O’Connell has been out there presenting, demo-ing, and explaining Editoria to all comers. Alison is a joy to work with and I admire her can-do immensely. She’s a tough cookie and now the wizard of Editoria. Alison has brought people closer to Editoria which peaked this year with a Editoria community event. We got about 35 people there and I facilitated the process (after designing the event loosely based on the PubSweet events). Critical was a newly designed Feature Proposal process. I had to design it so that publishers with no in house dev resources could ‘take ownership’ of the product and also so that publishers, rather than technicians, could write the proposals. We received 36 proposals in 2 weeks from 6 publishing orgs. Amazing. There is now a 3-month roadmap in play because of this.

xpub-collabra and perhaps micropubs will go through similar process transitions next year.

paged.js is also flourishing. I started the project with Shuttleworth funding in Feb and now it is integrated into Editoria and it has already been used for several books. It is also growing quite quickly as a community, some of this is ‘auto growth’ – growth that just occurs with no assist – and some of it is from the efforts of the paged.js crew – Fred Chasen, Julie Blanc and Julien Taquet. Julien in particular is proving to be a very good community leader in this area. They are an amazing crew doing amazing work. I don’t suffer from FOMO (fear of missing out) but I really regretted not being able to go to the paged.js workshops in Paris and Brussels in November. They looked amazing.

Then there is Wax…. the editor is growing fast. We had to rebuild it because the libs we were using were not supported and slow growing. But Christos knuckled down and got it done.. amazing. It is currently a one person endeavor but watch this space as I have plans for community growth around it next year.

XSweet, the XSLT docx-to-HTML converter is also going great guns. V2.0 with math support out in the next weeks. This more or less completes all the things we need form it and the lib will flick into a maintenance mode.

Then there is Workflow Sprints. The process I designed for helping publishers work though their workflow woes. It takes 1 day per org/workflow and has proven to be extremely effective. I’m now training facilitators to do this as it is proving popular and I can’t do them all next year if it comes down to that. Coko is also able to generate revenue from it which is cool.

Then there are design sessions which I still facilitate for various products including Editoria, xpub-collabra, and micropubs. All interesting projects and the design sessions are fun and sooooo effective. Who said publishers couldn’t design their own solutions? Not me…

Also this year I have been peripheral to the Book Sprints team. I gave up direct involvement when I got my Shuttleworth Fellowship. Thankfully Barbara was there to take the helm and has done an amazing job. We have had a couple of meetings this year and it has been awesome. We broke 1m NZ this year for the first time…amazing. Many people still don’t think it’s a real thing 😉

Also from Book Sprints we get many requests from people who love what we do but want ‘not a Book Sprint’…ie they have some other format/media/context etc they want to think about. So this year I have also founded SprintLabs to act as a bucket to put these experiments in… more on this in the new year.

Also this year I finished my Shuttleworth Fellowship having reached the 3 year maximum and became an alum. That was quite a moment. Strange thing is, I feel more a Shuttleworth Fellow now than I ever have 🙂

Needless to say my journey is unconventional. All this stuff is stuff people told me wasn’t possible. All of it. Book in 5 days, impossible! You can’t use browsers to typeset books! Headless modular publishing CMS – impossible! Publishing platforms are an intractable problem! You guys will never be able to build community, it just won’t work!

Yeah yeah. Fuckem.

And there was a lot of other stuff this year too. But honestly, where do I get the time? Where do I get the time to surf? I have no idea. One of the tricks though that I have learned is to trust the people you delegate stuff to. Create an environment for them to succeed and let them go. For the most part I just need to talk things through with them and help keep them and everything on course. They also have to go with my rather counter-intuitive, emergent, way of problem solving and doing things. If they can’t then it doesn’t work out, if they can then we do great things. Which means, of course, lots of travel is needed and talking to people. I am a great believer in remote teams but I am not a believer in remote-ness. If that makes sense. You gotta be close to people so they can trust you and you trust them when you aren’t there. Its for this reason some of our meetings happen on beaches 🙂

It is what it is. It’s been a huge year.

Still, got to make a surfboard this week and 2 Workflow Sprints to go (in the US)… no matter, I’ll be here in no time…

Feet up mate, Koutu
Feet up mate, Koutu

The Beatles of Platform Dev

Every month I go to Athens to work with the Coko platform dev team. We talk through platform issues and set the month’s roadmap. I just met with them a few days ago. They are an awesome team. It deserves mention that pictured below are four folks and between them they develop and maintain no less than four publishing platforms – Editoria, xpub-collabra, Micropubs and Wax. Incredible.

Highly productive and also amazing to work with.

dsc02437

Editoria Community Roadmap #1

36 Feature Proposals and a lot of discussion ….and here we have it..

The first Editoria Community Roadmap consists of the following Feature Proposals (this list also available with progress indicators at the following address:   https://gitlab.coko.foundation/editoria/editoria#community-roadmap-1)..
3 categories of effort:
    1. a few days development
    2. between a few days to a week (or so)
    3. more than a week
    
Category (1)
  1. Color code tracked changes by user
    https://gitlab.coko.foundation/editoria/editoria/issues/164
  2. Configure Book Builder to omit blue buttons
    https://gitlab.coko.foundation/editoria/editoria/issues/172
  3. Indent chapters in Book Builder
    https://gitlab.coko.foundation/editoria/editoria/issues/171
  4. Error message when uploading incorrect file format
    https://gitlab.coko.foundation/editoria/editoria/issues/189
    We will not use an error message, rather we will constrain the upload dialog to display only available docx files.
  5. Author Style
    https://gitlab.coko.foundation/editoria/editoria/issues/191
  6. Provide a larger text box for inputting figure captions
    https://gitlab.coko.foundation/editoria/editoria/issues/216Category (2)
  7. enable “read only” chapter mode
    https://gitlab.coko.foundation/editoria/editoria/issues/170
  8. Autocomplete for adding book team roles
    https://gitlab.coko.foundation/editoria/editoria/issues/186
  9. Always show chapter name
    https://gitlab.coko.foundation/editoria/editoria/issues/193
  10. Book-level (and perhaps chapter-level) metadata
    https://gitlab.coko.foundation/editoria/editoria/issues/210
    We will start this off as a simplified version of the proposal with book-level metadata. At this moment we will provide a mechanism to store and edit this metadata, but the list will not be comphrensive, nor will it export (yet) to any formats. We essentially wish to get this in place so we can all try it and add further sophistication in a future road map process.
  11. Configurable archive options for completed / abandoned books
    https://gitlab.coko.foundation/editoria/editoria/issues/226
    We will focus on basic archiving options. No integrations yet, this will come in later roadmaps.
  12. Toolbar button to change case
    https://gitlab.coko.foundation/editoria/editoria/issues/203
    This will be implement as a drop down (add to existing drop down semantic styles) — as there are multiple options, a single button is not sufficient.
  13. Usernames allowed with special characters
    https://gitlab.coko.foundation/editoria/editoria/issues/195
  14. Ask for first name and surname on sign up
    https://gitlab.coko.foundation/editoria/editoria/issues/197
  15. Kill automatic numbering in numbered list style
    https://gitlab.coko.foundation/editoria/editoria/issues/198
    This might turn out to be harder than expected. We will try and fix this by working on a few fixes in the importer (XSweet) and then see where we are.Category (3)
  16. Allow components to move from body to front- or backmatter and vice versa
    https://gitlab.coko.foundation/editoria/editoria/issues/214
    Harder than you might first imagine as it requires quite some reworking of the Book Builder code.
  17. Add more information to the “Books” dashboard and make it sortable
    https://gitlab.coko.foundation/editoria/editoria/issues/215
    Will be built to extend the existing Dashboard components (making it more useful for other PubSweet projects).

Article :”New advances in open source infrastructure support”

https://insights.uksg.org/articles/10.1629/uksg.442/

How can open source infrastructure support a modernized, accelerated book production workflow? The California Digital Library, the University of California Press and the Collaborative Knowledge Foundation collaborated to design a new platform – Editoria – to do exactly this, following a new user-driven design method to result in a simple, people-centric interface. This case study details the main problem facing publishers who are restrained by outdated, print-oriented production platforms, the ‘reimagining’ exercise and the iterative design process that has resulted in new technology which can be adopted, adapted and integrated by publishers.

Editoria Week Coming

In the next days I’ll be in Montreal, both Coko and Book Sprints are presenting at Force11 so will have a heap of fun!

Then next week it is a big Editoria week. We start with a 3 day Book Sprint about Editoria. There will be about 15 of us attending and facilitated by Barbara. On the Thursday is a full day Editoria community event featuring publishers from around the world, Friday we will have some workshops including one on paged.js… and then finally, we will have a Coko Surf Club meet on Saturday 🙂 … then to NZ Sunday night. Busy!

Athens Road Map Meet

Had a great monthly roadmap meeting with the Coko Greek crew yesterday in Athens. We discussed and planned micropubs, Editoria, Wax 2, xpub-columbia/collabra, and chatted about Dan Morgan’s pizza theory for workflow, and stuff and things. Drank lots of coffee and this time had some yummy good for lunch. Always fun. Always productive. Fantastic bunch 🙂

dsc01090
dsc01091
dsc01102
dsc01095
dsc01103
dsc01098
dsc01099
dsc01100

Cultural Method

I’ve been pondering some stuff in preparation for a presentation at Open Source Lisbon this week. In essence, I’m trying to understand Open Source and how it works… not to say I don’t know how Open Source works, we do it well at Coko…I mean to zoom up a level and really understand the theory and not just the mechanics. It is one thing to facilitate a bunch of people to meld into a community, it is quite another to understand why that is important, and what the upsides and downsides are on a meta level. If you take the ideals out and look purely at the mechanics from a bird’s eye view. then what, ultimately, makes Open Source a better endeavor than proprietary software? What is exactly going on?

I have some clues… some threads…but while each thread makes sense when you consider it on its own, when you combine them all it doesn’t exactly make a nice neat little montage. Or if it does, I am currently not at the right zoom level to see it clearly instead I see lots of different threads criss-crossing each other,

Ok…so enough rambling… what is it I’m trying to understand…well, I think when you embark on making software there is this meta category of methods known as the Systems Development Life Cycles (SDLC). Its a broad grouping that describes the path from conception of the idea, through to design, build, implementation, maintenance and back again etc…

Under this broad umbrella are a whole lot of methods. Agile is one which you may have heard of. As is Lean. Then there are things like Joint Application Design (JAD), and Spiral, Xtreme programming, and a whole lot more. Each has its own philosophy and if you know them you can sort of see them like a bookshelf of offerings…you browse it and intentionally choose the one you want. Except these days people don’t choose really, they go with the fashion. Agile and Lean being the most fashionable right now.

The point is, these are explicit, well documented, methods. You can even get trained and certified in many of them.

But… Open Source doesn’t have that. There isn’t a bookshelf of open source software development methods. There are a few books, with a few clues, but these are largely written to explain the mechanics of things and they seldom acknowledge context. I say that because the books I have read like this make a whole lot of assumptions and those assumptions are largely based on the ‘first wave’ of Open Source – the story of the lone programmer starting off and writing some code then finding out it’s a good idea to then build community instead of purely code therefore magnifying the effect. A la Linus Torvalds.

But its very down-on-the-ground stuff. I’m thinking of Producing Open Source by Karl Fogel, and The Art of Community by Jono Bacon. Both very well known texts and I have found both very useful in the past. But they don’t provide a framework for understanding open source. I’ve also read some research articles on the matter that weren’t very good. They tend to also regurgitate first generation myths as if open source is this magic thing and they struggle to understand ‘the magic’. In other words, I miss a ‘unified theory’, a framework, for open source…

I think it is particularly important these days as we are beyond the first generation and yet our imaginations are lagging behind us. There are many more models of open source now than when Eric Raymond described a kind of cultural method which he referred to as ‘the bazaar’ in his cathedral and the bazaar. We now have a multitude of ways to make open source and so the license no longer prescribes a first generational approach, producing open source is much  richer than that these days.

As it happens, Raymond’s text does attempt to provide some kind of coherent theory about why things work although it often mixes ‘the mechanical’ (do this) with an attempt to explain why these processes work. It doesn’t do a bad job, there is some good stuff in there, but it varies in level of description and explanation in a way that is uneven and sometimes unsatisfying. Also, as per above, it only addresses the first generation ‘bazaar’ model. While this model is still common today in open source circles, it needs a more thorough examination and updating to include the last 15 years of other emergent models for open source. There are, for example (and to stretch the metaphors to breaking point), many cathedral models in open source these days that seem to work, and some that look rather like bazaar-cathedral hybrids.

Recently Mozilla attempted to make some sense of these ‘new’ (-ish) models with their recent paper on ‘archetypes’

https://blog.mozilla.org/wp-content/uploads/2018/05/MZOTS_OS_Archetypes_report_ext_scr.pdf

Here they kind of describe what reads as Systems Development Life Cycle methods…indeed they even refer to them as methods

The report provides a set of open source project archetypes as a common starting point for discussions and decision-making: a conceptual framework that Mozillians can use to talk about the goals and methods appropriate for a given project.

They have even given them names such as ‘Trusted Vendor’ and ‘Bathwater’ and the descriptions of each of these ‘types’ of open source project sound to me like they are trying to make a first stab at a taxonomy of open source cultural practices – so you can choose one, just like a proprietary project would choose, or self identify as, Agile or Lean. Infact, the video on the blog promoting this study pretty much says as much. It’s Mozilla’s attempt at constructing a kind of SDLC  based on project type (which is like choosing a ‘culture’ instead of a method).

However it doesn’t quite work. The paper compacts a whole lot of stuff into several categories and it is so dense that, while it is obvious a lot of thought has gone into it, it is pretty hard to parse. I couldn’t extract much value of what one model meant vs the other, or how I would identify if a project was one or the other. It was just too dense.

Mozilla has effectively written a text that describes a number of different types of bazaars, and also some cathedrals, without actually explaining why they work – except in a few pages that sort of off-handedly comment on some reasons why Open Source works. I’m referring to the section that provides some light assertions as to why Open Source is good to:

  • Improve product quality.
  • Amplify or expand developer base.
  • Increase the size or quality of your organization’s developer hiring pool.
  • Improve internal collaboration within one’s own organization.
  • ..etc…

But this is the important stuff… if these things, and the other items listed in that section are true (I believe they are), they why are they true? Why do they work? Under what conditions do they work and when do they fail?

In other words, I think the Mozilla doc is interesting, but it is cross cutting at the wrong angle. I think a definition of archetypes is probably going to yield as many archetypes as there are open source projects – so choosing one archetype is a hopeful thought. Also the boundaries seem a little arbitrary. While the doc is interesting, I think it is the characteristics listed in the ‘Benefits of Open Source’ section of the Moz doc that are the important things to understand – this is where a framework could be built that would describe the elements that make open source work…..allowing us to understand in our own contexts what things we may be doing well at, what we could improve, what we should avoid, useful tools etc

The sort of thing I’m asking for is a structured piece of knowledge that can take each of the pieces of the puzzle and put them together with an explanation of why they work…not just that they exist and, at times, do work, or are sometimes/often grouped together in certain ways. An explanation of why things work would provide a useful framework for understanding what we are doing so we can improvise, improve our game, and avoid repeating errors that many have made before us.

With this a project could understand why open source works, and then drill down to design the operational mechanics for their context. They could design / choose how to implement an open source framework to meet their needs.

Such texts do exist in other sectors. Some of these actually could contribute to such a model. I think, for example, the Diffusion of Innovations by Everett Rogers is such a text, as is Open Innovations by Henry Chesbrough. These texts, while focused on other sectors, do explain some crucial reasons why open source works. Rogers explains why ‘open source can spread so quickly’ (as referenced in one line in the Moz doc), and Chesbrough provides substantial insights into why innovation can flourish in a healthy open source culture, and how system architecture might play a role in that.

Also the work of John Abele is important to look at and his ideas of collaborative leadership. As well as Eric Raymond’s text…but it all needs to be tied together in a cohesive framework…

This post isn’t meant to be a review of the Moz article. It reflects the enjoyment I have gained from understanding elements of open source by reading comprehensive analysis and explanation of phenomenon like diffusion and open innovation. These texts are compelling and I have learned a lot from them which have helped when developing the model for Coko because at the end of the day, there is no archetype that exactly fits – it is better to construct your own framework, your own theory of open source, to guide how you put things together, than to try and second guess and copy another project from a distance. Its for this reason that I would love to have a unified framework for open source that takes a stab at explaining why all these benefits of open source work so I can decide for myself which ones fit or how they fit with the projects I am involved with.