.. _contributing:

Contributing
================

Thank you for considering to help with the development of BusKill!

As an open-source project, we depend on the work of volunteers to stay alive, and your time helping to improve our project is very much appreciated :)

.. _wishlist:

Wish List
---------

Below is a list of items on our TODO list. If you'd like to help us tackle these tasks, please `contact us <https://buskill.in/contact/>`_ as there may be someone already working on a given task that you may be able to collaborate with.

Please be aware that any contributions you make will be made open-source. See :ref:`license` for more info.

.. _wishlist_software:

Software
^^^^^^^^

Here's some items on our wish list that you can help contribute to:

#. Translating our app and this documentation to another language
#. Testing our app on many :ref:`supported_platforms`
#. Writing new auxillary triggers, such as

   a. A self-destruct trigger for `Veracrypt <https://github.com/BusKill/veracrypt-self-destruct>`_
   b. A self-destruct trigger for `BitLocker <https://en.wikipedia.org/wiki/BitLocker>`_
   c. A self-destruct trigger for `FileVault <https://en.wikipedia.org/wiki/FileVault>`_

#. `Fix PyInstaller <https://github.com/pyinstaller/pyinstaller/issues/4972>`_ to support `reproducible builds <https://github.com/BusKill/buskill-app/issues/3>`_ on MacOS and Windows

#. Port BusKill to Android

#. Port BusKill to iOS

#. Update appimagetool to `include squashfs-tools v4.4 <https://github.com/AppImage/AppImageKit/issues/929>`_

#. Create a video extension in sphinx that has a `graceful fallback on PDF <https://github.com/brechtm/rinohtype/issues/172>`_ and `printing to paper <https://stackoverflow.com/questions/62682412/video-fall-back-when-printing-to-paper-with-read-the-docs>`_

#. Create a `spreadsheet extension in sphinx <https://stackoverflow.com/questions/62682095/how-to-add-a-spreadsheet-in-read-the-docs>`_ that converts LibreOffice Calc documents (with formulas in them) into csv format (using ``localc``) at build-time for creating `BOM <https://en.wikipedia.org/wiki/Bill_of_materials>`_ tables in reST documents.

#. Create a sphinx `part library <https://wiki.opensourceecology.org/wiki/Hydraulic_Fitting_Library>`_ extension that does for .stl and `FreeCAD <https://www.freecadweb.org/>`_ files what `autodoc <https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html>`_ does `for .py files <https://medium.com/@eikonomega/getting-started-with-sphinx-autodoc-part-1-2cebbbca5365#011c>`_.

.. _wishlist_hardware:

Hardware
^^^^^^^^

#. Open-source USB magnetic disconnect (`.stl <https://en.wikipedia.org/wiki/3D_printing>`_ file, `BOM <https://en.wikipedia.org/wiki/Bill_of_materials>`_ w/ link to USB components/magnets/`pogo <https://en.wikipedia.org/wiki/Pogo_pin>`_ connector, build instructions, etc)

#. A simple-as-possible open-source USB peripheral that can send `USB hotplug events <http://libusb.sourceforge.net/api-1.0/group__libusb__hotplug.html#ga00e0c69ddf1fb1b6774dc918192e8dc7>`_ but doesn't have the ability to send data to the machine, including a low-tech guide to `verify the integrity <https://www.bunniestudios.com/blog/?p=5706>`_ of the device.

.. _donate:

Donate
------

Running the BusKill project has many fees, including

#. Server & domain infrastructure fees
#. Code Signing Keys fees
#. Developer account fees (ie: Apple)

If you have more money than free time, you can also help BusKill by making a donation. We accept Bitcoin and Monero.

::

  BTC 1DXyJpmu2KQMw2v4QJVzzjZo6f87BBndu6

  XMR 4B5ra5N1SN4d7BqDtkxAE5G5kGNz5mA5oCob41RzzoduM1uPAcr7QmNLzXtci5HvtkNXC7SowkxMjUUCXF2hm57MMS4jwkx

You can also make a one-time or recurring monthly donation via fiat (eg credit card) on our `Open Collective page <https://opencollective.com/buskill>`_.

Donations of any amount are **greatly** appreciated. Thank you!
