Rafi Khan

Senior Software Engineer | Ottawa, Canada

Supporting society through innovation

Sharing PKM: Building a digital notebook

What is PKM?

PKM is a browser application for creating a personalized knowledge management system. It is inspired by emacs and and wsiywg editors.

What PKM is Not?

  • PKM is not a service or product. You don’t have to pay for it.
  • It’s also not a project using an open development model. If you want to make changes to it, download the code and go ham.
  • If you want to share ideas about it send me an email at [email protected]. If there is enough interest, I will create a space for discussion.

Where can I get it?

You can download a zip of the source below.

  • If you want some guidance on how to set it up, send me an email [email protected]
  • There are some notes in various READMEs as well as under the rafi_deployment folder.
  • It’s likely you won’t be able to get it working right away without fixing some things like CORS origin hosts.
  • If there is interest I’ll put up a screencast on how to set it up later.

Background

History

I have been working on this project for more than 5 years. It’s hard to recall precisely when I began, as there have been many experiments and various implementations. The core idea remains: a knowledge management tool for personal use that is easy to use, easy to extend and accessible everywhere.

The knowledge management portion mostly consists of a WSIWYG editor that lets you create note documents.

The personal use part is achieved by keeping the features low, and letting people run and modify to fix bugs and add features matching how their brain works.

I have spent many years using org-mode, onenote, evernote, google keep, word docs, text files, obsidian and a bajillion other solutions. But there were a number of pain points

Why did I make a note taking app?

  1. Doesn’t work in the browser
  2. Isn’t libre licensed, so I can’t change the interface. This was important to me because my brain doesnt work the same as others. I learn new workflows and need my tools mold to them.
  3. Isn’t easy to run. Open source note taking apps exist, but they have a lot of libraries and infrastructure components which add complexity. PKM is not perfect, I’m hoping to cut down dependencies radically, but it’s in a better spot. Mostly by just not implementing features.
  4. Doesn’t have good sync: one of the main pain points with using org-mode+emacs; which I still use daily for some things. But I wanted a dead simple solution for general knowledge management. Obsidian and Onenote came the closest here, but both failed in regards to licensing.

Why is it called PKM?

Well, you know how the saying goes… there’s 2 hard things in computer science..

Even more than that, I’m a fairly straight-forward, utilitarian person. PKM means personal knowledge manager. That’s literally what this software is 🙂

I’ve come up with other names, but realized they’re note appropriate because I dont know what PKM is. I know what problems it solves for me, but I want others to take this mosaic of stuff and make it into what they want. So who cares what its called. It’s the same way that smalltalk or the NEXT computer was never really an end product. These were both made to enable its users to iterate and make the next version.

Licensing

All first party code is AGPLv3.

Basically, you can download the code, modify it and use it without any obligations. If you share the app with others, you would be required to also share any modifications, so that they have the same rights as I am granting you. The rights to read, modify and share the code.

MIT was considered, but then I decided I didn’t want someone else to go and commercialize this. I’d prefer it remain free software for personal computing.

I don’t want to make any money off of this, and I don’t want others to because that messes up the incentive games (dhh on complexity merchants).

Closing Thoughts

I have no expectations with PKM.

I will continue to develop it to suit my needs. I will keep sharing source dumps, and help anyone who wants to get it running.


Posted

in

by

Tags: