bitreich-manifesto.md - bitreich-documents - The repository to track the core b… | |
git clone git://bitreich.org/bitreich-documents/ git://enlrupgkhuxnvlhsf6lc3fzi… | |
Log | |
Files | |
Refs | |
Tags | |
--- | |
bitreich-manifesto.md (4358B) | |
--- | |
1 # Bitreich Manifesto | |
2 | |
3 ## Introduction | |
4 | |
5 We live surrounded by complex software which receives new versions and | |
6 updates day after day. RAM and CPU consumption never reduce, they in�… | |
7 crease. Software still provides the same features from years ago, but | |
8 everything looks new. This is called »advance« in the new speak of pr… | |
9 prietary software development. | |
10 | |
11 This has to change! | |
12 | |
13 ## Suckless | |
14 | |
15 Suckless failed. | |
16 | |
17 ## Consumerism | |
18 | |
19 Consumerism is the ability of persons to lose their skill in thinking on | |
20 their own, producing things, applying logical and practical ways of be�… | |
21 having. This disease of consumerism is striking the devices and comput�… | |
22 ers we humans produced to make them not scale in the possibilities they | |
23 could be used for. Computers can do things consumers cannot want and | |
24 imagine before they use the computer for something. The market economy | |
25 of demand and supply does simply not work here. | |
26 | |
27 ## UNIX Principles | |
28 | |
29 In the beginning of the development of software principles were intro�… | |
30 duced how to create software which can be reused in ways the original | |
31 developers never imagined. Small utilities are combined using simple | |
32 pipes, speaking to eachother, just doing one task well. | |
33 | |
34 ## Dawn Of Ugliness | |
35 | |
36 By not applying this methodology to its extreme, by trying to force new | |
37 features of computers into the UNIX principles, binary blobs evolved into | |
38 a complexity no young programmer can understand. They are forced into | |
39 the industry due to »life events«, where they are degrading to robo… | |
40 which only apply what they learned at programming school (e.g. life, | |
41 university ...). This circle is producing even bigger binary blobs. | |
42 Nowadays this evolved into shipping whole operating systems in images | |
43 which you run separately. | |
44 | |
45 This has to end! | |
46 | |
47 ## Bitreich | |
48 | |
49 We form a movement to improve our daily software life. Software has to | |
50 not misbehave, it has to follow our rules, it has to be reusable, it has | |
51 to be easily maintainable, it has to provide its recompilable source and | |
52 it has to be easily understandable. | |
53 | |
54 ### Bitreich Principles | |
55 | |
56 #### KISP – Keep It Simple Perfect | |
57 | |
58 Software needs to do one thing well / perfect. | |
59 | |
60 #### Commandline Interfaces | |
61 | |
62 Always add a commandline interface to your software. Graphical User In�… | |
63 terfaces are for sissies. Pipes are welcome. | |
64 | |
65 #### When Possible Use GPLv3 | |
66 | |
67 The signs of MIT‐appearance in the community is based on the circle … | |
68 complexity introduced into the minds of libre software programmers by | |
69 their oppressors transferring money to their bank accounts every month. | |
70 Your software is used in war machines to kill people and the companies | |
71 will never give back. So enforce GPLv3, it’s needed. | |
72 | |
73 #### Users Are Programmers | |
74 | |
75 Software should be written for programmers, which means the code is the | |
76 documentation, it should be easy readable, low abstraction levels should | |
77 be used (OOP sucks most of the times) and a simple Makefile to build ev�… | |
78 erything needs to be present. This is subject-oriented programming. | |
79 | |
80 #### Bugreports Are Patches | |
81 | |
82 Bugtrackers are obsolete. Whenever you find a bug, fix it. The other | |
83 principles make it possible for you to send a patch instead of a report. | |
84 | |
85 #### Straightforward Documentation | |
86 | |
87 There are all kind of tools like javadoc, info etc. which fragment the | |
88 way to find useful information. All software should provide manpages. If | |
89 you need more features than manpages require, rethink what you are try�… | |
90 ing to document. Manpages have a well defined structure which makes | |
91 finding and extracting the required information easier and uniform. | |
92 | |
93 #### Applications Can Be Done | |
94 | |
95 When a project solves a problem, keep it done and declare it so. New | |
96 problems are solved by different projects. | |
97 | |
98 #### Freedom Of Language | |
99 | |
100 The software world is spammed with new revolutionary programming lan�… | |
101 guages every month. Choose whatever you need to solve your problem, but | |
102 keep to the above mentioned principles. Most new programming languages | |
103 solve a non‐problem the principles of bitreich solve. | |
104 | |
105 #### Do Not Hate Your Userbase | |
106 | |
107 Corporations start to hate their users, sell their data, reduce features | |
108 to make profit. Projects adhering to the bitreich principles do not | |
109 follow this. | |
110 | |
111 #### Inevitability Of Change | |
112 | |
113 These principles can change, based on the consent of the bitreich elite. | |
114 |