Principles.md - bitreich-style - Style guide for programmers. HTML git clone git://bitreich.org/bitreich-style DIR Log DIR Files DIR Refs DIR Tags DIR README DIR LICENSE --- Principles.md (2077B) --- 1 # Principles 2 3 Please first see the Bitreich Manifesto at 4 5 gopher://bitreich.org/0/documents/bitreich-manifesto.md 6 7 8 ## KISP – Keep It Simple Perfect 9 10 * Make a project do one thing well. 11 * A project can be done, does not need change just because. 12 13 ## Commandline Interfaces 14 15 * Always add a commandline interface so advanced users can script your 16 application and thus have more fun using it. 17 18 ## When Possible Use GPLv3 19 20 * Use which license you like, but think of the future, when people might 21 use your software in war or other inhumane things. A life of open source 22 is not just about the CV and getting a Google job with a small home, bad 23 sex in marriage and a dog. 24 25 ## Users are Programmers 26 27 * First think of the programmers who might want to change your 28 application, help you, find bugs you have not spotted because you made 29 the application. Make this as simple as possible to contribute. 30 * Some ugly website which requires Gigabytes of RAM and big hardware is 31 not a simple access and will only make your own brain in the long run 32 fluid. 33 * Always add a Makefile using common methodologies and commands so 34 people can easily build your software. Do not make a build framework for 35 every new project. Make(1) knows most things needed, you may not have 36 read the documentation properly. 37 38 ## Straightforward Documentation 39 40 * When compiling software you realize, that people are using all kind of 41 bloated tools to generate documentation. Please do not be like that. 42 Think of all the people having to compile this to get your application. 43 Use what is more descriptive and easy to use: Man pages, a text or the 44 source. 45 46 ## Applications Can Be Done 47 48 * If your application does what it should do, but suddenly you have a 49 new big idea, make a new project, do not push the old one. There are old 50 users who do not think the same as you. 51 52 ## Freedom Of Language 53 54 * Use whatever language you like. 55 * Think of the dependencies. If you use slow to compile languages, you 56 will waste hours of lifetime of others. Do not be an asshole to those 57 people. 58