Today, we held our team’s first knowledge sharing meeting. I can’t say it was good, but considering the fact that it was the first session, it had an acceptable quality. We talked about the Linux’s syscalls that are related to file system. Also, we studied some configuration parameters of Redis.
I hope some day I know the components of Postgresql and the details of their responsibilities. I saw some of them and couldn’t realize the responsibility of some of them. For example, there were three components: BGWriter, Checkpointer, and WALWriter. It’s really hard to figure out their differences and exact responsibilities.
Also, I hope to contribute to Postgresql project some day. The open-source projects that use GitHub and its features are a lot easier to contribute, but some projects use GitHub just for their source code and use other utilities to track issues and assigning their assignment to contributors. Even worse, some projects don’t use GH at all. They use their own system to save the source code and some other systems to do everything else.
For example, K8s projects are well integrated with GH. Although they also have a lot of other utilities outside GH, but they use GH issues and PRs which makes the work of newcomers a lot easier. On the other hand, some projects such as Postgresql and Linux use another method to keep the source code and suggest patches. In these cases, new contributors need to spend a lot of time just to learn the new tools.
One might say it’s not fair to consider GH as something that everyone already knows how to work with and blame other projects for not using GH. That’s right. One could have learned Linux Kernel’s contribution processes instead of GH’s solutions and blame the other projects’ owners for using GH instead of similar processes. But I think it’s a given fact that GH is used for a lot of educational projects and recently graduated students, which make a big portion of people entering IT industry, already have got used to its methods to manage the projects. So, those projects methods are a bit new to beginners and discourages them to contribute. Of course, it may be intentional to prevent noob developers from getting involved in those projects. XD