You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this topic I want to talk about the AzerothCore Code of Conduct.
I really appreciate the job that the AC staff and our contributors have been doing during these years with a huge volunteer spirit and for the sake of the AC development.
However, recently, I've noticed some bad behaviours here that are completely breaking CODE OF CONDUCT rules.
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, 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.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers 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, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
We don't want to waste our time moderating a community, we want to focus on software development, share our knowledge, our ideas, our philosophy, and being grateful for the contributions of other people.
Focus on software development, share our knowledge and ideas
Some AC contributors (including me) are professional software developers that enjoy the possibility to share their knowledge, their vision, and best practices learned during the job itself. There are project managers, senior dev, junior dev but also just enthusiast people that are starting to code now but want to shine soon. In this context, there are some "unwritten rules" that are well known by the open-source community, though:
We don't know your CV and honestly, it doesn't count when it comes to open-source. If your code must be reviewed and optimized, your job title won't change it.
We have some Standard Operation Procedures here that have been finalized mostly by @FrancescoBorzi, they could not be "perfect" for the open-source community since we're not employees but they are a very good approach for healthy software development. We use those procedures in our enterprise software development lifecycle. But if you want to suggest improvements to this workflow, please do it on our discussion board with a constructive topic. Otherwise, be patient. You're not the first one that has to wait for/rework your PR, and not the last. I still remember my first contribution to the mangos project in 2008, it took 1 month to be accepted and was also pretty easy to be tested.
There are no agreements here, people can go and come back freely, you can be sorry or glad but you should not arguing or crying. A good manner is to notify, possibly.
We love to share our code and so you do. Be glad of what you achieved and what you learned with your contribution, even though they are not accepted eventually. This is what you'll learn here.
Our philosophy
AzerothCore is NOT a gaming emulator, it's way more. It's an ecosystem of tools where anyone can express himself thanks to our modularity approach and the "generic purpose framework" goal.
What does it mean?
That basically we have hundreds of projects here that are managed differently and sometimes also by different teams.
Some of them are strictly related to the azerothcore-wotlk (such as the modules for the game, keira3, the pvpstats etc.), some others are not related at all, or not strictly bounded, to the "azerothcore-wotlk" project (such as the noderouter, the API, the acore-cms etc.)
Therefore, you will find a lot of different ways to develop and each repo has its own rules.
The azerothcore-wotlk itself (the most popular project here) has its own standards that CANNOT be translated directly from other projects like Mangos and Trinitycore.
For instance its extendibility and the goal that we have to abstract certain layers of the software to create a generic-purpose framework. In a nutshell, we have the following acceptance criteria for the PRs:
The code must be generic-purpose, hardcoded values should be avoided where possible.
azerothcore-wotlk must offer as default values/configurations the original wotlk ones.
features that are not part of wotlk should be modularized
features that are the base for the "wotlk business logic" should be moved in a proper generic layer (e.g. the common/deps folder) trying to follow the SOLID principles.
I'm going to talk more in-depth about the concepts just mentioned in a separate topic, however, considering that, if you don't like this philosophy, don't be arrogant forcing us to accept a PR/idea even though we asked to review it to be in-line with our acceptance criteria.
This project (azerothcore-wotlk) started with these principles and has been extended by all the other software that is around it composing the AzerothCore ecosystem.
If you don't like this philosophy, you are also free to create your fork, but as a Derivative. Forking has been commonplace in open-source communities. "Traditionally, it often meant that when there was an argument, someone cloned the code and started a parallel community."
Then GitHub came along and took the same mechanical step in a more positive way."Having the right to really fork, take the code base, rename it, keep all of the code, and do your own thing with that. It's a really powerful aspect of open-source."
Derivatives mean you can specialize. "If you look at the amount of different Linux distributions that are out there, those changes largely all roll back into common projects whether it's the gnu project or the kernel itself. Forks often never come back."
Being grateful
In a multicultural community such as AzerothCore, you will see a lot of different behaviors.
The meritocratic nature of the open-source community can be at odds with the delivery. As Hicks (from RedHat) explains, "You're not seeing faces, you're behind mailing lists. You haven't met people. Things can sometimes be a little bit blunt but interpreted as mean. Somebody telling you that the thing you really worked on hard has absolutely no value in a project is hard. Someone saying 'Thanks for your contribution but we’re not going to take it because it has zero value' is difficult to hear, and to some newcomers, it can be really, really insulting."
Hicks continued, "I often explain to people that there are lots of different cultures in the world. Some are very blunt. Some have a lot of ceremonies involved before you can even get to be making a material point. Open-source can be a culture all to themselves. Just like we have to respect the local culture. And I think this is one where we certainly always have to work to make sure that the objective doesn’t get too abusive. You need to have some persistence to understand the culture."
It's clear that open-source communities, whilst sometimes embedded in emotional turbulence, are the backbone of the open-source movement.
Whatever is your culture and your behavior, you must be respectful, follow our code of conduct, and don't cry if you don't receive the attention you expected from some members of our community, there are a dozen others that will be glad to help you if you follow those rules and the philosophy.
Conclusion
For both the staff and all the contributors: keep in mind these rules, these good patterns and apply them during your journey with AzerothCore.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
In this topic I want to talk about the AzerothCore Code of Conduct.
I really appreciate the job that the AC staff and our contributors have been doing during these years with a huge volunteer spirit and for the sake of the AC development.
However, recently, I've noticed some bad behaviours here that are completely breaking CODE OF CONDUCT rules.
We don't want to waste our time moderating a community, we want to focus on software development, share our knowledge, our ideas, our philosophy, and being grateful for the contributions of other people.
Focus on software development, share our knowledge and ideas
Some AC contributors (including me) are professional software developers that enjoy the possibility to share their knowledge, their vision, and best practices learned during the job itself. There are project managers, senior dev, junior dev but also just enthusiast people that are starting to code now but want to shine soon. In this context, there are some "unwritten rules" that are well known by the open-source community, though:
We don't know your CV and honestly, it doesn't count when it comes to open-source. If your code must be reviewed and optimized, your job title won't change it.
We have some Standard Operation Procedures here that have been finalized mostly by @FrancescoBorzi, they could not be "perfect" for the open-source community since we're not employees but they are a very good approach for healthy software development. We use those procedures in our enterprise software development lifecycle. But if you want to suggest improvements to this workflow, please do it on our discussion board with a constructive topic. Otherwise, be patient. You're not the first one that has to wait for/rework your PR, and not the last.
I still remember my first contribution to the mangos project in 2008, it took 1 month to be accepted and was also pretty easy to be tested.
There are no agreements here, people can go and come back freely, you can be sorry or glad but you should not arguing or crying. A good manner is to notify, possibly.
We love to share our code and so you do. Be glad of what you achieved and what you learned with your contribution, even though they are not accepted eventually. This is what you'll learn here.
Our philosophy
AzerothCore is NOT a gaming emulator, it's way more. It's an ecosystem of tools where anyone can express himself thanks to our modularity approach and the "generic purpose framework" goal.
What does it mean?
That basically we have hundreds of projects here that are managed differently and sometimes also by different teams.
Some of them are strictly related to the azerothcore-wotlk (such as the modules for the game, keira3, the pvpstats etc.), some others are not related at all, or not strictly bounded, to the "azerothcore-wotlk" project (such as the noderouter, the API, the acore-cms etc.)
Therefore, you will find a lot of different ways to develop and each repo has its own rules.
The azerothcore-wotlk itself (the most popular project here) has its own standards that CANNOT be translated directly from other projects like Mangos and Trinitycore.
For instance its extendibility and the goal that we have to abstract certain layers of the software to create a generic-purpose framework. In a nutshell, we have the following acceptance criteria for the PRs:
I'm going to talk more in-depth about the concepts just mentioned in a separate topic, however, considering that, if you don't like this philosophy, don't be arrogant forcing us to accept a PR/idea even though we asked to review it to be in-line with our acceptance criteria.
This project (azerothcore-wotlk) started with these principles and has been extended by all the other software that is around it composing the AzerothCore ecosystem.
If you don't like this philosophy, you are also free to create your fork, but as a Derivative. Forking has been commonplace in open-source communities. "Traditionally, it often meant that when there was an argument, someone cloned the code and started a parallel community."
Then GitHub came along and took the same mechanical step in a more positive way."Having the right to really fork, take the code base, rename it, keep all of the code, and do your own thing with that. It's a really powerful aspect of open-source."
Derivatives mean you can specialize. "If you look at the amount of different Linux distributions that are out there, those changes largely all roll back into common projects whether it's the gnu project or the kernel itself. Forks often never come back."
Being grateful
In a multicultural community such as AzerothCore, you will see a lot of different behaviors.
The meritocratic nature of the open-source community can be at odds with the delivery. As Hicks (from RedHat) explains, "You're not seeing faces, you're behind mailing lists. You haven't met people. Things can sometimes be a little bit blunt but interpreted as mean. Somebody telling you that the thing you really worked on hard has absolutely no value in a project is hard. Someone saying 'Thanks for your contribution but we’re not going to take it because it has zero value' is difficult to hear, and to some newcomers, it can be really, really insulting."
Hicks continued, "I often explain to people that there are lots of different cultures in the world. Some are very blunt. Some have a lot of ceremonies involved before you can even get to be making a material point. Open-source can be a culture all to themselves. Just like we have to respect the local culture. And I think this is one where we certainly always have to work to make sure that the objective doesn’t get too abusive. You need to have some persistence to understand the culture."
It's clear that open-source communities, whilst sometimes embedded in emotional turbulence, are the backbone of the open-source movement.
Whatever is your culture and your behavior, you must be respectful, follow our code of conduct, and don't cry if you don't receive the attention you expected from some members of our community, there are a dozen others that will be glad to help you if you follow those rules and the philosophy.
Conclusion
For both the staff and all the contributors: keep in mind these rules, these good patterns and apply them during your journey with AzerothCore.
Beta Was this translation helpful? Give feedback.
All reactions