contribution_guide.rst 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. =================
  2. How to contribute
  3. =================
  4. Prime directives: Privacy, Hackability
  5. ======================================
  6. Searx has two prime directives, **privacy-by-design and hackability** . The
  7. hackability comes in three levels:
  8. - support of search engines
  9. - plugins to alter search behaviour
  10. - hacking searx itself
  11. Note the lack of "world domination" among the directives. Searx has no
  12. intention of wide mass-adoption, rounded corners, etc. The prime directive
  13. "privacy" deserves a separate chapter, as it's quite uncommon unfortunately.
  14. Privacy-by-design
  15. -----------------
  16. Searx was born out of the need for a **privacy-respecting** search tool which
  17. can be extended easily to maximize both, its search and its privacy protecting
  18. capabilities.
  19. A few widely used features work differently or turned off by default or not
  20. implemented at all **as a consequence of privacy-by-design**.
  21. If a feature reduces the privacy preserving aspects of searx, it should be
  22. switched off by default or should not implemented at all. There are plenty of
  23. search engines already providing such features. If a feature reduces the
  24. protection of searx, users must be informed about the effect of choosing to
  25. enable it. Features that protect privacy but differ from the expectations of
  26. the user should also be explained.
  27. Also, if you think that something works weird with searx, it's might be because
  28. of the tool you use is designed in a way to interfere with the privacy respect.
  29. Submitting a bugreport to the vendor of the tool that misbehaves might be a good
  30. feedback to reconsider the disrespect to its customers (e.g. ``GET`` vs ``POST``
  31. requests in various browsers).
  32. Remember the other prime directive of searx is to be hackable, so if the above
  33. privacy concerns do not fancy you, simply fork it.
  34. *Happy hacking.*
  35. Code
  36. ====
  37. .. _PEP8: https://www.python.org/dev/peps/pep-0008/
  38. In order to submit a patch, please follow the steps below:
  39. - Follow coding conventions.
  40. - PEP8_ standards apply, except the convention of line length
  41. - Maximum line length is 120 characters
  42. - Check if your code breaks existing tests. If so, update the tests or fix your
  43. code.
  44. - If your code can be unit-tested, add unit tests.
  45. - Add yourself to the :origin:`AUTHORS.rst` file.
  46. - Create a pull request.
  47. For more help on getting started with searx development, see :ref:`devquickstart`.
  48. Translation
  49. ===========
  50. Translation currently takes place on :ref:`transifex <translation>`.
  51. .. caution::
  52. Please, do not update translation files in the repo.
  53. Documentation
  54. =============
  55. .. admonition:: ToDo
  56. docs are no longer in gh-branch
  57. Update this chapter and document the /docs workflow!!