contribution_guide.rst 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. How to contribute
  2. -----------------
  3. Prime directives: Privacy, Hackability
  4. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5. Searx has 2 prime directives, privacy-by-design and hackability. The
  6. hackability comes in at least 3 levels:
  7. - support for search engines
  8. - plugins for altering search behaviour
  9. - hacking searx itself.
  10. Happy hacking. Observe the lack of "world domination" among the
  11. directives, searx has no intentions for wide mass-adoption, rounded
  12. corners, etc. The prime directive: "privacy" - deserves a seperate
  13. chapter, as it's quite uncommon unfortunately, here it goes:
  14. Privacy-by-design
  15. ^^^^^^^^^^^^^^^^^
  16. Searx is a privacy-respecting, hackable meta-search engine. It was born
  17. out of the need for a privacy-respecing search facility that can be
  18. expanded easily to maximise both its search and it's privacy protecting
  19. capabilities.
  20. Consequences of Privacy-by-design are that some widely used features
  21. work differently or not by default or at all. If some feature reduces
  22. the privacy perserving aspects of searx, it should by default be
  23. switched of, if implemented at all. There is enough search engines
  24. already out there providing such features. = Since privacy-preservation
  25. is a prime goal, if some feature does reduce the protection of searx and
  26. is implemented, care should be taken to educate the user about the
  27. consequences of choosing to enable this. Further features which
  28. implement widely known features in a manner that protects privacy but
  29. thus deviate from the users expectations should also be explained to the
  30. user. Also if you think that something works weird with searx, maybe
  31. it's because of the tool you use is designed in a way to interfere with
  32. privacy respect, submiting a bugreport to the vendor of the tool that
  33. misbehaves might be a good feedback for the vendor to reconsider his
  34. disrespect towards his customers (e.g. GET vs POST requests in various
  35. browsers).
  36. Remember the other prime directive of searx is to be hackable, so if the
  37. above privacy concerns do not fancy you, simply fork it.
  38. Code
  39. ~~~~
  40. Code modifications are accepted in pull requests, don't forget to add
  41. yourself to the AUTHORS file.
  42. Python code follows all the pep8 standards except maximum line width
  43. which is 120 char.
  44. Please be sure that the submitted code doesn't break existing tests and
  45. follows coding conventions.
  46. If new functionality implemented, tests are highly appreciated.
  47. Translation
  48. ~~~~~~~~~~~
  49. Translation currently happens on
  50. `transifex <https://transifex.com/projects/p/searx>`__. Please do not
  51. update translation files in the repo.
  52. Documentation
  53. ~~~~~~~~~~~~~
  54. The main place of the documentation is this wiki, updates are welcome.