Developers

Towalink is an open source solution. It intends to become a powerful, open alternative to proprietary, closed solutions. We started with two developers/engineers and aim at creating a vibrant community of users and contributors.

Help Wanted

The following topics are considered the most desirable areas for your contributions:

  • REST API
    The Towalink Controller can be configured using the “tlm” command line interface as of now. The existing functionality should also be exposed via a REST API. Proposed framework: Flask.
  • web frontend
    A user-friendly web frontend for configuring the Towalink installation would be nice. It should access the REST API mentioned.
  • monitoring improvements, alerting
    Monitoring and alerting in a pre-configured and user-friendly way is considered very important. Help to improve on that.
  • documentation improvements
    Any means to improve the project documentation are welcome (corrections, enhancements, tutorials/howtos, success stories, etc.).
  • spread the word
    Towalink is not well known to the public yet. Help to spread the word about its existence, e.g. on websites dealing with related topics.

We are also looking for companies that are willing to become reference customers. This shall be for mutual benefit. It should be “friendly customers” that are open to help improve on Towalink. We imagine a feedback loop in which we jointly monitor the experience with Towalink in the company environment and aim at iteratively improving Towalink to suit the practical needs.

Contributing

When intending to contribute to the Towalink code repositories, please discuss the change you wish to make via issue, email, or any other method with the owners of the repository before making a change.

We use a meritocratic community model. The more you get involved and contribute, the more can you influence the direction of the project.

Please follow our code of conduct in all your interactions with the project.

How to report a bug

Write an email for now; we will switch to a bug tracker in future.

Please include expected behavior, experienced behavior, and any information needed to reproduce the issue. In case you solved the issue for you, please tell what you did or what code you changed.

Style Guide / Coding conventions

For Python: If in doubt, follow the PEP8 style guide. Note that we use a few exceptions, e.g. we do not enforce line length restrictions any more.

Testing

There are no automated tests yet that cover the end-to-end solution. Please ensure that any code changes you propose are thoroughly tested.

Some modules have unit tests. Please make sure that any code changes are tested with these. Please also extend the test coverage to cover new features/etc. of your changes.

How to submit changes

You may merge a pull request in once you have the sign-off of another developer, or if you do not have permission to do that, you may request the reviewer to merge it for you.

How to request an “enhancement”

Write an email if you like to suggest a feature to a project but that is not a bug/problem with the existing code.

In case you request an enhancement for business needs, consider donating to support the development.

Recognition model

Contributions will be listed.

Contributor Covenant Code of Conduct

Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Our Standards

Examples of behavior that contributes to a positive environment for our community include:

  • Demonstrating empathy and kindness toward other people
  • Being respectful of differing opinions, viewpoints, and experiences
  • Giving and gracefully accepting constructive feedback
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • Focusing on what is best not just for us as individuals, but for the overall community

Examples of unacceptable behavior include:

  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others’ private information, such as a physical or email address, without their explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional setting

Scope

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

Enforcement

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

See https://www.contributor-covenant.org/version/2/0/code_of_conduct.html for information on enforcement.

Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. Community Impact Guidelines were inspired by [Mozilla’s code of conduct enforcement ladder](https://github.com/mozilla/diversity). [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.