Why open source
Ideally, projects have a goal to create the best tool possible, I see open source is a way to foster competition and collaboration which will be inline with the goal. In the end who will be benefited from this? Everyone who use that tool (including me)!
I love the idea of#compounding, where you create once and ripe the benefit again and again. If we see this from a community perspective, it means that one person create something, and the rest can take benefit from it. The other will have a slightly easier time creating something, which will accelerate his project, which will be released slightly faster with better result, which will make other who uses that project have a slightly easier time, so on and so forth.
note: this assumes you surround yourself with doves.
deciding organization
I prefer to contribute to tools I’ve used previously. After filtering list of organizations available, I ended up with these four:
- Priority 1: electron
- Priority 2: postman
- Priority 3: chromium
- Priority 4: git
I’ve been actively using all of them till now. Though I recently trying out Insomnia, switching from postman.
Picking the tools I’ve used before would help me give a better understanding about the general objective of the project, and personally there’s a bit of proud inside me when I use the tool I created myself, or contributed to. (such as effie. link to source)
deciding projects
I was planning to use this as a way to learn things I haven’t got the chance to learn, such as mobile development and rust. But … , I discard that plan.
It’s going to be risky to use this occasion to do such. I might not deliver what I proposed. I don’t want to do that, I want to deliver what I promised in the proposal.
So I went the safe route - which is electron!
I checked the project list on all those organizations, and found that I am very familiar with the stack related some projects (how familiar? I’ve used all of them in my previous projects)
here’s the top 2 projects i ended up proposing.
✍️ Electron Documentation PR Previews
My understanding in one sentence about this project:
ON electron/electron PR, WILL generate documentation preview (based on electron/website) using heroku AND attach the link in the PR’s comment.
I’ve watched this video about contributing to the electron. Though it seems cool (and daunting), I find it doesn’t help me much regarding the way the documentation is done and focuses more on contributing on the electron code itself.
poking around
I work by iteration and study by trying something out! I test the core concepts (doing the Proof of Concepts) first. If I succeeded in doing that, I proceed to do it fully.
So I tried to run electron/website locally first
running it locally yey
The project summary said that the documentation is inside electron/electron repository, which then mirrored to electron/website. It’s quite obvious that it’s probably the /docs
folder. But … I was suspicious, and did a clone. just to be safe :)
and sure it is, /electron/docs
is mirrored to /website/docs/latest
Poking around Heroku
off topic - got Heroku error when logging in: 303 see others. I ended up creating a new account. Maybe I deleted my previous account? or I used my school email?
I’ve used heroku before they shut down the free tier on November 28th, 2022. Now, I deploy most of my things on Vercel and Cloudflare, since they offer a generous free tier plan.
I wanted to try ‘trigger something on heroku, on a pull request’
I was thinking of following this first on the website repository, triggering a Preview on every pull request.
But I can’t add new app without adding payment method.
I hope there’s gonna be some financial help on this so that I can test on heroku first. I don’t want to be charged.
So I ended up not trying it, and use the documentation to plan.
📖 Electron Forge Docs Website Migration
this one is smaller, and is quite simple. I don’t think I need to poke around that much. I never used docusuarus, but it seems quite intuitive. I have not much to say on this one lol. Probably will use some bash script, and github action to handle versioning.