OpenRC GLEP proposal


There has been some serious concerns expressed in the Gentoo forums about the recent development of OpenRC. This blog entry tries to address them in a constructive, positive way. Should my personal opinion, expressed below, gain favourable reviews by the Gentoo community and by the OpenRC user community, this blog entry could be turned into a Gentoo Linux Enhancement Proposals (GLEP). If there is enough support for such a motion, the entire text below could be copied into the gentoo wiki, reformatted to fit the GLEP guidelines, and, of course, edited, amended and completed in which ever way the community sees fit in view of starting the official GLEP submission procedure. On the other hand, shouldn't there be any sufficient active support for such a motion, this blog entry will simply remain here, as a record of my opinion on the subject.

Hierarchy of contribution in Open Source


Community spirit

Libre, Open Source software thrives on community spirit, mutual help, and above all, on contributions from the whole community.

There are two complementary aspects: the personal one and the collective one. On the personal level are the personal liberties guaranteed by the licences the software is released under. We are free to use it as we please, hack it as we please, redistribute it as we please, etc. This obviously appeals to our selfish, ego-centric nature. But this is complemented and tempered by the collective nature of Open Source software. We all rely on the work done by other people. Open Source software can only thrive if we nurture a strong community spirit, the notions of sharing, participating, cooperating, so that the fruit of our collective work can shine.

Universal bug tracking framework

We should design and promote a universal bug tracking framework.
See wiki page:

Bugzilla is a very poor tool:
- It is hard to have a ready made list of issues related to a single package.
- It is impossible to see which bugs have patches attached, that need review, need work or that are ready to be committed. This is critical to find where there is code that could soon be committed, allowing developers to help each other move forward.

No active EOL'ing of major software branches

Do not force an EOL (End Of Life) of major branches, especially that of major software.

For example, there has been major changes between KDE3 and KDE4 and again between KDE4 and KDE Plasma 5. Similarly between Gnome 2 and Gnome 3, etc. Very often, distributions more or less 'forced' users to upgrade from one to the other, even before those big frameworks had achieved an adequate level of stability, leading to much discontent and probably unnecessary forking (e.g. KDE3 => Trinity).

Provide an optimized partitioning for performance and space

Choosing the right storage drives is a game of balancing three different, competing needs:
- performance: I/O (read/write) speed.
- space (e.g. for large media files).
- reliability (permanent storage, backups).
Depending on the required amount of storage, and the amount of money available for spending, the right solution may be different.

However, our new distribution will strive to provide a sane default, with a judicious use of a /scratch partition:

Working with upstream and other distributions

Instead of constantly re-inventing the wheel, we want to work with other distributions, especially our own upstream distributions, because more often than not, we all strive to provide solution to the same common problems.
In the best spirit of open source philosophy, work with each application's upstream developer communities.

As such, our wiki will not exclusively be about our new distribution, but will document solutions for any distribution, depending on user contributions.

A distribution for both newbies and power users

There are two seemingly incompatible trends for Linux distributions:
- some distributions are aimed at power users, and focus on configurability, huge amount of choice and providing the user with the tools and the framework to do whatever they wish with their computer.
- some other distributions are aimed at newbies, or (ex-) windows users and focus on ease of use, streamlined interface, and a limited set of default application being supported.

The former category certainly include gentoo, archlinux, maybe also Debian and many others.
The later include Ubuntu, Elementary OS, etc.

New Linux Distribution

One of the long term aims is to create a new Linux distribution.
I am going to post a series of blikis to outline the major features and philosophical elements of this future, as yet unnamed, Linux distribution.

Vim folding and feature discoverability

Today, I just found about about code folding within Vim.

I have been using Vim for about 15 years, and use it very regularly for coding.

Today, I was using it trying to debug a long block of code, with many nested blocks, and suddenly wished that Vim offered a feature that is standard with graphical IDEs: the ability to fold nested code of blocks. I quickly searched the web and found that Vim has supported code folding since version 6.
Basically, the feature has been available all along, and for all these years, it could have made my job much easier, but I was never aware of it.

How to prevent system lock-ups: when a process eats up all the memory

A couple of days ago, I had the painful experience of having a process slowly but surely eating up all the available memory, filling up the swap memory, living me agonizing in front of a computer that wouldn't respond, too busy as it was to slowly die. If I take the trouble to relate the experience, it's because I believe a proper Linux distribution should take pro-active measures so prevent this kind of occurrence and allow the experienced user to take measures to recover from a potentially disastrous mistake.

Syndicate content