Open Source Developer Guide and Best Practices at FOSSASIA
I would request you to please guide me as to how can I collaborate with you and also how can I contribute effectively to the organization. At times I might get up to 20 private mails per day about "How to contribute to Open Source". Usually I will direct developers to our mailing list or chat channels if they are asking about a specific project. But, how do contributions work at FOSSASIA? How can new developers join projects effectively? We have tried many different ways and spent a lot of time communicating with newcomers, many of them new to Git and Open Source development. Over the years we have gotten better at helping new developers, designers and other contributors to join up. We have more than 1300 registered developers in our GitHub organization today. Not all of them can contribute every day, but we do have thousands of commits every year. So, how are we able to scale up? I believe one reason are our Best Practices. We didn't have a document "FOSSASIA Best Practices" yet, but in our daily work we have established excellent (mostly unwritten) best practices, that I would like to share in a concise form here now as a reference for new developers. Happy to get your feedback and comments. Development Best Practices at FOSSASIA Culture and Communication Please adapt your language to non-native English speakers and be super friendly. Remember we are an international community with contributors mainly from Asia and Europe. We are not used to swearing and will mostly understand words literally. At all times ensure your tone stays appropriate and friendly in the FOSSASIA community. Stay modest. Sometimes newcomers already have an amazing knowledge in some areas. Still remember, it is no reason to be arrogant. Even the best developer does not know everything. Be nice and welcoming. Why not add "please" in an issue or a comment "Thank you" in a pull request if someone did a good job? Show your appreciation for the good work of your co-developers. If you are involved in a topic you don’t understand yet, try to learn yourself as much as possible from public channels (wikipedia, stackoverflow) but also do not hesitate to ask questions to other developers. Communication Channels Every project at FOSSASIA has its own channels. Many projects use Gitter, some Slack or IRC. Usually you will find information of the main communication channels of a project in the Readme.md. While we are a community of Open Source and Free Software developers we still reserve our right to use whatever tools we deem necessary to help us to achieve our goal of developing the best possible Open Technologies - software and hardware. It is one step at a time :-) Private and Public Chat or Issue Tracker Chat is a great way to connect with other contributors, but not all contributors are there all the time (consider time difference and personal schedules) and they are not always available to chat. Chat tends to be unstructured and with lots of people in a room there are often a number of…
