Documentation that stands out
Open, Needs TriagePublic

Tokens
"Like" token, awarded by ratajsk."Like" token, awarded by cuperino."Like" token, awarded by logicalwillow."Love" token, awarded by flyingcakes."Love" token, awarded by philipmcgrath."Like" token, awarded by rwbarat."Love" token, awarded by ognarb."Love" token, awarded by hellokartikey."Love" token, awarded by kilab.
Assigned To
None
Authored By
Nowshed, Jun 21 2022

Description

Motivation
KDE documentation is not its shining star, in my humble opinion. However, it is the backbone of all good software. Documentation is the bible of a software, and if KDE were to reach simple users, its script should make sense to them. It must also be easy enough, where non-gifted people like me who can't code can easily contribute to. As of today, if I go to the documentation section in Get Involved page, my head spins. It shouldn't be that complicated.

Plan
Mozilla has already done all the heavy lifting for us. Just go to the all new, MDN website. Look how shiny and beautiful it is!
However, my main focus caught on, how easy and fail proof contributing to MDN is now. All of its contents are in a giant git repository. Anyone can make a change as a pull request in the git repository. Maintainers review the pull request, and as soon as it is merged it becomes live in the main website. How cool is that?

Just imagine, a novice users find a typo in the documentation, and he/she is capable enough to open a GitLab account. Just by opening a PR, he/she can change KDE documentation. That is just the beginning.

Benefits

Major benefits I can think of are,

  1. There will be a central documentation page that will have all the KDE Plasma, and application documentation. People can just search and find what they need.
  2. Contents would be in Markdown format, which can easily be converted to offline documentation bundled with the app (Even R program has that functionality).
  3. Even moderately skilled users who can write will be able to contribute to the project.
  4. As each of the changes will go through some review, it will most likely be safe.
  5. Mozilla has laid the foundation for MDN, it will be supported for decades.

Alternative

The only alternative I can see is the Arch Wiki. However, there are two barriers,

  1. Arch users are advanced Linux users who write quality documentation. KDE is planning to be a software for all.
  2. It won't have the mentoring that PR of GitLab will have.

Plan

As Mozilla is a complete open source white knight, it is possible to follow MDN guide to make a variant for KDE. All the rendering is done by a piece of software called yari.

Additional Steps

  1. Create a process that help old documentation to be converted into the new process
  2. Keep room for special processes for standalone big projects (Krita, Kdenlive)
  3. Separate documentation for users and developers, as new developers need hand holding too!

Community

It will be the biggest community collaboration of KDE. Everyone will contribute and nurture users who can't code but write poetry in documentation.

Risks and needs

This endeavor will not be easy in any way. It will take massive planning and execution to run this get this project up and running. It will solve one of the KDE's biggest problem and solve it in a ridiculously beautiful way. Problem I can think of are,

  1. Special skill for developers to maintain this project,
  2. Maybe collaborate with Firefox developers to make this a project for both Firefox and KDE,
  3. Creating a centralized website, backend, and infrastructure won't be easy.

Champion

And thus, I have reached the weakest part of this proposal. I am a FOSS user, advocate, and avid KDE lover. Although love might help you to move mountains, it can't teach you code. I would not be able to help out in this project in any meaningful way at the beginning. I am hoping, someone who can see and share my vision, will be able to take this great labor, and sail through it.

Interest
Even if you find this whole proposal hilarious, can I have your support?

Nowshed created this task.Jun 21 2022, 3:37 PM
ognarb added a subscriber: ognarb.Jun 21 2022, 9:18 PM

Do you know about https://invent.kde.org/documentation/develop-kde-org/-/tree/master/content (https://develop.kde.org/docs)? It's git based and me and others put quite some work into it ;)

But this is only about the technical documentation unfortunately, for the user documentation we still ue docbook XML files

kilab awarded a token.Jun 23 2022, 9:34 AM

@ognarb I had no idea this existed. Will take a look.

hellokartikey added a subscriber: hellokartikey.

Improving the documentation is a good idea, but please consider there are two types of documentation:

  • developer documentation
  • user facing documentation (application manuals)

It seems your proposal is focusing on the first point, and in that case develop.kde.org is ready.

The user documentation instead should live inside the repositories. That doesn't prevent the existence of tooling to extract them and publish them, but there are clear advantage in the documentation living with the code, first of all by allowing them to be updated *and* branched at the same time. In some cases some manuals have been even created in their own repositories (krita) and having them put back in a single repository is just not going to get any benefit.

I had no idea, develop.kde.org already existed. My goal is already half done. Kind of.

rwbarat added a subscriber: rwbarat.

While develop.kde.org website exists. It is kind of unmaintained I think. There are a lot of bug reports in it's gitlab repo but most of them are completely unanswered and also there are tons of broken links in the page from what I have seen. Aside from that build instruction of 99% of KDE apps is lacking. It is really difficult to even find a right way to setup development on your machine.

I was trying to build discover for a small UI change but the discover page don't even have a readme file for build instruction or anything. And discover is one of the most active repo in KDE. It doesn't even need to have complete build instruction but at the very least each and every repo must have a readme file linking to documentation somewhere else.

Documentation is severely lacking in KDE. It is almost impossible to do anything if you are new and want to contribute. The barrier is too high to even fix a simple UI bug in a program.

marzal added a subscriber: marzal.Aug 6 2022, 9:17 AM
logicalwillow added a subscriber: logicalwillow.EditedAug 6 2022, 10:13 PM

I think this goal should also include stuff about improving the existing user and technical documentation, like making it more complete, up to date, centralized, and easier to understand. The user documentation might also benefit from being in one place instead of either being in the Help Center, the UserBase wiki, the Community wiki, or its own website (like Krita and Kdenlive).
There is also still a lot of outdated technical documentation on TechBase that should be updated and moved to develop.kde.org. Most of the tutorials on there have messages saying that it's outdated and that there might be wrong information.

I think improving documentation would be a great goal.

As others have said, there are multiple audiences for documentation: users and developers, at a high level, but they could probably be categorized with more granularity, e.g. contributors and distribution packagers have distinct needs. I think documentation for all audiences would benefit from sustained attention, and I hope this goal can cover all of them.

To refine this proposal, I'd suggest focusing less on specific implementation technologies and more on what needs to be done—the sorts of things @logicalwillow mentioned. It might also be useful to look for some KDE projects that are doing particular things well in their documentation, so we can apply their good ideas to other KDE projects.

This comment was removed by logicalwillow.
flyingcakes added a subscriber: flyingcakes.
adam added a subscriber: adam.Aug 21 2022, 6:32 PM

Notes from refinement session:

The proposal should reflect the new info that was raised in the comments, i.e. keep only the stuff about user documentation and how to elevate it to be "kick-ass". Remove the already solved parts. Perhaps focus a bit more about the problem that is left, and not try to figure out the exact solution right now.

adam added a comment.Aug 21 2022, 6:50 PM

The voting starts in a week, if you plan to update the proposal it is best to do it soon.

adam added a comment.Aug 27 2022, 12:26 PM

As the author did not act on the comments here, I will not move this proposal to the voting stage.

It's a shame, this is an important and actionable goal proposal. Is anyone interested in taking it over? Or is @Nowshed still around?

I was extremely busy with my professional life. Let me see what I can do now.

As other users have mentioned, the solved part is not actually solved. The main git based documentation is kind of stalled.

As other users have mentioned, the solved part is not actually solved. The main git based documentation is kind of stalled.

But it was pointed out that the main git repository for developer documentation is already implemented, and the single git repository for user documentation is going to introduce more problems (because user documentation follows the program, and when it does not it's more difficult to handle).
The presentation of all the documentation (user and developer) can be unified, of course.

The proposal does not include any of the feedback. As it is, I don't think it can be voted.

Nowshed updated the task description. (Show Details)Aug 30 2022, 12:33 PM

I am adding some additional steps that I understood from the feedback. Not being a software developer is a huge disadvantage for me, but I wanted to start the discussion.

My feedback on the state of documentation in KDE:

Developer documentation

  • Pretty good state already with https://develop.kde.org/docs
  • Still, some kde4 tutorials need to be updated and migrated to there
  • API documentation for C++ project is fine. For QML project it could be better but it's already better than before

User documentation

  • Lot of work needed
  • Need an update of design of the website docs.kde.org (I made multiple attempts in the past)
  • Ideally, we should long term move away from docbooks (XML)
    • in the short term probably be good to add rst, ascidoc or/and md support to the website in addition to docbooks to make the transition easier

In both cases, it would be good to streamline the process of writing API doc/user doc when implementing new features or updating them. This is something quite related to the goal of @ngraham T15627

I agree with Carl's feedback - just note that "add rst" or other formats is not so straightforward as it may seems.

Regardless on the format used, if people don't write documentation when implementing features, any change would be useless.

About this proposal, it still points out the centralization of the sources as the solution, and I don't think this is the way to go as already mentioned.

Centralization of documentation should definitely solve a lot of problem. About User documentation I do agree that every app are different but core KDE development tools or any kind of development documentation/tutorial should be centralized. But even in case of User documentation there should be proper guidelines and APIs to organize all the documentation from KDE applications.

So I think all the developer documentation should be centralized at one repo but user documentation for the apps can be separate and kept in their own repo but they all must follow certain guidelines so that it would be consistent and people would know what to look for while going through it.

adam added a comment.Aug 30 2022, 3:47 PM

I'm happy that the discussion has come back, but sadly the proposal has missed the deadline to be included in the voting.
Of course, feel free to continue using the ticket for discussing the ideas mentioned in the proposal.

ratajsk moved this task from Not ready for voting to Selected on the Goal Setting 2022 board.