|
@@ -43,62 +43,80 @@
|
43
|
43
|
<h1>How to contribute<a class="headerlink" href="#how-to-contribute" title="Permalink to this headline">¶</a></h1>
|
44
|
44
|
<div class="section" id="prime-directives-privacy-hackability">
|
45
|
45
|
<h2>Prime directives: Privacy, Hackability<a class="headerlink" href="#prime-directives-privacy-hackability" title="Permalink to this headline">¶</a></h2>
|
46
|
|
-<p>Searx has 2 prime directives, privacy-by-design and hackability. The
|
47
|
|
-hackability comes in at least 3 levels:</p>
|
|
46
|
+<p>Searx has two prime directives, privacy-by-design and hackability. The
|
|
47
|
+hackability comes in three levels:</p>
|
48
|
48
|
<ul class="simple">
|
49
|
|
-<li>support for search engines</li>
|
50
|
|
-<li>plugins for altering search behaviour</li>
|
51
|
|
-<li>hacking searx itself.</li>
|
|
49
|
+<li>support of search engines</li>
|
|
50
|
+<li>plugins to alter search behaviour</li>
|
|
51
|
+<li>hacking searx itself</li>
|
52
|
52
|
</ul>
|
53
|
|
-<p>Happy hacking. Observe the lack of “world domination” among the
|
54
|
|
-directives, searx has no intentions for wide mass-adoption, rounded
|
55
|
|
-corners, etc. The prime directive: “privacy” - deserves a seperate
|
56
|
|
-chapter, as it’s quite uncommon unfortunately, here it goes:</p>
|
|
53
|
+<p>Note the lack of “world domination” among the directives.
|
|
54
|
+Searx has no intention of wide mass-adoption, rounded
|
|
55
|
+corners, etc. The prime directive “privacy” deserves a separate
|
|
56
|
+chapter, as it’s quite uncommon unfortunately.</p>
|
57
|
57
|
<div class="section" id="privacy-by-design">
|
58
|
58
|
<h3>Privacy-by-design<a class="headerlink" href="#privacy-by-design" title="Permalink to this headline">¶</a></h3>
|
59
|
|
-<p>Searx is a privacy-respecting, hackable meta-search engine. It was born
|
60
|
|
-out of the need for a privacy-respecing search facility that can be
|
61
|
|
-expanded easily to maximise both its search and it’s privacy protecting
|
62
|
|
-capabilities.</p>
|
63
|
|
-<p>Consequences of Privacy-by-design are that some widely used features
|
64
|
|
-work differently or not by default or at all. If some feature reduces
|
65
|
|
-the privacy perserving aspects of searx, it should by default be
|
66
|
|
-switched of, if implemented at all. There is enough search engines
|
67
|
|
-already out there providing such features. = Since privacy-preservation
|
68
|
|
-is a prime goal, if some feature does reduce the protection of searx and
|
69
|
|
-is implemented, care should be taken to educate the user about the
|
70
|
|
-consequences of choosing to enable this. Further features which
|
71
|
|
-implement widely known features in a manner that protects privacy but
|
72
|
|
-thus deviate from the users expectations should also be explained to the
|
73
|
|
-user. Also if you think that something works weird with searx, maybe
|
74
|
|
-it’s because of the tool you use is designed in a way to interfere with
|
75
|
|
-privacy respect, submiting a bugreport to the vendor of the tool that
|
76
|
|
-misbehaves might be a good feedback for the vendor to reconsider his
|
77
|
|
-disrespect towards his customers (e.g. GET vs POST requests in various
|
78
|
|
-browsers).</p>
|
|
59
|
+<p>Searx was born out of the need for a privacy-respecting search tool
|
|
60
|
+which can be extended easily to maximize both its search and its
|
|
61
|
+privacy protecting capabilities.</p>
|
|
62
|
+<p>A few widely used features work differently or turned off by default or not implemented
|
|
63
|
+at all as a consequence of privacy-by-design.</p>
|
|
64
|
+<p>If a feature reduces the privacy preserving aspects of searx, it
|
|
65
|
+should be switched off by default or should not implemented at all.
|
|
66
|
+There are plenty of search engines already providing such features.
|
|
67
|
+If a feature reduces the protection of searx, users must be
|
|
68
|
+informed about the effect of choosing to enable it. Features
|
|
69
|
+that protect privacy but differ from the expectations of the
|
|
70
|
+user should also be explained.</p>
|
|
71
|
+<p>Also, if you think that something works weird with searx,
|
|
72
|
+it’s might be because of the tool you use is designed in a way to interfere with
|
|
73
|
+the privacy respect. Submitting a bugreport to the vendor of the tool that
|
|
74
|
+misbehaves might be a good feedback to reconsider the disrespect to
|
|
75
|
+its customers (e.g. GET vs POST requests in various browsers).</p>
|
79
|
76
|
<p>Remember the other prime directive of searx is to be hackable, so if the
|
80
|
77
|
above privacy concerns do not fancy you, simply fork it.</p>
|
|
78
|
+<p>Happy hacking.</p>
|
81
|
79
|
</div>
|
82
|
80
|
</div>
|
83
|
81
|
<div class="section" id="code">
|
84
|
82
|
<h2>Code<a class="headerlink" href="#code" title="Permalink to this headline">¶</a></h2>
|
85
|
|
-<p>Code modifications are accepted in pull requests, don’t forget to add
|
86
|
|
-yourself to the AUTHORS file.</p>
|
87
|
|
-<p>Python code follows all the pep8 standards except maximum line width
|
88
|
|
-which is 120 char.</p>
|
89
|
|
-<p>Please be sure that the submitted code doesn’t break existing tests and
|
90
|
|
-follows coding conventions.</p>
|
91
|
|
-<p>If new functionality implemented, tests are highly appreciated.</p>
|
|
83
|
+<p>In order to submit a patch, please follow the steps below:</p>
|
|
84
|
+<ul class="simple">
|
|
85
|
+<li>Follow coding conventions.<ul>
|
|
86
|
+<li>PEP8 standards apply, except the convention of line length</li>
|
|
87
|
+<li>Maximum line length is 120 characters</li>
|
|
88
|
+</ul>
|
|
89
|
+</li>
|
|
90
|
+<li>Check if your code breaks existing tests. If so, update the tests or fix your code.</li>
|
|
91
|
+<li>If your code can be unit-tested, add unit tests.</li>
|
|
92
|
+<li>Add yourself to the AUTHORS file.</li>
|
|
93
|
+<li>Create a pull request.</li>
|
|
94
|
+</ul>
|
92
|
95
|
</div>
|
93
|
96
|
<div class="section" id="translation">
|
94
|
97
|
<h2>Translation<a class="headerlink" href="#translation" title="Permalink to this headline">¶</a></h2>
|
95
|
|
-<p>Translation currently happens on
|
96
|
|
-<a class="reference external" href="https://transifex.com/projects/p/searx">transifex</a>. Please do not
|
97
|
|
-update translation files in the repo.</p>
|
|
98
|
+<p>Translation currently takes place on
|
|
99
|
+<a class="reference external" href="https://transifex.com/projects/p/searx">transifex</a>.</p>
|
|
100
|
+<p><strong>Please, do not update translation files in the repo.</strong></p>
|
98
|
101
|
</div>
|
99
|
102
|
<div class="section" id="documentation">
|
100
|
103
|
<h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h2>
|
101
|
|
-<p>The main place of the documentation is this wiki, updates are welcome.</p>
|
|
104
|
+<p>The documentation is built using Sphinx. So in order to be able to generate the required
|
|
105
|
+files, you have to install it on your system. (It can be installed easily using pip.)</p>
|
|
106
|
+<ol class="arabic simple">
|
|
107
|
+<li>Checkout the gh-pages branch.</li>
|
|
108
|
+<li>Edit the rst file you wish to update. Or create a new rst file and place it under the appropriate folder.</li>
|
|
109
|
+<li>Build the documentation using Sphinx.</li>
|
|
110
|
+<li>Add the updated and created files of these extension:<ul>
|
|
111
|
+<li>.rst</li>
|
|
112
|
+<li>.html</li>
|
|
113
|
+<li>.txt</li>
|
|
114
|
+</ul>
|
|
115
|
+</li>
|
|
116
|
+</ol>
|
|
117
|
+<ol class="arabic simple" start="6">
|
|
118
|
+<li>Create a pull request.</li>
|
|
119
|
+</ol>
|
102
|
120
|
</div>
|
103
|
121
|
</div>
|
104
|
122
|
|