Now that I have seen a lot of distributions and also contributed heavily in Foresight
I have some thoughts about what works or should work in the distro business. Maybe this is an idea for a new distro. I try to write this off from scratch. Sort of a HOWTO maintain a distro (non-techy).
- Be transparent – If things dont work well instead of hiding them make them public, ask for help, get people involved.
- Be open – Beware of folks who like to build an elitist community and turn off people. Offer ways for people to get involved and participate. This can even be a bit harsh way of telling people RTFM. Like OpenBSD says read afterboot and the FAQ before asking questions.
- Attract users and developers with convincing messages – If you want users and developers to use your distro and developers to join you need to have some good points on your side. Why should anybody care about your releases in the first place? Your distro does WHAT better than others? This is true for every distro, even for those who dont want anybody to join – they say: You should use our distro if you are willing to read manuals, aks questions politely,… or so.
- Develop a distro culture – “Culture” not “Cult“! Its not about that you are the greatest distro – you should serve users and developers first – and the distro is devs&users! The create each day a virtual environment – they create the web pages, the install medias, thex fix bigs, they report bugs, they promote,… – Most distros forget about this – or tend to see their own folks as a dumb herd of sheeps, which are willing to do unpaid work and spread the word – so your company or your ego gain ground. If thats what you are thinking your distro will fall short! Culture means giving and taking – everything is a gift! All are working for one common idea – dont try to reduce the distro into a mere technical product.
- Maintain what you have – In fact it is often more easy to be innovative or creative as to maintain and preserve the quality. So my conclusion after testing out a lot of distros is that doing just this should be the highest goal. That sounds very conservative – and it partially is – but it is also not, because when you try to preserve a quality you have to be innovative, still. Software is always changing – and so you will always run behind issues that need to be fixed. What you can do is trying to be ahead at some points so you can say: We are already there. the worst thing that can happen is when software (and your distribution) suddenly looses a functionality, breaks. The wort scenario is when the operating system is not booting any more or your user looses data. You will want to prevent that at all cost, because that can turn people away forever. Its not that there is a operating that doesnt suck at all. But its hard enough to suck less!
- Take what is good enough – Some distros tend to use the best thing that is available – so they dump the tehcnology they have and take something else that sounds better, looks better or has more features. But the question is: to what cost? If you end up having more new issues than you can fix then you are in trouble! Thats a situation you cant win, but just survive. The thing is – when the user experiences weeks or months where he looses some core functionality he will also be likely to switch the distro or at least get dissatisfied with what he has.But users that are not satisfied wont tell other people to use what they have. Most users will take something thats good enough for them instead of the cool stuff that breaks. There are those who love new stuff and who do not care when things break – but you cant really build a community with them, because they will leave as soon as your distro is not as geeky/cool/new as it was a week before.
Generally spoken a distro is like a relationship. It is build on trust and interdepedence. And like in a relationship when somebody is loosing the trust into your distro can mean the end of the relationship. A distribution is not only cold software, people are using software for chatting with their friends and loved ones, sharing photos over the internet, watching movies in Youtube and laugh – helping each other, be creative with it, play games,expressing themselves. So when their computer breaks today, it often means that it breaks part of their private live – just like when people get pissed of when their internet access provider can not provide a reliable line, or when the telephone or their mobile device stops working, or when their car is not moving any more.
Keep that in mind. it is true that users always demand more – but they forget as well that they maybe dont want those new features so desperate that they like to risk the rest of the system working. So what I say is maybe also: Be on the side of your users but dont listen to them too much. If you really take them serious give them what they really need and not give them what the loudest of them shout most often. Many great things that were introduced due to public demand do not pay of in higher user satifaction or more reliability and functionality.
Part of the problem is that no matter how smart you are and how good your ideas are: A distribution is a dynamic and organic system – so as an analogy – if you give a mouse the ears of an elephant that wont make the mouse hear better. The best thing is what fits best now and accomplishes the task. Why do you think Evolution of live took so many billions of years? Because some concepts and technology has to show how good it really is in the long run.
One last thing: Still don’t be afraid to make mistakes! Be happy if you find one! You have the chance to fix and learn. The onyl thing you should not do is to not learn and think that when new software introduces new issues, that more of new software will diminish the issues more likely. Sometimes new software really gives us something great and fixes old issues – but then one has to look more thoroughly if this is really the case.