Contributing & Interaction Guidelines

Welcome! Thank you for your interest in participating in the drf-magic community! We are excited to see new individuals wanting to get involved in the project, and we want to support you as best we can 🎉

Before contributing, we kindly ask that you read out Code of Conduct below to get a sense of the kind, caring, and inclusive community we are trying to foster around these projects. We then kindly ask that you also read our Contributing Overview to learn how to give back to the project.

From the Glyph team, thank you so much for your time and support!

Code of Conduct

Like the technical community as a whole, the Glyph team and community is made up of a mixture of professionals and volunteers from all over the world, working on every aspect of the mission - including mentorship, teaching, and connecting people.

Diversity is one of our huge strengths, but it can also lead to communication issues and unhappiness. To that end, we have a few ground rules that we ask people to adhere to. This code applies equally to founders, mentors and those seeking help and guidance.

This isn’t an exhaustive list of things that you can’t do. Rather, take it in the spirit in which it’s intended - a guide to make it easier to enrich all of us and the technical communities in which we participate.

This code of conduct applies to all spaces managed by the Glyph project. This includes IRC, the mailing lists, the issue tracker, and any other forums created by the project team which the community uses for communication. In addition, violations of this code outside these spaces may affect a person’s ability to participate within them.

If you believe someone is violating the code of conduct, we ask that you report it by emailing bbpuzzlehunt@gmail.com.

  • Be friendly and patient.

  • Be welcoming. We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability.

  • Be considerate. Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we’re a world-wide community, so you might not be communicating in someone else’s primary language.

  • Be respectful. Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one. Members of the Glyph community should be respectful when dealing with other members as well as with people outside the Glyph community.

  • Be careful in the words that you choose. We are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren’t acceptable. This includes, but is not limited to:

    • Violent threats or language directed against another person.

    • Discriminatory jokes and language.

    • Posting sexually explicit or violent material.

    • Posting (or threatening to post) other people’s personally identifying information (“doxing”).

    • Personal insults, especially those using racist or sexist terms.

    • Unwelcome sexual attention.

    • Advocating for, or encouraging, any of the above behavior.

    • Repeated harassment of others. In general, if someone asks you to stop, then stop.

  • When we disagree, try to understand why. Disagreements, both social and technical, happen all the time and Glyph is no exception. It is important that we resolve disagreements and differing views constructively. Remember that we’re different. The strength of Glyph comes from its varied community, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes.

Original text courtesy of the Speak Up! project. This version was adopted from the Django Code of Conduct.

Contributing Overview

Woah, we are super stoked that you want to work on the project and contribute feedback, code, or ideas! We love and always appreciate positive involvement of any kind. 😃 Before you begin though, please read the following sections to increase efficiency, reduce the waiting time for responses to your comments & coded, and to help us better manage the project.

Thank you for your contributions and cooperation.

Issues

You can use github issues to request features and file bug reports. An issue is also a good place to ask questions. We are happy to help out if you have reached a dead end, but please try to solve the problem yourself first.

When creating an issue there are couple of things you need to remember:

  1. Update to the latest version if possible and see if the problem remains.

    If updating is not an option you can still request critical bug fixes for older versions.

  2. Describe your problem.

    Please fill out an issue using one of the provided templates. Answer the associated questions to the best of your abilities & knowledge, as it will allow us to better help you in a more timely manner. People often leave out details or use made up examples because they think they are only leaving out irrelevant stuff. If you do that, you have already made an assumption about what the problem is and it’s usually something else. Also provide all possible stack traces and error messages.

Please bear in mind that we aim to have high test coverage against both the frontend and backend of the application to reduce issues before they occur. If you run into an issue, this doesn’t mean the larger picture issue is broken, but potential one small use-case or edge-case that you found may be. That’s why enough context is necessary. It’s not enough to say, “Feature X fails”. You need to provide the code and background that fails and usually the models that are used too. And let’s say this again: don’t provide made up examples! When you do, you only write the parts you think are relevant and usually leave out the useful information. Use the actual code that you have tested to fail.

Pull requests

If you have found a bug or want to add a feature, pull requests are always welcome! It’s better to create an issue first to open a discussion if the feature is something that should be added to Glyph. In case of bugfixes it’s also a good idea to open an issue indicating that you are working on a fix to avoid duplicated work.

For a pull request to get merged it needs to have the following things:

  1. A good description of what the PR fixes or adds. You can just add a link to the corresponding issue.

    Please use one of our existing Pull Request templates and fill in the information to the best of your ability so that we may streamline the review and discussion process.

  2. Tests that verify the fix/feature.

    It’s possible to create a PR without tests and ask for someone else to write them but in that case it may take a long time or forever until someone finds time to do it. Untested code will never get merged!

  3. For features you also need to write documentation.

    As the project matures and becomes more popular, good documentation is key for allowing those in the Glyph community to work with the project in an independent, autonomous manner.