Wolf Pack Philosophy
If you do not want to read all this, please at least read this first section!
We use the analogy of a "wolf pack" for an important practical reason:
- On Funtoo, don't touch
/etc/portage/package.use! Leave them empty of custom
USEsettings! We have an innovative profile system that has flavors and mix-ins and is designed to allow you to manage
USEsettings in bulk, and we maintain these as a community. We build GNOME and other stages for download using these official profiles.
- If you find that our
USEsettings aren't optimal, and require manual fixes to get things to merge, or if basic functionality in an app doesn't work because the
USEsettings aren't right, then this is a bug. We consider it a bug, so please open a bug. As a wolf pack, we want to be a community and curate an optimal set of default
USEsettings for everyone so that users can perform real work on their Funtoo systems without a bunch of one-off
- This also means that if you decide to hack up your
/etc/portage/package.usewith non-standard settings, because that's how you did things on your Gentoo system, and you want to do things the Gentoo way instead of the Funtoo way, then we will consider any bugs you report to be a lower priority and they may be closed with little or no explanation. Be a part of the wolf pack. There is strength in numbers.
There are sometimes reasons to add customized
USE settings. We should be trying at every opportunity to reduce these instances as much as possible so that everything just works.
Now, let's continue...
Wolf Pack Philosophy
The philosophy of the Funtoo community can best be described using the analogy of a wolf pack. In the Funtoo community, we are all users of Funtoo. Even the BDFL considers himself to be a user of Funtoo, first and foremost. Sometimes, we may put on our 'developer hat' and contribute and improvement or bug fix to Funtoo Linux, but we never lose our connection to the reality that we are users of Funtoo. That keeps us grounded, and is important, because as users we are focused on the experience of using Funtoo Linux, and we, like a wolf pack, are a community of users participating in a shared experience. Our technical development work and documentation is always centered around improving this shared experience.
Below, you will learn the philosophy of how our pack functions, which will assist you in becoming a happy and productive wolf.
As a wolf, a member of the Funtoo user community:
- Is Authentic
- Since Funtoo is a source-based meta-distribution and packages are built with Portage, we exist in the living wilderness, among raw creative energy of the wild free software ecosystem. Like a wolf, our connection to the vibrant and sustaining open source wilderness is tangible and real. We avoid the over-developed, sanitized, isolated and boring pre-packaged world where disconnected users simply ‘consume’ what was pre-made for them, preferring the more authentic and connected life where we are in control of our destiny.
- Is Mindful of the Pack
- The pack are our fellow users. We support one another and look out for each other by roaming together. As we find challenges, we tackle them as a community. We understand that helping the pack helps us all. We are always actively trying to find common paths that we share, and cultivate these paths together. This is why at every attempt we will use community profile settings and keep our
/etc/make.conffree of local customizations. By roaming together, we make the experience better for all.
- Is Interconnected
- Beyond simple acknowledgement of the pack on an intellectual level, our connection to the pack is wired into our consciousness and awareness. We stay in the moment, continually receiving and sending signals to the rest of the pack so that we can function as one logical entity. We instinctively support each other as we are called into action by coordinating and aligning our actions. Younger members are supported by guidance by more senior pack members. By internalizing these behaviors within ourselves, the entire pack is supported and functions with a capability that is beyond the sum of its individual members.
- Is Selective
- Sometimes another Open Source project will drop some turd in our wilderness, and it might be so big that it’s really hard not to step in. When this happens, we will be very careful not to step in it, and we will certainly not eat this poop and make it part of Funtoo! The most obvious example is systemd. We won’t eat a dead carcass just because some upstream project threw some tempting rotten flesh in our path. It may sustain us for a while, but it’s not optimal for us. Let’s find the optimal solution. We would rather hunt...
- We are truly satiated only by those solutions that truly reflect our deeply-held values -- we want good technology, and if we can’t easily find any, we will hunt for it ourselves. Our hunger is tangible and deep. We’ll automate everything, so we can spend more time in the hunt, developing innovative technology. We hunt to live, and live to hunt. We’ll put in the work to get the good stuff, even if it gets messy and requires investing our time and raw creative energy. If we don’t have time to hunt, we will find a way to make time. Wolves that don’t hunt are domesticated pets.
- Is Territorial
- We welcome all, but we are keenly aware of the scope of the territory we patrol. We take ownership of our territory, but we don’t bite off more than we can chew. We know what parts of the Libre forest are fully in our grasp, and what parts we do not have the wolf-power to properly manage. We will claim new territory only as our pack grows, all the while ensuring that the territory we currently hold is kept secure. Continuous improvement -- building our territory thoughtfully without losing ground -- is what we’re all about.
- Owns their Shit
- As wolves, we sometimes make technical and other kinds of mistakes. That is part of life, and a mistake in and of itself is not something to get upset about. But if you make a mistake that impacts others, the pack expects you to be transparent about it, let the proper wolves know as soon as possible, and be available and engaged to help clean it up. If you don't do this, then the pack may get legitimately upset with you. A responsible wolf owns their shit.
- We encourage each wolf in our pack to howl and express their personal desires and needs, especially on our bug tracker. Your passion and personal journey is what we care about, not what some bunny did in some random hole last Thursday. It’s all about sharing your own adventures with the pack, so that we can understand and be enriched by them, and support you better.
So remember -- as part of the Funtoo, exhibit these qualities to maximize your experience, and the experience of the pack! Now, let's cover some distinct aspects of Funtoo, and as an exercise, see if you can map these technical decisions back to pillars of the Wolf Pack Philosophy.
- Support Matrix
- We have an official Support Matrix to define what we support, and what we do not. (Why? To define our territory, and not bite off more than we can chew, and to make paths easier for others.)
- Easier Install
- In general, while the install is still 'by hand' rather than via installer, effort has gone into making the install easier. (Why? To make the common paths easier for the rest of the pack.)
- Pre-Built Kernel
- Funtoo stage3 images come with a pre-built debian-sources kernel and initramfs that supports all modern hardware. This is done to make installation easier and give all users a common reference kernel to use. You don't have to build your own kernel to install Funtoo. (This is a common area where people get stuck, and this greatly helps troubleshooting bugs.)
- Desktops Ready To Use
- We build stage3's that include desktop environments, such as a GNOME stage3, Cinnamon stage3, and others. They have 'official' profile settings that we want you to use and help improve. We strongly encourage you to use our official profile settings for your desktop environment, so we can all work together to make a specific desktop setup work really, really well and benefit from each other's improvements and bug fixes.
- No Need for Make.conf Hackery
- Not just for desktops, but for all Funtoo systems, we strongly encourage users to have an empty
/etc/make.conffile. You will use
ego profileto set your subarch, optimization settings, and USE settings. If you find a problem with our official settings, such as needing to add things to
/etc/portage/package.use, and you are just installing a regular package you want to use, it's considered a bug, so file a bug. (Why? You still have freedom to tweak things, but we should have some easy-to-use defaults that work 99.999% of the time to make well-maintained paths for our pack. If you fix some annoying USE issue that you experienced in our official profile settings and it gets fixed, then it helps the pack, because these things are annoying not just for you but for everyone.)
- Funtoo has some things that are officially supported, and some things that are not, when compared to Gentoo. We are a smaller project. As the community grows, you can help us to support more things. (We don't bite off more than we can handle.)
- We have a special technology called metatools that we use to automate the creation of ebuilds and keep them up-to-date. (Why? Not only is it cool but it helps us to free up time to work on more useful things, like new technologies.)
Once you understand the Wolf Pack Philosophy, the rationale for the technical decisions becomes clear, because the technical direction flows from the pillars of the philosophy. If you internalize this philosophy, you will begin to align with our technical direction and be able to join us in our journey.