Philosophie
- Nous sommes une communauté qui développe des logiciels de haute qualité comme dwm, dmenu, st, avec pour valeurs fondamentales la simplicité, la clarté et la frugalité (Simplicity, Clarity, Frugality)
- Nous nous opposons à la réalité d’une industrie IT envahie par des logiciels inutilement complexes, bourrés d’erreurs et lents
- Notre objectif est d’aller à contre-courant de cette tendance et de conserver des projets simples, minimaux et faciles à utiliser
- Nos projets s’adressent aux utilisateurs expérimentés et aux professionnels de l’informatique
- Nous estimons que la plupart des logiciels commerciaux et la majorité des projets open source sont développés pour des non-spécialistes et le grand public, au détriment des utilisateurs avancés
- À l’inverse, nous pensons que le marché des utilisateurs expérimentés continue de croître et que les utilisateurs avancés peuvent trouver les solutions optimales adaptées à leur manière de travailler
- Concevoir des logiciels simples et élégants est bien plus difficile
- Mais c’est un prix à payer pour la fiabilité et la maintenabilité
- Préserver le minimalisme (minimalism) permet d’avoir des objectifs raisonnables et atteignables
- Nous nous efforçons de préserver le minimalisme et la clarté
Manifeste
- Beaucoup de développeurs prennent à tort la longueur du code pour un accomplissement
- Pourtant, une plus grande quantité de code n’améliore pas nécessairement la qualité du logiciel
- On peut avoir l’impression que plus on avance, plus on progresse en compétences, mais ce n’est qu’une illusion
- Beaucoup de développeurs ne se soucient pas de la qualité du code et se satisfont simplement d’un résultat qui semble fonctionner
- Si cette manière de faire perdure, elle laisse avec le temps des masses de code, une structure de code complètement brisée et une conception système truffée de défauts
- Cela vient d’un manque de clarté conceptuelle et d’intégrité dans le processus de développement
- La complexité du code est la cause profonde de logiciels inefficaces et incohérents
- Un code complexe entraîne des baisses de performance, du gaspillage de ressources et des vulnérabilités de sécurité
- La seule solution consiste à abandonner l’ensemble du projet et à tout réécrire depuis zéro
- Le problème, c’est que les réécritures de code de haute qualité sont rares
- Beaucoup de développeurs sont fiers de la quantité de leur code, croient à tort avoir compris la complexité et pensent qu’il n’est pas nécessaire de réécrire
- Ils se prennent pour des génies et prennent à tort les logiciels complexes pour un idéal
- Les grandes idées sont simples. Les grands logiciels aussi sont simples
- La simplicité est au cœur de la philosophie Unix
- Plus le nombre de lignes de code supprimées est élevé, plus le progrès est grand ; moins il y a de code, plus le développeur est compétent et meilleur est le logiciel
2 commentaires
C’est vraiment un manifeste débordant d’énergie, haha. C’est super.
Avis Hacker News
La FAQ de Stali Linux de Suckless m’a beaucoup influencé. Ils ont construit un espace utilisateur Linux entièrement lié statiquement
Grâce à dwm et dmenu, mon bureau n’a presque pas changé en 10 ans. J’adore la stabilité qu’apporte le minimalisme
Je ne comprends pas l’idée de ne pas utiliser la déclaration initiale dans une boucle
for. Accepter les macros variadiques tout en disant quefor(int i = 0...)est trop complexe, ça n’a pas de sens pour moiJe peux adhérer au minimalisme, mais tout n’est pas nécessaire
La philosophie de programmation de Suckless est belle. J’aimerais que tous les logiciels soient écrits selon cette philosophie. Mais le gestionnaire de fenêtres et le menu X n’en sont pas les meilleurs exemples
Les dramas de la communauté sont ridicules. J’utilise ces outils parce que j’aime leur philosophie logicielle. Les convictions personnelles ou les orientations politiques de l’auteur ne m’intéressent pas
Après avoir évalué plusieurs terminaux, je suis revenu à un fork de st. Je l’utilise depuis des années, et c’est stable et sans bug
Cette philosophie n’est pas parfaite, mais c’est l’approche qui se rapproche le plus de la création de logiciels fiables. Contenir la complexité est la tâche la plus difficile et la plus importante
surf est un navigateur web simple basé sur WebKit2/GTK+. Il peut afficher des sites web et suivre des liens
dwm se personnalise en modifiant le code source, donc créer des paquets binaires n’a pas de sens. Sa base d’utilisateurs est petite et élitiste
C’est du Suckless, mais je veux un logiciel asynchrone et polyvalent. Je cherche des applications qui fonctionnent en coopération, avec beaucoup d’apps monothread
C’est bien qu’ils existent. J’apprécie ce qu’ils font. Mais je préfère les logiciels avec un peu d’inconfort. La configuration de BSPWM est à peu près acceptable, mais recompiler du code C, c’est trop