Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Sunday, 9 February 2025

Finding Hidden Gems in Collaborative Communities

How do you,
  • As a community leader,
  • Recognize ‘hidden gems’ in a community, and
  • Attract them to collaborate with you?
Image: Where's Wally World Record

The pitch

The Pitch The Message
I've seen what you’re doing and I’m impressed. I’m not wasting your time.
I’m showing you that I’ve researched your work before contacting you.
I’m demonstrating that I understand your cutting edge ideas and the value of them.
A bunch of us are pushing the same concepts to the next level. I’m offering to amplify your research and altruistic goals through our project’s marketing channel.
I’m hinting at trustworthiness, mentioning others who have already joined.
This also hints at commitment and momentum.
I’m offering more than I ask.
Will you join us? I’m asking for help. You’re more likely to join if asked.
Combined with hinting at how unique your skillset is, I’m appealing to your moral duty to step up.
I’m inviting you to share ownership in our project.
I’m not offering riches, we’re giving away our creations.
I'm not offering fame.
Beyond our inner circle, most people won't know what you’ve done.
You’re intrinsically motivated.
Social status and money are just a means to an end.
I’m telegraphing that these principles will apply to all collaborators.
We realize this is a moonshot, and the odds are stacked against us. Let’s be clear. Most tech projects fail.
There likely isn’t a business case yet to justify what we’re doing.
I’m looking for collaborators with grit;
collaborators ready to tackle tough challenges.
Being comfortable with failure comes with the job.
Since you already work in this domain, you can judge the likelihood of success, and your ability to help the project succeed.
But if we succeed you will know, in your heart, that you have helped build something awesome for humankind. Working for a higher purpose motivates you.
Interested? You aren’t convinced yet.
But this starts you considering possibilities.
It invites conversation and a response.

Don’t use this pitch

To succeed, you will need to be genuine:
  • Customize the pitch to match your values, reframed in your language, uniquely tailored for the needs of your ‘hidden gem’.
  • Genuinely care about the person, their challenges, and their success.
  • Behave like a ‘hidden gem’ yourself.
Then:
  • Check in regularly, be a good listener and help when needed.
  • Ensure psychological safety, where everyone feels safe to try risky ideas and be vulnerable in front of each other.
  • Stay on task.

Who are the ‘hidden gems’?

A small percentage of people in communities are high-impact enablers. They tend to be:
  • Visionary lateral thinkers, who consider the bigger picture and are open to challenging established thinking (including their own).
  • Highly motivated, stepping up for hard and boring tasks when others step back.
  • Generous with their time, empowering those around them.
  • Humble, and quick to share credit.
  • Overcommitted.
  • Contagiously enthusiastic, balanced by an inner peace and self-awareness.
I believe there are ‘hidden gem’ characteristics within all of us. These characteristics surface when presented with the right opportunities.

Supporting research

‘Hidden gems’ are:
  • The “captains” in Sam Walker’s The Captain’s Class - the team members who:
    • Lead from the back.
    • “Carry the water”.
    • Have the courage to stand apart.
    • Apply a low-key and democratic communication style.
    • Do not quit.

Diverse communities

Projects are more innovative and successful when they attract a diverse community. One with diverse backgrounds, skills and perspectives that extends beyond the ‘hidden gems’ described here. Attracting and retaining this diversity requires a broader approach that goes beyond the scope of this article.

Where?

'Hidden gems’ often under-play their worth and can be difficult to recognize. Look out for people consistently sharing useful answers within a community forum, or writing insightful blog posts, or presenting on a niche topic at conference events.

Time to reach out?

Have you noticed a ‘hidden gem’ in your community? Is it time to reach out and offer to help them become more impactful?

Saturday, 27 May 2023

Time to retire Contributor License Agreements


Imposing Contributor License Agreements (CLAs) on open source contributors inadvertently imposes unnecessary legal risk on the people gifting software to humankind. It’s time to:

  • Update the legal advice from foundations,
  • Update license terms of hosting platforms,
  • And help open source communities avoid wasting energy on CLAs.

Reading time: 6 mins

What are CLAs?

Contributor License Agreements (CLAs) are “inbound licenses” - providing a license from a contributor into a project. This contrasts to “outbound” open source licenses such as the GPL or Apache licenses, which provide a license from a project to users. There are multiple individually crafted CLAs (which is a problem in itself), which typically consist of a combination of:

  • Individual Contributor License Agreements (ICLA): An individual asserts that they license their contributions to the project, and they have the right to do so.
  • Corporate Contributor License Agreements (CCLA): A corporation asserts their employees may contribute to the project.
  • Copyright Assignments (CA): Contributors assign copyright to the project’s owners (typically a not-for-profit organization).

What are the arguments for CLAs?

Proponents for CLAs often argue that CLAs add licensing rigor and help protect a project and its end users from being sued by bad actors. For instance, the Ubuntu/Canonical FAQ notes:

Q: Why do you ask contributors to send in the [contributor license] agreement?

A: We need to make sure that we ‐ and the users of our software ‐ are legally entitled to distribute your contributed code, anywhere in the world.

Why the Free Software Foundation gets copyright assignments from contributors:

In order to make sure that all of our copyrights can meet the recordkeeping and other requirements of registration, and in order to be able to enforce the GPL most effectively, FSF requires that each author of code incorporated in FSF projects provide a copyright assignment, and, where appropriate, a disclaimer of any work-for-hire ownership claims by the programmer's employer. That way we can be sure that all the code in FSF projects is free code, whose freedom we can most effectively protect, and therefore on which other developers can completely rely.

What’s wrong with CLAs?

The problem with Contributor License Agreements (CLAs) are that they:

  • Are at best legal voodoo. In the current unformed state of intellectual property law, CLAs don’t provide a water-tight defense against the legal attack they are theoretically supposed to prevent.
  • Are arguably unnecessary, now that “inbound=outboud license terms” have started being woven into some hosting platform Terms of Service.
  • Shift legal risk to contributors.
    • CLAs shift the legal risk for copyright infringement, patent infringement or other bad acts,
      • From the project and end users (the entities best positioned to defend a legal claim, and often the ones most directly benefiting financially),
      • To the contributor (the one in at the least advantaged negotiation position, often volunteering their time for the project’s benefit).
  • Rely on our Don't Read & Click ‘Agree’ culture — tricking contributors into bearing legal risk.
  • Create a contribution-hostile environment. CLAs require that the first interaction between an open source project and a potential contributor involves a formal and complex legal agreement which signs away their legal rights — not exactly a warm welcome.
  • Require significant administrative overhead. The project needs to stand up a system to track every potential contributor that has signed the agreement.

Alternative 1: Do nothing

If your project has selected an open source license, and you are using a platform like Github, which includes an “inbound=outbound” clause in its terms of service, then your project is likely covered to the same extent as you get from a CLA.

Alternative 2: Simple statement

You can add a simple statement to your project’s contributor guidelines. Erik S. Raymond suggests:

By submitting patches to this project you agree to allow them to be redistributed under the project's license, according to the normal forms and usages of the open-source community.

Alternative 3: Developer Certificate of Origin

You can reference the Developer Certificate of Origin (DCO) in your project’s contributor guidelines:

By contributing to this project we expect you to agree to the Developer Certificate of Origin (DCO).

The (DCO) provides a simpler alternative to CLAs. It is a simple statement that a contributor agrees to share their contribution under the project’s license terms, and has the rights to do so. It’s advantages are:

  • It is short, simple and easy to understand.
  • It can be referenced by any project without customisation.
  • It can be set up without engaging a lawyer.
  • It is used by trusted open source foundations, giving it credibility within open source communities.
  • It has negligible project management overhead. Tracking of agreements is managed by the code versioning system.
  • It doesn’t introduce a copyright assignment, which is a barrier for some contributors.

Possible disadvantages are:

  • Like CLAs, DCOs don’t provide a water-tight defense against the legal attack.
  • It could be argued that a simpler statement of “inbound licenses = outbound licenses” provides the same purpose as the DCO, but does so more elegantly.
  • While the DCO can be applied without explicit signatures for each commit, some projects, such as the Linux Foundation, require each commit to be electronically signed. The electronic signature adds a technical overhead which can deter some contributors.
  • Some entities (such as not-for-profit organizations) might be concerned that copyright is not assigned to their entity.

What should projects do?

Adopt one of the three alternatives above.

What should open source foundations do?

Open source foundations have earned a position of trust, respect and influence within software communities.

It is important for these foundations to:

  1. Research and understand the problems associated with CLAs.
  2. Revisit and ideally migrate off CLAs for projects within their foundation.
  3. Collaborate and adopt common language around the replacement to CLAs.
  4. Provide prominent advice to communities against the use of CLAs.

What should software hosting platforms do?

Software hosting platforms should follow the lead of Github and legally protect the projects they host. Add “inbound=outbound” to their license terms of service.

Friday, 18 September 2020

Awards for open source tech writers Jo and Jared

Jo Cook and Jared Morgan have been presented with awards for Google's Open Source Peer Bonus Program. The award is a recognition and thank you to people who go above and beyond in their contributions to open source. It also includes a token financial contribution - enough to take the family out for dinner at a nice restaurant.

Well done Jo and Jared, you really deserve it:

Jared Morgan, Write the Docs podcast host

Jared Morgan

Jared is a core contributor and community builder within The Good Docs Project. As an experienced technical writer, he has contributed to many of our initial set of writing templates and then helped absorb feedback from our community. He is well respected and well connected within the technical writing community, helping to inspire other thought leading technical writers to come and join us.

This year, 2020, he has signed up as a Season of Docs mentor for The Good Docs Project.

In a related activity, he has also helped spread knowledge within the technical writing community, by co-hosting the Write the Docs podcast.

Jo Cook, explaining docs at DevRel conference

Jo Cook

Jo is an enabler of open source communities. She commits large chunks of her volunteer time to working on the hard problems that others don't tackle. She is someone you can rely upon when needed, and she steps back when her skill-sets are more valuable elsewhere.

A few highlights of her volunteer activities over the last couple of decades include:
  • Help set up The Good Docs Project, doing much of the grunt work in setting up open source processes.
  • Mentoring a Season of Docs tech writer and other community contributors for the GeoNetwork project.
  • Presenting at numerous conferences on topics of open source, documentation, and geospatial.
  • Playing lead roles in setting up conferences for the Open Source Geospatial foundation.
  • Building the Portable GIS distribution of Open Source Geospatial software.
  • Serving on the board of the international Open Source Geospatial foundation (OSGeo).
  • and more ...

Thursday, 12 March 2020

Insights from mixing writers with open source

Mixing experienced tech writers with open source communities revealed new approaches for creating better documentation.
OSGeoLive distribution we've been documenting

During OSGeo Foundation’s involvement in Google Season of Docs, we discovered that, like many open source projects, we knew little about:
  • The state of our docs,
  • What we were aiming for, 
  • What our priorities were, 
  • The details of the challenges we faced, or
  • How to improve.
We discovered:
  • How hard it is to keep tech docs current,
  • Skillsets from multiple roles are needed to create good docs,
  • Open source’s docs and writing processes are immature when compared to software development.
It is an exciting problem space with high-value challenges ready to be tackled. It reminds me of the early days of open source before it became trendy with business.

What should tech writers work on?

Open source communities welcomed the chance to have tech writers improve our docs, and expressed a pressing need for it, but found it hard to articulate exactly what needed fixing.
  • People explained that their project docs often hadn’t been updated between doc releases.
  • Some projects had noticed new features that had not been documented.
  • Other projects had issue lists - collating observed deficiencies, but had no systematic review.
  • Most observed that docs were created by developers with no formal tech writing training.
  • Many noted that their English docs were written by non-native English speakers.
But where should we start? We needed to decide on what we wanted, and what we should work on first.

What’s the definition of good docs?

And then we realised that we didn’t have a good definition of “good documentation”. For our software projects, we have a comprehensive incubation process to assess the maturity of software and the project’s community, but we couldn’t find a similar set of metrics to define “good documentation”. So we started TheGoodDocsProject, to collate “best-practice templates and writing instructions for documenting open source software.”
This helped us define what we were aiming for, and prioritise what we can achieve with our available resources.

Documentation audit

Once we knew what good docs looked like, we were then able to audit the status of projects' docs:
  • What documentation do we have?
  • Does it cover all the functionality?
  • Does it cover end-user needs?
  • Is the documentation any good?
We discovered that the quality, currency, and completeness of our OSGeo docs were immature when compared to the quality software they described.

It takes a village to raise good docs

In researching open source projects’ documentation needs, it’s become clear that crafting good docs requires multiple skillsets. Ideally, a doc team has access to:
  • A developer, with a deep understanding of the software being described.
  • A user of the software, able to explain the application within the context of the application’s domain.
  • An educator, who understands the principles of learning.
  • An information architect, who understands how to structure material.
  • A writer, who writes clearly and concisely with good grammar.
  • Someone who speaks English as a first language (for English docs).
  • A translator, who is good at translating into multiple languages.
  • A DevOps person, who can set up doc build pipelines.
  • A community builder, facilitator, and coordinator, who can inspire collective action, capture offers of help, and help all these different personas collaborate together.
Technical writers usually have a high-level understanding of most of these domains and their skills are often under-appreciated and under-utilised, especially if directed with a vague “just clean up the grammar and stuff”.
However, the best docs typically have had been influenced by multiple stakeholders. This can be partly achieved using templates to collaborate between domains, timeframes, job roles, projects and organisations.

Tools for documenting open-source projects are painful

We experienced significant pain in trying to convert between writing and software toolsets. We love the versioning of git, are frustrated by clunky markdown interfaces, and want access to editing and review workflows of Word and Google Docs, along with grammar and syntax plugin tools such as Grammarly. Translation tools such as Transifex are pretty cool too.
Could someone please write an application which addresses this use case. Maybe there is an idea in here for a future Google Summer of Code?

Achievements during OSGeo’s Season of Docs

We’re quite proud of our achievements during OSGeo’s participation in Google Season of Docs. Our allocated tech writers have amplified the effectiveness of our existing documentation communities, and our documentation communities have amplified the effectiveness of these tech writers.
  • Felicity Brand worked with around 50 of OSGeo’s open source projects to update their Quickstarts as part of our OSGeoLive distribution of software.
  • Swapnil Ogale worked directly with GeoNetwork’s documentation team, auditing the breadth of docs, and their quality, setting up templates for future docs to work to, and updating a number of the docs.
Further:
  • We kicked off TheGoodDocsProject - “Best practice templates and writing instructions for documenting open source software.”
  • In conjunction with OGC and ISO spatial standards communities, We kicked off an OSGeo Lexicon project, to coordinate official definitions for terminology used within the Open Source Geospatial (OSGeo) context. This will apply best practice definitions to prior haphazard glossaries.
  • We did a deep-dive analysis of the documentation challenges faced by QGIS, one of OSGeo’s most successful projects. Surprisingly, their biggest problem isn’t a lack of tech writers or complicated tools (although they are factors). Key problems centre around:
    • Poorly capturing community good-will and offers of assistance;
    • A lack of direction;
    • Struggling to keep up with a rapidly evolving software baseline;
    • Insufficient writing expertise;
    • A high technical barrier to entry;
    • Documentation and training being generated outside of the core project;
    • Awkward documentation tools and processes.

Thanks Google

Thank you Google for sponsoring Season of Docs. Felicity and Swapnil who you sponsored for us were great. We’ve learned plenty from them, and we hope you can take what we have collectively learned to help make future Season of Docs initiatives even better.

Postnote

This story was picked up by:

Saturday, 7 December 2019

Why is the QGIS docs team struggling?


The QGIS documentation team is struggling and needs help. This has been known for a while. The much harder question is “How do we help a mostly volunteer community?”.

Reading time: 25 minutes

Summary

Many have tried to help QGIS docs, with limited success. I’ve collated insightful quotes from a bunch of their stories and then postulate solutions. Surprisingly, the biggest problem isn’t a lack of tech writers or complicated tools (although they are factors).

Problems centre around:
  • Poorly capturing community good-will and offers of assistance;
  • A lack of direction;
  • Struggling to keep up with a rapidly evolving software baseline;
  • Insufficient writing expertise;
  • A high technical barrier to entry;
  • Documentation and training being generated outside of the core project;
  • Awkward documentation tools and processes.
This leads to an immediate case to:
  • Define and evangelise a vision and roadmap.
  • Prioritise funding and lobby sponsors to resource the vision.
  • Implement an information architecture review.
  • Sustain a community evangelist/coordinator to attract and nurture a broader doc community.
  • Sustain a trained technical writer to amplify the quality and effectiveness of the community.
  • Attract external docs back into the core.
Medium-term:
  • Ask the greater open-source community to address the usability of documentation tools and reduce the technical barrier to entry. Adopt improvements as they are developed.
  • Align with best the practices evolving within TheGoodDocsProject.
While acknowledging the great work done to date, I feel the QGIS docs team has insufficient capacity and availability to skills to drive this agenda. Targeted and sustained investment should be applied to bring the quality of QGIS docs up to the quality of the software.

Observations

The challenge

As one of OSGeo’s Season of Docs administrators, I’ve been observing the QGIS documentation community for months. The Open Source Geospatial Foundation (OSGeo) was allocated two tech writers and we probably should have allocated one to QGIS. However, I recommended they work on GeoNetwork and OSGeoLive instead. I was concerned by:
  • How daunting QGIS doc challenges were,
  • A lack of clear direction within the QGIS docs project,
  • The brief three-month window for Season-of-Docs, and
  • The high risk that the writers’ efforts might not achieve tangible outcomes.
I noted:
The big challenge for QGIS is aggregating external content into the core docs from lots of satellite communities. It would be a huge win to get it done, but also very risky as it requires coordination and collaboration from so many external volunteers.
Harrissou added:
It's unfortunate to not assign a senior writer to QGIS. I was personally envisioning [Season of Docs] as a catalyzer, an opportunity to trigger mobilisation of the writing community, and to teach us actual and best practices. And maybe that experience would confirm to us that we need the profile [of person] you propose later.
So what is lacking, and what can be improved?

Kudos to the volunteers

Firstly, I’d like to acknowledge the value provided by QGIS documentation volunteers and help they provide to newbies who reach out. QGIS has a solid baseline of docs and dedicated but under-resourced volunteers. They face a difficult job keeping up with the more active, much larger, and better-resourced developer community. I don’t think external people appreciate the difficulty of the documentation challenge.

Season of Docs

Before Season-of-Docs’ writing period officially started (September 2019) we’d already attracted plenty of latent interest:
  • A spin-off GeoNetwork documentation group of 4+ volunteers was meeting fortnightly. (Swapnil, a senior tech writer supports this team, as part of Season-of-Docs.)
  • A spin-off GoodDocsProject, with 5+ senior tech writers, are creating best-practice templates and writing instructions for documenting open-source software.
  • QGIS and GeoNetwork quickstarts were updated to the latest 13.0 OSGeoLive release. (Felicity is updating 50+ quickstarts for Season-of-Docs.)
Over 20 people volunteered to help out with OSGeo’s Season-of-Docs. 10+ of these people were interested in QGIS - more than for any of the other OSGeo projects. However, we’ve had lack-lustre success at capturing this initial enthusiasm. Why? I collate quotes and observations below.

Piers, small company, creating training material

Piers Higgs is CEO of a Gaia Resources, a small environmental consulting company. He and his team have developed QGIS training material which they publish for free as videos, a manual and data package. Piers notes:
  • The thing I find strange is how many people are using our course now - there are people from all around the world now. Most of them aren't actually enviro's either - they are just people wanting any sort of resource to help them get into QGIS.
Piers articulately outlined how he’d love to share his material and continue to maintain it, noting also that he is time-poor. This is a hugely valuable offer, but there wasn’t someone from the community ready to catch this offer and work with him to the extent required.
Alexandre Neto noted:
  • Because we don't have many writers (we have two very active people), it's quite hard to allocate [time for] that “king of merge” into what we already have. It looks like no one has interest in it, but it's not really the case. What we would prefer is to see companies create new sections, improve and reuse what we have in the training manual.
Like Piers, many of the people who volunteered to help with Season-of-Docs are similarly from small consulting companies in similar situations. I see this as untapped potential. Piers commented further:
  • Yep, but how to tap this potential is pretty hard. Unless you have a TARDIS, or a cloning machine?
  • This pretty much says why I can't get into this. I don't have the bandwidth and much of my drive is taken up running the business. The personality - well, Cameron, you have spades of that ;)
  • I did find the whole thing really hard to actually understand what was needed and who was doing what. I guess being "outside the camp" for most of the QGIS stuff these days has made me realise how hard it is to find my way back in again.
  • So it's one thing to have a bunch of time-poor people who are interested, let's assume we don't have a TARDIS or cloning machine to fix that. I did find that trying to work out what was going on and what Season-of-Docs is, who's doing what, etc was just too big a beast to deal with. It was an effective barrier to entry for someone new, and it's one of the reasons Cameron found it so hard to engage me - I had to keep asking him for clarifications on what all the lists are, where the documents are, who's who in the zoo, etc. It's just a little bit... chaotic. I will readily admit I lean towards OCD tendencies, but being time poor, time spent trying to understand what is going on is an effective barrier to entry. It became "too hard" very quickly.
  • [Capturing offers of assistance and supporting and encouraging new volunteers] are things as a community we do pretty badly.
  • My interactions with the main QGIS developers etc hasn't been very frequent, but it's been reasonable.
  • ... So I think remembering everyone is a volunteer and will have different motivations is really important. I used to run a volunteer GIS group and keeping up ways in which time poor people can be involved is key - e.g. writing a chapter is a big ask, but editing or testing it might be smaller and easier for time poor people. Food for thought.

Andrew, power user, starting to help with docs

Andrew Jeffrey is a power QGIS user, and a bit more. He is not a programmer and is giving to QGIS through docs, coordinating a regional user group and qgis events. (Other potential volunteers have a similar profile.) Andrew painted a practical vision about how QGIS docs can be improved and proceded to write a getting started guide for the new users he’d been helping, and followed up with a QGIS quickstart for the OSGeoLive project. Andrew is the sort of person you’d want to encourage and support.
Andrew’s comments are revealing:
  • I feel this review [of QGIS docs] was started with the meetings you coordinated at the start of the Season-of-Docs process Cameron and then lost momentum because no one took the lead when you started to focus on other things. I did try to rally people for the OSGeolive quickstart amendments but quickly lost interest in continually asking for input with no response.
  • I haven't given a whole lot - but would like to do more. Things that stop me: What’s a priority? Docs, training material, screenshots? It would be helpful if a more senior doc mentor was able to say “this is the low hanging fruit” “that is a great way to get started”.
  • The help I have received from QGIS doc folks has been good and available when I ask for it. The support in terms of sharing contributions via participants in the Season-of-Docs has been sporadic, but I understand everyone has time constraints and other commitments. Also even before tech writers were assigned to projects I was asking the list for feedback on documentation and received nothing. So my enthusiasm for the Season-of-Docs has dropped off because I didn't feel like I was getting as much out as I was putting in.
So while Andrew had some support, more support would likely help him feel more welcomed and would empower him to increase his productivity. Again, I think Andrew’s anecdotes hint at lost opportunities we don’t hear about.

Jared, a tech writer

Jared Morgan is a senior tech writer, curious about open source, who volunteered to help out. He started reviewing QGIS docs and received feedback from core contributors (Harrissou and Matteo). Alexandre noted that he missed seeing Jarad’s feedback. Unfortunately, this initiative hasn’t appeared to be sustained. It appears there hasn’t been sufficient bandwidth to nurture and sustain the goodwill.

Charlie, university courses

There were a bunch of offers from GeoForAll university members, suggesting that their tertiary training material be used. For instance, we could update the comprehensive GeoAccademy courses which are still based on the old QGIS 2.8 version. Unfortunately, the initial enthusiasm didn’t translate into tangible action. From my perspective, there appeared to be a very high barrier to entry. How can we help all these disparate organisations and fragmented initiatives to collaborate on a common base of material which is brought into the core QGIS docs? How can they become less brittle, so material continues to be updated when program funding finishes?
Professor Charlie Schweik suggested developing training material and textbooks in conjunction with universities, possibly making use of OpenStax. I’d suggest that his suggestion be aligned with maintaining core QGIS material, rather than creating a parallel initiative, and that the common material can be retasked for various educational courses.

Andreas, cataloging doc team challenges

The QGIS docs team discussed many of the challenges they are facing. Andreas Neumann summarises many of these:
  • I agree that the documentation task seems to be overwhelming and might also be daunting for newcomers, volunteers and even paid people. I also agree that the team is under-resourced. … We already knew this. … it would be encouraging to hear more suggestions for how to improve the situation.
  • Should the team focus on smaller chunks/goals in order to have better progress and a better success feeling?
  • Are the tools too complicated?
  • Is there not enough information provided by developers or organizations who fund new features?
  • Another observation I have is that there is an awful lot of documentation about QGIS out there on the web, spread into many personal blog websites, company blog posts and news sites, youtube movies, social media posts, etc. etc. However, all of this vast and de-centralized information doesn't end up in our central documentation.

Anita, Nathan, tools and process limitations

Working out how to bring the world’s QGIS documentation back into the core looks to be a core challenge for QGIS. Anita Graser’s response provides insights:
  • I tried [putting my doc updates into the core] but something is keeping me from doing it regularly. Thinking about it, reasons for me include:
  • It's not always possible to simply copy a blog post to the documentation. The expected style (as in wording) of the text is different. The text should fit into the bigger picture. This often means a significant rewrite.
  • Maybe just me but: I'm always uncertain of how to add figures and links correctly so that they are not broken in the built documentation.
  • Lack of immediate feedback: When I post on a blog, the content is immediately online and - as feedback comes in - it's possible to make adjustments quickly. The above Pull Request was open for a month. (There were a lot of good discussions going on but it might feel more motivating to publish more quickly and improve incrementally).

    So the last two points come down to the process we currently have in place. Coming from a platform (Wordpress) where I can immediately see and verify the final results, the qgis.org documentation system makes me feel less certain about the quality of my edits and it takes much longer until corrections are visible online. (I know that I could build the documentation locally on my machine. I've tried with Richard's help in the past and failed to set it up on my machine.)
Nathan Woodrow, one of the core QGIS techies noted:
I personally find some of the technical issues as quite a blocker for people to help.  It's what stops me most of the time and I'm conformable with the tools, last time I tried on Windows I just gave up because it was too much work and I only have limited time these days.  I'm not sure what the solution here is but I don't know if moving to something like GitHub Markdown or Google Docs is the option, mainly because of it throws away a lot of the work we have already done.  Having said that though this is a pain point that might help address some of the community involvement if we can solve it.   It's not the only problem though like Alexandre said it's just not fun work at times and it can be hard to even write good docs when that is your job and you have a good platform to do it in.
Tim Sutton, one of the QGIS founders, reported:
Our main discussion points in the [QGIS Project Steering Committee] meeting were:

  1. Current documentation approach is unsustainable (a few hardcore enthusiasts but not enough to cope with the rapid pace of development)
  2. Inviting contributors needs to be substantially easier - I’m talking at the level of editing a google doc or word doc here. At the very least a GitHub markdown page that is instantly published as soon as you edit it.
  3. Cameron has had a chat with me about employing technical writers to make the documents more cohesive - I think this is a good initiative but Cameron I think we need to get the fundamental issue of the editing platform sorted out first
  4. Translations severely hamper our ability to switch to a more agile system (e.g. GitHub markdown based wiki or Google doc) - in the PSC call we want to surface the idea of doing away with translations and leave translation initiatives to outside communities (e.g. local user groups). PostgreSQL etc don't have the overhead of this.
  5. Our documentation could be easier if the format was more structured - think something like editing a changelog entry here. Again we looked at the PostGIS / PostgreSQL examples here which have a very standardised format.
There were some sentiments in the PSC call to drop the documentation effort completely and leave it to all the various community members to deal with, but I think maybe my 1-5 points above make a better compromise of reduced overhead, more accessible platform for writing while still having docs in English at least. 

Stepping back from specific comments about tools and processes, I’m seeing a high effort-to-reward ratio for the external documentation community. Options to address this include:
  1. QGIS docs core team to absorb the effort, either through funding or inspiring volunteers.
  2. Help contributors get their content back into the core, likely with hand-holding, or possibly out-sourcing paid work to them.
  3. Improve the efficiency of tools or improve our explanation of tools. While improved tools will be helpful, I think it is a generic problem faced by the whole open-source community. As such, I feel QGIS should reach out to the greater community to help solve it.
While there is acknowledgement that docs need improving, I feel there is a general under-appreciation of the effort required to:
  1. Merge disparate documentation.
  2. Increase doc quality from “verbose and okay” to “intuitive, obvious and concise”.
We need to start by articulating the problem and how we propose to solve it, which should help find both sponsors and volunteers.

QGIS Community questionnaire about docs

824 people answered a questionnaire about how you learn about QGIS. Anita Graser compiled results into the following tables.




Considering changes to doc writing based on survey insights varied from "do more" to "do less".
Tom Chadwin summarised the results as:
Questions 1-4 (quantitative)
  • 70%’s first-choice is Googling/StackExchange, which dwarfs the < 20% choosing official docs
  • The fact that Googling came top of search methods emphasizes that we need to pay attention to SEO in the official docs
  • Fewer than 50% find their answers in the official docs “often” or “always”, 45% answering “sometimes”
  • Official docs are underused – over 50% only consult monthly or less frequently (including “never”)
Question 5 (qualitative)
  • Many find the official docs too abstract, and would prefer examples worked in
  • Perhaps unsurprisingly, there is a lot of enthusiasm for video tutorials
  • There is some criticism of the confusion of QGIS versions in the documentation, especially when deep-linked from a Google result
Paolo Cavallini argued:
To me this confirms my opinion: our manuals are of limited relevance to the community of users. IMHO we have two options here:
  1. Re-haul the whole documentation so to make it the real reference.
  2. Shrink it down to the bare minimum (mostly a list of the commands and functions available), leaving the fancy documentation out in the Wild World of the Internet.
Quite frankly (sorry, no offense for the huge and excellent work done until now), I do not see a realistic way of implementing (and, more importantly, to keep always up to date) the first option, so I tend to prefer the second one.
Summarising Alexandre Neto's longer analysis:
  • It's clear that people often search for help a lot.
  • In terms of QGIS Docs quality, ... [it] seems that definitely needs improving.
  • As a documentation person myself, I naturally have to disagree with the idea that the project should ... simply resign to a shrunk version of the documentation and let the outside world provide the fancy answers to the users. ... IMHO, Good, precise, and updated documentation leads to more adoption and better user experience.
  • An interesting fact: in two weeks open to answers, ... this questionnaire gathered more than 800 responses! To me, this alone says a bit about the importance that documentation has for our users.

Documentation best practices

I'm concerned people are searching for one approach to documentation when there should be multiple. In a highly regarded article in Tech Writing circles, Daniele Procida argues:
There is a secret that needs to be understood in order to write good software documentation: there isn’t one thing called documentation, there are four.
They are:

  1. Tutorials, 
  2. How-to guides, 
  3. Explanations, and 
  4. Technical references. 
They represent four different purposes or functions, and require four different approaches to their creation. Understanding the implications of this will help improve most software documentation - often immensely. ...
I expand on this in Inspiring techies to become great writers.
The audience for different doc-types have different needs:
  • API References need to be accurate, unambiguous and up-to-date. Polish is a nice-to-have.
  • Community forums are great for niche topics. Incorrect or dated information is tolerated.
  • Quickstarts need to be accurate and polished, but need not reference the latest Bleeding Edge release. Aligning with the Long Term Release is acceptable.
This approach should be defined in an information architecture and an implementation strategy (which is yet to be created for QGIS). These should take inspiration from TheGoodDocsProject, an emerging community of technical writers building “best-practice templates and writing instructions for documenting open-source software.”

Matteo, what to focus on

Matteo from the core QGIS documentation team who volunteered to mentor QGIS Season Of Docs writers suggested:
  • I really think that currently, we need to define precise roles (issue manager, reviewer, English reviewer, etc). IMHO the growing complexity of the last years made it difficult for us to convince other people to contribute (at least, I'm not able to convince people during training and other activities)
  • +1 for the "community" evangelist (could be another role of above)
  • -1 to change the framework (even if complex is too important)
  • -1 to create other dedicated repositories with additional training material: just add another chapter to the existing manual

    Summary: without boring everyone that already knows the current situation, I really think we have to set up a clear workflow (for us [the QGIS documentation team] and newcomers) or else we will lose volunteers and other people that want to contribute to the project.

    Andreas, Paulo and Tim, considering funding

    Andreas Neumann, Paolo Cavallini and Tim Sutton weighed in on funding tech writers:
    • Andreas: It is not primarily a problem of finding financial resources. Every year we assigned funds for documentation and in most years those funds haven't been used. Even if we would make more funds available to the team, I feel this wouldn't solve the problems the team is facing.
    • Paulo: While I agree that we should keep on using our funds, and additional resources, as an incentive for documenters, I think this should be done with a clear plan in mind. If not done carefully, this move could discourage volunteers, not only in this area ("why should I volunteer, when another one is doing the same thing and is paid for this?"). Volunteer communities are hard to build, and easy to destroy. Replacing volunteers with employees can quickly become very expensive, and we should be sure we'll be able to raise enough money both in the short and in the long term to fully support the effort. I suggest working out a budget for this, to check how feasible this solution can be, before taking further steps.
    • Tim: I have a different opinion on this. Based on our experience of paying developers I don’t think it has in any way reduced the volunteer contributions to the code base - on the contrary, it probably has incentivised those that we paid to donate lots more of their time. I am pretty sure that we will have similar experience in other areas of the project. I am more bullish on documentation and think that we should work enthusiastically to get one or more dedicated, full-time document writers in the QGIS project….over and over we here it is the most wanting part of the project. 
      2019 QGIS Budgeted expenses
      Highlights for me after discussing the 2019 QGIS budget with Tim Sutton were:
      • The QGIS team run on an incredibly small and efficient budget. Strategic investment from external stakeholders should yield a significant return-on-investment.
      • Programmers' daily rates were higher than tech-writers'. This concerns me as I question whether tech-writers' employed are suitably experienced. Typically, a good tech-writer is a programmer who has learned to write, or a writer who has learned to program.
      • The €12,000 allocated to documentation won't go far if paid at standard tech-writer rates.
      • Bug fixing (for programmers) was allocated five times more than docs (for writers).

      Clarence, finding writers

      To find writers, Clarence Cromwell, a tech writer, suggested:
      Why don’t you reach out to the WriteTheDocs community. It has a slack group which includes a #job-posts-only channel. I’ve seen many budding tech writers asking how to break into tech writing. You could offer to mentor writers in git and software processes, in return for a review of documentation.
      This is worth pursuing in order to bolster our existing tech writing team. However, for holistic documentation leadership, I feel we need more than individuals can provide on volunteer time alone. We could consider Google’s SeasonOfDocs model of paying a stipend (for a lead tech writer). Note: I feel this role needs sustained sponsorship; Google’s sponsorship is limited to three months.

      Anne and Charlie’s research into open source success factors

      There are insights from open-source research we can draw upon. Pertinent to this conversation is Charlie Schweik’s research into open source success factors and Anne Barcomb’s research into episodic volunteers. Their research highlights:
      Factors which lead to a project’s success are:
      • Leadership by doing.
      • Clear vision.
      • Well-articulated goals.
      • Task granularity: Projects have small tasks ready for people who only can contribute small bits of time.
      • Financial backing.
      Successful strategies for working with episodic volunteers:
      • Although Open Source episodic volunteers were unlikely to see their participation as influenced by social norms, personal invitation was a common form of recruitment, especially among non-code contributors.
      • Episodic volunteers with intrinsic motives are more likely to intend to remain, compared to episodic volunteers with extrinsic motives.
      • Episodic volunteers derive satisfaction from knowing that their work is used, enjoying the work itself, and feeling appreciated.
      • Lower barriers to entry.
      • Provide opportunities for social interactions.
      I suspect the QGIS project has become so successful, and the community so large, that it appears daunting for someone on the fringe who might want to join. They don’t feel worthy, are not sure how to break into the inner circle, or feel someone else will do the work if they don’t. It will likely be worth rekindling a supportive and personal culture within our community.

      Learning from the OSGeoLive experience

      I think it is worth considering the formula used in the OSGeoLive project to attract hundreds of episodal contributors, many of whom have been working on docs. It is summarised here:
      • Start with a clear and compelling vision; inspiring enough that others want to adopt it and work to make it happen.
      • This should be followed by a practical and believable commitment to deliver on the vision. Typically this is demonstrated by delivering a “Minimum Viable Product”.
      • Be in need of help, preferably accepting small modular tasks with a low barrier to entry, and ideally something which each person is uniquely qualified to provide. If anyone could fix a widget, then maybe someone else will do it. But if you are one of a few people with the skills to do the fixing, then your gift of fixing is so much more valuable, and there is a stronger moral obligation for you to step up.
      • Ensure that every participant gets more out of the project than they put in.
      • Avoid giving away free rides. If you are giving away something uniquely valuable; and it costs you time to provide that value for your volunteers; then it is ok to expect something of your volunteers if they wish to get something in return.
      • Use templates and processes to facilitate domain experts working together.
      • Reduce all barriers that may prevent people from contributing, in particular, by providing step-by-step instructions.
      • Set a schedule and work to it.
      • Talk with your community regularly, and promptly answer queries.
      • And most of all, have fun while you are doing it. Because believe you me, it is hugely rewarding to share the team camaraderie involved in building something that is much bigger and better than you could possibly create by yourself.

      My assessment

      The QGIS documentation community appears overwhelmed and seems to need help with:
      • Articulating doc challenges to the community, potential contributors, and potential sponsors;
      • Defining a clear vision and roadmap;
      • Coordination and project maintenance;
      • Breaking large daunting challenges into small tasks that can be tackled easily by volunteers;
      • Capturing community good-will and offers of assistance,
      • Inviting people to get involved one-on-one and then mentoring them;
      • Periodic catchups;
      • Outreach and evangelising;
      • Attracting satellite initiatives into the core;
      • Keeping up with a rapidly innovating software baseline;
      • Documentation tooling and processes;
      • Sustaining initiatives, and orphaning unmaintained documentation.
      Most importantly, I think the QGIS docs team is missing sufficient people with the bandwidth, drive and personality to drive this agenda. I feel there is likely to be quite a bit of inertia required to ramp-up such a team, but I think it is worth investing in, as I think QGIS will benefit greatly once it is set up.

      Suggestions

      These suggestions are presented in my proposed order of priority.

      1. Community evangelist / coordinator

      I believe QGIS should engage a “community evangelist and coordinator”, tasked with:
      • Inspiring others.
      • Capturing untapped goodwill from within the QGIS community and potential business sponsors.
      • Embracing and extending QGIS’s supportive culture.
      • Reaching out one-on-one and personally inviting people to join, then pro-actively supporting them during their onboarding experience.
      • Helping to reduce barriers to entry.
      • Defining and managing a roadmap, with milestones and schedules.
      • Coordinating community collaboration.
      • Supporting documentation development, deployment and reviews, as required.
      We should look for someone who:
      • Is friendly, approachable, and community-minded.
      • Is likely a notable and experienced member of an open-source community, whose opinions are respected and hold weight within the community.
      • Is technical enough that they can help a newbie with git and doc tools.
      • Is business savvy and able to persuade business people about the value of collaboration.
      • Presents competently at conferences.
      Getting the right person for this role will be very important, as they will influence the culture of the rest of the team.
      Sustained funding should be sourced for this role as it will be difficult to resource on volunteer labour alone.

      2. Vision and roadmap

      Common feedback from volunteers was not knowing how to give back. We appear to be lacking the vision and roadmap which open-source research suggests is important. Alexandre Neto noted:
      • Unfortunately, this issue list is the only thing we have [re roadmap].
      I suggest defining a vision and roadmap, which can then be referenced to help prioritise direction.

      3. Information architecture review

      I get the impression that QGIS documentation is quite good, but it hasn’t been audited by a senior technical writer/information architect. I suggest a senior information architect be engaged for a once-off engagement to set up QGIS’s approach to documentation. We should consider:
      • Best practice document types, templates and writing styles, tailored for different target audiences.
      • Documentation architecture.
      • Quality expectations.
      • Maintenance strategy.
      Ideally this information architect would be the same person as the sustained technical writer role (in order to retain project knowledge).

      4. Engage a technical writer

      People from the core doc team have noted that much of the QGIS documentation is written by software developers, or power users (without formal writing training). For many, English is a second language.
      I suggest a sustained technical writer role be set up to:
      • Reviews all new documentation generated by the community.
      • Work with the authors to ensure it fits with QGIS’s writing guidelines and quality standards.
      This will require sustained resourcing, which I suggest be supported by a stipend, in-kind contribution from a company, or similar.

      5. Attract external QGIS docs into the core

      There has been discussion about the significant amount of external docs and training material which is not coming back into the core QGIS. I’d suggest:
      • Publicly stating the value we place on internal rather than external documentation.
      • Encourage sponsors, and those paying for training to make use of internal rather than external material.
      • Reach out to external material providers and work with them to bring their material back into the core. Acknowledge extra effort required to do this. (It will be short term pain for long term gain.)
      • Monitor community activity and opportunistically support people to bring their external docs back into the core.

      6. Ignore the tools for the moment

      It has been noted that the git/sphinx documentation toolchain is a barrier to entry for people coming into docs. While acknowledging the problem, I suggest leaving it for the moment as we have higher priority problems which we can resolve and should focus on. Leave this for the wider open-source documentation community to solve.

      Sunday, 1 December 2019

      Thankyou Felicity


      Felicity Brand
      Felicity Brand,
      Season of Docs Technical Writer
      Thank you Felicity for everything you have given our OSGeoLive community during Google's Season of Docs. It has been much more than your review and update of 50 odd OSGeoLive Quickstarts:
      • You have always been friendly, warm and supportive, even during the witching hour teleconference calls we asked you to join. 
      • You have touched so many of us. With each of the fifty-odd quickstarts you updated, you were introduced to a new bunch of people.
      • You've stepped up and volunteered to help with whatever needed doing, be it big and challenging, or small and mundane.
      • You went well beyond your Season of Docs mandate, both within the OSGeoLive project and additionally in TheGoodDocsProject. (Your initial proposal didn't account for all the community interaction you ended up doing).
      • You've brought a fresh perspective to many of our conversations, often introducing innovative ideas. The OSGeo Lexicon Committee started with your suggestion. 
      • You balanced practical and sensible pragmatism with witty and playful humour. It made working with you fun instead of a chore.
      • And you've managed to do all this while mothering, without missing a beat. I was impressed when you introduced your well-behaved toddler as she walked into one of our video conferences.
      So on behalf of the OSGeoLive community, thank you.

      On Fri 29 Nov 2019, Felicity Brand wrote:
      Dear all,
      The Season of Docs program officially ended yesterday.
      Phew, what a ride! Thank you all for being so supportive and helpful.
      It has felt like an intense period of learning and doing - I'll be glad to have a rest.
      You can read my summary report.
      I have really enjoyed this opportunity to learn about open source, your community and geospatial software. I have also picked up skills in ReST, sphinx and taken my git to the next level.
      This is not goodbye from me. I will have a bit of a rest first (so
      might be offline for a few weeks).

      • There are 30 open pull requests for Quickstarts that I'm hoping you
      • (and Cameron) can help me finalise.
      • There are also comments on some of the Quickstarts that I want to
      • follow up in a bit more detail.
      • I discovered a doc issue in trac that I can probably address as well.
      I know that the Google Code-In program might be working with some of the
      Quickstarts, so that is an exciting opportunity to put some of them to the test.
      Thanks
      Felicity

      Monday, 25 November 2019

      Launching TheGoodDocsProject

      Discussing templates
      What is TheGoodDocsProject?

      “Best practice templates and writing instructions for documenting open-source software, 
      collated from the best ideas within the documentarian community.”

      Incidentally, the templates will be directly applicable for other domains too. So far, we have draft templates for:
      • Overviews
      • Quickstarts
      • References
      • Discussions
      • How-tos
      • Logging
      • References
      • Tutorials
      We officially launched our first 0.1 release at the recent WriteTheDocs - Australia conference and were honoured to have ~ 50 documentarians review our templates in a two-hour "fix-it" session.

      What next?

      • Over the next few weeks, we will be copying suggestions into our issue tracker.
      • By ~ March 2020, we plan to publish a 0.2 release, incorporating suggestions to date.
      • We hope many documentarians will join us to help improve these templates.
      • And then, with a bit of luck, people will start using the templates.

      Highlights from WriteTheDocs - Australia

      A bunch of ideas were presented at the WriteTheDocs conference which I'd love to see captured in our templates and shared with others. These included:

      Inclusivity

      Dave presented an amusing and informative lightning talk using sign language, presented through his (female) interpreter. He started, "You are probably wondering why I sound like a woman? I was born deaf ..." He has since volunteered to add best practice inclusivity into our templates. 
      Dave Parker

      Including international communities

      Alec discussed cross-cultural and cross-language inclusivity, along with challenges and potential solutions. It will be good to see these ideas woven into our templates.
      Alec Clews

      Empowering writers

      Leticia talked in inspiring terms about practical techniques to empower technical writers. I've seen many dis-empowered technical writers and I'd love to see techniques to address this captured and disseminated.
      Leticia Mooney

      Psychological safety

      Riona challenged conventional thinking about open source communities. She discussed technical and social barriers to technical fields, and linked psychological safety, knowledge sharing and good documentation to building more egalitarian societies.
      Riona MacNamara

      Information architecture

      Elle discussed building information architectures, and avoiding social and technical biases. We have only scratched the surface of this topic in TheGoodDocsProject and more expertise is required.
      Elle Geraghty

      Storytelling

      Jon and Tim wove a compelling tag-team story about narrative in game design. If we can get technical writing to be as interesting as this, readers will absorb information more effectively.
      Jon Manning and Tim Nugent

      Tech Writing Workshop

      Sarah presented Google's internal Tech Writing 101 workshop for Developers, which Google plan to share publicly. It will be great to harmonise this with TheGoodDocsProject.
      Sarah Maddox

      Release Notes

      Alex drew inspiration from horror stories when explaining best practices for release notes. This is worth watching, just for entertainment value - but we should also be capturing these insights into our templates.

      Alex Koren

      The pitch

      Mat recorded a post-conference talk about harnessing the post-conference arfterglow (password: WTD2019). At the conference, he was leading conversations about building a business case for us all to take back to organisations explaining the value we all gain by collaboratively sharing and maintaining templates, including:
      • Training users to become familiar with standard documentation patterns.
      • Reducing ramp-up time for documentarians.
      • Supporting cross-domain expertise.
      Mat Walker

      What next for you?

      Are you inspired? Want to help writers become more effective, and by extension, help share the world's knowledge? Come introduce yourself to the rest of us at TheGoodDocsProject.